/* Shared responsive storefront: progressive menu, visible account access. */
.turnstile-check{display:grid;gap:9px;padding:16px;border:1px solid #bfdcc8;border-radius:16px;background:#edf5ef;min-width:0}.turnstile-label{font-size:.8rem;font-weight:700;letter-spacing:.04em;color:#6b243e}.turnstile-check small{line-height:1.5;color:#6b5260}.turnstile-check [data-turnstile-widget]{min-width:0;max-width:100%}
.pending-payment{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px;margin-block:16px;border:1px solid #bfdcc8;border-radius:18px;background:#edf5ef}.pending-payment p{margin:6px 0 0;line-height:1.6}.pending-payment .button{flex:0 0 auto}@media(max-width:700px){.pending-payment{flex-direction:column;align-items:stretch}.pending-payment .button{white-space:normal}}
.nav-toggle { display:none; }
.nav-sign-up { padding:10px 15px; border:1px solid #bfdcc8; border-radius:999px; background:#edf5ef; white-space:nowrap; }
#about { scroll-margin-top:160px; }
.site-header .nav-links[hidden] { display:none; }
.nav-toggle:focus-visible,.nav-actions a:focus-visible { outline:3px solid #6b243e; outline-offset:4px; }
@media (max-width:1000px) {
    .site-header { background:rgba(255,248,250,.92); -webkit-backdrop-filter:blur(18px); backdrop-filter:blur(18px); }
    .site-header .nav { grid-template-columns:minmax(0,1fr) auto; gap:0 12px; padding-block:8px 12px; min-height:0; }
    .site-header .brand { grid-area:1/1; justify-self:start; min-width:0; }
    .site-header .brand img { width:180px; height:64px; max-width:100%; object-fit:contain; }
    .site-header .nav-toggle:not([hidden]) { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:5px; grid-area:1/2; width:46px; height:46px; padding:10px; color:#6b243e; background:#edf5ef; border:1px solid #bfdcc8; border-radius:14px; cursor:pointer; }
    .nav-toggle span { display:block; width:21px; height:2px; border-radius:2px; background:currentColor; transition:transform .18s,opacity .18s; }
    .nav-toggle[aria-expanded="true"] span:first-child { transform:translateY(7px) rotate(45deg); }
    .nav-toggle[aria-expanded="true"] span:nth-child(2) { opacity:0; }
    .nav-toggle[aria-expanded="true"] span:last-child { transform:translateY(-7px) rotate(-45deg); }
    .site-header .nav-actions { grid-area:2/1/3/-1; width:100%; max-width:none; flex-wrap:nowrap; gap:12px; justify-content:flex-start; min-width:0; }
    .site-header .nav-actions a,.site-header .nav-actions .link-button { display:inline-flex; align-items:center; justify-content:center; min-height:44px; font-size:.82rem; white-space:nowrap; }
    .site-header .nav-actions .cart-pill { margin-left:auto; padding:8px 13px; gap:8px; }
    .site-header .nav-links { grid-area:3/1/4/-1; display:grid; grid-template-columns:1fr; width:100%; overflow:visible; gap:0; margin-top:12px; padding:8px; border:1px solid #e9d4dc; border-radius:18px; background:#fffafb; box-shadow:0 12px 28px #6b243e0a; max-height:55svh; overflow-y:auto; }
    .site-header .nav-links a { display:flex; align-items:center; min-height:48px; padding:12px 16px; font-size:.96rem; border-radius:10px; white-space:normal; }
    .site-header .nav-links a:hover,.site-header .nav-links a:focus-visible { background:#edf5ef; color:#6b243e; }
}
@media (max-width:700px) {
    .wrap { width:calc(100% - 32px); }
    .hero { min-height:440px; }
    .hero-copy { padding:42px 24px; gap:20px; }
    .hero h1 { font-size:clamp(2.6rem,10.7vw,4rem); line-height:1.06; letter-spacing:-.045em; }
    .hero .lede { font-size:1rem; line-height:1.65; }
    .hero-copy .hero-shop-button { min-height:52px; }
    .page-section,.section { padding-block:36px; }
    .section-heading h2,.page-title { font-size:clamp(2.15rem,9vw,3.1rem); line-height:1.12; overflow-wrap:normal; }
    .page-section .wrap,.checkout-grid>*,.auth-grid>*,.panel,.form-two>*,.form-three>* { min-width:0; }
    input:not([type="checkbox"]):not([type="radio"]),select,textarea { font-size:16px; max-width:100%; }
    input:not([type="checkbox"]):not([type="radio"]),select { min-height:48px; }
    .button { min-height:46px; }
    .shop-filters { flex-wrap:nowrap; overflow-x:auto; padding-block:4px 12px; justify-content:flex-start; scrollbar-width:thin; }
    .shop-filters a { flex:0 0 auto; min-height:44px; display:inline-flex; align-items:center; }
    .product-card { border-radius:20px; }
    .product-body { padding:20px; }
    .product-body h3 { font-size:1.2rem; line-height:1.35; }
    .product-bottom { align-items:center; gap:12px; }
    .product-bottom .button { padding:12px 18px; }
    .footer-welcome h2 { font-size:2rem; line-height:1.2; }
    .footer-links a,.social-links a { min-height:44px; }
    .footer-bottom { gap:12px; line-height:1.6; }
    .notifications { max-width:100%; }
    .commerce-steps { gap:8px; }
    .admin-menu { display:flex; overflow-x:auto; padding-bottom:12px; }
    .admin-menu a { flex:0 0 auto; min-height:44px; }
}
@media (max-width:360px) {
    .site-header .brand img { width:160px; height:58px; }
    .site-header .nav-actions { gap:8px; }
    .site-header .nav-actions a,.site-header .nav-actions .link-button { font-size:.76rem; }
    .nav-sign-up { padding:8px 12px; }
    .site-header .nav-actions .cart-pill { padding:8px 10px; }
    .hero-copy { padding-inline:20px; }
}
@media (prefers-reduced-motion:reduce) { .nav-toggle span { transition:none; } }
