/* Shared storefront refinements for the presentation catalog. */
.ct-menu-toggle{display:none;align-items:center;justify-content:center;width:42px;height:42px;flex:none;border:1px solid #cad7d0;border-radius:50%;background:#fff;color:#172537;font-size:22px;cursor:pointer}
.ct-mobile-cart{display:none;align-items:center;gap:4px;border:1px solid #dde4dd;border-radius:22px;background:#fff;padding:8px 10px;font-size:12px;font-weight:700;white-space:nowrap}
.ct-menu-toggle:focus-visible,.ct-mobile-panel a:focus-visible,.ct-mobile-panel input:focus-visible,.item-card a:focus-visible,.item-card button:focus-visible{outline:3px solid #f2b84b;outline-offset:3px}
.ct-mobile-panel{display:none;background:#fffdf9;border-top:1px solid #dde4dd;box-shadow:0 18px 30px rgba(23,37,55,.13);padding:16px 20px;position:absolute;top:100%;left:0;right:0;z-index:100}
.ct-mobile-panel.is-open{display:block}
.ct-mobile-panel form{display:flex;gap:8px;margin-bottom:12px}
.ct-mobile-panel input{min-width:0;flex:1}
.ct-mobile-panel button[type=submit]{border:0;border-radius:6px;background:#23694c;color:#fff;font-weight:700;padding:0 15px}
.ct-mobile-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 12px}
.ct-mobile-links a{padding:12px 8px;border-bottom:1px solid #e8eee7;font-weight:700;font-size:14px;color:#172537}
.ct-mobile-links a:hover{color:#23694c;background:#edf5ec}
.ct-mobile-panel .ct-mobile-note{font-size:12px;color:#657281;margin:12px 8px 0}
.cart-item h3 a:hover{text-decoration:underline;text-underline-offset:3px;color:#23694c}
.site-header{position:relative;z-index:20}
.site-header>.nav{width:100%}
.store-pending{display:block;color:#a9b9c3;font-size:13px;line-height:1.7}
.store-demo-label{display:inline-block;padding:6px 10px;border-radius:999px;background:#e7f0e5;color:#235d43;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.item-card{min-width:0;display:flex;flex-direction:column;background:#fffdf9;border:1px solid #dde4dd;border-radius:11px;overflow:hidden}
.item-card-image{display:block;aspect-ratio:1.25/1;background:#e6eee9;overflow:hidden}
.item-card-image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .2s}
.item-card-image:hover img{transform:scale(1.035)}
.item-card-body{padding:15px;display:flex;flex:1;flex-direction:column;gap:7px}
.item-card-kicker{font-size:11px;color:#23694c;font-weight:800;text-transform:uppercase;letter-spacing:.07em}
.item-card h3{font-size:17px;line-height:1.25;margin:0;min-height:0!important}
.item-card h3 a:hover{text-decoration:underline;text-underline-offset:3px}
.item-card-meta{font-size:12px;color:#657281}
.item-card-bottom{margin-top:auto;padding-top:9px;display:flex;align-items:center;justify-content:space-between;gap:8px}
.item-card-price{font-weight:800;font-size:18px;white-space:nowrap}
.item-card-price del{font-size:12px;color:#7b888a;font-weight:400;margin-right:4px}
.item-card button{border:1px solid #23694c;border-radius:6px;background:#fff;color:#23694c;padding:8px 10px;font-size:12px;font-weight:800;cursor:pointer}
.item-card button:hover{background:#23694c;color:#fff}
.item-card .item-details-link{font-size:12px;color:#23694c;font-weight:700;text-decoration:underline;text-underline-offset:3px}
.item-card .item-details-link:hover{color:#164633}
.shop-results>.product-grid,.ct-related-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.shop-results>.toolbar{gap:16px}
.shop-results>.toolbar h2{max-width:none}
.shop-results>.toolbar .select{width:auto;min-width:190px}
.ct-shop-intro{max-width:750px;line-height:1.55;color:#526170}
.ct-shop-controls{display:grid;grid-template-columns:minmax(220px,2fr) repeat(4,minmax(140px,1fr));gap:14px;background:#fffdf9;border:1px solid #dde4dd;border-radius:11px;padding:20px;margin:23px 0}
.ct-shop-controls label{margin:0;font-size:12px;color:#385c4d}
.ct-shop-controls input,.ct-shop-controls select{margin-top:7px;width:100%}
.ct-shop-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:18px 0 22px;color:#526170;font-size:14px}
.ct-shop-summary a{color:#23694c;font-weight:700;text-decoration:underline;text-underline-offset:3px}
.ct-shop-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px}
.ct-empty{padding:30px;border:1px dashed #b8c7bb;border-radius:10px;background:#fffdf9;color:#526170;line-height:1.5}
.ct-item-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:36px;align-items:start}
.ct-item-photo{width:100%;max-height:500px;object-fit:cover;border-radius:12px;background:#e6eee9;display:block}
.ct-item-info h1{font:700 clamp(32px,3.6vw,46px)/1.06 Georgia,serif;letter-spacing:-.03em;margin:12px 0}
.ct-item-info .item-card-price{font-size:28px;color:#172537;margin:12px 0}
.ct-item-info p{line-height:1.6;color:#526170}
.ct-item-facts{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:24px 0}
.ct-item-facts div{padding:15px;border-radius:8px;background:#eaf2e8}
.ct-item-facts small{display:block;color:#23694c;font-weight:800;text-transform:uppercase;letter-spacing:.07em;font-size:10px;margin-bottom:6px}
.ct-item-facts strong{font-size:14px}
.ct-item-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:20px 0}
.ct-item-actions button{background:#2ec674;border:0;border-radius:7px;padding:13px 20px;color:#123525;font-size:14px;font-weight:800;cursor:pointer}
.ct-item-actions button:hover{background:#21b766}
.ct-item-actions a{color:#23694c;font-weight:700;text-decoration:underline;text-underline-offset:3px}
.ct-demo-notice{padding:14px 16px;border-left:4px solid #f2b84b;background:#fff3dc;border-radius:0 8px 8px 0;color:#55462c;font-size:13px;line-height:1.5;margin:22px 0}
.ct-pickup-card{background:#eaf2e8;border:1px solid #cbdccf;border-radius:10px;padding:23px;margin-top:25px}
.ct-pickup-card h2{font:700 25px Georgia,serif;margin:0 0 8px}
.ct-pickup-card p{margin:0;line-height:1.55;color:#405c50}
.ct-related{margin-top:50px}
.ct-related h2{font:700 30px Georgia,serif}
.ct-status-page{max-width:850px;margin:auto}
.ct-status-page h1{font:700 clamp(38px,5vw,58px)/1.07 Georgia,serif;margin:12px 0}
.ct-status-page p{line-height:1.6;color:#526170}
.ct-status-steps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:24px 0}
.ct-status-steps div{background:#fffdf9;border:1px solid #dde4dd;border-radius:10px;padding:22px}
.ct-status-steps strong{display:block;color:#23694c;margin-bottom:8px}
.featured-home-grid .item-card,.fresh-grid .item-card{order:initial!important}
.shop-results>.product-grid.featured-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.featured-home-grid .item-card-image,.fresh-grid .item-card-image{height:auto!important}
.featured-home-grid .item-card-image img,.fresh-grid .item-card-image img{height:100%!important}
#categories{scroll-margin-top:95px}
@media(max-width:1050px){.ct-shop-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.ct-shop-controls{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){
  .ct-menu-toggle{display:inline-flex}
  .ct-mobile-cart{display:inline-flex;margin-left:auto}
  .site-header .navlinks,.site-header .subnav{display:none!important}
  .site-header .subpage-search{display:none!important}
  .site-header .nav{min-width:0;gap:10px}
  .site-header .brand{min-width:0;margin-right:auto}
  .site-header .brand span{min-width:0}
  .site-header .cart-link{margin-left:0;white-space:nowrap}
  .site-header .nav-actions{margin-left:auto}
  .site-header .mobile-menu{display:inline-flex}
  .ct-item-layout{gap:22px}
  .shop-results>.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .shop-results>.product-grid.featured-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:850px){
  main.has-shop-sidebar>.shop-layout{display:block!important;width:100%!important}
  main.has-shop-sidebar>.shop-layout>.shop-sidebar{display:none!important}
  main.has-shop-sidebar>.shop-layout>.shop-results{display:block!important;width:100%!important;max-width:100%!important;margin:0!important;min-width:0!important}
  .shop-results>.product-grid{display:grid!important;width:100%!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px}
  .shop-results>.toolbar{display:flex!important;flex-direction:column;align-items:stretch;gap:12px}
  .shop-results>.toolbar .select{width:100%}
  .ct-shop-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:640px){
  .site-header .brand{font-size:16px}
  .site-header .brand small{font-size:8px}
  .site-header .brand img{width:43px;height:43px}
  .site-header .cart-link{font-size:12px;padding:8px}
  .page-hero{padding-top:38px;padding-bottom:42px}
  .page-hero h1{font-size:clamp(36px,10vw,48px)}
  .ct-shop-controls{grid-template-columns:1fr 1fr;padding:16px;gap:12px}
  .ct-shop-controls label:first-child{grid-column:1/-1}
  .ct-shop-controls label:last-child{grid-column:1/-1}
  .ct-item-layout{grid-template-columns:1fr}
  .ct-item-photo{max-height:380px}
  .ct-status-steps{grid-template-columns:1fr}
  .category-showcase{grid-template-columns:1fr!important}
  .hero .impact-card{display:none!important}
  .copyright{flex-wrap:wrap;min-width:0}
  .copyright>span{min-width:0;max-width:100%}
  .copyright .powered-by{margin-left:0;white-space:normal;flex-wrap:wrap}
  .copyright .powered-by img{max-width:100%}
}
@media(max-width:430px){
  .ct-mobile-links{grid-template-columns:1fr 1fr}
  .item-card-body{padding:11px}
  .item-card h3{font-size:14px}
  .item-card-price{font-size:15px}
  .item-card-bottom{align-items:flex-start;flex-direction:column}
  .item-card button{width:100%}
  .ct-shop-grid,.shop-results>.product-grid{gap:10px}
}
