/*! Dao Rèn Việt theme — © SkyK, https://skyk.net. All rights reserved. */
/* ============================================================
   DAO RÈN VIỆT — stylesheet dùng chung
   → WP: đổ thẳng vào style.css của theme (hoặc theme.json nếu FSE)
   ============================================================ */

/* ---------- TOKENS ---------- */
:root{
  --ink:#0A0A0B;
  --coal:#101013;
  --steel-900:#16171A;
  --steel-800:#1D1F23;
  --steel-700:#282B31;
  --line:rgba(255,255,255,.09);
  --line-soft:rgba(255,255,255,.05);
  --fog:#9A9DA4;
  --fog-dim:#6E7278;
  --chalk:#F4F3F0;
  --ember:#E2562B;
  --ember-soft:#FF8B52;
  --brass:#C2A05A;
  --green:#4E9C6B;

  --ff-display:"Fraunces",Georgia,serif;
  --ff-body:"Be Vietnam Pro",system-ui,-apple-system,sans-serif;

  --pad:clamp(20px,5vw,72px);
  --maxw:1440px;
  --r-sm:10px;
  --r-md:18px;
  --r-lg:28px;
  --ease:cubic-bezier(.22,1,.36,1);
  --header-h:74px;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;overflow-x:clip;width:100%}
body{
  margin:0;background:var(--ink);color:var(--chalk);
  font-family:var(--ff-body);font-weight:300;font-size:16px;line-height:1.65;
  -webkit-font-smoothing:antialiased;overflow-x:clip;
}
img,svg{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
ul{margin:0;padding:0;list-style:none}
h1,h2,h3,h4{margin:0;font-family:var(--ff-display);font-weight:400;letter-spacing:-.02em;line-height:1.05}
p{margin:0}
::selection{background:var(--ember);color:#fff}
:focus-visible{outline:2px solid var(--ember);outline-offset:3px;border-radius:4px}

body::after{
  content:"";position:fixed;inset:0;z-index:9999;pointer-events:none;
  opacity:.035;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

/* ---------- PRIMITIVES ---------- */
.wrap{max-width:var(--maxw);margin-inline:auto;padding-inline:var(--pad)}
.wrap-narrow{max-width:880px;margin-inline:auto;padding-inline:var(--pad)}
.eyebrow{font-size:11px;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--fog-dim);display:flex;align-items:center;gap:12px}
.eyebrow::before{content:"";width:22px;height:1px;background:var(--ember);flex:none}
.lede{color:var(--fog);font-size:clamp(15px,1.15vw,17.5px);line-height:1.75;max-width:52ch}
.sec{padding-block:clamp(72px,9vw,140px)}
.sec-head{display:flex;justify-content:space-between;align-items:flex-end;gap:36px;flex-wrap:wrap;margin-bottom:clamp(36px,4.5vw,64px)}
.sec-title{font-size:clamp(30px,4.4vw,62px);font-weight:300;letter-spacing:-.03em;margin-top:18px;max-width:16ch}
.sec-title em{font-style:italic;color:var(--ember-soft)}
.sec-aside{max-width:36ch}
.muted{color:var(--fog)}
.dim{color:var(--fog-dim)}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:14px 24px;border-radius:99px;font-size:14px;font-weight:500;border:1px solid transparent;transition:all .35s var(--ease)}
.btn-primary{background:var(--chalk);color:var(--ink)}
.btn-primary:hover{background:var(--ember);color:#fff;transform:translateY(-2px)}
.btn-ember{background:var(--ember);color:#fff}
.btn-ember:hover{background:var(--ember-soft);transform:translateY(-2px)}
.btn-ghost{border-color:var(--line);color:var(--chalk)}
.btn-ghost:hover{border-color:var(--chalk);background:rgba(255,255,255,.04);transform:translateY(-2px)}
.btn svg{flex:none;transition:transform .35s var(--ease)}
.btn:hover svg:last-child{transform:translateX(3px)}

.link-more{display:inline-flex;align-items:center;gap:9px;font-size:13.5px;color:var(--chalk);padding-bottom:5px;border-bottom:1px solid var(--line);transition:border-color .3s var(--ease),gap .3s var(--ease)}
.link-more:hover{border-color:var(--ember);gap:14px}

.chip{display:inline-flex;align-items:center;gap:7px;padding:5px 12px;border:1px solid var(--line);border-radius:99px;font-size:11.5px;letter-spacing:.06em;color:var(--fog)}
.chip-ember{border-color:rgba(226,86,43,.35);color:var(--ember-soft);background:rgba(226,86,43,.08)}
.chip-green{border-color:rgba(78,156,107,.35);color:#7BC694;background:rgba(78,156,107,.08)}

/* ---------- TOPBAR ---------- */
.topbar{background:var(--ember);color:#fff;font-size:12px;letter-spacing:.04em;text-align:center;padding:9px 16px;position:relative;z-index:60}

/* ---------- HEADER → header.php ---------- */
.site-header{position:sticky;top:0;z-index:50;background:rgba(10,10,11,.72);backdrop-filter:blur(20px) saturate(140%);-webkit-backdrop-filter:blur(20px) saturate(140%);border-bottom:1px solid transparent;transition:border-color .4s var(--ease),background .4s var(--ease)}
.site-header.is-stuck{border-bottom-color:var(--line);background:rgba(10,10,11,.92)}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:28px;height:var(--header-h)}
.brand{display:flex;align-items:center;gap:11px;flex:none}
.brand-mark{width:30px;height:30px;flex:none}
.brand-text{display:flex;flex-direction:column;line-height:1}
.brand-name{font-family:var(--ff-display);font-size:18px;letter-spacing:-.01em}
.brand-sub{font-size:8.5px;letter-spacing:.3em;text-transform:uppercase;color:var(--fog-dim);margin-top:4px}

.primary-nav{display:flex;gap:2px}
.primary-nav a{position:relative;padding:9px 13px;border-radius:99px;font-size:14px;color:var(--fog);white-space:nowrap;transition:color .3s var(--ease),background .3s var(--ease)}
.primary-nav a:hover{color:var(--chalk);background:rgba(255,255,255,.05)}
.primary-nav a.current{color:var(--chalk)}

.header-tools{display:flex;align-items:center;gap:4px;flex:none}
.icon-btn{width:38px;height:38px;border-radius:99px;display:grid;place-items:center;color:var(--fog);transition:color .3s var(--ease),background .3s var(--ease)}
.icon-btn:hover{color:var(--chalk);background:rgba(255,255,255,.06)}
.cart-btn{position:relative}
.cart-count{position:absolute;top:4px;right:3px;min-width:16px;height:16px;padding:0 4px;border-radius:99px;background:var(--ember);color:#fff;font-size:10px;font-weight:600;display:grid;place-items:center;line-height:1}

/* ---------- LANGUAGE SWITCHER (dropdown, chịu được nhiều ngôn ngữ) ----------
   → WP: thay bằng Polylang/WPML switcher, giữ nguyên class để không phải sửa CSS
   ------------------------------------------------------------------------- */
.lang-switch{position:relative;margin-left:4px}
.lang-toggle{
  display:flex;align-items:center;gap:7px;height:38px;padding:0 11px;
  border:1px solid var(--line);border-radius:99px;color:var(--fog);
  font-size:12.5px;font-weight:500;letter-spacing:.05em;
  transition:all .3s var(--ease);
}
.lang-toggle:hover{color:var(--chalk);border-color:var(--steel-700)}
.lang-toggle .caret{transition:transform .3s var(--ease)}
.lang-switch.open .lang-toggle{color:var(--chalk);border-color:var(--steel-700);background:rgba(255,255,255,.05)}
.lang-switch.open .caret{transform:rotate(180deg)}

.lang-menu{
  position:absolute;top:calc(100% + 10px);right:0;z-index:70;
  width:238px;max-height:328px;overflow-y:auto;overscroll-behavior:contain;
  padding:7px;border-radius:var(--r-md);
  background:rgba(22,23,26,.96);backdrop-filter:blur(22px);
  border:1px solid var(--line);box-shadow:0 24px 60px rgba(0,0,0,.6);
  opacity:0;visibility:hidden;transform:translateY(-8px) scale(.98);
  transition:all .28s var(--ease);
}
.lang-switch.open .lang-menu{opacity:1;visibility:visible;transform:none}
.lang-menu::-webkit-scrollbar{width:8px}
.lang-menu::-webkit-scrollbar-thumb{background:var(--steel-700);border-radius:99px;border:2px solid transparent;background-clip:content-box}
.lang-menu-head{padding:9px 12px 10px;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--fog-dim);border-bottom:1px solid var(--line-soft);margin-bottom:5px}
.lang-item{
  display:flex;align-items:center;gap:11px;width:100%;
  padding:9px 12px;border-radius:11px;text-align:left;
  color:var(--fog);transition:background .25s var(--ease),color .25s var(--ease);
}
.lang-item:hover{background:rgba(255,255,255,.055);color:var(--chalk)}
.lang-item[aria-current="true"]{color:var(--chalk);background:rgba(226,86,43,.1)}
.lang-code{
  flex:none;width:32px;height:22px;border-radius:5px;display:grid;place-items:center;
  background:var(--steel-800);border:1px solid var(--line);
  font-size:9.5px;font-weight:600;letter-spacing:.08em;color:var(--fog);
}
.lang-item[aria-current="true"] .lang-code{background:var(--ember);border-color:var(--ember);color:#fff}
.lang-label{flex:1;min-width:0;font-size:13.5px;line-height:1.3}
.lang-label small{display:block;font-size:11px;color:var(--fog-dim)}
.lang-check{flex:none;opacity:0;color:var(--ember-soft)}
.lang-item[aria-current="true"] .lang-check{opacity:1}

.burger{display:none}

/* ---------- MOBILE DRAWER ---------- */
.drawer-backdrop{position:fixed;inset:0;z-index:80;background:rgba(0,0,0,.6);backdrop-filter:blur(4px);opacity:0;visibility:hidden;transition:all .35s var(--ease)}
.drawer-backdrop.open{opacity:1;visibility:visible}
.drawer{
  position:fixed;top:0;right:0;bottom:0;z-index:81;width:min(86vw,340px);
  background:var(--coal);border-left:1px solid var(--line);
  padding:22px;transform:translateX(100%);transition:transform .4s var(--ease);
  overflow-y:auto;
}
.drawer.open{transform:none}
.drawer-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px}
.drawer nav a{display:block;padding:15px 0;border-bottom:1px solid var(--line);font-size:17px;font-family:var(--ff-display)}

/* ---------- MARQUEE ---------- */
.marquee{border-block:1px solid var(--line);background:var(--coal);overflow:hidden;padding:20px 0}
.marquee-track{display:flex;gap:56px;width:max-content;animation:slide 38s linear infinite}
.marquee:hover .marquee-track{animation-play-state:paused}
@keyframes slide{to{transform:translateX(-50%)}}
.marquee-item{display:flex;align-items:center;gap:12px;flex:none;font-family:var(--ff-display);font-size:clamp(16px,1.5vw,21px);color:var(--fog-dim)}
.marquee-item::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--ember);flex:none}

/* ---------- PAGE HEAD (trang con) ---------- */
.page-head{position:relative;overflow:hidden;padding-block:clamp(36px,5vw,66px) clamp(30px,4vw,50px);border-bottom:1px solid var(--line)}
.page-head::before{content:"";position:absolute;left:50%;top:-70%;width:100vw;height:150%;transform:translateX(-50%);background:radial-gradient(ellipse 45% 50% at 50% 60%,rgba(226,86,43,.13),transparent 68%);pointer-events:none}
.page-head > *{position:relative}
.breadcrumb{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:12.5px;color:var(--fog-dim)}
.breadcrumb a:hover{color:var(--chalk)}
.breadcrumb span[aria-current]{color:var(--fog)}
.page-title{font-size:clamp(32px,5vw,64px);font-weight:300;letter-spacing:-.03em;margin-top:16px}
.page-title em{font-style:italic;color:var(--ember-soft)}
.page-head .lede{margin-top:16px}

/* ---------- HERO (trang chủ) ---------- */
.hero{position:relative;overflow:hidden;padding-top:clamp(40px,7vw,90px);padding-bottom:clamp(50px,7vw,100px)}
.hero::before{content:"";position:absolute;left:50%;top:-10%;width:130vw;height:90vh;transform:translateX(-50%);background:radial-gradient(ellipse 50% 50% at 50% 50%,rgba(226,86,43,.16),transparent 65%);pointer-events:none;filter:blur(20px)}
.hero-grid{position:relative;display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(30px,5vw,72px);align-items:center}
.hero h1{font-size:clamp(44px,7.4vw,108px);font-weight:300;letter-spacing:-.035em;margin:22px 0 0}
.hero h1 em{font-style:italic;font-weight:400;background:linear-gradient(100deg,var(--ember-soft),var(--brass));-webkit-background-clip:text;background-clip:text;color:transparent}
.hero-copy{margin-top:26px}
.hero-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}
.hero-stats{display:flex;gap:clamp(20px,3vw,44px);margin-top:46px;padding-top:26px;border-top:1px solid var(--line)}
.stat-num{font-family:var(--ff-display);font-size:clamp(26px,2.6vw,36px);line-height:1;letter-spacing:-.03em}
.stat-num span{color:var(--ember)}
.stat-label{font-size:11.5px;color:var(--fog-dim);margin-top:8px}
.hero-visual{position:relative;display:grid;place-items:center;min-height:clamp(300px,42vw,520px)}
.hero-tag{position:absolute;z-index:3;display:flex;align-items:center;gap:9px;padding:9px 14px;border-radius:99px;background:rgba(22,23,26,.8);backdrop-filter:blur(14px);border:1px solid var(--line);font-size:11.5px;color:var(--fog);white-space:nowrap}
.hero-tag b{color:var(--chalk);font-weight:500}
.hero-tag::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--ember);flex:none}
.tag-a{top:11%;right:2%}
.tag-b{bottom:16%;left:-2%}

