:root{
  --bg:#fbf8f5; --paper:#fff; --ink:#262321; --muted:#817a74; --line:#e8e0da;
  --accent:#9c6f5e; --accent2:#6e493d; --soft:#f1e7e0; --danger:#d94b3d;
  --shadow:0 18px 50px rgba(50,35,25,.08); --radius:18px;
}
*{box-sizing:border-box} html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
a{text-decoration:none;color:inherit} button,input,textarea,select{font:inherit}
.container{width:min(1180px,calc(100% - 32px));margin:auto}
.site-header{position:sticky;top:0;z-index:50;background:rgba(251,248,245,.9);backdrop-filter:blur(14px);border-bottom:1px solid rgba(232,224,218,.7)}
.nav{height:76px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.logo{font-family:Georgia,serif;letter-spacing:.22em;font-size:25px}
.navlinks{display:flex;gap:28px;color:#5d5651;font-size:14px}
.navlinks a{position:relative}.navlinks a:after{content:"";position:absolute;left:0;bottom:-8px;width:0;height:1px;background:var(--ink);transition:.3s}.navlinks a:hover:after{width:100%}
.nav-actions{display:flex;align-items:center;gap:10px}.icon-btn{border:0;background:none;cursor:pointer;font-size:20px;padding:8px}.cart-badge{font-size:11px;background:var(--ink);color:white;border-radius:99px;padding:2px 6px;vertical-align:top}
.mobile-menu{display:none}
.hero{min-height:600px;display:grid;place-items:center;text-align:center;padding:80px 20px;background:
 radial-gradient(circle at 20% 20%,#ead7cd 0,transparent 32%),
 radial-gradient(circle at 80% 60%,#e7ded6 0,transparent 30%),
 linear-gradient(120deg,#f6eee9,#eee5df)}
.hero-inner{max-width:720px;animation:fadeUp .8s ease both}.eyebrow{text-transform:uppercase;letter-spacing:.28em;font-size:11px;color:var(--accent)}
.hero h1{font:clamp(48px,8vw,92px)/.95 Georgia,serif;font-weight:400;margin:18px 0}.hero p{color:var(--muted);max-width:560px;margin:0 auto 30px;line-height:1.8}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:13px 20px;border-radius:999px;border:1px solid var(--ink);cursor:pointer;transition:.25s}.btn-dark{background:var(--ink);color:white}.btn-dark:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.btn-light{background:white;border-color:var(--line);color:#111}
.section{padding:78px 0}.section-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:28px}.section h2{font:40px Georgia,serif;font-weight:400;margin:0}.muted{color:var(--muted)}
.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.product-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;transition:.3s;animation:fadeUp .55s ease both}.product-card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}
.product-image{aspect-ratio:4/5;background:#eee;overflow:hidden;position:relative}.product-image img{width:100%;height:100%;object-fit:cover;transition:.6s}.product-card:hover .product-image img{transform:scale(1.04)}
.product-body{padding:16px}.product-category{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}.product-name{font-size:15px;margin:7px 0 10px;line-height:1.4}.price{font-weight:700}.old-price{text-decoration:line-through;color:#aaa;font-weight:400;margin-left:7px;font-size:13px}
.categories{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.cat-card{padding:30px;background:var(--soft);border-radius:20px;min-height:150px;display:flex;flex-direction:column;justify-content:end;transition:.3s}.cat-card:hover{transform:translateY(-4px);background:#eadcd4}.cat-card strong{font:26px Georgia,serif}
.banner{padding:70px 30px;border-radius:28px;background:#2e2825;color:#fff;text-align:center}.banner h2{font:44px Georgia,serif;margin:0 0 12px}.banner p{color:#d9d0cb;margin-bottom:24px}
.shop-top{padding:50px 0 25px}.filters{display:flex;gap:10px;flex-wrap:wrap;margin:22px 0}.chip{padding:9px 15px;border:1px solid var(--line);border-radius:999px;background:#fff;color:#625b55;font-size:13px}.chip.active{background:var(--ink);color:#fff;border-color:var(--ink)}
.search{display:flex;gap:8px}.search input{width:min(360px,100%);border:1px solid var(--line);background:#fff;padding:12px 15px;border-radius:999px;outline:none}
.product-layout{display:grid;grid-template-columns:1.05fr .95fr;gap:60px;padding:55px 0 80px}.product-main-image{border-radius:24px;overflow:hidden;background:#eee}.product-main-image img{width:100%;display:block;aspect-ratio:4/5;object-fit:cover}.product-info h1{font:48px Georgia,serif;font-weight:400;margin:12px 0}.product-info .big-price{font-size:23px;font-weight:700}.desc{color:var(--muted);line-height:1.8;margin:25px 0}.meta{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:25px 0}.meta div{padding:14px;background:#fff;border:1px solid var(--line);border-radius:12px}.swatches{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 24px}.swatch{border:1px solid var(--line);background:#fff;border-radius:999px;padding:8px 13px;cursor:pointer}.swatch.selected{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}
.qty{display:flex;align-items:center;border:1px solid var(--line);border-radius:999px;width:max-content;overflow:hidden;background:#fff}.qty button{border:0;background:none;width:38px;height:40px;cursor:pointer}.qty input{width:45px;border:0;text-align:center;outline:0}.product-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
.cart-page{padding:55px 0}.cart-layout{display:grid;grid-template-columns:1fr 360px;gap:24px}.cart-items,.summary,.form-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:22px}.cart-item{display:grid;grid-template-columns:90px 1fr auto;gap:15px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line)}.cart-item img{width:90px;height:110px;object-fit:cover;border-radius:12px}.summary{height:max-content;position:sticky;top:100px}.summary-row{display:flex;justify-content:space-between;margin:12px 0}.summary-total{font-size:20px;font-weight:800;padding-top:12px;border-top:1px solid var(--line)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.field{display:flex;flex-direction:column;gap:7px}.field.full{grid-column:1/-1}.field input,.field textarea,.field select{padding:12px 13px;border:1px solid var(--line);border-radius:12px;outline:none;background:#fff}.field textarea{min-height:110px;resize:vertical}
.footer{padding:45px 0;border-top:1px solid var(--line);color:var(--muted)}.footer-grid{display:flex;justify-content:space-between;gap:30px}.footer .logo{color:var(--ink)}
.reveal{opacity:0;transform:translateY(18px)}.reveal.visible{animation:fadeUp .7s ease forwards}
.empty{padding:60px;text-align:center;color:var(--muted)}
.admin-shell{min-height:100vh;background:#f6f2ee}.admin-nav{background:#292522;color:white;padding:18px 0}.admin-nav .nav{height:auto}.admin-nav a{color:#eee}.admin-main{padding:35px 0}.admin-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.stat{background:#fff;border:1px solid var(--line);padding:24px;border-radius:18px}.stat b{display:block;font-size:32px;margin-top:8px}.admin-table{width:100%;border-collapse:collapse;background:#fff;border-radius:16px;overflow:hidden}.admin-table th,.admin-table td{padding:13px;border-bottom:1px solid var(--line);text-align:left;font-size:13px}.admin-table img{width:55px;height:65px;object-fit:cover;border-radius:8px}.admin-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
@keyframes fadeUp{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:900px){.grid{grid-template-columns:repeat(3,1fr)}.product-layout{grid-template-columns:1fr;gap:30px}.cart-layout{grid-template-columns:1fr}.summary{position:static}.navlinks{display:none}.mobile-menu{display:block}.admin-grid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.container{width:min(100% - 22px,1180px)}.nav{height:64px}.logo{font-size:20px}.hero{min-height:520px}.section{padding:55px 0}.section h2{font-size:32px}.grid{grid-template-columns:repeat(2,1fr);gap:10px}.product-body{padding:11px}.product-name{font-size:13px}.categories{grid-template-columns:1fr 1fr}.banner h2{font-size:34px}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.product-info h1{font-size:38px}.product-layout{padding-top:25px}.footer-grid{flex-direction:column}.admin-grid{grid-template-columns:1fr}.admin-table{display:block;overflow-x:auto;white-space:nowrap}}

/* ================= ADMIN PANEL ================= */
.admin-body{background:#f5f1ed;color:#2b2724}.admin-app{min-height:100vh;display:flex}.admin-sidebar{position:fixed;inset:0 auto 0 0;width:250px;background:#28231f;color:#f8f4f0;padding:28px 18px;display:flex;flex-direction:column;z-index:80}.admin-brand{display:flex;flex-direction:column;padding:4px 14px 28px;border-bottom:1px solid rgba(255,255,255,.1)}.admin-brand span{font:26px Georgia,serif;letter-spacing:.22em}.admin-brand small{font-size:9px;letter-spacing:.2em;color:#bdb1a9;margin-top:7px}.admin-menu{display:grid;gap:7px;margin-top:24px}.admin-menu a,.admin-sidebar-bottom a{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:12px;color:#cfc6c0;font-size:14px;transition:.2s}.admin-menu a span{width:20px;text-align:center}.admin-menu a:hover,.admin-menu a.active{background:#403832;color:#fff}.admin-sidebar-bottom{margin-top:auto;border-top:1px solid rgba(255,255,255,.1);padding-top:15px}.admin-content{margin-left:250px;width:calc(100% - 250px);min-height:100vh}.admin-topbar{height:78px;background:rgba(255,255,255,.88);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 38px;position:sticky;top:0;z-index:60}.admin-kicker{font-size:9px;letter-spacing:.2em;color:var(--accent);font-weight:700}.admin-top-title{font:22px Georgia,serif;margin-top:4px}.admin-view-btn{font-size:13px;padding:10px 15px;border:1px solid var(--line);border-radius:999px;background:#fff}.admin-main{max-width:1250px;padding:34px 38px 70px;margin:auto}.admin-welcome{display:flex;justify-content:space-between;align-items:end;gap:25px;padding:10px 0 30px}.admin-welcome h1,.admin-page-head h1{font:42px/1.05 Georgia,serif;font-weight:400;margin:9px 0 10px}.admin-welcome p,.admin-page-head p{margin:0;color:var(--muted);font-size:14px}.admin-stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.admin-stat-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px;display:flex;gap:16px;align-items:center;box-shadow:0 8px 30px rgba(50,35,25,.04)}.stat-icon{width:46px;height:46px;border-radius:14px;background:var(--soft);display:grid;place-items:center;color:var(--accent2);font-size:20px}.admin-stat-card span{display:block;color:var(--muted);font-size:12px}.admin-stat-card strong{display:block;font:32px Georgia,serif;margin-top:5px}.admin-quick-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:28px}.admin-quick-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px;display:flex;gap:15px;align-items:flex-start;transition:.25s}.admin-quick-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.admin-quick-card>span{font-size:25px;color:var(--accent)}.admin-quick-card strong{display:block;font-size:14px}.admin-quick-card small{display:block;color:var(--muted);line-height:1.6;margin-top:5px}.admin-page-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:25px}.admin-product-list,.admin-order-list{display:grid;gap:12px}.admin-product-row,.admin-order-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:14px;display:grid;gap:16px;align-items:center}.admin-product-row{grid-template-columns:78px 1fr auto}.admin-product-row>img{width:78px;height:96px;object-fit:cover;border-radius:12px;background:#eee}.admin-product-category,.order-id{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}.admin-product-info h3,.admin-order-card h3{margin:5px 0;font-size:16px}.admin-product-meta{display:flex;gap:18px;color:var(--muted);font-size:13px}.admin-product-meta span:first-child{font-weight:700;color:var(--ink)}.admin-actions{display:flex;gap:8px;align-items:center}.btn-danger{border-color:#e4b7b2;color:#b33d31;background:#fff}.admin-form-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:28px}.admin-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.admin-form-section{grid-column:1/-1;border-bottom:1px solid var(--line);padding-bottom:14px;margin-bottom:2px}.admin-form-section h2{font:24px Georgia,serif;margin:0 0 5px}.admin-form-section p{margin:0;color:var(--muted);font-size:13px}.admin-form-submit{padding-top:8px}.field label span{font-weight:400;color:var(--muted)}.field small{color:var(--muted);font-size:11px}.admin-order-card{grid-template-columns:1fr auto;padding:20px}.order-main p{color:var(--muted);font-size:13px;line-height:1.5;margin:5px 0 12px}.order-meta{display:flex;gap:18px;flex-wrap:wrap;color:var(--muted);font-size:11px}.order-side{min-width:170px;text-align:right}.order-side>strong{font-size:17px;display:block;margin-bottom:12px}.order-side label{display:grid;gap:5px;text-align:left;color:var(--muted);font-size:11px}.order-side select{padding:9px 10px;border:1px solid var(--line);border-radius:10px;background:#fff}.admin-empty{background:#fff;border:1px dashed #d8cec7;border-radius:20px;text-align:center;padding:70px 20px}.empty-icon{font-size:40px;color:var(--accent);margin-bottom:10px}.admin-empty h2{font:28px Georgia,serif;font-weight:400;margin:5px 0}.admin-empty p{color:var(--muted);margin:0 auto 20px;max-width:440px}
@media(max-width:900px){.admin-sidebar{width:76px;padding:20px 10px}.admin-brand{padding:5px 7px 20px}.admin-brand span{font-size:16px;letter-spacing:.12em}.admin-brand small{display:none}.admin-menu a{justify-content:center;padding:12px}.admin-menu a{font-size:0}.admin-menu a span{font-size:18px}.admin-sidebar-bottom a{font-size:0;justify-content:center}.admin-content{margin-left:76px;width:calc(100% - 76px)}.admin-stat-grid,.admin-quick-grid{grid-template-columns:1fr}.admin-main{padding:28px 20px 50px}.admin-topbar{padding:0 20px}.admin-welcome{align-items:start;flex-direction:column}.admin-page-head{align-items:start;flex-direction:column}.admin-page-head .btn{width:100%}}

/* Admin product search */
.admin-product-search{display:flex;align-items:stretch;gap:10px;margin:-4px 0 14px;max-width:760px}
.admin-product-search-field{min-width:0;flex:1;display:flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:0 15px;transition:border-color .2s,box-shadow .2s}
.admin-product-search-field:focus-within{border-color:#aa9587;box-shadow:0 0 0 3px rgba(141,113,95,.09)}
.admin-product-search-icon{font-size:20px;color:var(--accent);line-height:1;transform:translateY(-1px)}
.admin-product-search-field input{width:100%;min-width:0;height:46px;border:0;outline:0;background:transparent;color:var(--ink);font:inherit;font-size:14px}
.admin-product-search-field input::placeholder{color:#9d948e}
.admin-product-search-button,.admin-product-search-reset{min-height:46px;display:inline-flex;align-items:center;justify-content:center;padding-inline:22px}
.admin-product-search-summary{margin:0 0 14px;color:var(--muted);font-size:12px}
.admin-product-search-summary strong{color:var(--ink)}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}

@media(max-width:620px){.admin-sidebar{display:none}.admin-content{margin-left:0;width:100%}.admin-topbar{height:68px;padding:0 14px}.admin-view-btn{font-size:11px;padding:8px 10px}.admin-main{padding:22px 12px 40px}.admin-page-head{align-items:flex-start}.admin-product-search{display:grid;grid-template-columns:1fr auto;margin-top:0}.admin-product-search-field{grid-column:1/-1}.admin-product-search-button,.admin-product-search-reset{min-height:42px}.admin-product-search-summary{font-size:11px}.admin-welcome h1,.admin-page-head h1{font-size:32px}.admin-form-grid{grid-template-columns:1fr}.admin-form-section{grid-column:auto}.admin-product-row{grid-template-columns:60px 1fr}.admin-product-row>img{width:60px;height:76px}.admin-product-row .admin-actions{grid-column:1/-1;border-top:1px solid var(--line);padding-top:10px}.admin-order-card{grid-template-columns:1fr}.order-side{text-align:left}.order-side label{max-width:220px}.admin-form-card{padding:18px}.admin-stat-card{padding:17px}}
/* ================================
   WHATSAPP FLOATING BUTTON
================================ */

.whatsapp-float {
  position: fixed;
  right: 24px;
  bottom: 24px;
  width: 58px;
  height: 58px;
  border-radius: 50%;
  background: #25D366;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 9999;
  text-decoration: none;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.18);
  transition: all 0.25s ease;
}

.whatsapp-float:hover {
  transform: translateY(-4px) scale(1.05);
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.22);
}

.whatsapp-float svg {
  width: 31px;
  height: 31px;
  fill: white;
}

@media (max-width: 600px) {
  .whatsapp-float {
    width: 54px;
    height: 54px;
    right: 18px;
    bottom: 18px;
  }

  .whatsapp-float svg {
    width: 29px;
    height: 29px;
  }
}

/* Galeri foto untuk setiap varian warna */
.product-main-image img { transition: opacity .18s ease, transform .18s ease; }
.product-main-image img.is-changing { opacity: .25; transform: scale(.985); }
.swatch { transition: .18s ease; }
.swatch:hover { transform: translateY(-1px); }
.variant-manager { background:#fbf8f5; border:1px solid var(--line); border-radius:16px; padding:18px; }
.variant-manager-head { display:flex; justify-content:space-between; gap:18px; align-items:center; margin-bottom:14px; }
.variant-manager-head label { display:block; font-weight:700; margin-bottom:5px; }
.variant-manager-head small { color:var(--muted); font-size:11px; }
#variant-list { display:grid; gap:12px; }
.variant-admin-row { display:grid; grid-template-columns:1.2fr 100px 1.5fr 42px; gap:12px; align-items:end; background:#fff; border:1px solid var(--line); border-radius:14px; padding:14px; }
.variant-admin-row label { display:block; font-size:11px; color:var(--muted); margin-bottom:6px; }
.variant-admin-row input[type="text"], .variant-admin-row input[type="color"], .variant-admin-row input[type="file"] { width:100%; }
.variant-admin-row input[type="color"] { height:42px; padding:4px; border:1px solid var(--line); border-radius:10px; background:#fff; }
.variant-image-field small { display:block; color:var(--muted); font-size:10px; margin-top:5px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.variant-remove { border:1px solid var(--line); background:#fff; }
@media(max-width:700px){ .variant-manager-head{align-items:flex-start; flex-direction:column}.variant-admin-row{grid-template-columns:1fr 70px 1fr 42px;}.variant-image-field{grid-column:1/-1}.variant-code-field{max-width:100px;} }


/* Admin kategori */
.admin-category-layout{display:grid;grid-template-columns:minmax(280px,380px) 1fr;gap:22px;align-items:start}
.admin-category-form-card{position:sticky;top:104px}
.category-form{display:grid;gap:16px;margin-top:18px}
.admin-category-form-actions{display:flex;gap:9px;flex-wrap:wrap}
.admin-category-list{display:grid;gap:12px}
.admin-category-row{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px;display:grid;grid-template-columns:48px 1fr auto;gap:14px;align-items:center}
.category-icon{width:48px;height:48px;border-radius:14px;background:var(--soft);display:grid;place-items:center;color:var(--accent2);font-size:20px}
.admin-category-info h3{margin:4px 0 6px;font-size:17px}
.admin-category-info p{margin:0 0 8px;color:var(--muted);font-size:12px;line-height:1.5}
.admin-category-info>span{font-size:11px;color:var(--muted)}
.admin-alert{padding:13px 16px;border-radius:12px;margin-bottom:18px;font-size:13px;border:1px solid}
.admin-alert-error{background:#fff3f1;color:#9b352c;border-color:#efc1bc}
.admin-alert-success{background:#f2f8f3;color:#356644;border-color:#c5dec9}
@media(max-width:1050px){.admin-stat-grid,.admin-quick-grid{grid-template-columns:repeat(2,1fr)}.admin-category-layout{grid-template-columns:1fr}.admin-category-form-card{position:static}}
@media(max-width:620px){.admin-stat-grid,.admin-quick-grid{grid-template-columns:1fr}.admin-category-row{grid-template-columns:42px 1fr}.admin-category-row .admin-actions{grid-column:1/-1;border-top:1px solid var(--line);padding-top:10px}.category-icon{width:42px;height:42px}}

/* =====================================================
   LEVARA EDITORIAL STOREFRONT
   ===================================================== */
:root{
  --bg:#f7f5f0;--paper:#fff;--ink:#171713;--muted:#736f67;--line:#dedbd3;
  --accent:#7d5f4e;--accent2:#3d322b;--soft:#ebe7df;--radius:0;
}
body{background:var(--bg);font-family:"Segoe UI",Arial,sans-serif;letter-spacing:.01em}
.announcement{height:31px;background:#171713;color:#f4f0e9;display:flex;align-items:center;justify-content:center;gap:12px;text-align:center;text-transform:uppercase;letter-spacing:.17em;font-size:9px}
.announcement span{color:#ae8c75}
.site-header{background:rgba(247,245,240,.96);border-color:#d8d4cc;backdrop-filter:blur(16px)}
.nav{height:86px;position:relative}.logo{font-family:Georgia,serif;font-size:26px;letter-spacing:.31em;font-weight:400}
.navlinks{position:absolute;left:50%;transform:translateX(-50%);gap:34px;text-transform:uppercase;letter-spacing:.14em;font-size:10px;color:#393731}
.cart-link{text-transform:uppercase;letter-spacing:.13em;font-size:10px;display:flex;align-items:center;gap:7px}
.cart-badge{min-width:19px;height:19px;display:grid;place-items:center;padding:0;background:var(--ink)}
.eyebrow{color:#725c4d;font-size:9px;letter-spacing:.31em;font-weight:600}
.btn{border-radius:0;text-transform:uppercase;letter-spacing:.15em;font-size:9px;padding:15px 23px}.btn-dark{background:#1d1c18}.btn-light{background:transparent;border-color:#9d9990}
.text-link{font-size:10px;text-transform:uppercase;letter-spacing:.16em;border-bottom:1px solid #aaa298;padding-bottom:5px;width:max-content}
.hero-editorial{min-height:720px;display:grid;grid-template-columns:42% 58%;padding:0;background:#e7e2da;text-align:left}
.hero-copy{max-width:540px;margin-left:max(32px,calc((100vw - 1180px)/2));padding:100px 58px 90px 0;align-self:center;animation:fadeUp .8s ease both}
.hero h1{font:clamp(55px,6vw,89px)/.94 Georgia,serif;letter-spacing:-.045em;margin:22px 0 28px}.hero h1 em,.shop-heading h1 em{font-weight:400;color:#796151}
.hero p{margin:0 0 34px;max-width:475px;font-size:14px;line-height:1.9;color:#625e58}
.hero-actions{display:flex;align-items:center;gap:26px;flex-wrap:wrap}
.hero-visual{height:720px;position:relative;overflow:hidden;background:#d2cbc2}.hero-visual>img{width:100%;height:100%;object-fit:cover;object-position:center 24%;filter:saturate(.82) contrast(.96);transition:transform 1.2s ease}.hero-visual:hover>img{transform:scale(1.025)}
.hero-note{position:absolute;right:0;bottom:0;background:rgba(247,245,240,.95);width:225px;padding:24px 28px;display:flex;gap:22px;align-items:flex-start}.hero-note span{font:24px Georgia,serif;color:#8a776a}.hero-note p{font:14px/1.55 Georgia,serif;margin:0;color:#292621}
.brand-strip{min-height:70px;border-top:1px solid #d2cec6;border-bottom:1px solid #d2cec6;display:flex;align-items:center;justify-content:center;gap:42px;text-transform:uppercase;letter-spacing:.19em;font-size:9px;background:#f0ede7}.brand-strip i{width:4px;height:4px;border-radius:50%;background:#8c7768}
.section{padding:105px 0}.section h2{font:48px/1.05 Georgia,serif;letter-spacing:-.025em}.section-head{margin-bottom:44px}.section-intro{color:var(--muted);font-size:13px;line-height:1.7;max-width:420px;margin:14px 0 0}
.grid{gap:22px}.product-card{border:0;background:transparent;overflow:visible;animation:none}.product-card:hover{box-shadow:none;transform:none}.product-image{border:0;aspect-ratio:3/4;background:#e8e4dc}.product-image img{filter:saturate(.88)}.product-card:hover .product-image img{transform:scale(1.025)}
.product-body{padding:17px 0}.product-category{font-size:9px;letter-spacing:.17em}.product-name{font:17px/1.35 Georgia,serif;margin:8px 0 10px}.price{font-size:12px;letter-spacing:.03em}.old-price{font-size:11px}
.category-section{background:#e8e3db}.categories{gap:1px;background:#c9c3b8;border:1px solid #c9c3b8}.cat-card{border-radius:0;background:#eeeae4;min-height:285px;padding:28px;justify-content:space-between;position:relative;overflow:hidden}.cat-card:after{content:"";position:absolute;width:190px;height:190px;border:1px solid rgba(74,62,52,.16);border-radius:50%;right:-70px;bottom:-70px;transition:.5s}.cat-card:hover{background:#dfd5c9;transform:none}.cat-card:hover:after{transform:scale(1.2)}.cat-card span{font-size:8px;letter-spacing:.18em;color:#706960}.cat-card strong{font:30px Georgia,serif;margin-top:auto;position:relative;z-index:1}.cat-card small{font-size:9px;text-transform:uppercase;letter-spacing:.15em;position:relative;z-index:1}.cat-2,.cat-4{background:#ded8cf}
.story{padding:85px 70px;background:#272621;color:#eee9e1;display:grid;grid-template-columns:100px 1fr 1fr;gap:50px;align-items:start}.story-number{font-size:9px;letter-spacing:.18em;color:#a99d91}.story h2{font-size:48px;margin:14px 0}.story p{color:#bbb5ac;line-height:1.9;font-size:13px;margin:0 0 28px;max-width:430px}.story .eyebrow{color:#bca795}.story .btn-light{color:white;border-color:#69665f}
.shop-top{padding:76px 0 30px}.shop-heading{display:grid;grid-template-columns:1fr auto;align-items:end;gap:30px}.shop-heading h1{font:58px/.98 Georgia,serif;letter-spacing:-.035em;font-weight:400;margin:18px 0 0}.shop-heading .filters{grid-column:1/-1;border-top:1px solid var(--line);padding-top:20px;margin-top:30px}.search input{border-radius:0;background:transparent;border-width:0 0 1px;padding-left:0}.chip{border-radius:0;background:transparent;border:0;padding:8px 13px;text-transform:uppercase;letter-spacing:.12em;font-size:9px}.chip.active{background:var(--ink)}
.product-layout{gap:80px;padding:70px 0 100px}.product-main-image{border-radius:0}.product-info{padding-top:35px}.product-info h1{font-size:53px;letter-spacing:-.025em}.product-info .big-price{font-size:17px}.desc{font-size:13px}.meta div,.swatch,.qty,.cart-items,.summary,.form-card{border-radius:0}.swatch{font-size:11px}.footer{background:#1f1e1a;color:#aaa59d;border:0;padding:70px 0}.footer-grid{display:grid;grid-template-columns:2fr repeat(3,1fr)}.footer .logo{color:#f2eee7}.footer b{color:#eee9e1;text-transform:uppercase;letter-spacing:.17em;font-size:9px}.footer p{font-size:11px;line-height:2}.footer-brand p{font:16px Georgia,serif;color:#c6beb3}
.variant-admin-row{grid-template-columns:1.1fr 1.7fr 42px}.variant-code-field{display:none}
.logo-with-mark{display:flex;align-items:center;gap:10px;letter-spacing:.16em}.logo-with-mark img{width:42px;height:42px;border-radius:50%;object-fit:cover}.logo-with-mark span{white-space:nowrap}
.nav-actions form{margin:0;display:flex;align-items:center}.account-action{border:0;background:none;padding:0;cursor:pointer;text-transform:uppercase;letter-spacing:.13em;font-size:9px;color:inherit;display:inline-flex;align-items:center;justify-content:center;line-height:1}.account-name{font:12px Georgia,serif;color:#68594f;display:inline-flex;align-items:center;line-height:1}.nav-actions{gap:15px;align-items:center}.cart-link{line-height:1}.cart-badge{flex:0 0 auto;line-height:1}
.account-page{min-height:720px;display:grid;grid-template-columns:1fr 1fr;background:#f1eee8}.account-panel{padding:70px max(32px,8vw);display:flex;flex-direction:column;justify-content:center}.account-logo{display:block;width:92px;height:92px;margin-bottom:38px}.account-logo img{width:100%;height:100%;border-radius:50%;object-fit:cover}.account-panel h1{font:48px/1 Georgia,serif;letter-spacing:-.035em;font-weight:400;margin:18px 0}.account-intro{color:var(--muted);font-size:13px;line-height:1.7;max-width:410px;margin:0 0 25px}.account-form{display:grid;gap:17px;max-width:440px}.account-form label{display:grid;gap:8px;text-transform:uppercase;letter-spacing:.13em;font-size:9px}.account-form input{border:1px solid #cbc6bd;background:transparent;padding:14px 0;border-width:0 0 1px;outline:none;font-size:13px;letter-spacing:0}.account-form .btn{margin-top:8px}.account-alert{max-width:440px;padding:12px 14px;background:#f3ded9;color:#8d3e31;font-size:12px;margin-bottom:18px;border:1px solid #dfbbb2}.account-switch{font-size:11px;color:var(--muted);margin-top:22px}.account-switch a{color:var(--ink);border-bottom:1px solid}.account-visual{background:linear-gradient(140deg,rgba(31,29,25,.78),rgba(66,51,41,.55)),url('/uploads/1787261030749-landing-page.webp') center/cover;display:flex;align-items:flex-end;padding:70px;color:white}.account-visual span{font-size:9px;letter-spacing:.25em}.account-visual h2{font:50px/1.02 Georgia,serif;font-weight:400;margin:18px 0}.account-visual p{font-size:12px;color:#ded7ce}
@media(max-width:900px){.navlinks{position:static;transform:none}.hero-editorial{grid-template-columns:1fr 1fr}.hero-copy{margin-left:25px;padding-right:35px}.hero-visual{height:650px}.story{grid-template-columns:60px 1fr}.story>div:last-child{grid-column:2}.footer-grid{grid-template-columns:2fr 1fr 1fr}.footer-grid>div:last-child{grid-column:2}.categories{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.announcement{font-size:7px;letter-spacing:.1em;height:28px}.announcement span,.announcement span+*{display:none}.nav{height:67px}.logo{font-size:14px}.logo-with-mark img{width:35px;height:35px}.account-name{display:none}.nav-actions{gap:8px}.hero-editorial{display:flex;flex-direction:column-reverse;min-height:auto}.hero-visual{height:62vh;min-height:430px}.hero-note{width:175px;padding:17px}.hero-copy{margin:0;padding:50px 22px 60px}.hero h1{font-size:52px}.hero p{font-size:13px}.brand-strip{justify-content:flex-start;overflow:hidden;padding:0 22px;gap:20px;white-space:nowrap}.brand-strip span:nth-of-type(3),.brand-strip i:nth-of-type(2){display:none}.section{padding:70px 0}.section h2{font-size:38px}.section-head{align-items:flex-start;flex-direction:column;margin-bottom:28px}.grid{gap:11px}.product-name{font-size:14px}.categories{grid-template-columns:1fr 1fr}.cat-card{min-height:210px;padding:19px}.cat-card strong{font-size:23px}.story{padding:50px 26px;grid-template-columns:1fr;gap:22px}.story>div:last-child{grid-column:auto}.story h2{font-size:39px}.shop-heading{grid-template-columns:1fr}.shop-heading h1{font-size:45px}.shop-heading .filters{grid-column:auto}.shop-heading .search{width:100%}.shop-heading .search input{flex:1}.product-layout{gap:25px}.footer-grid{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}.footer-grid>div:last-child{grid-column:auto}.variant-admin-row{grid-template-columns:1fr 42px}.variant-image-field{grid-column:1/-1}.account-page{grid-template-columns:1fr}.account-panel{padding:50px 24px 65px}.account-panel h1{font-size:39px}.account-visual{display:none}}

/* White neutral storefront + manageable landing/category photography */
:root{--bg:#fff;--paper:#fff;--soft:#f7f7f5;--line:#e5e5e1}
body,.site-header,.hero-editorial,.brand-strip,.category-section,.shop-top{background:#fff}
.site-header{border-color:#ecebe7}.hero-visual{background:#f4f4f2}.hero-copy{background:#fff}
.brand-strip{border-color:#e8e7e3}.category-section{border-top:1px solid #eee}
.categories{background:#fff;border:0;gap:14px}
.cat-card{min-height:330px;background-color:#eee;background-size:cover;background-position:center;justify-content:flex-end;color:#fff;padding:26px;gap:8px}
.cat-card:after{display:none}.cat-card:hover{transform:translateY(-3px);background-color:#eee;background-size:cover;background-position:center;filter:brightness(.96)}
.cat-card span,.cat-card small{color:#fff;text-shadow:0 1px 8px rgba(0,0,0,.4)}.cat-card strong{color:#fff;text-shadow:0 2px 12px rgba(0,0,0,.45);margin-top:auto}
.landing-manager-card{margin-bottom:24px}.landing-manager-grid{display:grid;grid-template-columns:220px 1fr;gap:24px;align-items:center;margin-top:18px}.landing-manager-grid>img{width:220px;height:150px;object-fit:cover;background:#eee}.landing-manager-grid .category-form{margin-top:0}.category-form-preview{width:100%;max-width:190px;height:120px;object-fit:cover;margin-top:8px;border:1px solid var(--line)}
.category-thumb{width:54px;height:68px;border-radius:10px;object-fit:cover;background:#eee}.admin-category-row{grid-template-columns:54px 1fr auto}
@media(max-width:700px){.landing-manager-grid{grid-template-columns:1fr}.landing-manager-grid>img{width:100%;height:210px}.cat-card{min-height:240px}.admin-category-row{grid-template-columns:54px 1fr}.admin-category-row .admin-actions{grid-column:1/-1}}

/* Authentication, multi-photo variants, and floating social shortcuts */
.account-alert-success{background:#edf7ef;color:#315f3c;border-color:#bcd9c3}
.account-alert-warning{background:#fff8e7;color:#765b18;border-color:#e9d79e}
.account-forgot{justify-self:end;font-size:11px;color:var(--muted);border-bottom:1px solid #aaa}
.account-page-single{display:block;min-height:680px;background:#fff}
.account-message-panel{min-height:680px;max-width:680px;margin:auto;align-items:flex-start}
.compact-form{width:100%}.dev-link{font-size:12px;line-height:1.6;background:#f4f3f0;padding:12px;overflow-wrap:anywhere}
.dev-link a{text-decoration:underline}

.admin-login-body{margin:0;background:#f5f1ed;color:#2b2724}
.admin-login-page{min-height:100vh;display:grid;place-items:center;padding:28px;background:linear-gradient(135deg,#f7f5f1,#e5ddd5)}
.admin-login-card{width:min(470px,100%);background:#fff;border:1px solid var(--line);padding:44px;box-shadow:0 22px 70px rgba(40,31,25,.12)}
.admin-login-card h1{font:43px/1 Georgia,serif;font-weight:400;margin:18px 0}
.admin-login-card>p{color:var(--muted);font-size:13px;line-height:1.7;margin-bottom:24px}
.admin-login-back{display:inline-block;margin-top:24px;color:var(--muted);font-size:11px}
.admin-sidebar-bottom{display:grid;gap:8px}.admin-sidebar-bottom form{margin:0}
.admin-sidebar-bottom button{width:100%;border:0;background:transparent;color:#cfc5bd;text-align:left;padding:12px 14px;cursor:pointer}
.admin-top-actions{display:flex;align-items:center;gap:10px}.admin-top-actions>span{font-size:11px;color:var(--muted)}
.admin-top-actions form{margin:0}.admin-logout-btn{background:#fff;cursor:pointer}

.product-gallery{min-width:0}.product-thumbnails{display:grid;grid-template-columns:repeat(3,minmax(0,110px));gap:10px;margin-top:12px}
.product-thumbnail{aspect-ratio:4/5;padding:0;border:1px solid var(--line);background:#eee;cursor:pointer;overflow:hidden;opacity:.72}
.product-thumbnail.selected{opacity:1;border-color:#171713;box-shadow:inset 0 0 0 1px #171713}
.product-thumbnail img{width:100%;height:100%;object-fit:cover;display:block}
.variant-current-images{display:flex;gap:7px;margin-top:8px;flex-wrap:wrap}
.variant-current-images img{width:54px;height:68px;object-fit:cover;border:1px solid var(--line);background:#eee}

.social-float-stack{position:fixed;right:24px;bottom:24px;z-index:9999;display:grid;gap:10px}
.social-float-stack .social-float{position:static;width:54px;height:54px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:0 8px 25px rgba(0,0,0,.18);transition:transform .25s ease,box-shadow .25s ease}
.social-float-stack .social-float:hover{transform:translateY(-3px) scale(1.04);box-shadow:0 12px 30px rgba(0,0,0,.23)}
.social-float-stack .social-float svg{width:27px;height:27px;fill:currentColor}
.instagram-float{background:radial-gradient(circle at 30% 105%,#ffd600 0 18%,#ff7a00 34%,#ff0169 58%,#d300c5 77%,#7638fa 100%)}
.tiktok-float{background:#080808}.social-float-stack .whatsapp-float{background:#25d366}

@media(max-width:620px){
  .admin-login-card{padding:30px 22px}.admin-top-actions>span,.admin-logout-btn{display:none}
  .social-float-stack{right:16px;bottom:16px;gap:8px}.social-float-stack .social-float{width:50px;height:50px}
  .social-float-stack .social-float svg{width:25px;height:25px}.product-thumbnails{grid-template-columns:repeat(3,80px)}
}

/* Admin order details */
.order-card-heading{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.status-badge{display:inline-flex;align-items:center;width:max-content;padding:6px 9px;border-radius:999px;font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;border:1px solid transparent}
.status-pending{background:#fff6df;color:#805c08;border-color:#eed694}
.status-processing{background:#eaf3ff;color:#285e96;border-color:#bdd6ef}
.status-shipped{background:#eeeafb;color:#59458b;border-color:#d2c8ed}
.status-completed{background:#eaf6ed;color:#326844;border-color:#bfddc7}
.status-cancelled{background:#fff0ee;color:#9d3e34;border-color:#ecc2bd}
.status-unknown{background:#f0efed;color:#625d58;border-color:#d7d3ce}
.status-badge-large{padding:9px 13px;font-size:10px}
.order-status-form{display:grid;gap:8px}
.order-status-submit,.order-detail-link{width:100%;margin-top:8px}
.order-detail-head{align-items:center}
.admin-back-link{display:inline-block;margin-bottom:22px;color:var(--muted);font-size:12px;border-bottom:1px solid #bdb6af;padding-bottom:3px}
.order-detail-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(280px,.75fr);gap:18px;align-items:start}
.order-detail-primary,.order-detail-sidebar{display:grid;gap:18px}
.order-detail-sidebar{position:sticky;top:96px}
.order-detail-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:24px}
.order-detail-card-head{display:flex;align-items:end;justify-content:space-between;gap:20px;padding-bottom:18px;border-bottom:1px solid var(--line)}
.order-detail-card-head h2{font:25px Georgia,serif;font-weight:400;margin:7px 0 0}
.order-detail-card-head>span{font-size:11px;color:var(--muted)}
.order-item-list{display:grid}
.order-item-row{display:grid;grid-template-columns:72px 1fr auto;gap:15px;align-items:center;padding:17px 0;border-bottom:1px solid var(--line)}
.order-item-row img{width:72px;height:88px;object-fit:cover;background:#eee}
.order-item-info h3{font-size:14px;margin:0 0 6px}
.order-item-info p,.order-item-info small{display:block;margin:0;color:var(--muted);font-size:11px;line-height:1.6}
.order-item-row>strong{font-size:13px}
.order-detail-total{display:flex;justify-content:space-between;align-items:center;padding-top:22px}
.order-detail-total span{font-size:12px;color:var(--muted)}
.order-detail-total strong{font:24px Georgia,serif}
.order-items-empty,.order-note{color:var(--muted);font-size:13px;line-height:1.8;margin:20px 0 0}
.order-detail-status-form{display:grid;gap:15px;padding-top:18px}
.order-detail-status-form .btn{width:100%}
.order-customer-data{display:grid;gap:0;margin:5px 0 0}
.order-customer-data div{padding:15px 0;border-bottom:1px solid var(--line)}
.order-customer-data div:last-child{border-bottom:0;padding-bottom:0}
.order-customer-data dt{font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}
.order-customer-data dd{margin:0;font-size:13px;line-height:1.65;white-space:pre-line}
.order-customer-data a{color:var(--accent2);border-bottom:1px solid #bca79a}
.order-note{white-space:pre-line}

@media(max-width:900px){.order-detail-layout{grid-template-columns:1fr}.order-detail-sidebar{position:static}}
@media(max-width:620px){.order-detail-head{align-items:flex-start}.order-item-row{grid-template-columns:58px 1fr}.order-item-row img{width:58px;height:72px}.order-item-row>strong{grid-column:2}.order-detail-card{padding:18px}.status-badge-large{margin-top:8px}}


/* Customer order history & order detail */
.customer-orders-page{background:#f7f6f3;min-height:72vh;padding:70px 0 100px}
.customer-orders-shell{max-width:1120px}
.customer-orders-head,.customer-order-detail-head{display:flex;justify-content:space-between;align-items:flex-end;gap:28px;margin-bottom:34px}
.customer-orders-head h1,.customer-order-detail-head h1{font:48px/1 Georgia,serif;font-weight:400;letter-spacing:-.035em;margin:12px 0}
.customer-orders-head p,.customer-order-detail-head p{max-width:620px;color:var(--muted);font-size:13px;line-height:1.75;margin:0}
.customer-order-list{display:grid;gap:14px}
.customer-order-card{background:#fff;border:1px solid var(--line);padding:24px 26px;display:grid;gap:20px}
.customer-order-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding-bottom:18px;border-bottom:1px solid var(--line)}
.customer-order-card-top>div{display:grid;gap:6px}.customer-order-number{font:21px Georgia,serif}.customer-order-card-top small{font-size:10px;color:var(--muted)}
.customer-order-card-body{display:grid;grid-template-columns:2fr 1fr 1fr;gap:18px}.customer-order-card-body div{display:grid;gap:7px}.customer-order-card-body span{font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.customer-order-card-body strong{font-size:14px}
.customer-order-detail-link,.customer-order-back{width:max-content;color:var(--ink);font-size:11px;border-bottom:1px solid #aaa;padding-bottom:3px}
.customer-order-empty{background:#fff;border:1px solid var(--line);padding:64px;text-align:center;display:grid;justify-items:center}.customer-order-empty h2{font:34px/1.1 Georgia,serif;font-weight:400;margin:14px 0}.customer-order-empty p{color:var(--muted);font-size:13px;margin:0 0 25px}
.customer-order-back{display:inline-block;margin-bottom:24px;color:var(--muted)}
.customer-order-detail-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(280px,.75fr);gap:18px;align-items:start}
.customer-order-detail-primary,.customer-order-detail-sidebar{display:grid;gap:18px}.customer-order-detail-sidebar{position:sticky;top:96px}
.customer-order-detail-card{background:#fff;border:1px solid var(--line);padding:24px}
.customer-order-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;padding-bottom:18px;border-bottom:1px solid var(--line)}
.customer-order-section-head h2{font:25px Georgia,serif;font-weight:400;margin:7px 0 0}.customer-order-section-head>span{font-size:11px;color:var(--muted)}
.customer-status-summary{display:grid;gap:16px;padding-top:20px}.customer-status-summary p{margin:0;color:var(--muted);font-size:12px;line-height:1.7}
@media(max-width:900px){.customer-order-detail-layout{grid-template-columns:1fr}.customer-order-detail-sidebar{position:static}}
@media(max-width:620px){.customer-orders-page{padding:45px 0 75px}.customer-orders-head,.customer-order-detail-head{align-items:flex-start;flex-direction:column}.customer-orders-head h1,.customer-order-detail-head h1{font-size:38px}.customer-order-card{padding:19px}.customer-order-card-body{grid-template-columns:1fr 1fr}.customer-order-card-body div:first-child{grid-column:1/-1}.customer-order-empty{padding:42px 22px}.customer-order-detail-card{padding:18px}}

/* =====================================================
   MOBILE VIEWPORT / HORIZONTAL OVERFLOW FIX
   Keeps the storefront flush to both screen edges on phones.
   ===================================================== */
html,
body {
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;
}

body > .announcement,
.site-header,
.hero-editorial,
.brand-strip,
.category-section,
.footer {
  width: 100%;
  max-width: 100%;
}

.hero-editorial,
.hero-visual,
.hero-copy,
.site-header .nav {
  min-width: 0;
}

.hero-visual,
.hero-visual > img {
  max-width: 100%;
}

@media (max-width: 620px) {
  .site-header .container.nav {
    width: calc(100% - 22px);
    max-width: calc(100% - 22px);
    gap: 8px;
  }

  .mobile-menu {
    flex: 0 0 auto;
  }

  .logo-with-mark {
    min-width: 0;
    flex: 1 1 auto;
    gap: 7px;
  }

  .logo-with-mark span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .nav-actions {
    flex: 0 0 auto;
    min-width: 0;
    gap: 7px;
    white-space: nowrap;
  }

  .account-action,
  .cart-link {
    font-size: 8px;
    letter-spacing: .1em;
  }

  .hero-editorial,
  .hero-visual,
  .hero-copy,
  .announcement,
  .brand-strip {
    max-width: 100vw;
  }
}

/* Pagination koleksi: ringan, responsif, dan konsisten dengan tampilan editorial. */
.pagination{display:flex;align-items:center;justify-content:center;gap:18px;flex-wrap:wrap;padding:0 0 72px;border-top:1px solid var(--line);padding-top:24px}.page-link{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 16px;border:1px solid var(--ink);font-size:10px;letter-spacing:.1em;text-transform:uppercase}.page-link:hover{background:var(--ink);color:#fff}.page-status{font-size:12px;color:#746c65}.page-status strong{color:var(--ink)}
@media(max-width:620px){.pagination{gap:10px;padding-bottom:52px}.page-status{width:100%;text-align:center;order:-1}.page-link{flex:1}}


/* Production performance: below-the-fold sections can skip offscreen rendering. */
@supports (content-visibility:auto){
  #new-arrivals,#categories,#about{content-visibility:auto;contain-intrinsic-size:auto 900px}
}


/* Performance pass 2: class-based mobile navigation avoids repeated inline style writes. */
@media(max-width:900px){
  .navlinks.mobile-open{
    display:flex;position:absolute;top:64px;left:0;right:0;padding:18px;
    background:rgba(251,248,245,.98);flex-direction:column;transform:none;
  }
}
.hero-visual{contain:layout paint;}

/* =====================================================
   AUTH LAYOUT HARDENED / LOGIN FIX
   Keeps the authentication screen clean, balanced and viewport-safe.
   ===================================================== */
.account-auth-body{
  min-height:100svh;
  background:#f4f0ea;
}
.account-auth-body .account-page{
  min-height:calc(100svh - 107px);
  grid-template-columns:minmax(0,1fr) minmax(460px,1fr);
  align-items:stretch;
  background:#f4f0ea;
}
.account-auth-body .account-panel{
  min-width:0;
  min-height:calc(100svh - 107px);
  padding:clamp(44px,5.8vw,86px) clamp(34px,8vw,142px);
  justify-content:center;
  background:#f4f0ea;
}
.account-auth-body .account-logo{
  width:76px;
  height:76px;
  margin-bottom:30px;
}
.account-auth-body .account-panel h1{
  font-size:clamp(40px,3.2vw,55px);
  line-height:1.02;
  margin:15px 0 16px;
  max-width:520px;
}
.account-auth-body .account-intro,
.account-auth-body .account-form,
.account-auth-body .account-alert{
  width:min(100%,460px);
  max-width:460px;
}
.account-auth-body .account-form input{
  width:100%;
}
.account-auth-body .account-visual{
  min-width:0;
  min-height:calc(100svh - 107px);
  padding:clamp(38px,5vw,78px);
  background-position:center 18%;
}
.account-auth-body .account-visual h2{
  font-size:clamp(38px,3.3vw,56px);
  max-width:520px;
}
.account-auth-body .social-float-stack{
  display:none;
}
.account-auth-body .footer{
  background:#1b1a17;
}
@media(max-width:1000px){
  .account-auth-body .account-page{
    grid-template-columns:minmax(0,1.1fr) minmax(360px,.9fr);
  }
  .account-auth-body .account-panel{
    padding-left:clamp(28px,6vw,70px);
    padding-right:clamp(28px,6vw,70px);
  }
}
@media(max-width:760px){
  .account-auth-body .account-page{
    display:block;
    min-height:calc(100svh - 95px);
  }
  .account-auth-body .account-panel{
    min-height:calc(100svh - 95px);
    padding:48px 24px 58px;
  }
  .account-auth-body .account-panel h1{
    font-size:40px;
  }
  .account-auth-body .account-logo{
    width:70px;
    height:70px;
    margin-bottom:26px;
  }
  .account-auth-body .account-visual{
    display:none;
  }
}

/* ======================================================
   ADMIN PRODUCT DUPLICATE DETECTION
   ====================================================== */
.product-name-status{min-height:18px;margin-top:2px;font-size:11px;line-height:1.45;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.product-name-status.is-checking{color:#7a726d}
.product-name-status.is-available{color:#356644}
.product-name-status.is-warning{color:#80621c}
.product-name-status.is-duplicate{color:#a5382f;font-weight:600}
.product-name-status a{color:inherit;text-decoration:underline;text-underline-offset:2px;font-weight:700}
.product-name-field input.input-duplicate{border-color:#cf6e64!important;background:#fff8f7!important;box-shadow:0 0 0 3px rgba(207,110,100,.08)}
.admin-form-submit .btn:disabled{opacity:.55;cursor:not-allowed;transform:none}
.admin-alert-link{display:inline-block;margin-left:8px;color:inherit;text-decoration:underline;text-underline-offset:2px;font-weight:700}
@media(max-width:620px){.admin-alert-link{display:block;margin:7px 0 0}}
