/* Unified Apple-inspired glass material. Loaded last on every page. */
:root{--glass-light:rgba(255,255,255,.52);--glass-border:rgba(255,255,255,.78);--glass-shadow:0 8px 30px rgba(13,43,30,.07),inset 0 1px 0 rgba(255,255,255,.8);--glass-material:blur(24px) saturate(155%);--accent-ink:#836100}
body{background:radial-gradient(ellipse at 8% 20%,#e9eee580,transparent 50%),radial-gradient(ellipse at 95% 80%,#f3e4be55,transparent 40%),#f8f7f1;color:#123c32}
header,footer,.menu-page footer{background:linear-gradient(120deg,#ffffff35,#ffffff08),rgba(250,249,244,.58);-webkit-backdrop-filter:var(--glass-material);backdrop-filter:var(--glass-material);border-color:var(--glass-border);box-shadow:var(--glass-shadow)}
header .icon-button,header .cart-toggle{border-radius:50%;transition:background .18s}
header .icon-button:hover,header .cart-toggle:hover{background:#ffffff70}
header nav a{font-weight:300}
.product .details{background:linear-gradient(145deg,#fff9,#faf9f440)}
.page-cards>a,.notice-card,blockquote,.choice,.quantity,.page-form input,.page-form textarea,.sheet-search,#search-input,.email-row,details{background:linear-gradient(135deg,#ffffff40,#ffffff0d),var(--glass-light);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);-webkit-backdrop-filter:blur(16px) saturate(135%);backdrop-filter:blur(16px) saturate(135%)}
.page-cards>a,.notice-card,blockquote{border-radius:22px}
.page-cards>a{transition:transform .18s,box-shadow .18s}
.page-cards>a:hover{transform:translateY(-3px);box-shadow:0 12px 32px #163a3012,inset 0 1px 0 #fffd}
.choice{border-radius:13px;padding:11px 13px;color:var(--green);font-weight:300}
.choice:has(input[type=radio]:checked){background:linear-gradient(145deg,#ffffff1c,transparent),rgba(7,60,49,.92);color:#fff;border:1px solid #ffffff50;box-shadow:0 4px 12px #073c3120,inset 0 1px 0 #ffffff35}
.choice:has(input[type=checkbox]:checked){background:rgba(217,232,219,.74);border-color:#97b3a285}
.quantity{border-radius:14px;height:48px}
.quantity button{min-width:34px}.quantity output{font-weight:300}
.primary{border-radius:16px;background:linear-gradient(140deg,#ffffff1c,#ffffff00),rgba(7,60,49,.94);border:1px solid #ffffff40;box-shadow:0 6px 16px #073c3118,inset 0 1px 0 #ffffff30;font-weight:300;transition:filter .15s,transform .15s}
.primary:hover{filter:brightness(1.08)}.primary:active{transform:scale(.98)}
.add{border-radius:16px}
.gallery{padding:8px;border:1px solid #ffffff70;border-radius:21px;background:#ffffff22;-webkit-backdrop-filter:blur(16px) saturate(150%);backdrop-filter:blur(16px) saturate(150%);box-shadow:0 8px 25px #0002,inset 0 1px 0 #ffffff70}
.thumb,.thumb img{border-radius:13px}.thumb[aria-pressed=true]{box-shadow:0 0 0 1px #ffbf0050}
.gallery-arrow{background:#ffffff85;border:1px solid #fff9;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);box-shadow:0 3px 15px #0001}
.page-form input,.page-form textarea,#search-input{border-radius:14px;color:var(--green);font-weight:300}
.page-form input::placeholder,.page-form textarea::placeholder,#search-input::placeholder{color:#73857b}
.page-main details{border-radius:16px;margin:12px 0;padding:19px 22px}
.page-main details p{margin:14px 0 0}
.page-main .photo-grid img,.page-split img{border:1px solid #ffffffb0;box-shadow:0 10px 30px #173e3210;border-radius:22px}
.newsletter{background:radial-gradient(ellipse at top left,#44755e50,transparent 65%),#123f33}
.newsletter .email-row{border-radius:15px;background:rgba(255,255,255,.85)}
.email-row button{border-radius:11px;background:linear-gradient(145deg,#ffdb54,#ffc524);border:1px solid #ffffff75;box-shadow:inset 0 1px 0 #fffa;font-weight:400}
.cart-heading{border-color:#17433218}.cart-heading button{width:34px;height:34px;border-radius:50%;background:#ffffff60;border:1px solid #ffffff85;font-size:16px;flex-shrink:0}
dialog#cart,dialog#search-dialog,dialog#more-dialog{background:linear-gradient(145deg,#ffffff30,#ffffff04),rgba(249,249,242,.86);-webkit-backdrop-filter:blur(30px) saturate(145%);backdrop-filter:blur(30px) saturate(145%);border:1px solid #ffffffa0;box-shadow:0 15px 60px #0c281d22,inset 0 1px 0 #fffc}
dialog::backdrop{background:rgba(12,31,24,.35);-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}
#search-dialog label{font-weight:300}.more-links a{font-weight:300;gap:12px;align-items:center}
#toast{border-radius:18px;background:rgba(10,51,39,.9);border:1px solid #ffffff40;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:0 8px 30px #073c3120}
.mobile-bottom{display:none}
@media(min-width:861px){dialog#more-dialog,dialog#search-dialog{border-radius:22px 0 0 22px}footer,.menu-page footer{min-height:42px;padding-block:12px}}
@media(max-width:860px){
 :root{--header:0px}
 body{padding-bottom:calc(94px + env(safe-area-inset-bottom));overscroll-behavior-y:none}
 html{scroll-padding-top:0}
 body header,body.menu-page header{display:none!important}
 main,.menu-page #menu{padding-top:0}
 .product,.menu-page .product{display:grid;grid-template-columns:minmax(0,1fr);min-height:auto}
 .product .visual,.product:nth-child(even) .visual{order:0;height:65svh;min-height:330px;border-radius:0 0 27px 27px;padding:0}
 .menu-page .details{padding:30px 6% 38px}
 .details h2{font-size:clamp(32px,6vw,44px);letter-spacing:-1.6px}
 .number{display:none}
 .section-progress,.product:nth-child(even) .section-progress{left:auto;right:6%;top:calc(30px + env(safe-area-inset-top))}
 .page-main{padding:calc(32px + env(safe-area-inset-top)) 6% 40px;min-height:100svh}
 .page-main .page-split{grid-template-columns:1fr;gap:26px}
 .page-main .page-cards{grid-template-columns:1fr;gap:15px;margin-top:30px}
 .page-main h1{font-size:clamp(34px,6vw,46px);line-height:1.12}
 .page-form input,.page-form textarea,#search-input{font-size:16px!important}
 .mobile-bottom{position:fixed;left:12px;right:12px;bottom:calc(10px + env(safe-area-inset-bottom));width:auto;height:72px;display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr));gap:2px;padding:6px;border-radius:27px;border:1px solid rgba(255,255,255,.84);background:linear-gradient(145deg,#ffffff60,#ffffff12),rgba(249,249,244,.6);-webkit-backdrop-filter:blur(28px) saturate(170%);backdrop-filter:blur(28px) saturate(170%);box-shadow:0 8px 32px rgba(18,48,34,.15),inset 0 1px 0 #ffffffdd;z-index:15}
 body .mobile-bottom>a,body .mobile-bottom>button{display:grid!important;grid-template-columns:minmax(0,1fr);grid-template-rows:25px 13px;place-items:center;align-content:center;justify-content:center;gap:5px;width:100%;height:58px;min-height:58px;min-width:0;max-width:none;flex:none;position:relative;padding:5px 0;border:1px solid transparent;border-radius:21px;background:transparent;color:#244b3e;text-decoration:none;line-height:1;font:300 10px Poppins,Arial,sans-serif;white-space:nowrap;box-sizing:border-box}
 body .mobile-bottom>a>svg,body .mobile-bottom>button>svg{display:block;grid-column:1;grid-row:1;width:24px;height:24px;min-width:24px;margin:0;padding:0;stroke-width:1.45;flex:none}
 body .mobile-bottom>a>span,body .mobile-bottom>button>.tab-label,body .mobile-bottom>#open-more>span{display:block;grid-column:1;grid-row:2;position:static;inset:auto;padding:0;margin:0;width:auto;min-width:0;border:0;border-radius:0;background:none;color:inherit;font-size:9px;font-weight:300;line-height:13px;text-align:center;transform:none}
 body .mobile-bottom>a.active,body .mobile-bottom>button.active{color:#173e32;background:linear-gradient(135deg,#ffffff85,#ffffff30);border-color:#ffffffc0;box-shadow:0 2px 9px #193e3210,inset 0 1px 0 #fffd}
 body .mobile-bottom a.active::after{display:none!important}
 body .mobile-bottom .active svg{stroke-width:1.8}
 body .mobile-bottom>.mobile-basket>.tab-count{display:block;position:absolute;top:2px;right:calc(50% - 24px);grid-column:auto;grid-row:auto;min-width:16px;height:16px;line-height:16px;padding:0 4px;margin:0;border-radius:12px;background:#ffcc36;color:#234132;font-size:9px;font-weight:500;border:1px solid #fff9;box-shadow:0 2px 5px #0001}
 body .mobile-bottom>.mobile-basket>.tab-count[hidden]{display:none!important}
 footer,.menu-page footer{position:relative;inset:auto;height:auto;min-height:58px;flex-wrap:wrap;padding:15px 6%;gap:12px}
 .page-main .page-form .primary{width:100%;min-height:48px}
 dialog#more-dialog,dialog#search-dialog{position:fixed;inset:auto 10px calc(10px + env(safe-area-inset-bottom));margin:0;width:calc(100% - 20px);max-width:calc(100% - 20px);height:auto;max-height:85dvh;overflow-y:auto;border-radius:28px;padding:17px 6% 26px}
 dialog#cart{inset:10px 10px calc(10px + env(safe-area-inset-bottom));margin:0;width:calc(100% - 20px);max-width:calc(100% - 20px);height:auto;max-height:calc(100dvh - 20px - env(safe-area-inset-bottom));border-radius:28px;padding:25px 6%}
 #toast{bottom:calc(103px + env(safe-area-inset-bottom))}
 .gallery{bottom:22px;gap:7px;padding:7px}.thumb{width:53px;height:53px}
 .gallery-arrow{bottom:42px}.gallery-arrow.prev{left:5%}.gallery-arrow.next{right:5%}
 .purchase:before{display:none}
 .review-grid{grid-template-columns:1fr;gap:12px}
 .newsletter{grid-template-columns:1fr;gap:20px;padding:35px 6%}
 .more-links{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}
 .more-links a{display:flex!important;justify-content:space-between;min-height:48px;font-size:12px!important;border-bottom:1px solid #173e3214;padding:14px 4px}
}
@media(max-width:360px){.mobile-bottom{left:8px;right:8px;padding:5px;gap:0}.mobile-bottom>a span,.mobile-bottom>button span{font-size:8px}.gallery{gap:6px}.thumb{width:45px;height:45px}.choice{padding:9px;font-size:9px}}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){header,footer,.menu-page footer,.mobile-bottom,dialog#cart,dialog#more-dialog,dialog#search-dialog{background:#f6f6ef}}
@media(prefers-reduced-transparency:reduce){header,footer,.menu-page footer,.mobile-bottom,dialog#cart,dialog#more-dialog,dialog#search-dialog,.notice-card,.page-cards>a,blockquote,.choice,.quantity,.page-form input,.page-form textarea{background:#f8f7f1;-webkit-backdrop-filter:none;backdrop-filter:none}}
@media(prefers-reduced-motion:reduce){.primary,.page-cards>a{transition:none}.primary:active,.page-cards>a:hover{transform:none}}
.primary.cart-toggle{color:var(--cream)}
/* Product detail pages, account screens and a four-tab app bar. */
.product-detail-link{display:block;width:fit-content;margin:-8px 0 18px;font-size:11px;font-weight:300;color:#47715e}
.details h2 a{display:inline}.details h2 a:hover{color:#346752}
.product-page #menu{padding-top:0}.product-page .product{min-height:100svh}
.product-page .details{padding-top:72px;padding-bottom:44px}
.product-reviews .review-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.product-reviews .text-link{display:inline-block;margin-top:24px;font-size:12px}
.auth-page{display:flex;align-items:flex-start;justify-content:center}
.auth-card{width:100%;max-width:510px;background:linear-gradient(135deg,#ffffff60,#ffffff12),rgba(255,255,255,.4);border:1px solid var(--glass-border);border-radius:27px;box-shadow:var(--glass-shadow);-webkit-backdrop-filter:blur(24px) saturate(145%);backdrop-filter:blur(24px) saturate(145%);padding:36px}
.auth-card h1{font-size:43px;margin:15px 0 20px}.auth-card .lead{font-size:18px}
.auth-card .demo-note{line-height:1.7;margin-bottom:25px}
.auth-card .primary{width:100%;margin:7px 0 0;min-height:48px}
.auth-card .form-status{margin:0;font-size:12px;line-height:1.8}
.auth-card .form-status a,.auth-switch a{font-weight:400;text-decoration:underline}
.password-field{position:relative}.password-field input{padding-right:66px}
.show-password{position:absolute;right:10px;top:50%;transform:translateY(-50%);background:none;border:0;color:#426754;font-size:11px;font-weight:300;padding:8px 5px}
.auth-switch{margin:25px 0 0!important;font-size:12px!important}
.account-links{display:flex;align-items:center;gap:24px;flex-wrap:wrap}.account-links .text-link{font-size:12px}
.demo-session{padding:18px;border-radius:16px;background:#ffffff65;border:1px solid #ffffffb0;margin-bottom:20px}
.demo-session p{margin:0 0 10px!important}.demo-session button{font-size:12px;border:0;background:none;text-decoration:underline;color:var(--green)}
@media(max-width:860px){
 body .mobile-bottom{grid-template-columns:repeat(4,minmax(0,1fr))}
 body .mobile-bottom>#tab-search>span{display:block;grid-column:1;grid-row:2;position:static;margin:0;padding:0;line-height:13px;font-size:9px;font-weight:300;color:inherit}
 .product-page .product{min-height:auto}.product-page .details{padding:30px 6% 38px}
 .product-reviews{padding:35px 6%}.product-reviews .review-grid{grid-template-columns:1fr}
 .auth-page{padding:calc(24px + env(safe-area-inset-top)) 5% 40px}.auth-card{padding:25px;border-radius:23px}.auth-card h1{font-size:35px}
}
@media(prefers-reduced-transparency:reduce){.auth-card{background:var(--cream);-webkit-backdrop-filter:none;backdrop-filter:none}}
header nav{align-items:center}header nav button{border:0;background:none;color:var(--green);font-size:10px;font-weight:300;padding:4px 0;display:flex;align-items:center;gap:6px}
.auth-card .password-field input{padding-right:72px!important}