/* ---------- COLLECTIONS ---------- */
.collections{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.col-card{position:relative;overflow:hidden;border-radius:var(--r-lg);border:1px solid var(--line);background:linear-gradient(170deg,var(--steel-900),var(--coal));padding:30px 28px;min-height:clamp(300px,30vw,400px);display:flex;flex-direction:column;justify-content:space-between;transition:border-color .5s var(--ease),transform .5s var(--ease)}
.col-card:hover{border-color:rgba(226,86,43,.5);transform:translateY(-5px)}
.col-card::after{content:"";position:absolute;inset:0;opacity:0;transition:opacity .5s var(--ease);background:radial-gradient(ellipse 70% 55% at 50% 105%,rgba(226,86,43,.22),transparent 70%)}
.col-card:hover::after{opacity:1}
.col-card > *{position:relative;z-index:2}
.col-idx{font-family:var(--ff-display);font-size:13px;color:var(--fog-dim);letter-spacing:.1em}
.col-knife{width:100%;opacity:.9;transition:transform .6s var(--ease);margin-block:14px}
.col-card:hover .col-knife{transform:translateX(-10px) scale(1.04)}
.col-name{font-size:clamp(21px,2vw,27px)}
.col-desc{font-size:13.5px;color:var(--fog);margin-top:9px}
.col-meta{display:flex;align-items:center;justify-content:space-between;margin-top:20px;padding-top:16px;border-top:1px solid var(--line-soft);font-size:12px;color:var(--fog-dim)}

/* ---------- PRODUCT LOOP → WooCommerce ---------- */
ul.products{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
ul.products.columns-3{grid-template-columns:repeat(3,1fr)}
li.product{position:relative;border:1px solid var(--line);border-radius:var(--r-md);background:var(--steel-900);overflow:hidden;transition:border-color .45s var(--ease),transform .45s var(--ease),background .45s var(--ease)}
li.product:hover{border-color:var(--steel-700);transform:translateY(-5px);background:var(--steel-800)}
.product-media{position:relative;aspect-ratio:4/3;display:grid;place-items:center;overflow:hidden;background:radial-gradient(ellipse 60% 60% at 50% 50%,rgba(255,255,255,.045),transparent 70%);border-bottom:1px solid var(--line-soft)}
.product-media svg{width:88%;transform:rotate(-8deg);transition:transform .6s var(--ease)}
li.product:hover .product-media svg{transform:rotate(-4deg) scale(1.06)}.onsale,
.badge-new{position:absolute;top:12px;left:12px;z-index:3;padding:4px 10px;border-radius:99px;font-size:10px;font-weight:600;letter-spacing:.1em;text-transform:uppercase}
.onsale{background:var(--ember);color:#fff}
.badge-new{background:rgba(244,243,240,.1);color:var(--chalk);border:1px solid var(--line);backdrop-filter:blur(8px)}
.product-body{padding:18px 18px 20px}
.product-cat{font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--fog-dim)}
.woocommerce-loop-product__title{font-family:var(--ff-display);font-size:19px;font-weight:400;margin:8px 0 0;letter-spacing:-.015em}
.product-spec{font-size:12.5px;color:var(--fog-dim);margin-top:6px}
.product-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:16px}
.price{display:flex;align-items:baseline;gap:8px;font-family:var(--ff-display);font-size:19px;letter-spacing:-.02em}
.price del{font-size:13px;color:var(--fog-dim);font-family:var(--ff-body);text-decoration-thickness:1px}
.price ins{text-decoration:none;color:var(--ember-soft)}
.add_to_cart_button{display:grid;place-items:center;width:38px;height:38px;border-radius:99px;flex:none;background:rgba(255,255,255,.055);border:1px solid var(--line);color:var(--chalk);transition:all .35s var(--ease)}
.add_to_cart_button:hover{background:var(--ember);border-color:var(--ember);color:#fff;transform:scale(1.07)}
.stars{display:flex;align-items:center;gap:5px;font-size:11.5px;color:var(--fog-dim);margin-top:10px}
.stars svg{color:var(--brass)}

/* ---------- SHOP LAYOUT ---------- */
.shop-layout{display:grid;grid-template-columns:272px 1fr;gap:clamp(24px,3vw,48px);align-items:start}
.shop-sidebar{position:sticky;top:calc(var(--header-h) + 20px);display:grid;gap:8px}
.filter-group{border:1px solid var(--line);border-radius:var(--r-md);background:var(--steel-900);overflow:hidden}
.filter-head{display:flex;align-items:center;justify-content:space-between;width:100%;padding:16px 18px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--chalk)}
.filter-head svg{color:var(--fog-dim);transition:transform .3s var(--ease)}
.filter-group.collapsed .filter-head svg{transform:rotate(-90deg)}
.filter-body{padding:0 18px 18px;display:grid;gap:11px}
.filter-group.collapsed .filter-body{display:none}
.check{display:flex;align-items:center;gap:11px;font-size:13.5px;color:var(--fog);cursor:pointer;transition:color .25s var(--ease)}
.check:hover{color:var(--chalk)}
.check input{appearance:none;width:17px;height:17px;flex:none;border:1px solid var(--line);border-radius:5px;background:var(--steel-800);position:relative;transition:all .25s var(--ease)}
.check input:checked{background:var(--ember);border-color:var(--ember)}
.check input:checked::after{content:"";position:absolute;left:5px;top:2px;width:4px;height:8px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(43deg)}
.check .count{margin-left:auto;font-size:11.5px;color:var(--fog-dim)}
.swatch{padding:7px 13px;border:1px solid var(--line);border-radius:99px;font-size:12.5px;color:var(--fog);transition:all .28s var(--ease)}
.swatch:hover{color:var(--chalk);border-color:var(--steel-700)}
.swatch[aria-pressed="true"]{background:var(--chalk);border-color:var(--chalk);color:var(--ink)}
.range{display:flex;align-items:center;gap:10px}
.range input{width:100%;accent-color:var(--ember)}
.price-fields{display:flex;align-items:center;gap:8px;margin-top:4px}
.price-fields input{width:100%;padding:9px 12px;border-radius:9px;background:var(--steel-800);border:1px solid var(--line);color:var(--chalk);font-family:var(--ff-body);font-size:13px}

.shop-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-bottom:20px;margin-bottom:22px;border-bottom:1px solid var(--line)}
.result-count{font-size:13.5px;color:var(--fog-dim)}
.toolbar-right{display:flex;align-items:center;gap:10px}
.select{position:relative}
.select select{appearance:none;padding:10px 38px 10px 15px;border-radius:99px;background:var(--steel-900);border:1px solid var(--line);color:var(--chalk);font-family:var(--ff-body);font-size:13.5px;cursor:pointer}
.select svg{position:absolute;right:14px;top:50%;transform:translateY(-50%);pointer-events:none;color:var(--fog-dim)}
.filter-toggle{display:none}

.pagination{display:flex;align-items:center;justify-content:center;gap:7px;margin-top:clamp(36px,5vw,64px)}
.pagination a,.pagination span{min-width:40px;height:40px;padding:0 12px;border-radius:11px;display:grid;place-items:center;font-size:14px;color:var(--fog);border:1px solid var(--line);transition:all .3s var(--ease)}
.pagination a:hover{color:var(--chalk);border-color:var(--steel-700)}
.pagination .current{background:var(--chalk);border-color:var(--chalk);color:var(--ink)}
.pagination .dots{border:0}

/* ---------- SINGLE PRODUCT (PDP) ---------- */
.pdp{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(28px,4vw,68px);align-items:start}
.gallery{position:sticky;top:calc(var(--header-h) + 20px)}
.gallery-main{position:relative;border:1px solid var(--line);border-radius:var(--r-lg);background:radial-gradient(ellipse 60% 60% at 50% 45%,rgba(255,255,255,.055),transparent 70%),linear-gradient(170deg,var(--steel-900),var(--coal));aspect-ratio:4/3.2;display:grid;place-items:center;overflow:hidden}
.gallery-main svg.blade{width:90%;transform:rotate(-9deg);filter:drop-shadow(0 26px 46px rgba(0,0,0,.6))}
.gallery-thumbs{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:10px}
.thumb{border:1px solid var(--line);border-radius:12px;background:var(--steel-900);aspect-ratio:1;display:grid;place-items:center;padding:8px;transition:border-color .3s var(--ease)}
.thumb svg{width:100%;transform:rotate(-10deg)}
.thumb:hover{border-color:var(--steel-700)}
.thumb[aria-current="true"]{border-color:var(--ember)}

