/* Storefront presentation tokens. Loaded after legacy layout rules.
   Admin has its own stylesheet; business logic and layout breakpoints stay separate. */
@font-face{font-family:AltacoText;src:url('assets/NotoSans-Regular.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
:root{--font-body:AltacoText,Arial,sans-serif;--font-display:Manrope,AltacoText,Arial,sans-serif;--radius-control:5px;--radius-card:8px;--radius-dialog:10px;--line-soft:#cbbda6;--text-muted:#725c4d;--surface:#f8f5ed;--size-title:clamp(36px,4.6vw,64px)}
body{font-family:var(--font-body);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}
button,input,textarea,select{font-family:inherit}
h1,h2,h3,.ticker,.story-cover>span{font-family:var(--font-display);font-weight:600}
h1,.news-masthead h1,.account-intro h1{font-size:var(--size-title);letter-spacing:-.045em;line-height:1.12;overflow-wrap:break-word}
h2,.collection-copy h2,.contacts h2{font-size:clamp(30px,3.2vw,44px);line-height:1.18;letter-spacing:-.035em}
.story-copy h2,.lead-story h2{font-size:clamp(26px,2.8vw,38px);line-height:1.2;letter-spacing:-.035em}
.story-copy h2 button{font:inherit;letter-spacing:inherit;line-height:inherit}
.product h3,.cart-line h3{font-size:17px;line-height:1.4;letter-spacing:-.02em}
.event h3{font-size:clamp(22px,2.3vw,30px);line-height:1.25;letter-spacing:-.025em}
.news-masthead>p,.story-copy>p:not(.story-meta),.contacts>div>p,.about-copy>p{font-size:15px;line-height:1.8;color:var(--text-muted)}
.section-label,.story-meta,.eyebrow{font-family:var(--font-display);font-weight:600;font-size:11px;line-height:1.6;letter-spacing:.1em}
.subtle,.catalog-note,.form-note{font-size:13px;line-height:1.7;color:var(--text-muted)}
.home-product-name{font-size:12px;line-height:1.5}.home-product-price{font-size:12px;color:var(--text-muted);font-variant-numeric:tabular-nums}
.home-products-heading{font-size:12px}.home-products-heading p{letter-spacing:.02em}
.product-price,.cart-total{font-variant-numeric:tabular-nums}
/* One visual language for controls, surfaces and interaction. */
.button,.language-select,.icon-action,.quantity button,.channel-choices label,.places-button{border-radius:var(--radius-control)}
.button{font-family:var(--font-display);font-weight:600;font-size:14px;min-height:50px;padding:14px 20px;line-height:1.5;gap:24px}
.product-image,.home-product-image,.story-cover,.account-panel,.verification-card,.collection-image{border-radius:var(--radius-card);overflow:hidden}
dialog{border:1px solid var(--line-soft);border-radius:var(--radius-dialog);box-shadow:0 24px 80px #24171330}
.toast,.swipe-delete-background,.cart-swipe{border-radius:var(--radius-control)}
.dialog-top h2{font-size:28px;line-height:1.2;letter-spacing:-.03em}.dialog-top{align-items:center}
.close,.password-toggle{border-radius:var(--radius-control)}
.close:hover,.password-toggle:hover{background:#d3c39b40}
/* Fields have complete, quiet outlines instead of competing underlines. */
form label,.auth-field{font-size:13px;line-height:1.6}
form input:not([type=checkbox]):not([type=radio]),form textarea,form select,.auth-field input,#login-form input,.country-field select{width:100%;border:1px solid var(--line-soft);border-radius:var(--radius-control);background:var(--surface);padding:12px 14px;margin-top:8px;min-height:50px;font-family:var(--font-body);font-size:16px;line-height:1.5;color:#3a211c;transition:border-color .18s,box-shadow .18s}
form textarea{min-height:130px;resize:vertical}
form input::placeholder,form textarea::placeholder{color:#887360;opacity:1}
form input:not([type=checkbox]):not([type=radio]):focus,form textarea:focus,form select:focus{border-color:#792c21;background:#fbf8f1;box-shadow:0 0 0 3px #792c2112}
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid #a8573c;outline-offset:3px}
.password-control{margin-top:8px}.password-control input{margin-top:0!important}.password-toggle{top:50%}
.channel-choices input[type=radio]{width:18px;height:18px;min-height:18px;margin:0;padding:0;accent-color:#792c21}
.search{min-height:48px;padding:0 13px;gap:10px;border:1px solid var(--line-soft);border-radius:var(--radius-control);background:var(--surface)}
.search input{padding:11px 0;min-height:46px;font-family:var(--font-body);font-size:15px;background:transparent;border:0;border-radius:0}
.search:focus-within{border-color:#792c21;box-shadow:0 0 0 3px #792c2112}.search input:focus-visible{outline:none}
/* Category selection uses a filled state, with section rules retained as separators. */
.news-toolbar{border-top:0;border-bottom:1px solid var(--line-soft);padding:0 0 18px;gap:16px}
.news-tabs,.tabs{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:8px}
.news-tabs button,.tabs button{border:1px solid transparent;border-radius:var(--radius-control);padding:10px 14px;min-height:44px;font-family:var(--font-display);font-size:12px;line-height:1.5;letter-spacing:0;color:var(--text-muted);background:transparent}
.news-tabs button.active,.tabs button.active{border-color:#792c21;background:#792c21;color:#f8f5ed}
.news-tabs button:hover:not(.active),.tabs button:hover:not(.active){background:#d3c39b50;border-color:var(--line-soft);color:#3a211c}
.news-toolbar>span{font-size:12px;color:var(--text-muted)}
.story-read{border:0;padding:10px 0;min-height:44px;font-size:13px;font-weight:600;gap:20px;margin-top:18px}
.login-account-link,.auth-switch button{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px;border-bottom:0}
.auth-switch{font-size:13px}.auth-switch button{min-height:44px}
.story-read:hover,.home-products-heading>a:hover{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}
header nav a{font-size:13px;letter-spacing:.055em;font-weight:600}
header nav a:after{height:1px;bottom:8px}
.direction-icon,.header-icon,.language-chevron{stroke-linecap:round;stroke-linejoin:round}
/* Compact footer: brand and adult notice share one band at every width. */
footer{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:23px 5%;font-family:var(--font-body);font-size:12px}
footer .footer-main{display:flex;align-items:center;gap:24px;min-width:0}
footer .footer-main img{display:block;width:116px;max-width:100%}
footer .footer-main>span{font-size:11px;line-height:1.6;color:#d3c39bbf}
footer .footer-disclaimer{display:flex;align-items:center;gap:12px;margin:0;padding:0;border:0;min-width:0;max-width:480px}
footer .footer-disclaimer p{font-size:12px;line-height:1.6;margin:0;max-width:360px;color:#d3c39bd9}
footer .age-badge{width:36px;height:36px;flex:0 0 36px}
@media(max-width:1150px){header nav a{font-size:12px}.catalog-toolbar{gap:18px}.news-masthead{align-items:flex-start}.news-masthead>p{max-width:280px}}
@media(max-width:800px){footer{gap:20px}footer .footer-main{flex-direction:column;align-items:flex-start;gap:7px}footer .footer-disclaimer{max-width:360px}}
@media(max-width:680px){
 :root{--size-title:clamp(34px,8.6vw,42px)}
 body{font-size:15px}
 h2,.collection-copy h2,.contacts h2{font-size:32px;letter-spacing:-.035em}
 .news-masthead h1{line-height:1.15;letter-spacing:-.04em;overflow-wrap:break-word}
 .news-masthead>p{max-width:none;margin-top:16px;font-size:14px}
 .story-copy h2,.lead-story h2{font-size:28px;line-height:1.24;letter-spacing:-.03em}
 .story-copy>p:not(.story-meta){font-size:14px;line-height:1.75}
 .news-tabs{display:flex;flex-wrap:wrap;gap:7px;width:100%}
 .news-tabs button,.tabs button{width:auto;min-height:44px;padding:10px 12px;font-size:11px;text-align:center;white-space:normal;overflow-wrap:normal}
 .news-toolbar{gap:12px;padding-bottom:16px}.news-toolbar>span{font-size:11px}
 .home-product-name,.home-product-price{font-size:11px}.home-products-heading{font-size:11px}
 .product h3{font-size:16px;line-height:1.4}.product-price{font-size:13px}
 .button{font-size:13px;min-height:50px;padding:14px 18px}
 .dialog-top h2{font-size:26px}dialog{padding:24px 20px}
 form label,.auth-field{font-size:13px}.password-hint,.password-strength p{font-size:12px}
 .search{width:100%}.search input{width:100%;min-width:0;font-size:16px}
 header.menu-ready nav a{font-size:12px;border-radius:var(--radius-control)}
 header.menu-ready nav a[aria-current=page]{border-left:0;padding-left:16px;background:#d3c39b66}
 footer{display:flex;align-items:center;gap:16px;padding:20px 20px max(20px,env(safe-area-inset-bottom))}
 footer .footer-main{display:flex;flex:0 0 92px;gap:6px;align-items:flex-start}
 footer .footer-main img{width:92px}
 footer .footer-main>span{font-size:9px;line-height:1.5;text-align:left}
 footer .footer-disclaimer{flex:1;align-items:center;gap:9px;max-width:none}
 footer .footer-disclaimer p{font-size:10px;line-height:1.6;margin:0;max-width:none}
 footer .age-badge{width:30px;height:30px;flex-basis:30px}
}
@media(prefers-reduced-motion:reduce){form input,form textarea,form select{transition:none}}
