/* Premiva: neutral surfaces, restrained green accents, one column on phones. */
:root{color-scheme:dark;--bg:#101112;--surface:#191b1d;--surface-2:#222528;--ink:#f3f4f2;--ink-soft:#bec1c4;--ink-faint:#969c9f;--line:#303336;--accent:#b6e96c;--accent-ink:#1b2810;--accent-soft:#25301e;--wa:#b6e96c;--wa-btn:#b6e96c;--wa-ink:#1b2810;--danger:#ffaca0;--shadow:0 12px 32px #00000014;--radius:20px}
:root[data-theme="light"]{color-scheme:light;--bg:#f7f8f6;--surface:#fff;--surface-2:#eff1ee;--ink:#1b2021;--ink-soft:#50585b;--ink-faint:#626b6e;--line:#dce0da;--accent:#477a19;--accent-ink:#fff;--accent-soft:#edf4e5;--wa:#477a19;--wa-btn:#477a19;--wa-ink:#fff;--danger:#b5352a;--shadow:0 12px 32px #14201808}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--bg);color:var(--ink);font-family:"Plus Jakarta Sans",system-ui,sans-serif;font-size:15px;line-height:1.65;-webkit-font-smoothing:antialiased;min-height:100vh;display:flex;flex-direction:column}main{flex:1;padding-bottom:72px}h1,h2,h3,.display{font-family:"Bricolage Grotesque","Plus Jakarta Sans",sans-serif;line-height:1.12;margin:0;letter-spacing:-.025em}h1,h2{font-weight:700}p{margin:0 0 16px}a{color:inherit;text-underline-offset:4px}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:wait;opacity:.6}input,select{min-width:0}img{max-width:100%;display:block}:focus-visible{outline:2px solid var(--accent);outline-offset:4px}[hidden]{display:none!important}.wrap{max-width:1200px;margin:0 auto;padding:0 32px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.skip-link{position:fixed;top:-100px;left:20px;z-index:100;background:var(--ink);color:var(--bg);padding:12px 20px;border-radius:10px}.skip-link:focus{top:10px}
/* Shared navigation: compact header, expandable navigation on phones. */
.topbar{position:sticky;top:0;z-index:40;background:var(--bg);border-bottom:1px solid var(--line)}
.topbar-in{display:flex;align-items:center;gap:28px;min-height:76px}
.brand{display:inline-flex;align-items:center;gap:10px;font-family:"Bricolage Grotesque",sans-serif;font-size:25px;line-height:1;font-weight:800;text-decoration:none;letter-spacing:-.035em;flex:none}
.brand-logo{width:30px;height:30px;object-fit:contain}.brand-dot{color:var(--accent);margin-left:-8px}
.header-menu{margin-left:auto}.nav{display:flex;align-items:center;gap:6px}
.nav a{padding:10px 14px;border-radius:10px;color:var(--ink-soft);font-size:13px;font-weight:600;text-decoration:none;white-space:nowrap}
.nav a:hover,.nav a[aria-current="page"]{background:var(--surface-2);color:var(--ink)}
.header-actions{display:flex;align-items:center;gap:10px;flex:none}
.theme-btn{--theme-knob:32px;position:relative;isolation:isolate;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));place-items:center;gap:0;width:72px;height:44px;padding:0;border:1px solid var(--line);border-radius:999px;background:var(--surface-2);color:var(--ink-faint);flex:none}
.theme-btn:before{content:"";position:absolute;z-index:-1;top:50%;left:75%;width:var(--theme-knob);height:var(--theme-knob);border-radius:50%;background:var(--surface);box-shadow:0 1px 4px #0002;transform:translate(-50%,-50%);transition:left .24s cubic-bezier(.22,1,.36,1),background-color .22s}
.theme-btn svg{width:17px;height:17px;flex:none}.theme-btn .ic-moon{color:var(--ink)}
:root[data-theme="light"] .theme-btn:before{left:25%}
:root[data-theme="light"] .theme-btn .ic-sun{color:var(--ink)}:root[data-theme="light"] .theme-btn .ic-moon{color:var(--ink-faint)}
.cart-btn{position:relative;display:flex;align-items:center;justify-content:center;gap:9px;min-height:44px;padding:9px 13px;background:var(--surface);border:1px solid var(--line);border-radius:11px;font-size:13px;font-weight:700;text-decoration:none}
.cart-btn svg{width:19px;height:19px;flex:none}.cart-count{min-width:21px;height:21px;display:inline-grid;place-items:center;border-radius:6px;background:var(--accent);color:var(--accent-ink);padding:0 5px;font-size:11px;line-height:1}
.cart-btn[aria-current="page"]{border-color:var(--ink-faint)}
.menu-toggle,.menu-contact{display:none}.menu-close-icon{display:none}
/* Main introduction */
section{padding:42px 0}.eyebrow{font-size:11px;font-weight:700;letter-spacing:.14em;color:var(--ink-faint);margin:0 0 16px}.hero{display:grid;grid-template-columns:1.3fr .8fr;gap:80px;align-items:center;padding:40px 0 0}.hero h1{text-wrap:balance;font-size:clamp(42px,4.8vw,66px);letter-spacing:-.045em;line-height:1.04}.accent-text{color:var(--accent)}.hero-copy>p{text-wrap:pretty;color:var(--ink-soft);max-width:49ch;margin:18px 0 22px;font-size:15px}.hero-cta{display:flex;gap:24px;align-items:center;flex-wrap:wrap}.btn{background:var(--ink);color:var(--bg);display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:12px 20px;min-height:46px;border:1px solid transparent;border-radius:11px;font-size:13px;font-weight:700;text-decoration:none;line-height:1.5;transition:background .15s,border-color .15s}.btn-dark{background:var(--ink);color:var(--bg)}.btn-dark:hover{opacity:.88}.btn-ghost{background:transparent;border-color:var(--line);color:var(--ink)}.btn-ghost:hover{background:var(--surface-2)}.btn-wa{background:var(--wa-btn);color:var(--wa-ink)}.text-link{font-size:13px;font-weight:700;text-decoration:none;display:inline-flex;gap:12px;align-items:center}.text-link:hover{text-decoration:underline}.hero-showcase{border:1px solid var(--line);border-radius:22px;background:var(--surface);padding:24px;box-shadow:var(--shadow)}.showcase-top{display:flex;gap:10px;justify-content:space-between;align-items:center;font-size:13px;font-weight:600;margin-bottom:20px}.subtle-badge{font-size:10px;color:var(--ink-faint);font-weight:500}.hero-picks{display:grid;gap:12px}.hero-pick{display:flex;gap:14px;align-items:center;background:var(--bg);border:1px solid var(--line);border-radius:13px;padding:13px;text-decoration:none}.hero-pick:hover{border-color:var(--ink-faint)}.hero-pick .tile{width:42px;height:42px;border-radius:10px;padding:8px}.hero-pick strong{display:block;font-size:13px}.hero-pick small{color:var(--ink-faint);font-size:11px}.pick-price{margin-left:auto;color:var(--ink);font-size:13px;font-weight:700;white-space:nowrap}.showcase-bottom{display:flex;align-items:center;justify-content:space-between;text-decoration:none;font-size:12px;color:var(--ink-soft);padding-top:20px}.pick-placeholder{color:var(--ink-faint);padding:30px 0}
/* Catalog */
.sec-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:26px}.sec-head h2{font-size:clamp(26px,3vw,34px)}.sec-head p:not(.eyebrow){color:var(--ink-faint);max-width:65ch;font-size:13px;margin:10px 0 0}.catalog-section{padding-top:46px}.catalog-toolbar{display:flex;gap:18px;justify-content:space-between;margin-bottom:18px}.search-field{position:relative;max-width:440px;flex:1}.search-field svg{position:absolute;left:15px;top:15px;width:18px;height:18px;color:var(--ink-faint)}.search-field input{width:100%;padding:12px 14px 12px 44px;border:1px solid var(--line);background:var(--surface);border-radius:11px;color:var(--ink);height:48px;font-size:13px}.search-field input::placeholder{color:var(--ink-faint)}.sort-field{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--ink-faint)}select{border:1px solid var(--line);padding:11px 12px;background:var(--surface);color:var(--ink);border-radius:10px;font-size:13px;min-height:44px}.filters{display:flex;gap:8px;flex-wrap:wrap}.chip{border:1px solid var(--line);background:transparent;color:var(--ink-soft);border-radius:8px;padding:9px 15px;min-height:42px;font-size:12px;font-weight:600}.chip:hover{border-color:var(--ink-faint)}.chip[aria-pressed="true"]{background:var(--accent-soft);color:var(--accent);border-color:var(--accent)}.result-count{font-size:12px;color:var(--ink-faint);margin:20px 0 14px}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:24px;display:flex;flex-direction:column;gap:0;min-width:0;transition:border-color .15s}.card:hover{border-color:var(--ink-faint)}.product-card .card-top{justify-content:space-between;align-items:center;margin-bottom:20px}.card-top{display:flex;gap:16px;align-items:center}.card-top>div{min-width:0}.tile{width:52px;height:52px;border-radius:13px;flex:none;background:#fff;display:flex;align-items:center;justify-content:center;padding:8px;border:1px solid #ffffff12}.tile img{display:block;width:100%;height:100%;min-width:0;min-height:0;max-width:100%;max-height:100%;object-fit:contain;object-position:center;flex:none}.badge{display:inline-flex;align-items:center;font-size:10px;font-weight:600;color:var(--ink-soft);border:1px solid var(--line);padding:4px 9px;border-radius:6px;max-width:130px;text-align:center;line-height:1.5}.card h3{font-size:21px;letter-spacing:-.025em;line-height:1.2}.product-title{text-decoration:none}.product-title:hover{text-decoration:underline}.variant{color:var(--ink-faint);font-size:12px;line-height:1.6;margin-top:7px;overflow-wrap:anywhere}.product-card .variant{min-height:38px}.feats{list-style:none;padding:20px 0 22px;margin:0;display:grid;gap:9px;font-size:12px;color:var(--ink-soft)}.feats li{display:flex;gap:9px}.feats li:before{content:"✓";color:var(--accent);flex:none}.price-row{margin-top:auto;border-top:1px solid var(--line);padding-top:18px}.price{font-family:"Bricolage Grotesque",sans-serif;font-size:28px;font-weight:700;letter-spacing:-.03em;line-height:1.3}.price small{display:block;font-family:"Plus Jakarta Sans",sans-serif;font-size:10px;font-weight:500;color:var(--ink-faint);letter-spacing:0;margin-bottom:4px}.price .price-unit{font-family:"Plus Jakarta Sans",sans-serif;font-size:11px;font-weight:400;color:var(--ink-faint);letter-spacing:0}.card-actions{display:grid;grid-template-columns:.85fr 1.15fr;gap:9px;margin-top:18px}.btn-detail,.btn-add{display:inline-flex;align-items:center;justify-content:center;padding:11px 12px;border:1px solid var(--line);border-radius:10px;min-height:44px;font:inherit;font-size:12px;font-weight:600;text-decoration:none;text-align:center}.btn-detail{background:transparent;color:var(--ink)}.btn-detail:hover{background:var(--surface-2)}.btn-add{background:var(--ink);color:var(--bg);border-color:transparent}.btn-add:hover{opacity:.85}.skeleton{min-height:350px;background:var(--surface)}.empty-state{grid-column:1/-1;text-align:center;padding:48px 24px;border:1px dashed var(--line);border-radius:var(--radius);color:var(--ink-soft)}.empty-state h3{font-size:22px;color:var(--ink);margin:0 0 10px}.empty-state p{font-size:13px}.empty-state .btn{margin-top:8px}
/* Content */
.steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.step{padding:24px 0;border-top:1px solid var(--line)}.step .num{font-family:"Bricolage Grotesque",sans-serif;color:var(--accent);font-size:15px;margin-bottom:20px}.step h3{font-size:20px;margin-bottom:12px}.step p{font-size:13px;color:var(--ink-faint);margin:0;max-width:40ch}.terms{border:1px solid var(--line);border-radius:var(--radius);padding:24px;font-size:13px;color:var(--ink-soft)}.terms ul{margin:0;padding-left:20px;display:grid;gap:10px}.warn{color:var(--danger)}details.faq{border-bottom:1px solid var(--line);padding:0 2px}details.faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px 0;font-weight:600;font-size:14px}details.faq summary::-webkit-details-marker{display:none}details.faq summary:after{content:"+";color:var(--ink-faint);font-size:24px;font-weight:400}details.faq[open] summary:after{content:"−"}details.faq p{max-width:85ch;font-size:13px;color:var(--ink-soft);padding-bottom:12px}.reseller{padding:32px;border:1px solid var(--line);background:var(--surface);border-radius:var(--radius);display:flex;justify-content:space-between;align-items:center;gap:24px}.reseller h2{font-size:28px}.reseller p{max-width:55ch;font-size:13px;color:var(--ink-faint);margin:10px 0 0}
/* Footer */
footer{border-top:1px solid var(--line);padding:42px 0 20px;font-size:12px;color:var(--ink-faint)}.footer-top{display:flex;justify-content:space-between;gap:40px}.footer-top .brand{font-size:25px;color:var(--ink)}.footer-top p{margin:14px 0 0}.footer-top b{font-size:13px;color:var(--ink)}.footer-links{display:grid;gap:9px;align-content:start}.footer-links a{text-decoration:none}.footer-links a:hover{color:var(--ink)}.footer-top .text-link{margin-top:14px;color:var(--ink)}.footer-bottom{display:flex;gap:20px;justify-content:space-between;padding-top:30px;margin-top:32px;border-top:1px solid var(--line);font-size:11px}
/* Interior pages */
.page-head{padding:48px 0 0}.page-head h1{font-size:42px}.page-head p{font-size:14px;color:var(--ink-faint);max-width:66ch;margin:14px 0 0}.page-head+section{padding-top:28px}.detail-box,.auth-box,.order-box{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:28px;min-width:0}.detail-box{max-width:850px;margin:0 auto}.detail-box h1{font-size:32px}.detail-box h2{font-size:26px}.detail-box .badge{margin-left:auto;flex:none}.detail-box h3{font-size:18px;margin:28px 0 14px}.detail-box ul{color:var(--ink-soft);padding-left:20px;margin:0;display:grid;gap:10px;font-size:14px}.detail-box>p{font-size:14px}.detail-price{font-family:"Bricolage Grotesque",sans-serif;font-size:34px;letter-spacing:-.03em;margin:28px 0 14px}.detail-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px;padding-top:24px;border-top:1px solid var(--line)}.share-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px;padding-top:24px;border-top:1px solid var(--line)}.share-row label{width:100%;color:var(--ink-faint);font-size:12px}.share-row input{flex:1;width:0;min-width:0}.name-input,.share-row input,.auth-form input,.admin-form input,.reset-form input{width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:var(--bg);color:var(--ink);font-size:14px;min-height:46px}.auth-box{max-width:680px}.auth-box h3{font-size:24px;margin:0 0 10px}.auth-note,.order-note,.note{font-size:12px;color:var(--ink-faint);margin:0;line-height:1.7}.auth-form,.admin-form,.reset-form{display:grid;gap:10px;margin:22px 0}.auth-form label,.admin-form label,.reset-form label,.field-label{font-size:12px;font-weight:600}.auth-form .btn{margin-top:10px}.auth-link{background:none;border:none;padding:0;color:var(--ink-soft);font-size:12px;font-weight:600;text-decoration:underline;text-underline-offset:4px}.form-error,.error{font-size:13px;color:var(--danger);font-weight:500}.success{font-size:13px;color:var(--wa)}#authGuest>h3:not(:first-child){margin-top:36px;padding-top:30px;border-top:1px solid var(--line)}#orderDetailBox{margin-top:20px;max-width:none}.orders-list{display:grid;gap:12px}.order-row{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px;border:1px solid var(--line);border-radius:12px}.oi-sub{font-size:12px;color:var(--ink-faint);margin-top:4px}.order-box{padding:0;overflow:hidden}.order-empty{text-align:center;padding:48px 24px;color:var(--ink-faint);font-size:13px}.order-empty strong{display:block;color:var(--ink);font-family:"Bricolage Grotesque",sans-serif;font-size:26px;margin:0 0 10px}.order-empty .btn{margin-top:20px}.order-list{list-style:none;margin:0;padding:0}.order-item{display:flex;align-items:center;gap:20px;padding:22px 26px;border-bottom:1px solid var(--line)}.order-item:last-child{border-bottom:0}.oi-name{font-size:14px;font-weight:700}.oi-right{margin-left:auto;display:flex;align-items:center;gap:20px}.qty{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:10px;padding:4px}.qty button{width:34px;height:34px;border:0;background:var(--surface-2);color:var(--ink);border-radius:7px;font-size:17px}.qty output{min-width:28px;font-size:13px;text-align:center;font-weight:700}.oi-price{font-size:14px;font-weight:700;white-space:nowrap}.oi-remove{width:36px;height:36px;background:transparent;border:0;color:var(--ink-faint);font-size:16px;border-radius:7px}.oi-remove:hover{background:var(--surface-2);color:var(--danger)}.order-foot{border-top:1px solid var(--line);background:var(--surface-2);padding:26px;display:grid;gap:12px}.total-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0;font-size:13px}.grand{font-family:"Bricolage Grotesque",sans-serif;font-size:30px}.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,20px);border:1px solid var(--line);background:var(--ink);color:var(--bg);border-radius:12px;padding:13px 20px;font-size:13px;font-weight:600;opacity:0;pointer-events:none;transition:opacity .15s,transform .15s;z-index:70;max-width:calc(100% - 32px);width:max-content;text-align:center;box-shadow:var(--shadow)}.toast.show{opacity:1;transform:translate(-50%,0)}.password-wrap{position:relative}.password-wrap input{padding-right:72px}.password-toggle{position:absolute;right:4px;top:4px;bottom:4px;border:0;border-radius:7px;background:transparent;color:var(--ink-faint);font-size:11px;padding:0 10px}.password-toggle:hover{color:var(--ink)}.status-badge{display:inline-block;font-size:11px;padding:4px 9px;background:var(--surface-2);border-radius:6px;color:var(--ink-soft)}.status-badge[data-status="Selesai"]{background:var(--accent-soft);color:var(--wa)}.status-badge[data-status="Dibatalkan"]{color:var(--danger)}.account-tabs{display:flex;gap:8px;margin-bottom:24px}.account-tabs button{flex:1}.account-links{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0}.checkout-success{padding:32px}.checkout-success h2{font-size:28px;margin-bottom:14px}.checkout-success p{color:var(--ink-soft);font-size:14px}.checkout-success .detail-actions{border:0;padding:0}.inline-note{padding:16px 20px;border:1px solid var(--line);border-radius:12px;font-size:13px;color:var(--ink-soft);margin-bottom:20px}.admin-stats{display:flex;gap:12px;flex-wrap:wrap;margin:20px 0}.admin-stats>div{flex:1;min-width:120px;border:1px solid var(--line);padding:16px;border-radius:12px;font-size:12px;color:var(--ink-faint)}.admin-stats strong{display:block;font-size:25px;color:var(--ink)}.admin-page .wrap{max-width:1120px}.admin-page .admin-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:28px;margin:32px 0 0}.admin-page h1{font-size:38px}.admin-page h2{font-size:24px}.admin-page .order-row{display:grid;justify-content:stretch;align-items:stretch;margin-bottom:12px;background:var(--bg)}.admin-page .order-top{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}.order-meta{font-size:12px;color:var(--ink-faint);overflow-wrap:anywhere}.order-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.order-actions select{flex:1;max-width:240px}.order-items{color:var(--ink-soft);padding-left:20px}.btn-small{padding:10px 16px;min-height:42px}.standalone-main{padding-top:40px}.reset-card{max-width:560px;margin:0 auto}.reset-card h1{font-size:32px}.reset-card>p{font-size:13px;color:var(--ink-soft);margin:18px 0}.admin-tools{display:flex;gap:12px;flex-wrap:wrap;margin:24px 0}.admin-tools input{flex:1;min-width:180px}
@media(min-width:761px) and (max-width:1050px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero{gap:32px;grid-template-columns:1.1fr .9fr}.hero h1{font-size:48px}.hero-showcase{padding:18px}.nav a{padding:8px}.topbar-in{gap:16px}.cart-label{display:none}}
@media(max-width:760px){html{scroll-padding-top:92px}.wrap{padding:0 20px}
.topbar-in{min-height:72px;gap:8px;justify-content:space-between;flex-wrap:wrap;padding:0 16px}.topbar[data-menu-ready] .topbar-in{flex-wrap:nowrap}
.topbar .brand{font-size:23px;gap:8px}.brand-logo{width:27px;height:27px}.brand-dot{margin-left:-6px}
.header-actions{gap:4px;margin-left:auto}.theme-btn{--theme-knob:28px;width:64px;height:44px;padding:0}.theme-btn svg{width:16px;height:16px}
.cart-btn{width:44px;height:44px;min-height:44px;padding:0;background:transparent;border-color:transparent}.cart-label{display:none}.cart-btn svg{width:21px;height:21px}.cart-count{position:absolute;top:0;right:-1px;min-width:18px;height:18px;font-size:10px;border:2px solid var(--bg);border-radius:6px;padding:0 3px}
.header-menu{width:100%;margin:0;padding:0 0 16px;order:3}.nav{display:flex;flex-direction:column;align-items:stretch;gap:6px;margin:0;width:100%}.nav a{font-size:14px;padding:13px 16px;text-align:left;min-height:48px}
.menu-contact{display:flex;align-items:center;justify-content:center;gap:12px;min-height:46px;padding:12px 16px;margin-top:16px;border-radius:11px;background:var(--accent);color:var(--accent-ink);font-size:13px;font-weight:700;text-decoration:none}
.topbar[data-menu-ready] .header-menu{display:none;position:absolute;top:100%;left:0;width:100%;padding:16px 20px 22px;max-height:calc(100dvh - 72px);overflow-y:auto;overscroll-behavior:contain;background:var(--bg);border-bottom:1px solid var(--line);box-shadow:0 16px 24px #0002}
.topbar[data-menu-ready] .menu-toggle{display:grid;place-items:center;width:44px;height:44px;padding:10px;border:0;border-radius:10px;background:transparent;color:var(--ink);flex:none}.menu-toggle svg{width:22px;height:22px}
.topbar[data-menu-open] .header-menu{display:block}.topbar[data-menu-open] .menu-toggle{background:var(--surface-2)}.topbar[data-menu-open] .menu-open-icon{display:none}.topbar[data-menu-open] .menu-close-icon{display:block}
.hero{grid-template-columns:1fr;gap:0;padding:28px 0 0}.hero h1{font-size:clamp(34px,8.9vw,50px)}.hero-copy>p{font-size:14px;margin:16px 0 20px;max-width:45ch}.hero-showcase{display:none}.hero-cta{gap:20px}.hero .btn{padding:13px 18px}.hero .text-link{font-size:12px}section{padding:30px 0}.catalog-section{padding-top:32px}.eyebrow{font-size:10px;margin-bottom:12px}.sec-head{margin-bottom:22px}.sec-head h2{font-size:29px}.sec-head p:not(.eyebrow){font-size:12px}.catalog-toolbar{display:grid;grid-template-columns:minmax(0,1fr);justify-content:stretch;gap:12px}.search-field{max-width:none}.sort-field{justify-content:space-between}.sort-field select{flex:1;max-width:230px}.filters{gap:7px}.chip{padding:9px 12px;font-size:11px}.grid{grid-template-columns:minmax(0,1fr);gap:16px}.card{padding:22px}.product-card .variant{min-height:0}.card h3{font-size:24px}.feats{font-size:13px;padding:20px 0}.card-actions .btn-detail,.card-actions .btn-add{font-size:13px;min-height:46px}.price{font-size:30px}.steps{grid-template-columns:1fr;gap:4px}.step{padding:20px 0}.step .num{margin-bottom:12px}.step p{max-width:none}.terms{padding:20px;font-size:12px}.reseller{display:grid;grid-template-columns:1fr;padding:24px;gap:20px}.reseller .btn{justify-self:start}.footer-top{display:grid;grid-template-columns:1fr;gap:28px}.footer-bottom{display:grid;gap:8px;margin-top:26px;padding-top:22px}.footer-links{gap:12px}.page-head{padding-top:32px}.page-head h1{font-size:34px}.page-head p{font-size:13px}.detail-box,.auth-box{padding:22px}.detail-box h1{font-size:26px}.detail-box .card-top{flex-wrap:wrap;gap:14px}.detail-box .card-top>div:not(.tile){flex:1;min-width:150px}.detail-box .badge{margin-left:0}.detail-box .detail-actions{display:grid;grid-template-columns:1fr}.share-row .btn{width:100%}.share-row input{flex-basis:100%;width:100%}.detail-box .tile{width:48px;height:48px}.detail-price{font-size:32px;margin-top:22px}.order-item{flex-wrap:wrap;padding:20px}.oi-right{margin:0;width:100%;justify-content:space-between;gap:12px}.order-foot{padding:20px}.order-row{padding:16px;flex-wrap:wrap}.order-row>div{min-width:0;overflow-wrap:anywhere}.order-row strong{font-size:13px}.order-empty{padding:32px 22px}.grand{font-size:28px}.checkout-success{padding:24px}.admin-page .admin-card{padding:20px}.admin-page h1{font-size:30px}.admin-stats{display:grid;grid-template-columns:1fr}.admin-stats>div{min-width:0}.standalone-main{padding-top:28px}main{padding-bottom:44px}.toast{bottom:max(18px,env(safe-area-inset-bottom))}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}

#intro{margin:14px 0 24px;color:var(--ink-soft);font-size:14px}.admin-page #loginBox{max-width:480px}.admin-page #adminText{font-size:13px;color:var(--ink-faint)}

@media(min-width:1000px){.order-box:has(>.order-foot){display:grid;grid-template-columns:minmax(0,1.25fr) minmax(340px,.9fr);align-items:start}.order-box>.order-foot{border-top:0;border-left:1px solid var(--line)}.order-box>.order-list .order-item{flex-wrap:wrap}.order-box>.order-list .oi-right{width:100%;justify-content:space-between;margin:0}}

/* The catalog follows the hero directly, without a separate promotional strip. */
.hero+.catalog-section{padding-top:28px}


/* Mobile catalog is a list of compact, single-column product cards. */
@media(max-width:760px){
.hero{padding-top:32px}.hero h1{font-size:clamp(32px,8.5vw,42px);line-height:1.1}.hero-copy>p{line-height:1.75}
.hero+.catalog-section{padding-top:32px}.sec-head{margin-bottom:18px}.sec-head h2{font-size:26px}
.filters{flex-wrap:nowrap;overflow-x:auto;max-width:100%;gap:6px;padding-bottom:6px;scrollbar-width:thin;scrollbar-color:var(--line) transparent}.chip{flex:none;white-space:nowrap;min-height:44px;padding:10px 14px;font-size:12px}
.search-field input{font-size:16px}.sort-field select{font-size:14px}.result-count{margin-top:12px}
.product-card{display:grid;grid-template-columns:48px minmax(0,1fr);column-gap:14px;align-content:start;padding:20px;border-radius:16px}
.product-card .card-top{display:contents}.product-card .tile{grid-column:1;grid-row:1/3;width:48px;height:48px;border-radius:12px}
.product-card h3{grid-column:2;grid-row:1;font-size:21px;line-height:1.25}.product-card .variant{grid-column:2;grid-row:2;font-size:12px;margin-top:6px;min-height:0}
.product-card .badge{grid-column:2;grid-row:3;justify-self:start;margin-top:10px;max-width:none;font-size:10px}
.product-card .feats{display:none}.product-card .price-row{grid-column:1/-1;margin-top:18px;padding-top:16px}.product-card .price{font-size:28px}.product-card .price small{display:none}.product-card .card-actions{margin-top:14px}
.name-input,.share-row input,.auth-form input,.admin-form input,.reset-form input{font-size:16px}
}
@media(max-width:359px){.topbar-in{padding-left:12px;padding-right:12px;gap:8px}.topbar .brand{font-size:21px;gap:6px}.topbar .brand-logo{width:25px;height:25px}.header-actions{gap:2px}.theme-btn{--theme-knob:26px;width:60px;padding:0}.product-card{padding:18px;column-gap:12px}}

/* Motion keeps controls responsive and never delays navigation or API calls. */
@view-transition{navigation:auto}
.topbar{view-transition-name:premiva-header}
@keyframes page-out{to{opacity:0}}
@keyframes page-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:no-preference){
  ::view-transition-old(root){animation:page-out .16s ease both}
  ::view-transition-new(root){animation:page-in .28s cubic-bezier(.22,1,.36,1) both}
  ::view-transition-old(premiva-header),::view-transition-new(premiva-header){animation:none;mix-blend-mode:normal}
  body,.topbar,.header-menu,.card,.hero-showcase,.hero-pick,.tile,.detail-box,.auth-box,.order-box,.order-foot,.terms,.reseller,.admin-card,input,select,.qty,.status-badge{transition:background-color .22s ease,color .22s ease,border-color .22s ease}
  .btn,.btn-detail,.btn-add,.chip,.nav a,.cart-btn,.menu-toggle,.theme-btn{transition:background-color .2s ease,color .2s ease,border-color .2s ease,box-shadow .2s ease,transform .2s ease}
  .product-card,.hero-pick{transition:transform .24s cubic-bezier(.22,1,.36,1),box-shadow .24s ease,border-color .2s ease,background-color .22s ease}
  .btn:active,.btn-detail:active,.btn-add:active,.chip:active,.cart-btn:active{transform:scale(.97)}
  .menu-toggle svg{grid-area:1/1;transition:opacity .18s ease,transform .24s ease}
  .topbar .menu-toggle .menu-open-icon{display:block;opacity:1;transform:rotate(0)}
  .topbar .menu-toggle .menu-close-icon{display:block;opacity:0;transform:rotate(-45deg)}
  .topbar[data-menu-open] .menu-toggle .menu-open-icon{display:block;opacity:0;transform:rotate(45deg)}
  .topbar[data-menu-open] .menu-toggle .menu-close-icon{display:block;opacity:1;transform:rotate(0)}
  .skeleton{position:relative;overflow:hidden}
  .skeleton:after{content:"";position:absolute;inset:0;transform:translateX(-100%);background:linear-gradient(100deg,transparent 20%,#ffffff08 50%,transparent 80%);animation:skeleton-sweep 1.4s ease-in-out infinite}
}
@keyframes skeleton-sweep{to{transform:translateX(100%)}}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
  .product-card:hover{transform:translateY(-4px);box-shadow:0 12px 26px #00000018}
  .hero-pick:hover{transform:translateX(3px)}
  .btn:hover,.btn-detail:hover,.btn-add:hover{transform:translateY(-2px)}
}
@media(prefers-reduced-motion:reduce){
  ::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}
}