.pdp-cat{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--fog-dim)}
.pdp-title{font-size:clamp(28px,3.6vw,46px);font-weight:300;letter-spacing:-.03em;margin-top:12px}
.pdp-rating{display:flex;align-items:center;gap:10px;margin-top:14px;font-size:13px;color:var(--fog-dim)}
.pdp-rating .starline{display:flex;gap:2px;color:var(--brass)}
.pdp-price{display:flex;align-items:baseline;gap:12px;margin-top:22px;font-family:var(--ff-display);font-size:clamp(28px,3vw,38px);letter-spacing:-.03em}
.pdp-price del{font-size:17px;font-family:var(--ff-body);color:var(--fog-dim)}
.pdp-price ins{text-decoration:none;color:var(--ember-soft)}
.pdp-excerpt{margin-top:18px;color:var(--fog);font-size:15px;line-height:1.75}
.pdp-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}

.variations{margin-top:28px;display:grid;gap:22px}
.opt-row{display:flex;flex-wrap:wrap;gap:9px}
.opt{padding:11px 16px;border:1px solid var(--line);border-radius:12px;background:var(--steel-900);font-size:13.5px;color:var(--fog);transition:all .3s var(--ease);text-align:left}
.opt:hover{color:var(--chalk);border-color:var(--steel-700)}
.opt[aria-pressed="true"]{border-color:var(--ember);background:rgba(226,86,43,.1);color:var(--chalk)}
.opt small{display:block;font-size:11px;color:var(--fog-dim);margin-top:2px}
.wood-dot{width:16px;height:16px;border-radius:50%;flex:none;border:1px solid rgba(255,255,255,.14)}

.engrave{margin-top:6px}

.cart-actions{display:flex;gap:10px;margin-top:28px;flex-wrap:wrap}
.qty{display:flex;align-items:center;border:1px solid var(--line);border-radius:99px;background:var(--steel-900);overflow:hidden;flex:none}
.qty button{width:44px;height:52px;display:grid;place-items:center;color:var(--fog);transition:color .25s var(--ease)}
.qty button:hover{color:var(--chalk)}
.qty input{width:40px;height:52px;text-align:center;background:none;border:0;color:var(--chalk);font-family:var(--ff-body);font-size:15px;-moz-appearance:textfield}
.qty input::-webkit-outer-spin-button,.qty input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.single_add_to_cart_button{flex:1;min-width:200px;height:52px;border-radius:99px;background:var(--ember);color:#fff;font-size:15px;font-weight:500;display:inline-flex;align-items:center;justify-content:center;gap:10px;transition:all .35s var(--ease)}
.single_add_to_cart_button:hover{background:var(--ember-soft);transform:translateY(-2px)}

.assurance{display:grid;gap:2px;margin-top:30px}
.assurance li{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:start;padding:15px 0;border-top:1px solid var(--line)}
.assurance svg{color:var(--ember-soft);margin-top:2px}
.assurance b{font-weight:500;font-size:14px}
.assurance span{display:block;font-size:12.5px;color:var(--fog-dim);margin-top:2px}

/* accordion + tabs */
.accordion{margin-top:34px;border-top:1px solid var(--line)}
.acc-item{border-bottom:1px solid var(--line)}
.acc-head{display:flex;align-items:center;justify-content:space-between;width:100%;gap:16px;padding:19px 0;font-family:var(--ff-display);font-size:17px;text-align:left}
.acc-head svg{flex:none;color:var(--fog-dim);transition:transform .35s var(--ease)}
.acc-item.open .acc-head svg{transform:rotate(45deg);color:var(--ember)}
.acc-body{display:none;padding-bottom:22px;color:var(--fog);font-size:14.5px;line-height:1.75}
.acc-item.open .acc-body{display:block}
.spec-list{display:grid;gap:0;margin-top:4px}
.spec-list div{display:grid;grid-template-columns:150px 1fr;gap:16px;padding:9px 0;border-bottom:1px solid var(--line-soft);font-size:13.5px}
.spec-list dt{color:var(--fog-dim)}
.spec-list dd{margin:0;color:var(--chalk)}

/* ---------- PROCESS ---------- */
.process{background:var(--coal);border-block:1px solid var(--line)}
.process-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(30px,5vw,80px);align-items:start}
.process-sticky{position:sticky;top:calc(var(--header-h) + 46px)}
.process-visual{margin-top:34px;border-radius:var(--r-lg);border:1px solid var(--line);background:linear-gradient(170deg,var(--steel-900),var(--ink));padding:34px;display:grid;place-items:center;aspect-ratio:1/.82;position:relative;overflow:hidden}
.process-visual::before{content:"";position:absolute;width:75%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(226,86,43,.3),transparent 62%);filter:blur(28px)}
.process-visual svg{position:relative;width:100%;transform:rotate(-13deg)}
.step{padding:30px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:78px 1fr;gap:20px;align-items:start;opacity:.4;transition:opacity .5s var(--ease)}
.step.is-active{opacity:1}
.step-no{font-family:var(--ff-display);font-size:clamp(34px,4vw,54px);line-height:.85;color:var(--steel-700);letter-spacing:-.04em;transition:color .5s var(--ease)}
.step.is-active .step-no{color:var(--ember)}
.step h3{font-size:clamp(20px,2vw,27px)}
.step p{color:var(--fog);font-size:14.5px;margin-top:10px;max-width:46ch}
.step-temp{display:inline-flex;align-items:center;gap:7px;margin-top:14px;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--fog-dim);padding:4px 11px;border:1px solid var(--line);border-radius:99px}

/* ---------- STORY ---------- */
.story-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,5vw,80px);align-items:center}
.story-frame{position:relative;border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--line);aspect-ratio:4/4.6;background:linear-gradient(200deg,var(--steel-800) 0%,var(--coal) 55%,var(--ink) 100%);display:grid;place-items:center}
.story-frame::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 60% 40% at 30% 85%,rgba(226,86,43,.25),transparent 65%)}
.story-frame::after{content:"";position:absolute;inset:0;background-image:repeating-linear-gradient(-42deg,rgba(255,255,255,.028) 0 1px,transparent 1px 9px)}
.story-quote{position:absolute;left:24px;right:24px;bottom:24px;z-index:3;padding:22px 24px;border-radius:var(--r-md);background:rgba(10,10,11,.66);backdrop-filter:blur(18px);border:1px solid var(--line)}
.story-quote p{font-family:var(--ff-display);font-style:italic;font-size:17px;line-height:1.45}
.story-quote cite{display:block;font-style:normal;font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--fog-dim);margin-top:12px}
.story-list{margin-top:36px;display:grid;gap:2px}
.story-list li{display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:start;padding:18px 0;border-top:1px solid var(--line)}
.story-list b{font-weight:500;font-size:15px}
.story-list li > div > span{display:block;color:var(--fog);font-size:13.5px;margin-top:4px}
.story-ico{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;background:rgba(226,86,43,.1);color:var(--ember-soft);border:1px solid rgba(226,86,43,.2)}

/* timeline (about) */
.timeline{position:relative;margin-top:20px;padding-left:34px}
.timeline::before{content:"";position:absolute;left:8px;top:8px;bottom:8px;width:1px;background:linear-gradient(var(--ember),var(--line) 40%,var(--line))}
.tl-item{position:relative;padding-block:22px;border-bottom:1px solid var(--line-soft)}
.tl-item:last-child{border-bottom:0}
.tl-item::before{content:"";position:absolute;left:-30px;top:30px;width:11px;height:11px;border-radius:50%;background:var(--coal);border:2px solid var(--steel-700)}
.tl-item.mark::before{background:var(--ember);border-color:var(--ember)}
.tl-year{font-family:var(--ff-display);font-size:24px;color:var(--ember-soft);letter-spacing:-.02em}
.tl-item h3{font-size:19px;margin-top:6px}
.tl-item p{color:var(--fog);font-size:14px;margin-top:8px;max-width:56ch}

/* ---------- STEEL TABLE ---------- */
.steel-table{border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;background:var(--steel-900)}
.steel-row{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr 1.2fr;gap:20px;padding:20px 26px;align-items:center;border-bottom:1px solid var(--line-soft);transition:background .35s var(--ease)}
.steel-row:last-child{border-bottom:0}
.steel-row:not(.head):hover{background:var(--steel-800)}
.steel-row.head{background:var(--coal);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--fog-dim)}
.steel-name{font-family:var(--ff-display);font-size:19px}
.steel-name small{display:block;font-family:var(--ff-body);font-size:12px;color:var(--fog-dim);letter-spacing:0;margin-top:3px;text-transform:none}
.bar{height:5px;border-radius:99px;background:var(--steel-700);overflow:hidden;max-width:110px}
.bar i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,var(--ember),var(--brass))}
.steel-use{font-size:13px;color:var(--fog)}

/* ---------- REVIEWS ---------- */
.reviews{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.review{border:1px solid var(--line);border-radius:var(--r-md);padding:28px;background:var(--steel-900);display:flex;flex-direction:column;gap:16px;transition:border-color .4s var(--ease),transform .4s var(--ease)}
.review:hover{border-color:var(--steel-700);transform:translateY(-4px)}
.review p{font-size:15px;color:var(--fog);line-height:1.7;flex:1}
.review-who{display:flex;align-items:center;gap:12px;padding-top:16px;border-top:1px solid var(--line-soft)}
.avatar{width:40px;height:40px;border-radius:50%;flex:none;display:grid;place-items:center;font-family:var(--ff-display);font-size:16px;color:var(--ink);background:linear-gradient(140deg,var(--brass),var(--ember))}
.review-who b{display:block;font-weight:500;font-size:14px}
.review-who div > span{font-size:12px;color:var(--fog-dim)}

/* ---------- CTA ---------- */
.cta{position:relative;overflow:hidden;border-radius:var(--r-lg);border:1px solid var(--line);background:linear-gradient(150deg,var(--steel-800),var(--ink));padding:clamp(40px,6vw,88px);text-align:center}
.cta::before{content:"";position:absolute;left:50%;bottom:-55%;width:110%;aspect-ratio:2/1;transform:translateX(-50%);background:radial-gradient(ellipse at center,rgba(226,86,43,.3),transparent 62%);filter:blur(30px)}
.cta > *{position:relative;z-index:2}
.cta h2{font-size:clamp(28px,4.2vw,58px);font-weight:300;letter-spacing:-.03em;max-width:18ch;margin-inline:auto}
.cta h2 em{font-style:italic;color:var(--ember-soft)}
.cta .lede{margin:20px auto 0;text-align:center}
.subscribe{display:flex;gap:10px;max-width:470px;margin:34px auto 0;flex-wrap:wrap}
.subscribe input{flex:1;min-width:200px;padding:14px 20px;border-radius:99px;background:rgba(255,255,255,.05);border:1px solid var(--line);color:var(--chalk);font-family:var(--ff-body);font-size:14px;transition:border-color .3s var(--ease)}
.subscribe input::placeholder{color:var(--fog-dim)}
.subscribe input:focus{outline:none;border-color:var(--ember)}
.cta-note{font-size:12px;color:var(--fog-dim);margin-top:16px}

/* ---------- FORMS ---------- */
.field{display:grid;gap:8px}
.field label{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--fog-dim)}
.field .req{color:var(--ember)}
.input,.field input,.field textarea,.field select{
  width:100%;padding:13px 16px;border-radius:12px;
  background:var(--steel-900);border:1px solid var(--line);color:var(--chalk);
  font-family:var(--ff-body);font-size:14.5px;font-weight:300;
  transition:border-color .3s var(--ease);
}
.field textarea{min-height:130px;resize:vertical}
.field select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236E7278' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;padding-right:42px;cursor:pointer}
.input::placeholder,.field input::placeholder,.field textarea::placeholder{color:var(--fog-dim)}
.input:focus,.field input:focus,.field textarea:focus,.field select:focus{outline:none;border-color:var(--ember)}

