/* Desktop expands the same screens; phone artwork, greens and icon geometry stay intact. */
.test-mode-strip{background:var(--paler);color:var(--green);padding:7px 16px;font-size:14px;text-align:center}.desktop-rail{display:none}.skip-link{position:fixed;left:12px;top:-80px;z-index:200;background:#28531A;color:#fff;padding:12px;border-radius:8px}.skip-link:focus{top:12px}
@media(min-width:960px){
 body{background:var(--surface)}.app-shell:not(.no-nav){max-width:1500px;padding-left:244px;padding-bottom:36px;box-shadow:none;min-height:100dvh}.app-shell.no-nav{max-width:580px;box-shadow:none}.main-content{padding-left:28px;padding-right:28px}.app-header{padding-left:24px;padding-right:24px;min-height:68px}.main-content>.page-heading p{max-width:70ch}.app-shell:not(.no-nav) .bottom-nav{display:none}
 .desktop-rail{display:flex;flex-direction:column;position:fixed;z-index:30;top:0;bottom:0;width:244px;left:max(0px,calc((100vw - 1500px)/2));background:#fff;border-right:1px solid var(--line);padding:24px 18px;overflow-y:auto}.desktop-brand{display:block;margin:0 8px 20px}.desktop-brand img{width:172px;height:auto;object-fit:contain;filter:none;opacity:1}.desktop-workspace{font-size:14px;color:var(--muted);margin:0 8px 10px}.desktop-rail nav{display:grid;gap:5px}.desktop-rail button{display:flex;align-items:center;gap:12px;width:100%;min-height:46px;text-align:left;background:none;border:0;border-radius:10px;padding:10px 12px;color:var(--green);font-size:14px}.desktop-rail button[aria-current]{background:var(--pale);font-weight:600}.desktop-rail button:hover{background:var(--paler)}.desktop-rail .icon{flex:none}.desktop-rail svg{fill:none;stroke-width:1.8}.desktop-rail-footer{margin-top:auto;padding-top:28px;display:grid;gap:4px}.desktop-rail-footer small{display:block;color:var(--muted);font-size:14px}.desktop-rail-footer a{padding:10px 12px;font-size:14px}
 .product-grid,.listing-grid,.plant-grid,.source-plant-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.source-produce-card .product-image-link .source-card-photo{height:210px}.source-card-body .card-title-link h2{font-size:24px}.source-card-footer{flex-wrap:wrap}.grower-shortcuts{grid-template-columns:repeat(4,minmax(0,1fr))}.kpis,.grower-stats{gap:14px}.kpi,.grower-stat{padding:16px}.kpi strong,.grower-stat strong{font-size:30px}.main-content>form:not(.source-search-form):not(.compact-filter):not(.compact-filters){max-width:840px}.main-content>.settings-list,.main-content>.account-menu,.main-content>.grower-settings,.main-content>.help-list{max-width:840px}.main-content>.chat-messages,.main-content>.chat-composer,.main-content>.conversation-context{max-width:900px}.chat-bubble{max-width:72%}.app-shell:not(.no-nav) .page-heading h1{font-size:28px}.main-content>.hero-photo,.main-content>.hero-image,.main-content>.listing-hero{height:320px;max-height:320px;max-width:900px}.compact-filter{max-width:none}.home-brand img{max-width:205px}#toast{bottom:24px}.main-content [role=region]{max-width:100%}
}
@media(min-width:1280px){.product-grid,.listing-grid,.plant-grid,.source-plant-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.app-shell:not(.no-nav) .main-content{padding-left:32px;padding-right:32px}.source-produce-card .product-image-link .source-card-photo{height:200px}}
@media(min-width:600px) and (max-width:959px){.app-shell:not(.no-nav){max-width:800px}.app-shell:not(.no-nav) .bottom-nav{max-width:800px}.product-grid,.listing-grid,.plant-grid,.source-plant-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important}}

/* Shop presentation uses the complete shared app. Native WebViews do not opt in. */
.desktop-rail .desktop-preferences{display:none}
:root[data-cgs-desktop=true] :is(button,.btn,[role=button],summary){min-height:44px;min-width:44px;touch-action:manipulation}
:root[data-cgs-desktop=true] :is(input:not([type=checkbox]):not([type=radio]):not([type=range]),select){min-height:44px}
:root[data-cgs-desktop=true] .app-shell :is(.field,.form-row,.form-grid,.field-grid){align-content:start;align-items:start}
:root[data-cgs-desktop=true] .app-shell :is(.btn,.desktop-rail button){white-space:normal;overflow-wrap:break-word;height:auto}
:root[data-cgs-desktop=true] .desktop-rail button>span{min-width:0}
:root[data-cgs-desktop=true] .desktop-rail .desktop-preferences{display:flex}
:root[data-cgs-desktop=true] .desktop-rail-footer a{display:flex;align-items:center;min-height:44px}
:root[data-cgs-desktop=true] :is(.desktop-brand,.text-link){touch-action:manipulation}
@media(min-width:960px){
 :root[data-cgs-desktop=true] .desktop-rail{padding-top:20px;padding-bottom:20px;overscroll-behavior:contain}
 :root[data-cgs-desktop=true] .desktop-rail nav{gap:6px}
 :root[data-cgs-desktop=true] .desktop-rail button{gap:10px}
 :root[data-cgs-desktop=true] .desktop-rail-footer{padding-top:20px}
 :root[data-cgs-desktop=true] .app-shell:not(.no-nav){padding-bottom:32px}
 :root[data-cgs-desktop=true] #toast{bottom:24px}
 :root[data-cgs-desktop=true][data-cgs-extra-large-text=true] .app-shell:not(.no-nav){padding-left:292px}
 :root[data-cgs-desktop=true][data-cgs-extra-large-text=true] .desktop-rail{width:292px}
 :root[data-cgs-desktop=true][data-cgs-large-text=true] .desktop-rail .desktop-workspace{overflow-wrap:anywhere}
}
@media(hover:hover){
 :root[data-cgs-desktop=true] .desktop-rail button:hover{background:var(--paler)}
}

/* Give listing text and actions a full row on phones, including landscape widths. */
@media(max-width:767px){
 .product-grid,.listing-grid,.plant-grid,.source-plant-grid{grid-template-columns:minmax(0,1fr)}
}
