/* Owner-requested listing and verification spacing. */
p.verification-disclaimer { margin-block: 0 1.5rem; }
.verification-sections p.verification-guidance,
.garden-photo-locked p.verification-guidance { margin-block: .75rem 1.25rem; }
.verification-sections p.verification-guidance--both { margin-block: 1.25rem; }
.supply-disclosure { display: block; }
.supply-disclosure > summary { cursor: pointer; font-size: 1.25rem; font-weight: 600; line-height: 1.4; }
.supply-disclosure > p { margin-block: 1rem; }
.grower-list-availability > span { display: block; line-height: 1.5; }
.grower-list-actions { display: flex; flex-direction: column; align-items: center; gap: .65rem; flex-shrink: 0; }
.grower-list-actions .badge { align-self: center; }
.listing-variety { display: block; margin-block: .25rem .5rem; color: var(--muted, #536050); line-height: 1.4; }
.request-note { margin-block: 1rem; line-height: 1.55; overflow-wrap: anywhere; }
.requester-summary { margin-block: .75rem; }
.pickup-participants{margin:0 0 16px;padding:14px;border:1px solid var(--line);border-radius:14px;background:#fff}
.pickup-participants>h2{margin:0 0 12px;font-size:var(--cgs-card-title,18px)}
.pickup-participant-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.pickup-participant{display:flex;align-items:center;gap:10px;min-width:0}
.pickup-participant-photo{display:block;flex:0 0 64px;width:64px;height:64px;max-width:none;margin:0;border-radius:50%;object-fit:cover;background:var(--pale);color:var(--green)}
.pickup-participant-initials{display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:600}
.pickup-participant-details{display:grid;gap:4px;min-width:0;overflow-wrap:anywhere}
.pickup-participant-details>strong{font-size:var(--cgs-body,16px);line-height:1.3}
.pickup-participant-details>span{font-size:var(--cgs-meta,13px);line-height:1.4;color:var(--muted)}
@media(max-width:420px){.pickup-participant-list{grid-template-columns:minmax(0,1fr)}}
:root[data-cgs-large-text=true] .pickup-participant-list{grid-template-columns:minmax(0,1fr)}
.requester-rating { display: block; margin-top: .35rem; }
.handover-calendar { margin-block: 1rem; }
.handover-calendar > summary { cursor: pointer; font-weight: 600; display: flex; gap: .5rem; align-items: center; }
.handover-calendar form { margin-top: .75rem; }
.handover-calendar > summary { min-height: 48px; flex-wrap: nowrap; }
.handover-calendar > summary .icon { flex: 0 0 auto; }
.handover-calendar > summary span { flex: 1 1 auto; min-width: 0; overflow-wrap: normal; word-break: normal; }
.handover-calendar form .btn[type="submit"] { width: 100%; min-height: 48px; white-space: normal; word-break: normal; }
.handover-recipient .qr-code { width: 200px; max-width: 100%; margin: 1rem auto; }
.handover-recipient .qr-code svg { display: block; width: 100%; height: auto; }
/* Show the crop selected by the uploader instead of applying a second crop. */
.app-shell:is([data-screen="G10"],[data-screen="G15"],[data-screen="G16"],[data-screen="G17"]) .produce-image,
.grower-listing-detail > .produce-image { height: auto; max-height: none; aspect-ratio: 9 / 16; object-fit: contain; }
@media(max-width:359px) { .grower-listing-detail > .produce-image { height: auto; } }

/* Leave room after bordered request rows for status badges and supporting text. */
.card > .detail-row + p { margin-block: 1rem; line-height: 1.55; overflow-wrap: anywhere; }
.card > .detail-row + .badge { margin-block: .75rem; }
.handover-review-questions { min-width: 0; margin-block: 1.25rem; padding: 1rem; border: 1px solid var(--line, #dce3d7); border-radius: .75rem; }
.handover-review-questions legend { padding-inline: .4rem; font-weight: 600; }
.handover-review-questions > p { margin: .25rem 0 1rem; line-height: 1.55; }
.review-category-counts { margin-block: .75rem 1rem; font-size: .875rem; }
.review-category-counts > div { padding-block: .6rem; border-bottom: 1px solid var(--line, #dce3d7); }
.review-category-counts dt, .review-answer-summary dt { font-weight: 600; }
.review-category-counts dd { margin: .25rem 0 0; line-height: 1.5; overflow-wrap: anywhere; }
.review-answer-summary dd { margin: .25rem 0 .75rem; }
.review-category-empty { display: block; margin-block: .5rem; color: var(--muted, #536050); font-size: .875rem; }

/* Keep the complete produce photo visible inside the requested portrait frame. */
.app-shell[data-screen="C06"] .source-photo-wrap > .consumer-listing-detail-photo {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  max-height: none;
  aspect-ratio: 9 / 16;
  object-fit: contain;
  object-position: center;
  background: var(--paler, #f2f6ef);
}

/* Produce frames include map results, browse cards, drafts and request thumbnails. */
.app-shell .product-card > .source-photo-wrap { height: auto; aspect-ratio: 9 / 16; }
.app-shell .product-card .product-image-link { display: block; width: 100%; height: 100%; }
.app-shell .product-card .product-image-link > .produce-photo,
.app-shell .source-produce-card .product-image-link > .source-card-photo,
.app-shell .grower-list-row > .produce-image,
.app-shell .upcoming-photo,
.app-shell:is([data-screen="C41"],[data-screen="C42"]) :is(.hero-photo,.attachment-preview) {
  display: block; width: 100%; height: auto; max-height: none; aspect-ratio: 9 / 16;
  object-fit: contain; object-position: center; background: var(--paler, #f2f6ef);
}
.app-shell .grower-list-row > .produce-image { width: 72px; flex: 0 0 72px; }
.app-shell .request-item > .request-item-photo,
.app-shell .supplier-match-row .supplier-photo,
.app-shell .shopping-detail-row .shopping-detail-photo { height: auto; aspect-ratio: 9 / 16; object-fit: contain; background: var(--paler, #f2f6ef); }
.app-shell .favourite-overlay { display: flex; gap: 6px; }
.app-shell .favourite-overlay > .icon-button { min-width: 44px; min-height: 44px; }
.listing-share-dialog { width: min(420px,calc(100vw - 24px)); max-height: calc(100dvh - 24px); box-sizing: border-box; overflow: auto; border: 0; border-radius: 16px; padding: 20px; color: var(--ink,#203a27); }
.listing-share-dialog::backdrop { background: #14200db3; }
.listing-share-dialog h2 { margin-top: 0; }
.listing-share-dialog :is(select,.actions) { width: 100%; min-width: 0; }

/* C40: searchable multi-select interests stay usable within the phone viewport. */
.app-shell[data-screen="C40"] .produce-interests { min-width: 0; margin-block: 12px; padding: 12px; border: 1px solid var(--line,#dce3d7); border-radius: 12px; background: #fff; }
.app-shell[data-screen="C40"] .produce-interests > summary { min-height: 44px; padding-block: 10px; box-sizing: border-box; cursor: pointer; font-weight: 600; overflow-wrap: anywhere; }
.app-shell[data-screen="C40"] .produce-interests > .field { margin-block: 12px; min-width: 0; }
.app-shell[data-screen="C40"] .produce-interests input[type="search"] { min-width: 0; width: 100%; box-sizing: border-box; }
.app-shell[data-screen="C40"] .produce-interest-options { display: grid; grid-template-columns: minmax(0,1fr); gap: 4px; min-width: 0; max-height: min(45dvh,320px); overflow: auto; padding: 8px; margin: 0; border: 1px solid var(--line,#dce3d7); border-radius: 8px; overscroll-behavior: contain; }
.app-shell[data-screen="C40"] .produce-interest-options .check-row { min-height: 44px; min-width: 0; margin: 0; padding: 6px; box-sizing: border-box; overflow-wrap: anywhere; }
.app-shell[data-screen="C40"] .produce-interest-options input[type="checkbox"] { flex: 0 0 18px; width: 18px; height: 18px; }
.app-shell[data-screen="C40"] .produce-interest-options [hidden] { display: none; }
.app-shell[data-screen="C40"] .produce-interests [data-interest-results] { margin: 10px 0 0; font-size: .875rem; }
.app-shell[data-screen="C40"] .produce-interests :focus-visible { outline: 3px solid #397126; outline-offset: 2px; }

/* Keep the fieldset's accessible title inside its shaded pickup panel. */
.app-shell .pickup-scheduler > legend { float: left; width: 100%; box-sizing: border-box; padding: 0; margin: 0; font-size: 1.125rem; line-height: 1.4; font-weight: 600; }
.app-shell .pickup-scheduler > legend + * { clear: both; }

/* Separate the upcoming-harvest photo action from the quantity fields. */
.app-shell form[data-action="upcoming:save"] > [data-action="upcoming:photo"] { margin-bottom: 18px; }
.app-shell form[data-action="upcoming:save"] > [data-action="upcoming:photo"] + .form-row { margin-top: 6px; }
.app-shell .upcoming-card.upcoming-guidance { padding: 18px 18px 24px !important; }
.app-shell .upcoming-card.upcoming-guidance > :is(h2,p) { margin: 0; }
.app-shell .upcoming-card.upcoming-guidance > p { margin-top: 12px; line-height: 1.6; }

/* Garden categories are separate controls, with clear space between each tile. */
:root .app-shell .rewards-experience .garden-categories { display: flex; flex-wrap: wrap; gap: 10px; padding: 10px; background: #fff; }
:root .app-shell .rewards-experience .garden-categories > button { margin: 0; border: 1px solid #c7d7bb; border-radius: 8px; background: #f0f5eb; color: #28531a; }
:root .app-shell .rewards-experience .garden-categories > button.active { background: #28531a; border-color: #28531a; color: #fff; }

/* Store membership labels get a dedicated row below the store name. */
.app-shell .directory-card-heading { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; }
.app-shell .directory-card-heading > :is(h2,.badge) { margin: 0; max-width: 100%; }
.app-shell .directory-card-heading > .badge { align-self: flex-start; white-space: normal; }