/* ---------- CART ---------- */
.cart-layout{display:grid;grid-template-columns:1fr 372px;gap:clamp(24px,3vw,44px);align-items:start}
.cart-table{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--steel-900);overflow:hidden}
.cart-line{display:grid;grid-template-columns:96px 1fr auto;gap:18px;padding:20px;border-bottom:1px solid var(--line-soft);align-items:center}
.cart-line:last-child{border-bottom:0}
.cart-thumb{width:96px;aspect-ratio:1;border-radius:12px;border:1px solid var(--line);background:var(--steel-800);display:grid;place-items:center;padding:8px}
.cart-thumb svg{width:100%;transform:rotate(-10deg)}
.cart-name{font-family:var(--ff-display);font-size:17px}
.cart-opts{font-size:12.5px;color:var(--fog-dim);margin-top:5px}
.cart-remove{font-size:12.5px;color:var(--fog-dim);margin-top:9px;display:inline-flex;align-items:center;gap:6px}
.cart-remove:hover{color:var(--ember)}
.cart-right{display:grid;justify-items:end;gap:11px}
.qty-sm{display:flex;align-items:center;border:1px solid var(--line);border-radius:99px;overflow:hidden}
.qty-sm button{width:34px;height:36px;display:grid;place-items:center;color:var(--fog)}
.qty-sm button:hover{color:var(--chalk)}
.qty-sm input{width:34px;height:36px;text-align:center;background:none;border:0;color:var(--chalk);font-size:14px}
.cart-price{font-family:var(--ff-display);font-size:18px}

.summary{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--steel-900);padding:26px;position:sticky;top:calc(var(--header-h) + 20px)}
.summary h3{font-size:20px;margin-bottom:18px}
.coupon{display:flex;gap:8px;margin-top:18px}
.coupon input{flex:1;min-width:0;padding:11px 14px;border-radius:99px;background:var(--steel-800);border:1px solid var(--line);color:var(--chalk);font-family:var(--ff-body);font-size:13px}
.coupon button{padding:11px 18px;border-radius:99px;border:1px solid var(--line);font-size:13px;white-space:nowrap}
.coupon button:hover{border-color:var(--chalk)}
.empty-state{text-align:center;padding:clamp(50px,8vw,100px) 20px;border:1px dashed var(--line);border-radius:var(--r-lg)}
.empty-state svg{margin:0 auto 22px;color:var(--steel-700)}

/* ---------- CHECKOUT ---------- */
.checkout-layout{display:grid;grid-template-columns:1fr 392px;gap:clamp(24px,3vw,48px);align-items:start}
.panel{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--steel-900);padding:clamp(22px,2.6vw,32px)}
.panel + .panel{margin-top:16px}
.panel h3,.panel .panel-title{font-size:21px;margin-bottom:18px}
.status{display:inline-flex;align-items:center;gap:7px;padding:4px 11px;border-radius:99px;font-size:11.5px;border:1px solid var(--line);color:var(--fog)}
.status::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
.status.done{color:#7BC694;border-color:rgba(78,156,107,.3);background:rgba(78,156,107,.08)}
.status.ship{color:var(--ember-soft);border-color:rgba(226,86,43,.3);background:rgba(226,86,43,.08)}

/* ---------- CONTACT ---------- */
.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:clamp(26px,4vw,64px);align-items:start}
.info-list{display:grid;gap:2px;margin-top:28px}
.info-list li{display:grid;grid-template-columns:auto 1fr;gap:16px;padding:18px 0;border-top:1px solid var(--line)}
.info-ico{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;background:rgba(226,86,43,.1);color:var(--ember-soft);border:1px solid rgba(226,86,43,.2)}
.info-list b{display:block;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--fog-dim);font-weight:500}
.info-list li > div > span{display:block;font-size:15px;margin-top:5px}
.map-frame{margin-top:26px;border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;background:var(--steel-900);aspect-ratio:16/10;position:relative;display:grid;place-items:center}
.map-frame::before{content:"";position:absolute;inset:0;background-image:linear-gradient(var(--line-soft) 1px,transparent 1px),linear-gradient(90deg,var(--line-soft) 1px,transparent 1px);background-size:44px 44px}

/* ---------- PROSE (trang nội dung / bài hướng dẫn) ---------- */
.prose{max-width:74ch}
.prose > * + *{margin-top:20px}
.prose h2{font-size:clamp(24px,2.8vw,34px);font-weight:300;letter-spacing:-.025em;margin-top:52px;scroll-margin-top:calc(var(--header-h) + 24px)}
.prose h3{font-size:clamp(19px,2vw,23px);margin-top:36px}
.prose p,.prose li{color:var(--fog);font-size:16px;line-height:1.85}
.prose strong{color:var(--chalk);font-weight:500}
.prose a{color:var(--ember-soft);border-bottom:1px solid rgba(255,139,82,.3)}
.prose a:hover{border-color:var(--ember-soft)}
.prose ul,.prose ol{padding-left:22px;display:grid;gap:10px}
.prose ul li{list-style:none;position:relative;padding-left:4px}
.prose ul li::before{content:"";position:absolute;left:-16px;top:12px;width:5px;height:5px;border-radius:50%;background:var(--ember)}
.prose ol{list-style:decimal;color:var(--fog-dim)}
.prose hr{border:0;border-top:1px solid var(--line);margin-block:44px}
.callout{border:1px solid var(--line);border-left:2px solid var(--ember);border-radius:var(--r-sm);background:var(--steel-900);padding:20px 24px}
.callout b{display:block;color:var(--chalk);font-weight:500;margin-bottom:6px}
.callout p{font-size:14.5px}
.prose .table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;margin-inline:-1px}
.prose table{width:100%;min-width:520px;border-collapse:collapse;font-size:14px}
.prose th,.prose td{text-align:left;padding:13px 14px;border-bottom:1px solid var(--line-soft)}
.prose th{font-family:var(--ff-body);font-weight:500;font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--fog-dim);border-bottom-color:var(--line)}
.prose td{color:var(--fog)}

.toc{position:sticky;top:calc(var(--header-h) + 24px);border:1px solid var(--line);border-radius:var(--r-md);background:var(--steel-900);padding:22px}
.toc h4,.toc .toc-title{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--fog-dim);font-family:var(--ff-body);font-weight:500;margin-bottom:14px}
.toc a{display:block;padding:7px 0;font-size:13.5px;color:var(--fog);border-left:1px solid var(--line);padding-left:14px;margin-left:-1px;transition:all .28s var(--ease)}
.toc a:hover,.toc a.active{color:var(--chalk);border-color:var(--ember)}
.doc-layout{display:grid;grid-template-columns:minmax(0,1fr) 258px;gap:clamp(30px,4vw,64px);align-items:start}

/* faq */
.faq{border-top:1px solid var(--line);margin-top:10px}

/* ---------- FOOTER ---------- */
.site-footer{border-top:1px solid var(--line);background:var(--coal);padding-block:clamp(52px,6vw,84px) 30px;margin-top:clamp(72px,9vw,130px)}
.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:40px}
.footer-about{max-width:32ch;color:var(--fog);font-size:14px;margin-top:20px}
.pay{display:flex;gap:8px;margin-top:24px;flex-wrap:wrap}
.pay span{padding:5px 11px;border:1px solid var(--line);border-radius:7px;font-size:10.5px;letter-spacing:.08em;color:var(--fog-dim)}
.footer-col h4,.footer-col .footer-title{font-size:12px;letter-spacing:.16em;text-transform:uppercase;font-family:var(--ff-body);font-weight:500;color:var(--fog-dim);margin-bottom:18px}
.footer-col li{margin-bottom:11px}
.footer-col a{font-size:14px;color:var(--fog);transition:color .3s var(--ease)}
.footer-col a:hover{color:var(--chalk)}
.footer-bottom{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-top:56px;padding-top:24px;border-top:1px solid var(--line);font-size:12.5px;color:var(--fog-dim)}
.socials{display:flex;gap:8px}
.socials a{width:34px;height:34px;border-radius:99px;border:1px solid var(--line);display:grid;place-items:center;color:var(--fog-dim);transition:all .3s var(--ease)}
.socials a:hover{color:var(--chalk);border-color:var(--chalk)}

