/* Mobile shopping flow. Desktop retains the original editorial layout. */
.mobile-copy,.mobile-nav{display:none}
#clear-search{background:transparent;flex-shrink:0;font-size:24px;line-height:1;width:32px;height:32px;padding:0;color:var(--wine)}
body:has(dialog[open]){overflow:hidden}
.product-info{display:flex;flex-direction:column;flex:1}
.product-card{display:flex;flex-direction:column}
.product-link{margin-top:auto}

@media(max-width:600px){
  :root{--mobile-nav-height:64px}
  html{scroll-padding-top:16px;scroll-padding-bottom:calc(var(--mobile-nav-height) + env(safe-area-inset-bottom) + 20px)}
  body{padding-bottom:calc(var(--mobile-nav-height) + env(safe-area-inset-bottom));font-size:14px}
  .wrap{width:calc(100% - 32px)}
  .mobile-copy{display:inline}
  .desktop-copy{display:none}
  .announcement{height:28px;font-size:10px;letter-spacing:.25px;gap:10px;padding:0 12px}
  .announcement>span:first-child{display:none}
  .announcement>span:nth-child(2){font-size:14px}
  .header{height:72px}
  .brand>span{font-size:44px}
  .brand small{font-size:8px;letter-spacing:1.25px}
  .brand-flower{font-size:25px}
  .saved-nav{min-height:44px;gap:8px;padding:8px 0 8px 10px}
  .saved-nav span{font-size:12px}
  .saved-nav b{font-size:11px;width:24px;height:24px}
  .hero{min-height:0;display:block;border-radius:12px}
  .hero-copy{padding:21px 22px 22px}
  .hero-copy>.eyebrow{font-size:10px;letter-spacing:1.6px;margin-bottom:12px;gap:8px}
  .hero h1{font-size:clamp(27px,7.8vw,36px);letter-spacing:-1.1px;line-height:1.15;max-width:none}
  .hero h1 em:after{bottom:-4px;height:5px}
  .hero-description{font-size:14px;line-height:1.55;margin:13px 0 16px;max-width:320px}
  .hero-copy .button{width:100%;max-width:none;min-height:48px;padding:13px 16px;font-size:14px;justify-content:space-between;border-radius:7px}
  .hero-art,.hero-note{display:none}
  .trust-row{display:none}
  .trust-row>span:first-child,.trust-row>span:last-child{display:none}
  .trust-row>span{gap:9px}
  .catalog{padding-top:26px}
  .section-heading{margin-bottom:20px}
  .section-heading .eyebrow{font-size:10px;letter-spacing:1.25px}
  .catalog>.section-heading .eyebrow{display:none}
  .section-heading h2{font-size:27px;line-height:1.15;max-width:100%;margin-top:9px;letter-spacing:-.7px}
  .catalog-tools{display:flex;flex-direction:column;gap:12px}
  .search{order:-1;width:100%;max-width:none;min-width:0;min-height:48px;height:auto;border-radius:8px;padding:0 12px;gap:9px;background:#fffdfd}
  .search svg{width:19px;height:19px}
  .search input{font-size:16px;line-height:1.4;min-height:46px;width:100%;flex:1;min-width:0;padding:9px 0}
  .search input::-webkit-search-cancel-button{-webkit-appearance:none}
  #clear-search{width:44px;height:44px;font-size:28px;margin-right:-8px}
  .filter-list{gap:8px;padding:2px 2px 6px;scrollbar-width:none;scroll-padding:2px;overscroll-behavior-x:contain}
  .filter-list::-webkit-scrollbar{display:none}
  .filter{font-size:13px;min-height:44px;padding:10px 15px}
  .catalog-meta{margin:10px 0 8px;min-height:44px;gap:8px;flex-wrap:wrap}
  .catalog-meta p{font-size:12px;line-height:1.4;flex:1;min-width:125px}
  .catalog-meta label{display:flex;align-items:center;min-height:44px}
  .catalog-meta select{font-size:16px;min-height:44px;max-width:150px;padding:8px 0 8px 6px}
  .demo-note{font-size:11px;line-height:1.6;margin-bottom:17px}
  .product-grid{gap:18px 12px}
  .product-card{border-radius:10px;transform:none}
  .product-visual{flex-shrink:0}
  .tag{display:none}
  .favorite{width:44px;height:44px;right:7px;top:7px;border:1px solid #ffffff88}
  .favorite svg{width:20px;height:20px}
  .product-info{padding:14px 12px 12px}
  .product-category{font-size:10px;letter-spacing:.7px;line-height:1.4}
  .product-info h3{font-size:14px;line-height:1.45;min-height:0;margin:8px 0;font-weight:500;overflow-wrap:break-word}
  .product-description{font-size:12px;line-height:1.6;min-height:0;margin-bottom:5px}
  .product-bottom{margin:12px 0 14px;margin-top:auto;padding-top:12px;display:block}
  .price{font-size:25px;white-space:nowrap}
  .price small{font-size:12px}
  .price-caption{font-size:10px;margin-top:3px}
  .product-note{display:none}
  .product-link{min-height:48px;font-size:12px;font-weight:500;padding:11px 8px;gap:4px;border-radius:6px;line-height:1.4;justify-content:space-between}
  .product-link svg{width:15px;height:15px}
  .affiliate-note{font-size:11px;line-height:1.7;margin-top:22px;align-items:flex-start;text-align:left;gap:10px}
  .affiliate-note svg{width:16px;height:16px;margin-top:3px}
  .collections{padding-top:38px}
  .collection{padding:25px;min-height:250px}
  .collection .eyebrow{font-size:10px}
  .collection .text-link,.text-link{font-size:12px;min-height:44px;line-height:1.5;align-items:center}
  .collection h3{font-size:27px;margin:15px 0}
  .collection-photo{opacity:.38;right:-78px}
  .collection-mom .collection-photo{right:-78px}
  .collection>div:first-child{width:100%}
  .about{padding:45px 8px 38px;gap:26px}
  .about-mark{width:130px;height:130px;font-size:72px}
  .about-mark span{font-size:49px;top:-16px}
  .about .eyebrow{font-size:10px}
  .about h2{font-size:28px}
  .about p:not(.eyebrow){font-size:14px;line-height:1.75}
  .footer-top{gap:18px}
  .footer .brand small{font-size:8px}
  .footer p{font-size:14px;max-width:170px}
  .text-button{font-size:12px;min-height:44px;display:inline-flex;align-items:center}
  .footer-top>div{flex-wrap:wrap;gap:5px 18px}
  .footer-bottom{font-size:11px;gap:9px;line-height:1.6;padding-bottom:20px}
  .mobile-nav{position:fixed;display:grid;grid-template-columns:repeat(3,1fr);bottom:0;left:0;right:0;z-index:9;min-height:var(--mobile-nav-height);padding:6px max(10px,env(safe-area-inset-right)) calc(6px + env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left));background:#fffafaf7;border-top:1px solid var(--line);box-shadow:0 -3px 18px #783e5008}
  .mobile-nav button{min-height:52px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;background:transparent;border-radius:9px;color:var(--muted);font-size:11px;line-height:1.25}
  .mobile-nav button[aria-current=page],.mobile-nav button[aria-pressed=true]{color:var(--wine);background:#f5e6e977;font-weight:600}
  .mobile-nav button[aria-pressed=true] .icon{fill:var(--wine)}
  .mobile-nav .icon{width:21px;height:21px}
  .mobile-favorite-icon{position:relative;line-height:0}
  .mobile-favorite-icon b{position:absolute;right:-13px;top:-3px;min-width:17px;height:17px;padding:0 4px;display:grid;place-items:center;border-radius:50%;background:var(--wine);color:white;font-size:10px;font-weight:500;line-height:1}
  .keyboard-open .mobile-nav,.has-cookie-prompt .mobile-nav{display:none}
  .cookie-banner{left:0;right:0;bottom:0;width:100%;padding:18px 18px calc(16px + env(safe-area-inset-bottom));border-radius:14px 14px 0 0;max-height:65dvh;overflow:auto;overscroll-behavior:contain}
  .cookie-banner>div:first-child{gap:10px}
  .cookie-banner strong{font-size:14px;line-height:1.45}
  .cookie-banner p{font-size:12px;line-height:1.6;margin-top:4px}
  .cookie-banner .text-button{font-size:12px;min-height:32px}
  .cookie-flower{font-size:25px}
  .cookie-actions{gap:10px;margin-top:12px}
  .cookie-actions .button{font-size:12px;min-height:46px;padding:10px 8px}
  .toast{bottom:calc(var(--mobile-nav-height) + env(safe-area-inset-bottom) + 12px);font-size:13px;line-height:1.5;max-width:calc(100% - 32px);padding:12px 18px;border-radius:12px}
  .has-cookie-prompt .toast{bottom:auto;top:12px}
  dialog{padding:36px 22px 24px;width:calc(100% - 24px);max-height:calc(100dvh - 32px - env(safe-area-inset-bottom));overscroll-behavior:contain}
  dialog h2{font-size:28px}
  dialog>.eyebrow{font-size:10px}
  dialog>p:not(.eyebrow){font-size:14px;line-height:1.7}
  .close-modal{width:44px;height:44px;top:3px;right:3px;font-size:28px}
  .consent-option{gap:12px;padding:16px 0}
  .consent-option strong{font-size:14px}
  .consent-option small{font-size:12px;line-height:1.6}
  .consent-option>span:last-child{font-size:10px}
  .consent-option input{width:24px;height:24px;margin:10px}
  dialog .button,.empty-state .button{min-height:48px;font-size:14px}
  .empty-state{padding:35px 16px}
  .empty-state p{font-size:14px;line-height:1.7}
  .empty-state h3{font-size:26px;margin:12px 0}
  button,a,input,select{scroll-margin-bottom:calc(var(--mobile-nav-height) + env(safe-area-inset-bottom) + 24px)}
}
@media(max-width:359px){
  .wrap{width:calc(100% - 28px)}
  .saved-nav span{font-size:11px}
  .hero-copy{padding:21px 19px}
  .hero h1{font-size:27px}
  .catalog-meta select{max-width:140px}
  .product-grid{grid-template-columns:1fr}
  .product-card{display:grid;grid-template-columns:108px minmax(0,1fr);align-items:start}
  .product-visual{align-self:start;border-radius:8px;margin:10px 0 10px 10px}
  .product-info{padding:13px 12px}
  .product-description{display:none}
  .product-bottom{padding-top:5px;margin-bottom:12px}
  .product-info h3{margin:6px 0}
  .favorite{top:4px;right:4px;background:#fffafaf5}
  .collection{padding:22px}
  .cookie-banner{padding-inline:14px}
}
@media(hover:none){.product-card:hover,.favorite:hover,.button:hover{transform:none}.product-card:hover .product-visual>.product-photo{transform:none}}
