/* Storefront layout; saved store-theme tokens remain the source of brand colors. */
:root {
    --bg:#f7f4ef; --surface:#fff; --soft:#f2ede7; --surface-soft:#f2ede7;
    --text:#24211d; --muted:#665f57; --line:#e8e1d9; --primary:#9a6730;
    --accent:#24211d; --accent-dark:#24211d; --on-primary:#fff;
    --button-radius:6px; --success:#287a45;
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:156px; }
body.premium-storefront { margin:0; background:var(--surface); color:var(--text); font:15px/1.6 Arial,Helvetica,sans-serif; }
a { color:inherit; }
button,input,select,textarea { font:inherit; }
.wrap { width:min(1280px,calc(100% - 80px)); margin-inline:auto; }
.premium-storefront a:focus-visible { outline:2px solid var(--primary); outline-offset:5px; }
.skip-link { position:fixed; left:16px; top:-100px; z-index:100; padding:12px 20px; background:var(--surface); }
.skip-link:focus { top:12px; }
.topbar { padding:7px 0; background:var(--text); color:var(--surface); font-size:12px; text-align:center; letter-spacing:.025em; }
.site-header { position:sticky; top:0; z-index:50; background:var(--surface); border-bottom:1px solid var(--line); }
.header-main { min-height:90px; display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); align-items:center; gap:24px; }
.hub-link { text-decoration:none; font-size:12px; color:var(--muted); justify-self:start; }
.mini-brand { display:flex; align-items:center; gap:14px; min-width:0; text-decoration:none; }
.mini-logo { display:grid; place-items:center; flex:none; width:56px; height:56px; color:var(--primary); font:30px Georgia,serif; }
.mini-logo img { width:100%; height:100%; object-fit:contain; }
.mini-name { max-width:340px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font:28px/1.1 Georgia,'Times New Roman',serif; letter-spacing:.025em; }
.header-actions { display:flex; justify-self:end; align-items:center; gap:16px; }
.header-action { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:44px; text-decoration:none; font-size:12px; white-space:nowrap; }
.header-action svg { flex:none; }
.cart-count { display:grid; place-items:center; min-width:20px; height:20px; padding:0 5px; border-radius:50%; background:var(--primary); color:var(--on-primary); font-size:11px; }
.category-nav-wrap { border-top:1px solid var(--line); }
.category-nav { display:flex; align-items:center; gap:30px; overflow-x:auto; scrollbar-width:none; }
.category-nav::-webkit-scrollbar { display:none; }
.category-nav a { display:flex; align-items:center; min-height:46px; flex:none; padding:8px 0; text-decoration:none; font-size:12px; letter-spacing:.035em; border-bottom:2px solid transparent; }
.category-nav a:hover,.category-nav a:focus-visible { color:var(--primary); border-bottom-color:var(--primary); }
.hero { background:var(--bg); }
.hero picture,.hero img { display:block; width:100%; }
.hero img { height:auto; max-height:560px; object-fit:contain; }
.store-intro { padding:36px 0; }
.intro-grid { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:48px; }
.eyebrow { font-size:10px; text-transform:uppercase; letter-spacing:.12em; color:var(--muted); }
.store-title { margin:8px 0 0; font:clamp(30px,3.8vw,48px)/1.15 Georgia,'Times New Roman',serif; overflow-wrap:anywhere; }
.store-description { max-width:720px; margin:12px 0 0; color:var(--muted); font-size:14px; }
.intro-actions { display:flex; flex-wrap:wrap; align-items:center; justify-content:flex-end; gap:12px 20px; max-width:320px; }
.btn { display:inline-flex; justify-content:center; align-items:center; gap:20px; min-height:44px; padding:10px 20px; border:1px solid var(--line); border-radius:var(--button-radius); font-size:12px; text-decoration:none; }
.btn-primary { background:var(--primary); color:var(--on-primary); border-color:var(--primary); }
.premium-storefront .btn-secondary,.premium-storefront .btn-whatsapp { border:0; padding:8px 0; border-radius:0; background:transparent; color:var(--text); text-decoration:underline; text-underline-offset:5px; text-decoration-color:var(--line); }
.btn:hover { opacity:.85; }
.store-intro-fallback { margin-top:24px; padding:60px 36px; background:var(--bg); border:1px solid var(--line); }
.store-facts { display:flex; flex-wrap:wrap; gap:0; padding:16px 0; border-block:1px solid var(--line); }
.fact { flex:1 1 180px; padding:8px 24px; border-inline-start:1px solid var(--line); }
.fact:first-child { border-inline-start:0; padding-inline-start:0; }
.fact-k { color:var(--text); font-size:12px; font-weight:600; }
.fact-v { margin-top:4px; font-size:12px; color:var(--muted); white-space:pre-line; overflow-wrap:anywhere; }
.fact-v a { text-decoration:none; }
.presence-online { display:flex; align-items:center; gap:7px; }
.presence-online:before { content:''; width:6px; height:6px; flex:none; border-radius:50%; background:var(--success); }
.catalog { padding:52px 0 72px; }
.section { margin-top:68px; }
.section:first-child { margin-top:0; }
.section-head { position:relative; margin-bottom:28px; padding-inline:100px; text-align:center; }
.section-copy h2,.social-head h2 { margin:6px 0 0; font:clamp(28px,3vw,38px)/1.2 Georgia,'Times New Roman',serif; overflow-wrap:anywhere; }
.section-copy p { margin:12px auto 0; max-width:640px; color:var(--muted); font-size:13px; }
.section-count { position:absolute; right:0; bottom:0; font-size:11px; color:var(--muted); }
.featured-grid,.product-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; }
.premium-storefront .product-card { min-width:0; position:relative; background:var(--surface); border:0; }
.product-link { display:flex; height:100%; flex-direction:column; text-decoration:none; }
.premium-storefront .product-media { position:relative; aspect-ratio:1/1.08; background:var(--bg); overflow:hidden; }
.product-media img { display:block; width:100%; height:100%; object-fit:contain; transition:transform .25s ease; }
.product-link:hover .product-media img { transform:scale(1.025); }
.product-placeholder { display:grid; place-content:center; text-align:center; height:100%; gap:8px; color:var(--muted); }
.product-placeholder span { font:48px Georgia,serif; }
.product-placeholder small { font-size:11px; }
.promo-badge,.featured-badge { position:absolute; top:12px; z-index:1; padding:4px 8px; background:var(--surface); color:var(--text); font-size:10px; letter-spacing:.02em; }
.promo-badge { left:10px; background:var(--primary); color:var(--on-primary); }
.featured-badge { right:10px; }
.product-body { display:flex; flex:1; flex-direction:column; padding:18px 0 0; text-align:center; }
.product-category { margin-bottom:6px; font-size:10px; letter-spacing:.09em; text-transform:uppercase; color:var(--muted); }
.product-name { min-height:2.8em; margin:0; font-size:15px; font-weight:400; line-height:1.4; overflow-wrap:anywhere; }
.product-description { display:none; }
.price-wrap { display:flex; flex-wrap:wrap; justify-content:center; align-items:baseline; gap:8px; margin:12px 0 18px; }
.price-current { font-size:17px; font-weight:600; }
.price-old { color:var(--muted); text-decoration:line-through; font-size:12px; }
.premium-storefront .product-foot { display:flex; align-items:center; justify-content:center; gap:24px; min-height:44px; margin-top:auto; border:1px solid var(--line); border-radius:var(--button-radius); font-size:12px; color:var(--text); transition:background .2s ease,color .2s ease; }
.premium-storefront .product-link:hover .product-foot { background:var(--primary); color:var(--on-primary); border-color:var(--primary); }
.empty { padding:48px 20px; text-align:center; border:1px solid var(--line); color:var(--muted); }
.social-section { margin-top:68px; padding-top:40px; border-top:1px solid var(--line); }
.social-head { display:flex; align-items:end; justify-content:space-between; gap:20px; margin-bottom:24px; }
.social-eyebrow { font-size:10px; letter-spacing:.12em; text-transform:uppercase; color:var(--muted); }
.social-head>a { font-size:12px; text-decoration:none; padding:10px 0; min-height:44px; }
.social-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; }
.premium-storefront .social-card { display:block; min-width:0; overflow:hidden; background:var(--bg); text-decoration:none; }
.social-card img { display:block; width:100%; height:auto; aspect-ratio:1/1; object-fit:cover; }
.premium-storefront .social-caption { padding:14px; font-size:12px; line-height:1.5; color:var(--muted); background:var(--bg); display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.footer { padding:32px 0; border-top:1px solid var(--line); background:var(--bg); font-size:12px; color:var(--muted); }
.footer .wrap { display:flex; align-items:center; justify-content:space-between; gap:20px; flex-wrap:wrap; }
.footer a { display:inline-block; padding:10px 0; min-height:44px; color:var(--text); text-decoration:none; }
.presence-content { color:var(--muted); padding:24px 0; }
@media (max-width:980px) {
    .wrap { width:calc(100% - 40px); }
    .header-main { grid-template-columns:minmax(0,1fr) auto; min-height:78px; gap:16px; }
    .hub-link { display:none; }
    .mini-name { max-width:260px; font-size:24px; }
    .intro-grid { grid-template-columns:1fr; gap:20px; }
    .intro-actions { justify-content:flex-start; max-width:none; }
    .featured-grid,.product-grid,.social-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
}
@media (max-width:700px) {
    html { scroll-padding-top:126px; }
    .wrap { width:calc(100% - 32px); }
    .header-main { min-height:68px; gap:8px; }
    .mini-brand { gap:8px; }
    .mini-logo { width:40px; height:40px; }
    .mini-name { max-width:min(34vw,180px); font-size:20px; }
    .header-actions { gap:4px; }
    .header-action { min-width:44px; min-height:44px; padding:0 6px; }
    .header-action.account span,.cart-label { display:none; }
    .category-nav { gap:24px; }
    .category-nav a { min-height:44px; font-size:11px; }
    .hero img { max-height:none; }
    .store-intro { padding:24px 0; }
    .eyebrow { font-size:9px; letter-spacing:.08em; }
    .store-title { font-size:30px; }
    .store-description { margin-top:10px; font-size:13px; }
    .intro-actions { column-gap:24px; }
    .intro-actions .btn-primary { margin-left:auto; gap:12px; padding:10px 14px; }
    .store-intro-fallback { padding:28px 20px; margin-top:16px; }
    .store-facts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); padding:8px 0; }
    .fact { min-width:0; padding:12px; }
    .fact:nth-child(odd) { border-inline-start:0; padding-inline-start:0; }
    .fact-k,.fact-v { font-size:11px; }
    .catalog { padding:36px 0 44px; }
    .section { margin-top:44px; }
    .section-head { padding:0; margin-bottom:20px; }
    .section-copy h2 { font-size:28px; }
    .section-count { position:static; margin-top:6px; }
    .featured-grid,.product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px 12px; }
    .product-body { padding-top:12px; }
    .product-category { font-size:8px; }
    .product-name { font-size:13px; }
    .product-description { display:none; }
    .price-wrap { margin:10px 0 14px; gap:4px 8px; }
    .price-current { font-size:15px; }
    .price-old { font-size:10px; }
    .promo-badge,.featured-badge { top:8px; font-size:9px; padding:3px 5px; }
    .promo-badge { left:6px; }
    .featured-badge { right:6px; }
    .premium-storefront .product-foot { gap:16px; font-size:11px; }
    .social-section { margin-top:44px; padding-top:28px; }
    .social-head h2 { font-size:28px; }
    .social-grid { display:flex; overflow-x:auto; gap:16px; scroll-snap-type:x mandatory; }
    .social-card { flex:0 0 78%; scroll-snap-align:start; }
    .footer { padding:20px 0; }
    .footer .wrap { justify-content:center; text-align:center; gap:4px; }
}
@media (max-width:360px) {
    .intro-actions { gap:8px 20px; }
    .intro-actions .btn-primary { margin-left:0; width:100%; }
    .mini-name { max-width:30vw; font-size:18px; }
    .featured-badge { display:none; }
}
@media (prefers-reduced-motion:reduce) {
    html { scroll-behavior:auto; }
    .product-media img,.premium-storefront .product-foot { transition:none; }
    .product-link:hover .product-media img { transform:none; }
}