/* ---------- REVEAL ---------- */
.rv{opacity:0;transform:translateY(26px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  .rv{opacity:1;transform:none;transition:none}
  .marquee-track{animation:none}
  html{scroll-behavior:auto}
}

/* ---------- RESPONSIVE ---------- */
@media (max-width:1180px){
  ul.products{grid-template-columns:repeat(3,1fr)}
  .steel-row{grid-template-columns:1.4fr 1fr 1fr;gap:14px}
  .steel-row .col-hide{display:none}
  .cart-layout,.checkout-layout{grid-template-columns:1fr 330px}
  .doc-layout{grid-template-columns:minmax(0,1fr)}
  .toc{position:static;order:-1}
}
@media (max-width:980px){
  .primary-nav{display:none}
  .burger{display:grid}
  .hero-grid,.process-grid,.story-grid,.pdp,.contact-layout{grid-template-columns:minmax(0,1fr)}
  .hero-visual{order:-1;min-height:280px}.process-sticky,
.gallery,
.shop-sidebar,
.summary{position:static}
  .collections,.reviews{grid-template-columns:minmax(0,1fr)}
  .footer-grid{grid-template-columns:1fr 1fr}
  .story-frame{aspect-ratio:4/3.4}.shop-layout,
.cart-layout,
.checkout-layout{grid-template-columns:minmax(0,1fr)}
  .shop-sidebar{display:none}
  .shop-sidebar.open{display:grid;position:fixed;inset:0;z-index:82;background:var(--coal);padding:20px;overflow-y:auto;align-content:start}
  .filter-toggle{display:inline-flex}
  ul.products{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:620px){
  ul.products,ul.products.columns-3{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr}
  .hero-stats{flex-wrap:wrap;gap:24px}
  .steel-row{grid-template-columns:1fr auto}
  .steel-row.head{display:none}
  .brand-sub{display:none}
  .cart-line{grid-template-columns:72px 1fr;gap:14px}
  .cart-thumb{width:72px}
  .cart-right{grid-column:1/-1;justify-items:stretch;grid-template-columns:auto 1fr;align-items:center}
  .cart-price{text-align:right}
  .gallery-thumbs{grid-template-columns:repeat(4,1fr)}
  .spec-list div{grid-template-columns:1fr;gap:2px}
  .lang-menu{width:min(82vw,238px)}
  .header-inner{gap:10px}
  .header-tools{gap:0}
  .icon-btn{width:34px;height:34px}
  .lang-toggle{padding:0 8px;gap:5px;height:34px}
}
@media (max-width:420px){
  .lang-toggle{width:34px;padding:0;justify-content:center}
  .lang-toggle span,
  .lang-toggle .caret{display:none}
  .lang-menu{right:-8px}
}
@media (max-width:374px){
  .header-tools .icon-btn:first-child{display:none}
}

/* ============================================================
   LỚP TEXTURE — ảnh nền sinh bằng thuật toán (assets/img/)
   Tất cả đều là trang trí, đặt dưới nội dung, độ mờ thấp để
   không ảnh hưởng độ tương phản chữ.
   ============================================================ */

/* Hero: không khí lò rèn + tàn lửa bay */
.hero::after{
  content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  background:url("img/forge-atmosphere.jpg") center bottom/cover no-repeat;
  opacity:.34;
  -webkit-mask-image:linear-gradient(to bottom,transparent 8%,#000 75%);
  mask-image:linear-gradient(to bottom,transparent 8%,#000 75%);
}
.hero > .wrap{position:relative;z-index:2}

/* Đầu trang con: tàn lửa mờ */
.page-head::after{
  content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  background:url("img/ember-bokeh.png") center/cover no-repeat;
  opacity:.16;
}
.page-head > .wrap{position:relative;z-index:1}

/* Quy trình rèn: nền than + màn khói */
.process{
  background:
    linear-gradient(rgba(16,16,19,.90),rgba(16,16,19,.93)),
    url("img/smoke-veil.png") center top/cover no-repeat,
    url("img/charcoal-bed.jpg") center/cover;
}

/* Khung câu chuyện: vân gỗ mun */
.story-frame{
  background:
    linear-gradient(200deg,rgba(29,31,35,.80) 0%,rgba(16,16,19,.90) 55%,rgba(10,10,11,.95) 100%),
    url("img/ebony-grain.jpg") center/cover;
}

/* Khối kêu gọi đăng ký: không khí lò rèn */
.cta{
  background:
    linear-gradient(150deg,rgba(29,31,35,.80),rgba(10,10,11,.90)),
    url("img/forge-atmosphere.jpg") center bottom/cover;
}

/* Nền ảnh sản phẩm: vân thép damascus rất nhạt */
.product-media,
.gallery-main{
  background:
    radial-gradient(ellipse 60% 60% at 50% 48%,rgba(255,255,255,.05),transparent 70%),
    linear-gradient(rgba(16,17,20,.94),rgba(10,10,11,.96)),
    url("img/damascus-steel.jpg") center/cover;
}

/* Bảng thép: vân thép rất nhạt ở hàng tiêu đề */
.steel-row.head{
  background:
    linear-gradient(rgba(16,16,19,.93),rgba(16,16,19,.95)),
    url("img/damascus-steel.jpg") center/cover;
}

/* ---------- bổ sung cho WordPress ---------- */
.skip-link{position:absolute;left:-9999px;top:0;z-index:999;background:var(--ember);color:#fff;padding:10px 16px;border-radius:0 0 8px 0}
.skip-link:focus{left:0}
a.lang-item{text-decoration:none}
.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;word-wrap:normal!important}
.panel .panel-title{font-size:clamp(22px,2.4vw,28px);font-weight:300}
.acc-q{margin:0;font-size:inherit;font-weight:inherit}

/* =====================================================================
   WooCommerce — kiểu cho các phần dùng template mặc định của Woo
   (giỏ hàng, thanh toán, tài khoản, thông báo, biến thể, phân trang)
   ===================================================================== */
.woo-wrap{padding-block:clamp(32px,4vw,64px)}
.woocommerce-notices-wrapper{margin-bottom:20px}
.woocommerce-message,.woocommerce-info,.woocommerce-error{list-style:none;margin:0 0 18px;padding:16px 20px;border:1px solid var(--line);border-left:2px solid var(--ember);border-radius:12px;background:var(--steel-900);color:var(--fog);font-size:14.5px;display:flex;gap:16px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.woocommerce-error{border-left-color:#d6453d}
.woocommerce-message a.button,.woocommerce-info a.button{order:2}

/* Nút Woo mặc định */
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit,
.wc-block-components-button,.button.alt{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:13px 24px;border-radius:99px;font:500 14px var(--ff-body);border:1px solid var(--line);background:transparent;color:var(--chalk);cursor:pointer;transition:all .3s var(--ease)}
.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover{border-color:var(--chalk)}
.woocommerce a.button.alt,.woocommerce button.button.alt,.woocommerce input.button.alt,.woocommerce #place_order{background:var(--ember);border-color:var(--ember);color:#fff}
.woocommerce a.button.alt:hover,.woocommerce button.button.alt:hover,.woocommerce #place_order:hover{background:var(--ember-soft);border-color:var(--ember-soft)}
.woocommerce button.button:disabled,.woocommerce button.button.disabled{opacity:.45;cursor:not-allowed}

/* Form Woo */
.woocommerce form .form-row{display:grid;gap:8px;margin-bottom:16px}
.woocommerce form .form-row label{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--fog-dim)}
.woocommerce form .form-row .required{color:var(--ember);text-decoration:none}
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce form .form-row select,
.select2-container--default .select2-selection--single{width:100%;padding:13px 16px;border-radius:12px;background:var(--steel-900);border:1px solid var(--line);color:var(--chalk);font:400 15px var(--ff-body);height:auto;min-height:48px}
.woocommerce form .form-row input.input-text:focus,.woocommerce form .form-row textarea:focus,.woocommerce form .form-row select:focus{outline:0;border-color:var(--ember)}
.select2-container--default .select2-selection--single .select2-selection__rendered{color:var(--chalk);line-height:1.6;padding:0}
.select2-dropdown{background:var(--steel-900);border:1px solid var(--line);color:var(--chalk)}
.select2-container--default .select2-results__option--highlighted[aria-selected]{background:var(--ember)}
.woocommerce form .form-row.woocommerce-invalid input.input-text{border-color:#d6453d}

/* Bảng giỏ hàng / đơn hàng */
.woocommerce table.shop_table{width:100%;border-collapse:collapse;border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden;background:var(--steel-900)}
.woocommerce table.shop_table th,.woocommerce table.shop_table td{padding:16px 18px;border-bottom:1px solid var(--line);text-align:left;color:var(--fog);font-size:14.5px;vertical-align:middle}
.woocommerce table.shop_table th{font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--fog-dim);font-weight:500}
.woocommerce table.shop_table a{color:var(--chalk)}
.woocommerce table.shop_table td.product-thumbnail img{width:72px;height:72px;object-fit:cover;border-radius:10px}
.woocommerce table.shop_table .product-remove a{color:var(--fog-dim);font-size:20px}
.woocommerce .quantity input.qty{width:64px;padding:10px;text-align:center;background:var(--steel-800);border:1px solid var(--line);border-radius:10px;color:var(--chalk)}
.woocommerce .cart-collaterals{display:flex;justify-content:flex-end;margin-top:32px}
.woocommerce .cart_totals{width:min(100%,440px)}
.woocommerce .cart_totals h2,.woocommerce-checkout h3,.woocommerce-order-details h2,.woocommerce-customer-details h2{font-size:clamp(22px,2.4vw,28px);font-weight:300;margin-bottom:18px}
.woocommerce .wc-proceed-to-checkout a.checkout-button{display:flex;width:100%;justify-content:center;background:var(--ember);border-color:var(--ember);color:#fff;padding:16px}
.woocommerce .coupon{display:flex;gap:10px;flex-wrap:wrap}
.woocommerce .coupon input.input-text{padding:12px 16px;border-radius:99px;background:var(--steel-900);border:1px solid var(--line);color:var(--chalk)}

/* Thanh toán */
.woocommerce-checkout #customer_details{display:grid;gap:30px}
.woocommerce-checkout .col2-set{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}
@media(max-width:800px){.woocommerce-checkout .col2-set{grid-template-columns:minmax(0,1fr)}}
.woocommerce-checkout #order_review_heading{margin-top:36px}
.woocommerce-checkout #payment{background:var(--steel-900);border:1px solid var(--line);border-radius:var(--r-md);padding:8px 20px 20px}
.woocommerce-checkout #payment ul.payment_methods{list-style:none;padding:0;margin:0}
.woocommerce-checkout #payment ul.payment_methods li{padding:16px 0;border-bottom:1px solid var(--line);color:var(--fog)}
.woocommerce-checkout #payment div.payment_box{margin-top:12px;padding:14px 16px;background:var(--steel-800);border-radius:10px;font-size:14px;color:var(--fog)}
.woocommerce-checkout #payment .place-order{padding-top:20px}
.woocommerce-checkout #payment .place-order #place_order{width:100%;padding:16px}

/* Tài khoản */
.woocommerce-account.logged-in .woocommerce{display:grid;grid-template-columns:240px minmax(0,1fr);gap:clamp(24px,3vw,48px);align-items:start}
.woocommerce-account:not(.logged-in) .woocommerce{max-width:480px}
.woocommerce-account:not(.logged-in) .woocommerce h2{font-size:clamp(24px,2.6vw,32px);font-weight:300;margin-bottom:18px}
@media(max-width:800px){.woocommerce-account.logged-in .woocommerce{grid-template-columns:minmax(0,1fr)}}
.woocommerce-MyAccount-navigation ul{list-style:none;padding:8px;margin:0;border:1px solid var(--line);border-radius:var(--r-md);background:var(--steel-900)}
.woocommerce-MyAccount-navigation a{display:block;padding:11px 14px;border-radius:10px;color:var(--fog);font-size:14px}
.woocommerce-MyAccount-navigation .is-active a,.woocommerce-MyAccount-navigation a:hover{background:rgba(226,86,43,.1);color:var(--chalk)}
.woocommerce-MyAccount-content{color:var(--fog);line-height:1.8}
.woocommerce-MyAccount-content a{color:var(--ember-soft)}
.woocommerce-form-login,.woocommerce-form-register{border:1px solid var(--line);border-radius:var(--r-md);padding:28px;background:var(--steel-900)}
.u-columns.col2-set{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
@media(max-width:800px){.u-columns.col2-set{grid-template-columns:minmax(0,1fr)}}

/* Biến thể trên trang chi tiết */
.cart-wrap form.cart{margin-top:24px}
.variations_form table.variations{width:100%;border:0;border-collapse:separate;border-spacing:0 16px}
.variations_form table.variations th,.variations_form table.variations td{display:block;padding:0;border:0;background:none;text-align:left}
.variations_form table.variations th.label label{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--fog-dim)}
.variations_form table.variations select{width:100%;padding:13px 16px;border-radius:12px;background:var(--steel-900);border:1px solid var(--line);color:var(--chalk);font:400 15px var(--ff-body);margin-top:8px}
.variations_form .reset_variations{font-size:12px;color:var(--ember-soft)}
.woocommerce-variation-price{margin:10px 0;font-size:20px;color:var(--chalk)}
.woocommerce div.product form.cart .single_variation_wrap,.cart-wrap form.cart:not(.variations_form){display:block}
.cart-wrap form.cart .quantity{display:inline-block;margin-right:10px;vertical-align:middle}
.cart-wrap form.cart .single_add_to_cart_button{vertical-align:middle;display:inline-flex}
.gallery-img{width:100%;height:100%;object-fit:cover;display:block}
.thumb img{width:100%;height:100%;object-fit:cover;border-radius:inherit}

/* Phân trang */
.pagination .page-numbers{display:inline-grid;place-items:center;min-width:40px;height:40px;padding:0 12px;border:1px solid var(--line);border-radius:99px;color:var(--fog)}
.pagination .page-numbers.current{background:var(--chalk);border-color:var(--chalk);color:var(--ink)}
.pagination .page-numbers.dots{border:0}

/* Bộ lọc dạng link */
a.check{text-decoration:none}
a.check[aria-current="true"]{color:var(--chalk)}
a.check input[disabled]{pointer-events:none}
.woocommerce-result-count{margin:0;font-size:13px;color:var(--fog-dim)}
.woocommerce-ordering select{appearance:none;padding:10px 38px 10px 15px;border-radius:99px;background:var(--steel-900);border:1px solid var(--line);color:var(--fog);font:400 13.5px var(--ff-body)}

/* Ô đánh giá */
#reviews .commentlist{list-style:none;padding:0;margin:0;display:grid;gap:18px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}
#reviews .commentlist li{border:1px solid var(--line);border-radius:var(--r-md);padding:24px;background:var(--steel-900);color:var(--fog)}
#reviews .commentlist img.avatar{border-radius:50%;float:left;margin-right:12px;width:40px;height:40px}
#reviews .star-rating{color:var(--brass)}
#review_form_wrapper{margin-top:28px}
.comment-form-comment textarea,.comment-form input[type=text],.comment-form input[type=email]{width:100%;padding:13px 16px;border-radius:12px;background:var(--steel-900);border:1px solid var(--line);color:var(--chalk)}
.comment-form{display:grid;gap:14px;max-width:640px}

/* Chi tiết nhỏ cho trang sản phẩm */
.pdp .stock,.pdp p.stock{display:none}
.acc-body p + p{margin-top:14px}
.acc-body .prose,.acc-body > *+*{margin-top:14px}
.pdp .woocommerce-product-details__short-description{margin:0}
.pdp .quantity input.qty{height:52px;width:72px;border-radius:99px;font-size:15px}
.onsale{background:var(--ember)!important;color:#fff!important}
.price,.price .amount,.pdp-price .amount{color:var(--chalk)}
.price ins,.pdp-price ins{color:var(--ember-soft);text-decoration:none}
.price del,.pdp-price del{color:var(--fog-dim)}
.sidebar-close{display:none}
@media(max-width:980px){.shop-sidebar.open .sidebar-close{display:grid}}

/* ---------- Fluent Forms ---------- */
.fluentform .ff-el-group{margin-bottom:16px}
.fluentform .ff-el-input--label label{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--fog-dim);font-weight:400}
.fluentform .ff-el-form-control{width:100%;padding:13px 16px;border-radius:12px;background:var(--steel-900);border:1px solid var(--line);color:var(--chalk);font:300 14.5px var(--ff-body);box-shadow:none}
.fluentform .ff-el-form-control:focus{border-color:var(--ember);outline:0;background:var(--steel-900);color:var(--chalk)}
.fluentform .ff-el-form-control::placeholder{color:var(--fog-dim)}
.fluentform textarea.ff-el-form-control{min-height:130px}
.fluentform select.ff-el-form-control{appearance:none}
.fluentform .ff-btn-submit{background:var(--ember)!important;color:#fff!important;border:0;border-radius:99px;padding:14px 28px;font:500 14px var(--ff-body);cursor:pointer;transition:background .3s var(--ease)}
.fluentform .ff-btn-submit:hover{background:var(--ember-soft)!important}
.fluentform .text-danger,.fluentform .error{color:#ff8b7a;font-size:12.5px}
.ff-message-success{border:1px solid var(--line);border-left:2px solid var(--ember);border-radius:12px;padding:16px 20px;color:var(--fog);background:var(--steel-900)}
.cta .fluentform{max-width:520px;margin:30px auto 0}
.cta .fluentform .ff-t-container{display:flex;gap:10px;flex-wrap:wrap}
.cta .fluentform .ff-el-group{margin:0;flex:1;min-width:220px}
.cta .fluentform .ff-btn-submit{white-space:nowrap}
.cta .fluentform .ff_submit_btn_wrapper,.cta .fluentform .ff-el-group.ff_submit_btn_wrapper{flex:none;min-width:0}
.fluentform .ff-el-form-control,.fluentform .ff-el-form-control:hover{border:1px solid var(--line)!important}
.fluentform .ff-el-form-control:focus{border-color:var(--ember)!important}

/* Hoàn thiện Woo */
.woocommerce-message:focus,.woocommerce-info:focus,.woocommerce-error:focus,.woocommerce-notices-wrapper *:focus{outline:0}
.woocommerce-message,.woocommerce-info{border-color:var(--line)}
.woocommerce form input[type=checkbox],.woocommerce form input[type=radio]{accent-color:var(--ember);width:16px;height:16px;vertical-align:middle;margin-right:8px}
td.product-thumbnail .cart-knife{width:96px;height:auto;background:var(--steel-800);border-radius:10px;padding:8px;display:block}

.woocommerce table.cart th.product-remove,.woocommerce table.cart td.product-remove{width:44px}
.woocommerce table.cart th.product-thumbnail,.woocommerce table.cart td.product-thumbnail{width:120px}
.woocommerce table.cart td.product-name{width:36%}
.woocommerce-form-login .woocommerce-form-login__rememberme{display:flex;align-items:center;gap:8px;margin:6px 0 14px;text-transform:none;letter-spacing:0}
.woocommerce-form-login .lost_password a{color:var(--ember-soft)}

/* Các bước (trang đặt dao) */
.steps-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.steps-grid .review{height:100%}
.steps-grid .step-no{font-family:var(--ff-display);font-size:34px;color:var(--ember)}
.steps-grid h3{font-size:20px;margin:10px 0 6px}
.steps-grid p{color:var(--fog);font-size:14.5px;line-height:1.7}
@media(max-width:980px){.steps-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.steps-grid{grid-template-columns:minmax(0,1fr)}}
.footer-bottom a{color:inherit;text-decoration:underline;text-underline-offset:3px}

/* ---------- Trang cảm ơn / chi tiết đơn / địa chỉ ---------- */
.woocommerce-order{display:grid;gap:28px}
.woocommerce-thankyou-order-received{margin:0;padding:18px 22px;border:1px solid var(--line);border-left:2px solid var(--ember);border-radius:12px;background:var(--steel-900);color:var(--chalk);font-size:16px}
ul.woocommerce-order-overview,ul.order_details{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}
ul.woocommerce-order-overview li,ul.order_details li{border:1px solid var(--line);border-radius:14px;background:var(--steel-900);padding:16px 18px;font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--fog-dim)}
ul.woocommerce-order-overview li strong,ul.order_details li strong{display:block;margin-top:8px;font-size:15px;letter-spacing:0;text-transform:none;color:var(--chalk);font-weight:500}
.woocommerce-order-details,.woocommerce-customer-details{margin-top:12px}
.woocommerce-order-details table{margin-top:6px}
.woocommerce-columns--addresses{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
@media(max-width:700px){.woocommerce-columns--addresses{grid-template-columns:minmax(0,1fr)}}
.woocommerce-columns--addresses .woocommerce-column{border:1px solid var(--line);border-radius:var(--r-md);background:var(--steel-900);padding:22px 24px}
.woocommerce-columns--addresses address,.woocommerce-Address address{font-style:normal;color:var(--fog);line-height:1.9}
.woocommerce-columns--addresses h2{font-size:20px;margin-bottom:12px}
.woocommerce-bacs-bank-details{border:1px solid var(--line);border-radius:var(--r-md);background:var(--steel-900);padding:22px 24px}
.woocommerce-bacs-bank-details h2,.wc-bacs-bank-details-heading{font-size:20px;font-weight:300;margin-bottom:12px}
ul.wc-bacs-bank-details{list-style:none;padding:0;margin:0;display:grid;gap:8px;color:var(--fog)}
ul.wc-bacs-bank-details li strong{color:var(--chalk);font-weight:500}
/* Tài khoản: đơn hàng, địa chỉ */
.woocommerce-MyAccount-content h2,.woocommerce-MyAccount-content h3{font-size:clamp(20px,2.2vw,26px);font-weight:300;margin-bottom:14px}
.woocommerce-Addresses{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
@media(max-width:700px){.woocommerce-Addresses{grid-template-columns:minmax(0,1fr)}}
.woocommerce-Address{border:1px solid var(--line);border-radius:var(--r-md);background:var(--steel-900);padding:22px 24px}
.woocommerce-Address-title{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px}
.woocommerce-Address-title h2{margin:0}
.woocommerce-MyAccount-content .woocommerce-message{margin-top:0}
.woocommerce-privacy-policy-text,.woocommerce-terms-and-conditions-wrapper{color:var(--fog-dim);font-size:13.5px;line-height:1.7}
.woocommerce-privacy-policy-text a,.woocommerce-terms-and-conditions-wrapper a{color:var(--ember-soft)}
.woocommerce-form__label-for-checkbox{display:flex;align-items:flex-start;gap:8px;text-transform:none;letter-spacing:0;font-size:14px;color:var(--fog)}
.woocommerce-order-pay #order_review{max-width:720px}

/* ===== Sửa lỗi bố cục (đợt 2) ===== */
/* Khoảng cách dưới đầu trang con: bỏ padding-top:0 chép từ bản demo */
.page-head + .sec{padding-top:clamp(36px,5vw,64px)!important}
.crumb-bar{padding-block:22px 4px}
.crumb-bar .breadcrumb{margin:0}

/* Bản tin (Fluent Forms): input + nút trên một hàng, dạng viên thuốc */
.cta .fluentform{max-width:480px;margin:34px auto 0;text-align:left}
.cta .fluentform fieldset{display:flex;gap:10px;flex-wrap:wrap;align-items:stretch}
.cta .fluentform .ff-el-group{margin:0;flex:1 1 220px;min-width:0}
.cta .fluentform .ff-el-form-control{border-radius:99px!important;padding:14px 20px;background:rgba(255,255,255,.05)}
.cta .fluentform .ff_submit_btn_wrapper{flex:none;margin:0}
.cta .fluentform .ff-btn-submit{padding:14px 28px;border-radius:99px;height:100%}

/* Tổng giỏ hàng */
.woocommerce .cart_totals table.shop_table{margin-bottom:16px}
.woocommerce .cart_totals th{white-space:nowrap;width:1%}
.woocommerce .wc-proceed-to-checkout{margin-top:0;padding:0}
.woocommerce .shipping-calculator-button,.woocommerce .woocommerce-shipping-calculator a{color:var(--ember-soft)}

/* Giỏ hàng: hàng mã giảm giá + cập nhật (giữ td là table-cell, dùng float) */
.woocommerce table.cart td.actions{padding:18px 20px}
.woocommerce table.cart td.actions::after{content:"";display:block;clear:both}
.woocommerce table.cart td.actions .coupon{float:left;display:flex;gap:10px;width:calc(100% - 220px);max-width:520px}
.woocommerce table.cart td.actions .coupon input.input-text{flex:1 1 auto;min-width:0;width:auto}
.woocommerce table.cart td.actions .coupon .button{flex:none;white-space:nowrap}
.woocommerce table.cart td.actions > button[name="update_cart"]{float:right;white-space:nowrap}
@media(max-width:700px){
  .woocommerce table.cart td.actions .coupon{float:none;width:100%;max-width:none;margin-bottom:12px}
  .woocommerce table.cart td.actions > button[name="update_cart"]{float:none;width:100%}
}
.pdp-title{margin-bottom:0}
.pdp-price{margin-top:14px}
.badge-soldout{background:rgba(255,255,255,.12)!important;color:var(--chalk)!important}
li.product.outofstock .product-media svg,li.product.outofstock .product-media img{opacity:.55}

/* ===== Thanh toán: lưới 2 cột, checkbox tuỳ biến ===== */
.woocommerce-billing-fields__field-wrapper,.woocommerce-shipping-fields__field-wrapper,.woocommerce-address-fields__field-wrapper{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}
.woocommerce form .form-row-wide{grid-column:1/-1}
.woocommerce form .form-row-first,.woocommerce form .form-row-last{float:none;width:auto;grid-column:auto}
@media(max-width:700px){.woocommerce-billing-fields__field-wrapper,.woocommerce-shipping-fields__field-wrapper,.woocommerce-address-fields__field-wrapper{grid-template-columns:minmax(0,1fr)}}
.woocommerce form input[type=checkbox]{appearance:none;-webkit-appearance:none;width:18px;height:18px;flex:none;border:1px solid var(--steel-700);border-radius:5px;background:var(--steel-900);display:inline-grid;place-items:center;vertical-align:middle;margin:0 8px 0 0;cursor:pointer;position:relative}
.woocommerce form input[type=checkbox]:checked{background:var(--ember);border-color:var(--ember)}
.woocommerce form input[type=checkbox]:checked::after{content:"";width:5px;height:9px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg) translate(-1px,-1px)}
.woocommerce form input[type=checkbox]:focus-visible,.woocommerce form input[type=radio]:focus-visible{outline:2px solid var(--ember);outline-offset:2px}
.woocommerce form input[type=radio]{appearance:none;-webkit-appearance:none;width:18px;height:18px;flex:none;border:1px solid var(--steel-700);border-radius:50%;background:var(--steel-900);display:inline-grid;place-items:center;vertical-align:middle;margin:0 10px 0 0;cursor:pointer}
.woocommerce form input[type=radio]:checked{border-color:var(--ember);background:radial-gradient(circle,var(--ember) 0 4px,var(--steel-900) 5px)}
#ship-to-different-address{font-size:15px;margin:0 0 14px}
#ship-to-different-address label,.woocommerce-form__label-for-checkbox,.woocommerce-form-login__rememberme{font-family:var(--ff-body);font-size:14px;font-weight:400;letter-spacing:0;text-transform:none;color:var(--fog);display:inline-flex;align-items:center;cursor:pointer}
.woocommerce-checkout #customer_details .col-2{margin-top:0}
.woocommerce-checkout .woocommerce-additional-fields h3{margin-top:8px}
.woocommerce form .form-row.create-account{margin:6px 0 4px}

/* ===== Đợt 3: ghi đè Fluent Forms + nhãn checkbox + bản đồ ===== */
.fluentform .ff-btn-submit,.fluentform button.ff-btn-submit,.fluentform .ff-btn.ff-btn-submit{border-radius:99px!important;padding:14px 30px!important;min-height:48px;font-size:14px!important;font-weight:500!important;line-height:1.2}
.fluentform select.ff-el-form-control{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236E7278' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;padding-right:42px;cursor:pointer}
.fluentform textarea.ff-el-form-control{line-height:1.6;padding-top:14px}
.fluentform .ff-el-form-control::placeholder{line-height:1.6}
.woocommerce form .form-row label.woocommerce-form__label-checkbox,
.woocommerce form .form-row label.checkbox,
.woocommerce-checkout .validate-required.form-row label.woocommerce-form__label-for-checkbox,
.woocommerce form .woocommerce-form__label-for-checkbox,
.woocommerce form label[for=terms],.woocommerce form label[for=createaccount],.woocommerce form label[for=rememberme],#ship-to-different-address label{text-transform:none!important;letter-spacing:0!important;font-size:14px!important;color:var(--fog)!important;display:inline-flex!important;align-items:flex-start;gap:0;line-height:1.6}
.woocommerce form label[for=terms] a{color:var(--ember-soft)!important;text-decoration:underline;text-underline-offset:3px;text-transform:none!important}
.woocommerce form label[for=terms] .required{color:var(--ember);margin-left:4px}
.woocommerce-terms-and-conditions-wrapper .form-row{margin:12px 0 0}
.woocommerce-privacy-policy-text p{margin:0}
.map-frame{position:relative}
.map-frame iframe{display:block;width:100%;height:100%;min-height:300px;border:0;border-radius:inherit;filter:grayscale(.85) invert(.9) contrast(.9)}
.map-open{position:absolute;right:14px;bottom:14px;z-index:2;padding:9px 16px;border-radius:99px;background:rgba(10,10,11,.82);border:1px solid var(--line);color:var(--chalk);font-size:13px;backdrop-filter:blur(8px)}
.map-open:hover{border-color:var(--ember);color:var(--ember-soft)}
.map-frame::before{display:none}
.map-frame{display:block}

/* ===== Mobile: bảng giỏ hàng / tổng giỏ hàng thành dạng thẻ ===== */
@media(max-width:700px){
  .woocommerce table.shop_table_responsive,
  .woocommerce table.shop_table_responsive tbody,
  .woocommerce table.shop_table_responsive tfoot{display:block;width:100%}
  .woocommerce table.shop_table_responsive thead{display:none}
  .woocommerce table.shop_table_responsive tr{display:block;width:100%}
  .woocommerce table.shop_table_responsive tr.cart_item{position:relative;padding:6px 0;border-bottom:1px solid var(--line)}
  .woocommerce table.shop_table_responsive tr td{display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%;box-sizing:border-box;padding:10px 18px;border:0;text-align:right}
  .woocommerce table.shop_table_responsive tr td::before{content:attr(data-title);flex:none;color:var(--fog-dim);font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;text-align:left}
  .woocommerce table.shop_table_responsive tr td.product-remove{position:absolute;top:4px;right:4px;width:auto;padding:8px 12px;z-index:2}
  .woocommerce table.shop_table_responsive tr td.product-remove::before,
  .woocommerce table.shop_table_responsive tr td.product-thumbnail::before{display:none}
  .woocommerce table.shop_table_responsive tr td.product-thumbnail{justify-content:flex-start;padding-top:14px}
  .woocommerce table.shop_table_responsive tr td.product-name{justify-content:flex-start;text-align:left;font-size:15px}
  .woocommerce table.shop_table_responsive tr td.product-name::before{display:none}
  .woocommerce table.cart td.product-thumbnail,.woocommerce table.cart th.product-thumbnail{width:100%}
  .woocommerce table.cart td.actions{display:block;padding:18px;float:none}
  .woocommerce table.cart td.actions::before{display:none}
  .woocommerce table.cart td.actions .coupon{float:none;display:flex;flex-wrap:wrap;width:100%;max-width:none;margin:0 0 12px}
  .woocommerce table.cart td.actions .coupon input.input-text{flex:1 1 100%;width:100%}
  .woocommerce table.cart td.actions .coupon .button{flex:1 1 auto}
  .woocommerce table.cart td.actions > button[name="update_cart"]{float:none;width:100%}
  /* tổng giỏ hàng: tiêu đề trái, giá trị phải, không lặp nhãn */
  .woocommerce .cart_totals table.shop_table_responsive tr{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:6px 0;border-bottom:1px solid var(--line)}
  .woocommerce .cart_totals table.shop_table_responsive tr:last-child{border-bottom:0}
  .woocommerce .cart_totals table.shop_table_responsive th{display:block;width:auto;padding:10px 18px;border:0;white-space:normal}
  .woocommerce .cart_totals table.shop_table_responsive td{display:block;width:auto;flex:1;padding:10px 18px;text-align:right}
  .woocommerce .cart_totals table.shop_table_responsive td::before{display:none}
  .woocommerce .cart_totals{width:100%}
  .woocommerce .cart-collaterals{justify-content:stretch}
}

/* ===== Sửa tràn ngang trên mobile ===== */
@media(max-width:700px){
  .shop-toolbar{flex-wrap:wrap;gap:12px}
  .toolbar-right{width:100%;display:flex;gap:10px}
  .toolbar-right .select{flex:1 1 auto;min-width:0}
  .toolbar-right .select select,.woocommerce-ordering select{width:100%;max-width:100%}
  .toolbar-right .filter-toggle{flex:none}
}
.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%;margin-block:6px}
.table-scroll table{min-width:620px}
.prose table{border-collapse:collapse;width:100%}
.prose th,.prose td{padding:12px 14px;border-bottom:1px solid var(--line);text-align:left;font-size:14px;vertical-align:top}
.prose th{font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--fog-dim);font-weight:500}

/* ===== Thanh tìm kiếm ===== */
.search-bar{position:relative;z-index:60;background:var(--coal);border-bottom:1px solid var(--line);padding:18px 0 14px;animation:srchIn .25s var(--ease)}
.search-bar[hidden]{display:none}
@keyframes srchIn{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
.search-form{display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:99px;background:var(--steel-900);padding:6px 8px 6px 20px;color:var(--fog)}
.search-form:focus-within{border-color:var(--ember)}
.search-form input[type=search]{flex:1;min-width:0;background:none;border:0;color:var(--chalk);font:400 16px var(--ff-body);padding:10px 4px;outline:0;-webkit-appearance:none}
.search-form input[type=search]::placeholder{color:var(--fog-dim)}
.search-form .btn{padding:11px 24px}
.search-hints{display:flex;flex-wrap:wrap;gap:8px 14px;margin:12px 6px 0;font-size:13px;color:var(--fog-dim)}
.search-hints a{color:var(--fog);border-bottom:1px solid var(--line)}
.search-hints a:hover{color:var(--ember-soft);border-color:var(--ember)}
@media(max-width:700px){.search-form{padding-left:14px}.search-form .btn{display:none}.search-form svg:first-child{flex:none}}

/* ===== Thanh toán: tách bảng đơn hàng và khối thanh toán ===== */
.woocommerce-checkout #order_review table.shop_table{margin-bottom:20px}
.woocommerce-checkout #payment{margin-top:0}

/* ===== Blog ===== */
.chip-row{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:30px}
.chip-row .chip{text-decoration:none}
.post-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
@media(max-width:980px){.post-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.post-grid{grid-template-columns:minmax(0,1fr)}}
.post-card{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:var(--r-md);background:var(--steel-900);overflow:hidden;transition:border-color .4s var(--ease),transform .4s var(--ease)}
.post-card:hover{border-color:rgba(226,86,43,.4);transform:translateY(-4px)}
.post-cover{display:grid;place-items:center;aspect-ratio:16/10;background:radial-gradient(ellipse 60% 60% at 50% 48%,rgba(255,255,255,.05),transparent 70%),url("img/damascus-steel.jpg") center/cover;overflow:hidden}
.post-cover-img{width:100%;height:100%;object-fit:cover;display:block}
.post-cover-art{width:78%;height:auto;opacity:.9}
.post-body{display:flex;flex-direction:column;gap:10px;padding:22px 24px 24px;flex:1}
.post-meta{display:flex;flex-wrap:wrap;gap:6px 12px;font-size:12px;letter-spacing:.06em;color:var(--fog-dim);margin:0}
.post-cat{color:var(--ember-soft);text-transform:uppercase;letter-spacing:.12em}
.post-title{font-size:clamp(20px,2vw,24px);font-weight:400;line-height:1.3;margin:0}
.post-title a:hover{color:var(--ember-soft)}
.post-excerpt{color:var(--fog);font-size:14.5px;line-height:1.7;margin:0}
.post-body .link-more{margin-top:auto;align-self:flex-start}
.post-hero{margin:0 0 clamp(28px,4vw,48px);border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--line)}
.post-hero img{width:100%;height:auto;display:block;max-height:520px;object-fit:cover}
.pagination .nav-links{display:flex;gap:8px;justify-content:center;margin-top:40px;flex-wrap:wrap}
.nav-links .page-numbers{display:inline-grid;place-items:center;min-width:40px;height:40px;padding:0 12px;border:1px solid var(--line);border-radius:99px;color:var(--fog)}
.nav-links .page-numbers.current{background:var(--chalk);border-color:var(--chalk);color:var(--ink)}
.prose img{border-radius:var(--r-md);height:auto;max-width:100%}
.prose blockquote{border-left:2px solid var(--ember);margin:24px 0;padding:4px 0 4px 20px;color:var(--chalk);font-family:var(--ff-display);font-size:1.15em}
.prose figure{margin:24px 0}
.prose figcaption{font-size:13px;color:var(--fog-dim);margin-top:8px}

/* Ảnh bìa bài viết: nền thép tối dịu như thẻ sản phẩm */
.post-cover{background:linear-gradient(rgba(10,10,11,.86),rgba(10,10,11,.9)),radial-gradient(ellipse 60% 60% at 50% 48%,rgba(255,255,255,.05),transparent 70%),url("img/damascus-steel.jpg") center/cover}
.post-cover-art{width:62%}

/* Bảng thép: số cột theo dữ liệu có */
.steel-table .steel-row{grid-template-columns:var(--steel-cols,1.4fr .8fr 1fr 1fr 1.6fr)}

/* ===== Ảnh sản phẩm thật (ảnh dọc) ===== */
.product-media{aspect-ratio:4/5}
.product-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .7s var(--ease)}
li.product:hover .product-media img{transform:scale(1.04)}
.gallery-main{aspect-ratio:4/5}
.gallery-img{object-position:center}
.products.columns-3 .product-media,.products.columns-4 .product-media{aspect-ratio:4/5}
.thumb{aspect-ratio:4/5;padding:0;overflow:hidden}
.thumb img{object-position:center}
.gallery-thumbs{grid-template-columns:repeat(4,1fr)}
@media(max-width:700px){.gallery-main{aspect-ratio:1/1.1}}

/* ===== Ảnh/video thật của xưởng ===== */
.hero-has-video{min-height:clamp(340px,46vw,600px)}
.hero-video-frame{position:relative;width:min(62%,330px);aspect-ratio:9/16;border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--line);box-shadow:0 40px 80px rgba(0,0,0,.6),0 0 90px rgba(226,86,43,.18);background:var(--ink)}
.hero-video{width:100%;height:100%;object-fit:cover;display:block}
.hero-video-frame::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 60%,rgba(10,10,11,.55));pointer-events:none}
@media(max-width:980px){.hero-video-frame{width:min(60%,260px)}}
@media(prefers-reduced-motion:reduce){.hero-video{display:none}.hero-video-frame{background:url("hero/lo-ren-bua-may.jpg") center/cover}}
.process-photos{position:relative;padding:0;aspect-ratio:4/5;overflow:hidden}
.process-photos::before{display:none}
.process-photos img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .7s var(--ease)}
.process-photos img.is-on{opacity:1}
.story-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.75}
.story-frame::before,.story-frame::after{z-index:1}
.story-quote{z-index:3}

.col-card{position:relative}
.col-photo{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:12px;display:block;margin-block:14px 18px;filter:saturate(.95)}
.col-photo{aspect-ratio:16/10;height:auto;max-height:260px}

/* ===== Video hero: khung dọc lớn hơn, bo góc, ánh sáng cam ===== */
.hero-has-video{min-height:clamp(380px,50vw,640px)}
.hero-video-frame{width:min(74%,400px);box-shadow:0 50px 100px rgba(0,0,0,.65),0 0 120px rgba(226,86,43,.22)}
@media(max-width:980px){.hero-video-frame{width:min(66%,320px)}}
.hero-tag.tag-a{top:9%;right:0}
.hero-tag.tag-b{bottom:14%;left:0}

.skyk-credit{color:var(--fog);font-weight:500;text-decoration:underline;text-underline-offset:3px}
.skyk-credit:hover{color:var(--ember-soft)}

/* Chân dung chủ xưởng (ảnh tách nền) */
.hero-portrait{position:relative;width:min(80%,460px);aspect-ratio:1000/1400;display:grid;place-items:end center}
.hero-portrait::before{content:"";position:absolute;inset:10% -10% 0;background:radial-gradient(closest-side,rgba(226,86,43,.32),transparent 72%);filter:blur(10px)}
.hero-portrait-img{position:relative;width:100%;height:100%;object-fit:contain;object-position:bottom;-webkit-mask-image:linear-gradient(180deg,#000 82%,transparent 100%);mask-image:linear-gradient(180deg,#000 82%,transparent 100%)}
@media(max-width:980px){.hero-portrait{width:min(70%,320px)}}

.skyk-contact-seller{padding:16px 18px;border:1px solid var(--line);border-radius:var(--r-md,12px);background:rgba(226,86,43,.08);line-height:1.7}
.skyk-contact-seller b{color:var(--chalk)}

/* Khối đứng sau khối Quy trình (có viền/nền riêng) cần khoảng thở phía trên */
.process + .sec{padding-top:clamp(56px,7vw,104px)!important}
/* fieldset của WooCommerce (đổi mật khẩu…) */
.woocommerce fieldset{margin:28px 0 0;padding:22px 22px 8px;border:1px solid var(--line);border-radius:var(--r-md,12px);background:var(--steel-900,#16171a);min-width:0}
.woocommerce fieldset legend{padding:0 10px;margin-left:-10px;font-family:var(--ff-display);font-size:19px;color:var(--chalk)}
.woocommerce fieldset .form-row{margin-bottom:18px}

/* Gallery sản phẩm: ảnh luôn lấp đầy khung, khung không cao hơn màn hình để sticky hoạt động */
.gallery-main{width:100%;max-height:max(380px,calc(100vh - var(--header-h) - 150px))}
.gallery-main .gallery-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
@media(max-width:980px){.gallery-main{max-height:none}}
/* Ảnh bìa bài viết: khung rộng cố định, ảnh được cắt đúng tỉ lệ thay vì kéo giãn */
.post-hero{aspect-ratio:21/9;max-height:none}
.post-hero img{width:100%;height:100%;max-height:none;object-fit:cover;object-position:center 40%}
@media(max-width:700px){.post-hero{aspect-ratio:16/10}}
/* Người thợ có ảnh chân dung: ảnh tách nền đứng sát đáy khung */
.smith-feature{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(24px,5vw,72px);align-items:center;border:1px solid var(--line);border-radius:var(--r-lg);background:linear-gradient(170deg,var(--steel-900),var(--coal));overflow:hidden;padding:clamp(28px,4vw,56px) clamp(24px,4vw,64px) 0;margin-bottom:16px}
.smith-photo{position:relative;align-self:end;width:min(100%,380px);margin-inline:auto}
.smith-photo::before{content:"";position:absolute;inset:8% -14% 0;background:radial-gradient(closest-side,rgba(226,86,43,.3),transparent 72%)}
.smith-photo img{position:relative;width:100%;height:auto}
.smith-text{padding-bottom:clamp(28px,4vw,56px)}
.smith-text blockquote{margin:0 0 26px;font-family:var(--ff-display);font-size:clamp(21px,2.4vw,30px);line-height:1.3;color:var(--chalk)}
.smith-text b{display:block;font-weight:500;font-size:16px}
.smith-text span{font-size:13px;color:var(--fog-dim)}
@media(max-width:800px){.smith-feature{grid-template-columns:minmax(0,1fr);padding-inline:22px}.smith-text{order:-1;padding-bottom:0}.smith-photo{width:min(78%,300px)}}

/* Gallery đứng yên theo trang: sticky làm ảnh tụt xuống mỗi khi cột bên phải đổi chiều cao (mở/đóng mục) */
.gallery{position:static}
.gallery-main .gallery-img{transition:opacity .18s ease}
.gallery-main .gallery-img.is-swapping{opacity:.35}

/* Không để một chữ lẻ rớt xuống dòng cuối */
main p,main li,main dd,.acc-body,.info-list span,.lede,.review p,.col-desc,.story-list span{text-wrap:pretty}
main h1,main h2,main h3,.sec-title,.page-head h1{text-wrap:balance}
.info-list li > div,.info-list li > div > span,.story-list li > div,.story-list li > div > span,.review-who div,.steel-use,.spec-list dd{text-wrap:pretty}
.info-list li > div > span,.story-list li > div > span{display:block}
.info-list li > div > span,.story-list li > div > span,.review p,.col-desc{text-wrap:balance}
.acc-body p{text-wrap:balance}

/* Nhãn nhỏ trên thẻ sản phẩm: giữ ≥11px cho dễ đọc trên điện thoại */
.badge-new,.badge-soldout{font-size:11px}
.product-cat{font-size:11px}
