:root {
  --bg: #f7f2fa;
  --surface: #ffffff;
  --surface-2: #efe6f7;
  --text: #1d1b20;
  --muted: #49454f;
  --primary: #6750a4;
  --primary-contrast: #ffffff;
  --border: #d0c4df;
  --shadow: 0 10px 30px rgba(29, 27, 32, 0.12);
  --radius: 20px;
  --max-width: 1160px;
}

:root[data-theme="dark"] {
  --bg: #121212;
  --surface: #1e1e1e;
  --surface-2: #2a2a2a;
  --text: #f5f5f5;
  --muted: #cfcfcf;
  --primary: #d0bcff;
  --primary-contrast: #1d1b20;
  --border: #3d3d3d;
  --shadow: 0 10px 30px rgba(0, 0, 0, 0.35);
}

* {
  box-sizing: border-box;
}

body {
  margin: 0;
  font-family: "Inter", "Segoe UI", Roboto, Arial, sans-serif;
  background: linear-gradient(180deg, var(--bg) 0%, color-mix(in srgb, var(--bg) 85%, var(--surface)) 100%);
  color: var(--text);
  line-height: 1.6;
  transition: background 0.3s ease, color 0.3s ease;
}

img {
  max-width: 100%;
  display: block;
}

a {
  color: inherit;
}

.container {
  width: min(100% - 2rem, var(--max-width));
  margin: 0 auto;
}

.site-header {
  position: sticky;
  top: 0;
  z-index: 20;
  background: color-mix(in srgb, var(--surface) 90%, transparent);
  backdrop-filter: blur(18px);
  border-bottom: 1px solid var(--border);
}

.site-footer {
  border-top: 1px solid var(--border);
  padding: 1.75rem 0;
  margin-top: 3rem;
  background: var(--surface);
}

.nav-bar,
.footer-layout {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem 0;
}

.brand {
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
  font-weight: 700;
  font-size: 1.05rem;
  text-decoration: none;
}

.brand-mark {
  display: grid;
  place-items: center;
  width: 2.4rem;
  height: 2.4rem;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--primary), #4f46e5);
  color: var(--primary-contrast);
  font-weight: 700;
}

.nav-links,
.header-actions,
.hero-actions,
.hero-stats,
.footer-links,
.tag-list,
.link-list,
.pill-row {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  flex-wrap: wrap;
}

.nav-links a,
.footer-links a,
.link-list a,
.text-link,
.section-header a {
  color: var(--muted);
  text-decoration: none;
}

.icon-button,
.button {
  border: 0;
  border-radius: 999px;
  padding: 0.75rem 1rem;
  cursor: pointer;
  font: inherit;
  transition: transform 0.2s ease, background 0.2s ease;
}

.icon-button {
  background: var(--surface-2);
  color: var(--text);
}

.button.primary {
  background: var(--primary);
  color: var(--primary-contrast);
  text-decoration: none;
  display: inline-block;
}

.button.secondary,
.button.ghost {
  background: transparent;
  border: 1px solid var(--border);
  color: #000000;
  text-decoration: none;
  display: inline-block;
}

.button:hover,
.icon-button:hover {
  transform: translateY(-1px);
}

.card {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  padding: 1.35rem;
}

.hero {
  margin: 2rem 0;
  display: grid;
  grid-template-columns: 1.2fr 0.8fr;
  gap: 1rem;
  padding: 2rem;
}

.hero-content h1 {
  margin: 0.25rem 0 0.75rem;
  font-size: clamp(1.95rem, 2.4vw, 3.2rem);
  line-height: 1.08;
}

.hero-content p {
  margin: 0;
  max-width: 62ch;
}

.eyebrow {
  text-transform: uppercase;
  letter-spacing: 0.2em;
  font-size: 0.8rem;
  color: var(--primary);
  font-weight: 700;
}

.hero-stats {
  list-style: none;
  padding: 0;
  margin: 1.2rem 0 0;
}

.hero-stats li {
  background: var(--surface-2);
  padding: 0.65rem 0.9rem;
  border-radius: 999px;
  font-weight: 600;
}

.hero-panel {
  background: linear-gradient(135deg, var(--surface-2), var(--surface));
}

.feature-list,
.link-list {
  padding-left: 1rem;
  margin: 0.75rem 0 0;
}

.section-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin: 2rem 0 1rem;
}

.section-header h2 {
  margin: 0;
  font-size: 1.25rem;
}

.feature-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}

.feature-card h3,
.post-card h3,
.sidebar-card h3 {
  margin: 0 0 0.4rem;
}

.content-grid {
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: 1rem;
  margin-top: 1rem;
}

.posts-grid {
  display: grid;
  gap: 1rem;
}

.post-card {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 190px;
}

.card-image-link {
  display: block;
  margin: -1.35rem -1.35rem 1rem;
  overflow: hidden;
  border-radius: calc(var(--radius) - 1px) calc(var(--radius) - 1px) 0 0;
}

.card-image {
  width: 100%;
  height: 220px;
  object-fit: cover;
  transition: transform 0.25s ease;
}

.card-image-link:hover .card-image {
  transform: scale(1.03);
}

.content-featured-image {
  width: 100%;
  max-height: 520px;
  margin: 1rem 0 1.5rem;
  border-radius: calc(var(--radius) - 4px);
  object-fit: cover;
}

/* List cards: keep the text readable on the left and use the right column
   for a consistent rectangular thumbnail. */
.post-card.has-card-image,
.category-card.has-card-image {
  display: grid;
  grid-template-columns: minmax(0, 1fr) clamp(210px, 27%, 290px);
  grid-template-rows: 1fr auto;
  column-gap: 1.5rem;
  min-height: 190px;
  overflow: hidden;
}

.post-card.has-card-image > div,
.category-card.has-card-image > div {
  grid-column: 1;
}

.post-card.has-card-image > .text-link,
.category-card.has-card-image > .text-link {
  grid-column: 1;
  align-self: end;
}

.post-card.has-card-image > .card-image-link,
.category-card.has-card-image > .card-image-link {
  grid-column: 2;
  grid-row: 1 / span 2;
  margin: -1.35rem -1.35rem -1.35rem 0;
  padding: 0.75rem;
  background:
    radial-gradient(circle at 20% 15%, color-mix(in srgb, var(--primary) 24%, transparent), transparent 48%),
    var(--surface-2);
  border-left: 1px solid var(--border);
  border-radius: 0 calc(var(--radius) - 1px) calc(var(--radius) - 1px) 0;
}

.post-card.has-card-image .card-image,
.category-card.has-card-image .card-image {
  height: 100%;
  min-height: 0;
  border-radius: calc(var(--radius) - 10px);
  object-fit: cover;
  box-shadow: 0 12px 24px rgba(24, 33, 28, 0.16);
}

@media (max-width: 650px) {
  .post-card.has-card-image,
  .category-card.has-card-image {
    display: flex;
    min-height: 0;
  }

  .post-card.has-card-image > .card-image-link,
  .category-card.has-card-image > .card-image-link {
    order: -1;
    margin: -1.35rem -1.35rem 1rem;
    border-radius: calc(var(--radius) - 1px) calc(var(--radius) - 1px) 0 0;
  }

  .post-card.has-card-image .card-image,
  .category-card.has-card-image .card-image {
    height: 200px;
    min-height: 0;
  }
}

.post-meta {
  color: var(--primary);
  font-weight: 700;
  font-size: 0.85rem;
  margin: 0 0 0.4rem;
}

.sidebar {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.tag-list {
  list-style: none;
  padding: 0;
  margin: 0.75rem 0 0;
}

.tag-list a,
.link-list a {
  display: inline-block;
  padding: 0.4rem 0.7rem;
  border-radius: 999px;
  background: var(--surface-2);
}

.page-shell {
  display: grid;
  gap: 1rem;
  margin: 2rem 0 0;
}

.content-hero,
.product-hero {
  background: linear-gradient(135deg, var(--surface-2), var(--surface));
  border-radius: calc(var(--radius) + 8px);
  padding: 1.6rem;
  display: grid;
  gap: 0.9rem;
}

.content-hero h1,
.product-hero h1 {
  margin: 0;
  font-size: clamp(1.8rem, 2.5vw, 2.7rem);
  line-height: 1.1;
}

.lead {
  margin: 0;
  font-size: 1.02rem;
  color: var(--muted);
  max-width: 68ch;
}

.pill {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  padding: 0.45rem 0.7rem;
  background: var(--surface);
  border: 1px solid var(--border);
  font-size: 0.86rem;
  font-weight: 600;
}

.detail-grid {
  display: grid;
  grid-template-columns: 1.6fr 0.9fr;
  gap: 1rem;
}

.content-card,
.sidebar-card {
  padding: 1.4rem;
}

.post-body h2,
.post-body h3 {
  margin-top: 1.1rem;
}

.post-body ul,
.post-body ol {
  padding-left: 1.15rem;
}

.post-body blockquote {
  margin: 1rem 0;
  padding: 0.9rem 1rem;
  border-left: 4px solid var(--primary);
  border-radius: 0.8rem;
  background: var(--surface-2);
}

.icon-list {
  list-style: none;
  padding: 0;
  margin: 0.75rem 0 0;
  display: grid;
  gap: 0.65rem;
}

.icon-list li {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  padding: 0.75rem 0.9rem;
  border-radius: 1rem;
  background: var(--surface-2);
}

.icon-list li::before {
  content: "âœ“";
  color: var(--primary);
  font-weight: 700;
}

.product-hero {
  grid-template-columns: 1.2fr 0.8fr;
  align-items: center;
}

.stat-card {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 1rem;
  display: grid;
  gap: 0.35rem;
}

.stat-label {
  font-size: 0.78rem;
  text-transform: uppercase;
  letter-spacing: 0.2em;
  color: var(--primary);
  font-weight: 700;
}

@media (max-width: 900px) {
  .hero,
  .feature-grid,
  .content-grid,
  .detail-grid,
  .product-hero {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 768px) {
  .nav-bar,
  .footer-layout {
    flex-wrap: wrap;
  }

  .nav-links {
    order: 3;
    width: 100%;
    justify-content: space-between;
  }

  .hero,
  .content-hero,
  .product-hero {
    padding: 1.25rem;
  }
}

/* Editorial page system */
:root{--ink:#18211c;--cream:#f6f3ec;--lime:#d8ff5e;--orange:#ff684a;--line:#d9d7cf;--serif:Georgia,'Times New Roman',serif}body{background:var(--cream);color:var(--ink)}.site-header{background:rgba(246,243,236,.92);border-color:var(--line)}.brand-mark{background:#32eaff;color:#000000;border-radius:8px}.site-footer{background:#1a221d;color:#f7f5ed;border:0}.nav-links a,.footer-links a{color:inherit}.page-shell{margin-top:2rem}.eyebrow{color:#63733a;letter-spacing:.13em}.button.secondary{border-color:var(--ink)}.crumb{display:flex;gap:.55rem;font-size:.82rem;color:#6c716a;margin-bottom:2.8rem}.crumb a{color:inherit}.product-showcase{min-height:590px;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:2rem;padding:4.5rem 3.5rem;background:#e8f1dc;margin:2rem 0 0;overflow:hidden}.product-copy h1,.article-heading h1,.about-hero h1,.contact-hero h1,.faq-hero h1{font:clamp(3.2rem,6vw,6.8rem)/.94 var(--serif);letter-spacing:-.065em;margin:.5rem 0 1.35rem}.product-lead,.article-deck{font-size:1.12rem;line-height:1.65;max-width:32rem;color:#515b53}.product-rating{margin:1.5rem 0;color:#e29227}.product-rating b,.product-rating small{color:var(--ink)}.price-row{display:flex;align-items:center;gap:1rem;margin:1.4rem 0}.price-row strong{font-size:1.7rem}.price-row del{color:#7f857e}.price-row em{font-style:normal;padding:.2rem .5rem;background:#ffceb8;font-size:.8rem}.product-actions{display:flex;gap:.8rem;flex-wrap:wrap}.delivery-note{font-size:.8rem;margin-top:1.4rem}.device-stage{height:440px;position:relative;display:grid;place-items:center}.stage-glow{position:absolute;width:390px;height:390px;border-radius:50%;background:var(--lime);filter:blur(2px)}.laptop{position:relative;z-index:1;transform:perspective(800px) rotateY(-12deg) rotateX(4deg);filter:drop-shadow(35px 35px 20px #80926f88)}.laptop-screen{width:355px;height:235px;padding:12px;background:#29342c;border:7px solid #111;position:relative;border-radius:13px 13px 4px 4px}.laptop-screen>span{position:absolute;left:50%;bottom:7px;font-size:8px;color:#e6f3da}.screen-wallpaper{height:100%;overflow:hidden;background:#cce35e;position:relative}.screen-wallpaper i{position:absolute;border-radius:50%;background:#ff7959}.screen-wallpaper i:first-child{width:210px;height:210px;left:-32px;top:50px}.screen-wallpaper i:nth-child(2){width:165px;height:165px;right:-30px;top:-26px;background:#f3ae3b}.screen-wallpaper i:last-child{width:100px;height:100px;left:120px;top:55px;background:#385954}.laptop-base{height:15px;width:405px;background:#d8dfd4;margin-left:-25px;border-radius:0 0 45% 45%;box-shadow:0 8px 5px #587050}.float-chip{position:absolute;z-index:2;background:#fff;padding:.75rem .9rem;font-size:.7rem;line-height:1.35;box-shadow:0 6px 25px #52614638}.chip-one{left:0;top:60px}.chip-two{right:0;bottom:60px}.trust-strip{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);margin:0 0 7rem}.trust-strip>div{display:flex;align-items:center;gap:1rem;padding:1.6rem;border-right:1px solid var(--line)}.trust-strip>div:last-child{border:0}.trust-strip b,.values-grid b{font-size:1.5rem;color:#7d9740}.trust-strip small{color:#70766f}.product-details{display:grid;grid-template-columns:1.25fr .75fr;gap:5rem;margin-bottom:7rem}.editorial-content h2,.statement h2,.principles h2{font:clamp(2rem,3.7vw,4rem)/1.04 var(--serif);letter-spacing:-.045em;margin:.4rem 0 2rem}.post-body{font-size:1.05rem;line-height:1.8}.spec-card{background:#1c261e;color:#fff;padding:2.2rem;height:max-content}.spec-card dl{margin:1.5rem 0 0}.spec-card dl div{display:flex;justify-content:space-between;border-top:1px solid #526050;padding:1rem 0}.spec-card dt{color:#bbc4b9}.spec-card dd{margin:0}.article-page{margin-top:4rem}.article-heading{max-width:830px;margin:0 auto 3.2rem}.article-heading .crumb{margin-bottom:3.5rem}.article-deck{max-width:580px}.author-line{display:flex;align-items:center;gap:.7rem;margin-top:1.7rem}.author-avatar{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--lime);font-weight:bold}.author-line span:last-child{display:grid;font-size:.83rem}.author-line small{color:#747974}.article-visual{max-width:1040px;margin:auto;background:#2d4c4a;padding:2rem}.hero-window{height:400px;background:#f6eac8;position:relative;overflow:hidden;padding:1.5rem}.window-top{display:flex;gap:5px}.window-top i{width:8px;height:8px;border-radius:50%;background:#526b67}.window-copy{position:relative;z-index:1;margin:80px 0 0 8%;display:grid;gap:1rem}.window-copy strong{font:clamp(2rem,4vw,4.7rem)/.95 var(--serif);letter-spacing:-.06em}.window-copy button{background:var(--ink);color:#fff;border:0;width:max-content;padding:.7rem 1rem}.window-shape{position:absolute;border-radius:50%}.shape-a{width:330px;height:330px;background:#e6674e;right:7%;top:15%}.shape-b{width:210px;height:210px;background:var(--lime);right:25%;bottom:-26%}.article-layout{max-width:930px;margin:5rem auto;display:grid;grid-template-columns:180px 1fr;gap:4rem}.article-toc{display:grid;align-content:start;gap:.8rem;font-size:.85rem;position:sticky;top:110px;height:max-content}.article-toc span{font-weight:bold}.article-toc a{color:#6a7169;text-decoration:none}.principles{border-top:1px solid var(--line);margin-top:3rem;padding-top:3rem}.principles>div{display:grid;gap:0}.principles span{padding:1rem 0;border-top:1px solid var(--line)}.principles b{color:#7d9740;margin-right:1rem}.article-next{margin-top:3rem;background:var(--lime);padding:2rem}.article-next p{font:1.8rem var(--serif)}
.about-hero{display:grid;grid-template-columns:1.1fr .9fr;gap:3rem;align-items:center;min-height:580px;padding:4rem 0}.about-hero>div:first-child>p:not(.eyebrow),.contact-hero>p:last-child,.faq-hero>p:last-child{font-size:1.1rem;line-height:1.7;max-width:34rem;color:#5e675f}.about-hero i,.contact-hero i,.faq-hero i{color:#849d3f;font-weight:normal}.text-arrow{display:inline-block;margin-top:1.7rem;color:var(--ink);font-weight:bold}.about-art{background:#d5ec65;position:relative;height:460px;overflow:hidden}.about-word{position:absolute;z-index:2;left:11%;top:12%;font:clamp(3rem,5vw,5.5rem)/.79 var(--serif);letter-spacing:-.08em}.about-orb{position:absolute;border-radius:50%}.orb-a{height:320px;width:320px;background:#ff7a5c;bottom:-80px;right:-30px}.orb-b{height:150px;width:150px;background:#315b54;top:90px;right:70px}.statement{max-width:850px;margin:3rem auto 5rem}.statement .post-body{max-width:600px}.values-grid{display:grid;grid-template-columns:repeat(3,1fr);margin-bottom:6rem;border-top:1px solid var(--line)}.values-grid article{padding:2rem 1.5rem 1rem 0;border-right:1px solid var(--line)}.values-grid article+article{padding-left:1.5rem}.values-grid article:last-child{border:0}.values-grid h3{font:1.6rem var(--serif);margin:2.7rem 0 .5rem}.values-grid p{color:#687068}.contact-hero,.faq-hero{padding:5.8rem 8% 4rem;background:#d8ed72;margin:2rem 0 0}.contact-hero{background:#dbeabf}.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:5rem;padding:5rem 8%;background:#fff}.contact-options{display:grid;align-content:start}.contact-options a{display:flex;align-items:center;gap:1rem;padding:1.2rem 0;border-bottom:1px solid var(--line);text-decoration:none}.contact-options a>span{font-size:1.6rem;width:35px}.contact-options div{display:grid;gap:.15rem}.contact-options small{color:#70766f}.contact-options i{font-style:normal;margin-left:auto}.contact-form{display:grid;gap:1.15rem}.contact-form label{display:grid;gap:.5rem;font-size:.85rem;font-weight:bold}.contact-form input,.contact-form select,.contact-form textarea{font:inherit;border:0;border-bottom:1px solid #a9afa8;padding:.8rem 0;background:transparent;color:var(--ink);outline:none}.contact-form textarea{height:90px;resize:vertical}.contact-form .button{justify-self:start;margin-top:.5rem}.faq-hero{margin:2rem 0 0;min-height:350px}.faq-layout{display:grid;grid-template-columns:220px 1fr;gap:5rem;max-width:950px;margin:5rem auto}.faq-layout aside{display:grid;align-content:start;gap:.8rem;position:sticky;top:110px;height:max-content}.faq-layout aside a{color:#646b63;text-decoration:none}.faq-list>div+div{margin-top:3rem}.faq-list details{border-top:1px solid var(--line);padding:1.3rem 0}.faq-list summary{cursor:pointer;font:1.35rem var(--serif);list-style:none;display:flex;justify-content:space-between}.faq-list summary::after{content:'+';font-family:Arial}.faq-list details[open] summary::after{content:'âˆ’'}.faq-list details p{color:#60685f;max-width:600px}.faq-cta{display:flex;justify-content:space-between;align-items:center;padding:2.2rem 8%;background:#1c261e;color:#fff;margin-bottom:4rem}.faq-cta p{font:1.5rem var(--serif)}.faq-cta a{color:var(--lime)}
@media(max-width:800px){.nav-links{overflow:auto;justify-content:flex-start}.header-actions .ghost{display:none}.product-showcase,.about-hero,.contact-grid{grid-template-columns:1fr;padding:3.2rem 1.4rem}.product-showcase{gap:1rem}.device-stage{height:320px}.stage-glow{width:280px;height:280px}.laptop-screen{width:275px;height:182px}.laptop-base{width:310px;margin-left:-18px}.float-chip{font-size:.58rem}.trust-strip,.values-grid{grid-template-columns:1fr}.trust-strip>div,.values-grid article{border-right:0;border-bottom:1px solid var(--line)}.product-details,.article-layout,.faq-layout{grid-template-columns:1fr;gap:2rem}.product-details{margin-bottom:4rem}.article-page{margin-top:2rem}.article-heading{padding:0 .2rem}.article-visual{padding:1rem}.hero-window{height:290px}.window-copy{margin-top:45px}.article-layout{margin:3rem auto}.article-toc,.faq-layout aside{position:static}.article-toc{grid-template-columns:1fr 1fr}.article-toc span{grid-column:1/-1}.contact-hero,.faq-hero{padding:4rem 1.4rem}.contact-grid{gap:3rem}.faq-layout{margin:3rem 0}.faq-layout aside{grid-template-columns:repeat(3,1fr)}.faq-layout aside b{grid-column:1/-1}.faq-cta{padding:2rem 1.4rem;display:grid;gap:1rem}.site-footer{margin-top:0}}

/* Dark mode overrides for the editorial layer.
   This layer was added after the shared theme variables and used fixed light
   colours, which made dark text render on dark cards. */
:root[data-theme="dark"] {
  --ink: #f4f7f0;
  --cream: #121614;
  --line: #455048;
  --lime: #d8ff5e;
}

:root[data-theme="dark"] body {
  background: var(--cream);
  color: var(--ink);
}

:root[data-theme="dark"] .site-header {
  background: rgba(18, 22, 20, 0.92);
  border-color: var(--line);
}

:root[data-theme="dark"] .brand,
:root[data-theme="dark"] .button.secondary,
:root[data-theme="dark"] .button.ghost,
:root[data-theme="dark"] .text-arrow {
  color: var(--ink);
}

:root[data-theme="dark"] .button.secondary,
:root[data-theme="dark"] .button.ghost {
  border-color: var(--line);
}

:root[data-theme="dark"] .eyebrow,
:root[data-theme="dark"] .section-header a,
:root[data-theme="dark"] .text-link {
  color: #c9ed7b;
}

:root[data-theme="dark"] .product-lead,
:root[data-theme="dark"] .article-deck,
:root[data-theme="dark"] .about-hero > div:first-child > p:not(.eyebrow),
:root[data-theme="dark"] .contact-hero > p:last-child,
:root[data-theme="dark"] .faq-hero > p:last-child,
:root[data-theme="dark"] .values-grid p,
:root[data-theme="dark"] .faq-list details p {
  color: #c8d0c7;
}

/* Branding and navigation feedback */
.brand-logo { width: 2.4rem; height: 2.4rem; border-radius: 8px; object-fit: contain; }
.nav-links a { position: relative; padding: .4rem .35rem; border-radius: .45rem; transition: color .2s ease, background .2s ease; }
.nav-links a::after { content: ""; position: absolute; right: .35rem; bottom: .08rem; left: .35rem; height: 2px; border-radius: 999px; background: var(--primary); transform: scaleX(0); transition: transform .2s ease; }
.nav-links a:hover,.nav-links a:focus-visible,.nav-links a.is-active { color: var(--text); background: var(--surface-2); }
.nav-links a:hover::after,.nav-links a:focus-visible::after,.nav-links a.is-active::after { transform: scaleX(1); }

@media (max-width: 768px) {
  .site-header .brand-logo {
    width: 42px !important;
    height: 42px !important;
    min-width: 42px;
    max-width: 42px;
    object-fit: contain;
  }

  .site-header .brand-mark {
    width: 42px;
    height: 42px;
  }
}

.social-links,.share-buttons{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap}.social-links a,.share-buttons a,.share-buttons button{display:inline-grid;place-items:center;min-width:2.5rem;height:2.5rem;padding:0 .7rem;border:1px solid var(--border);border-radius:999px;background:var(--surface-2);color:var(--text);font:inherit;text-decoration:none;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}.social-links a{width:2.8rem;height:2.8rem;padding:.35rem;border-radius:1rem;background:color-mix(in srgb,var(--surface) 85%,var(--surface-2))}.social-links img,.share-buttons img{width:100%;height:100%;object-fit:contain}.share-buttons a{width:2.5rem;padding:.35rem}.social-links a:hover,.social-links a:focus-visible,.share-buttons a:hover,.share-buttons a:focus-visible,.share-buttons button:hover,.share-buttons button:focus-visible{transform:translateY(-3px);box-shadow:0 10px 20px rgba(24,33,28,.18);background:var(--surface)}.footer-custom{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border)}.share-buttons{margin:1.5rem 0}.share-buttons span{font-weight:700}
.footer-social{min-width:280px}.footer-social strong{display:block;margin:0 0 .55rem;font-size:.9rem}.social-icons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;list-style:none;padding:0;margin:0}.social-icons li{margin:0}.social-icons a{display:flex;align-items:center;height:34px;overflow:hidden;border-radius:3px;color:#fff;text-decoration:none;font-size:14px;font-weight:600;box-shadow:0 2px 6px rgba(0,0,0,.14);transition:opacity .18s ease,transform .18s ease,box-shadow .18s ease}.social-icons a::before{display:grid;place-items:center;flex:0 0 34px;height:34px;border-right:1px solid rgba(255,255,255,.22);font-size:16px;font-weight:700}.social-icons .text{padding:0 10px;line-height:1}.social-icons .facebook a{background:#3b5999}.social-icons .facebook a::before{content:'f'}.social-icons .x-twitter a{background:#14171a}.social-icons .x-twitter a::before{content:'ð?����'}.social-icons .youtube a{background:#f50000}.social-icons .youtube a::before{content:'â–¶';font-size:11px}.social-icons .instagram a{background:linear-gradient(15deg,#ffb13d,#dd277b,#4d5ed4)}.social-icons .instagram a::before{content:'â—Ž';font-size:20px}.social-icons a:hover,.social-icons a:focus-visible{opacity:.92;transform:translateY(-1px);box-shadow:0 5px 12px rgba(0,0,0,.2)}
@media(max-width:640px){.footer-social{width:100%;min-width:0}.social-icons{max-width:320px}.social-icons a{height:36px}.social-icons a::before{flex-basis:36px;height:36px}}
.floating-contact{position:fixed;right:18px;bottom:24px;z-index:50;display:grid;gap:10px}.floating-contact__button{display:flex;align-items:center;justify-content:center;gap:8px;min-width:136px;height:42px;padding:0 14px;border:0;border-radius:10px;color:#fff;font:700 14px/1 "Inter","Segoe UI",sans-serif;text-decoration:none;cursor:pointer;box-shadow:0 8px 20px rgba(24,33,28,.24);transition:transform .2s ease,box-shadow .2s ease}.floating-contact__button img{width:24px;height:24px;object-fit:contain}.floating-contact__call{background:#17211c}.floating-contact__zalo{background:#e7002b}.floating-contact__top{background:#292b2f}.floating-contact__top>span:first-child{font-size:21px;line-height:1}.floating-contact__button:hover,.floating-contact__button:focus-visible{transform:translateY(-3px);box-shadow:0 12px 24px rgba(24,33,28,.3)}@media(max-width:640px){.floating-contact{right:12px;bottom:16px;gap:8px}.floating-contact__button{min-width:0;width:48px;height:48px;padding:0;border-radius:50%}.floating-contact__button>span:last-child{display:none}.floating-contact__button img{width:28px;height:28px}}

/* Keep uploaded branding and contact-page embeds within their intended mobile layout. */
.site-header .brand { min-width: 0; }
.site-header .brand-logo { flex:0 0 42px; width:42px !important; height:42px !important; min-width:42px !important; max-width:42px !important; max-height:42px !important; object-fit:contain; }
.page-content .post-body { min-width:0; overflow-wrap:anywhere; }
.page-content .post-body iframe,.page-content .post-body embed,.page-content .post-body object { display:block; width:100% !important; max-width:100% !important; border:0; }
@media(max-width:640px){
  .site-header .brand-logo { flex-basis:38px; width:38px !important; height:38px !important; min-width:38px !important; max-width:38px !important; max-height:38px !important; }
  .page-content { padding:1rem; }
  .page--contact .post-body img { display:inline-block; width:64px !important; height:64px !important; max-width:64px !important; max-height:64px !important; margin:0 .6rem .6rem 0; object-fit:contain; vertical-align:middle; }
  .page--contact .post-body a:has(img) { display:inline-flex; align-items:center; max-width:100%; margin-bottom:.75rem; }
}

/* Product Card component: presentation-only UI shared by product listings. */
/* Product Detail component: semantic gallery, tabs and responsive sticky buy box. */
.product-detail{padding:2rem 0 6rem}.product-detail__breadcrumb{margin-bottom:1.5rem}.product-detail__layout{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);gap:clamp(1.5rem,4vw,4rem);align-items:start}.product-gallery{min-width:0}.product-gallery__stage{position:relative;display:grid;place-items:center;aspect-ratio:1/1;overflow:hidden;border:1px solid var(--line);border-radius:20px;background:#f0f3ec}.product-gallery__stage>img{width:100%;height:100%;object-fit:contain}.product-gallery__placeholder{display:grid;place-items:center;width:100%;height:100%;background:linear-gradient(135deg,#233a33,#719264);color:#fff;font:700 4rem/1 var(--serif)}.product-gallery__badge{position:absolute;z-index:2;top:1rem;left:1rem;padding:.3rem .6rem;border-radius:999px;color:#fff;font-size:.72rem;font-weight:800;text-transform:uppercase}.product-gallery__badge--sale{background:#e05239}.product-gallery__badge--hot{background:#da7425;top:3.2rem}.product-gallery__badge--new{background:#3e7354;top:5.4rem}.product-gallery__zoom{position:absolute;right:1rem;bottom:1rem;border:0;border-radius:999px;padding:.55rem .8rem;background:rgba(255,255,255,.94);color:var(--ink);font:inherit;font-size:.82rem;font-weight:800;box-shadow:0 4px 12px rgba(0,0,0,.16);cursor:pointer}.product-gallery__thumbs{display:flex;gap:.65rem;margin-top:.75rem}.product-gallery__thumb{width:70px;height:70px;padding:3px;border:2px solid transparent;border-radius:10px;background:transparent;cursor:pointer}.product-gallery__thumb.is-active{border-color:#719264}.product-gallery__thumb img{width:100%;height:100%;border-radius:6px;object-fit:cover}.product-detail__summary{min-width:0}.product-detail__category{margin:0;color:#6e7a4d;font-size:.76rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.product-detail__summary h1{margin:.45rem 0 1rem;font:clamp(2rem,4vw,3.5rem)/1.02 var(--serif);letter-spacing:-.045em}.product-detail__rating{display:flex;gap:.5rem;align-items:center;padding-bottom:1rem;border-bottom:1px solid var(--line);font-size:.82rem}.product-detail__rating span,.product-detail__review-summary span{color:#d5a130;letter-spacing:.08em}.product-detail__rating small{color:#6b736a}.product-detail__pricing{display:grid;gap:.2rem;padding:1.25rem 0}.product-detail__pricing del{min-height:1.2em;color:#7c837a}.product-detail__pricing strong{color:#ca3f2d;font-size:clamp(1.6rem,3vw,2.2rem);line-height:1.05}.product-detail__pricing span{color:#327443;font-size:.82rem;font-weight:800}.product-detail__promotion{padding:1rem 1.1rem;border:1px solid #c5d4a9;border-radius:12px;background:#f2f7e9}.product-detail__promotion strong{font-size:.88rem}.product-detail__promotion ul{margin:.45rem 0 0;padding-left:1.15rem;color:#52604f;font-size:.88rem}.product-detail__highlights{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;margin:1.25rem 0}.product-detail__highlights div{padding:.75rem 0;border-top:1px solid var(--line)}.product-detail__highlights dt{color:#6c746c;font-size:.72rem}.product-detail__highlights dd{margin:.2rem 0 0;font-size:.82rem;font-weight:800;overflow-wrap:anywhere}.product-detail__actions{display:flex;gap:.7rem;flex-wrap:wrap}.product-detail__actions .button{padding:.75rem 1rem}.product-detail__tabs{margin-top:4rem;border-top:1px solid var(--line)}.product-detail__tab-list{display:flex;gap:1.4rem;overflow:auto;border-bottom:1px solid var(--line)}.product-detail__tab-list button{flex:0 0 auto;padding:1rem 0;border:0;border-bottom:2px solid transparent;background:transparent;color:#697168;font:800 .9rem/1 inherit;cursor:pointer}.product-detail__tab-list button[aria-selected="true"]{border-color:#719264;color:var(--ink)}.product-detail__tab-panel{max-width:850px;padding:2rem 0}.product-detail__tab-panel[hidden]{display:none}.product-detail__specs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--line)}.product-detail__specs div{display:flex;justify-content:space-between;gap:1rem;padding:.85rem 0;border-bottom:1px solid var(--line)}.product-detail__specs dt{color:#687068}.product-detail__specs dd{margin:0;font-weight:800;text-align:right}.product-detail__empty{padding:1.3rem;border-radius:12px;background:#f1f3ed;color:#687068}.product-detail__review-summary{padding:1.3rem;border-radius:12px;background:#f4f6f0}.product-detail__review-summary strong{display:block;margin-top:.4rem}.product-detail__review-summary p{margin-bottom:0;color:#687068}.product-detail__sticky-buy{position:fixed;z-index:40;right:1rem;bottom:1rem;display:flex;align-items:center;gap:1rem;max-width:calc(100% - 2rem);padding:.75rem;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.96);box-shadow:0 12px 30px rgba(20,31,24,.2);backdrop-filter:blur(12px)}.product-detail__sticky-buy div{display:grid;min-width:0}.product-detail__sticky-buy small{max-width:190px;overflow:hidden;color:#687068;font-size:.72rem;text-overflow:ellipsis;white-space:nowrap}.product-detail__sticky-buy strong{color:#ca3f2d}.product-detail__sticky-buy .button{white-space:nowrap}.product-image-zoom{width:min(94vw,900px);max-height:92vh;padding:1rem;border:0;border-radius:16px;background:#fff}.product-image-zoom::backdrop{background:rgba(15,25,20,.72)}.product-image-zoom img{max-width:100%;max-height:80vh;margin:auto;object-fit:contain}.product-image-zoom button{position:absolute;top:.5rem;right:.7rem;z-index:1;width:2.25rem;height:2.25rem;border:0;border-radius:50%;background:#fff;color:#18211c;font-size:1.5rem;cursor:pointer}@media(max-width:800px){.product-detail{padding-top:1.25rem}.product-detail__layout{grid-template-columns:1fr;gap:1.5rem}.product-detail__summary h1{font-size:clamp(2rem,9vw,3rem)}.product-detail__tabs{margin-top:2.5rem}.product-detail__sticky-buy{right:0;bottom:0;left:0;max-width:none;border-right:0;border-bottom:0;border-left:0;border-radius:14px 14px 0 0}.product-detail__sticky-buy small{max-width:45vw}.product-detail__highlights{grid-template-columns:1fr 1fr}.product-detail__highlights div:last-child{display:none}}@media(max-width:480px){.product-gallery__stage{border-radius:14px}.product-gallery__zoom span{display:none}.product-detail__actions .button{flex:1;text-align:center}.product-detail__specs{grid-template-columns:1fr}.product-detail__sticky-buy{gap:.5rem;padding:.6rem}.product-detail__sticky-buy strong{font-size:.95rem}.product-detail__sticky-buy .button{padding:.65rem .75rem;font-size:.82rem}}@media(prefers-reduced-motion:reduce){.product-gallery__zoom,.product-detail__tab-list button{transition:none}}
/* Stacked positions keep selected New/Hot/Sale product badges readable. */
.product-card__badge~.product-card__badge{top:2.7rem}.product-card__badge~.product-card__badge~.product-card__badge{top:4.65rem}
.product-card-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.25rem;margin:1.25rem 0 3rem}.product-card{position:relative;display:flex;flex-direction:column;min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:18px;background:var(--surface);box-shadow:0 8px 24px rgba(24,33,28,.08);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}.product-card:hover{transform:translateY(-6px);box-shadow:0 18px 34px rgba(24,33,28,.16);border-color:#a5bd75}.product-card__media{position:relative;aspect-ratio:1/1;overflow:hidden;background:#edf1e9}.product-card__media>a{display:block;width:100%;height:100%}.product-card__image{width:100%;height:100%;object-fit:cover;transition:transform .5s cubic-bezier(.2,.7,.2,1);will-change:transform}.product-card:hover .product-card__image{transform:scale(1.08)}.product-card__image--placeholder{display:grid!important;place-items:center;background:linear-gradient(135deg,#233a33,#719264);color:#fff;font:700 2.6rem/1 var(--serif)}.product-card__badge{position:absolute;z-index:2;top:.75rem;left:.75rem;padding:.28rem .55rem;border-radius:999px;color:#fff;font-size:.7rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.product-card__badge--sale{background:#e05239}.product-card__badge--hot{background:#da7425}.product-card__badge--new{background:#3e7354}.product-card__actions{position:absolute;z-index:3;top:.65rem;right:.65rem;display:grid;gap:.45rem;opacity:0;transform:translateX(.5rem);transition:opacity .2s ease,transform .2s ease}.product-card:hover .product-card__actions,.product-card:focus-within .product-card__actions{opacity:1;transform:translateX(0)}.product-card__action{display:grid;place-items:center;width:2.25rem;height:2.25rem;border:0;border-radius:50%;background:rgba(255,255,255,.94);color:#18211c;box-shadow:0 3px 10px rgba(0,0,0,.15);font-size:1.1rem;cursor:pointer;transition:background .2s ease,transform .2s ease}.product-card__action:hover,.product-card__action:focus-visible,.product-card__action[aria-pressed="true"]{background:var(--lime);transform:scale(1.08)}.product-card__body{display:flex;flex:1;flex-direction:column;padding:1rem}.product-card__category{margin:0 0 .35rem;color:#6e7a4d;font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.product-card__title{margin:0;font-size:1rem;line-height:1.35}.product-card__title a{text-decoration:none}.product-card__rating{display:flex;align-items:center;gap:.4rem;margin:.65rem 0 .75rem;font-size:.75rem}.product-card__rating span{color:#e19a2b;letter-spacing:.05em}.product-card__rating strong{font-size:.78rem}.product-card__rating small{margin-left:auto;color:#6c716a;white-space:nowrap}.product-card__prices{display:grid;gap:.1rem}.product-card__prices del{min-height:1.2em;color:#838981;font-size:.78rem}.product-card__prices strong{color:#ca3f2d;font-size:1.14rem;line-height:1.2}.product-card__saving{margin:.35rem 0 .7rem;color:#327443;font-size:.75rem;font-weight:700}.product-card__quick-link{margin-top:auto;padding-top:.35rem;color:var(--ink);font-size:.84rem;font-weight:800;text-decoration:none}.product-card__quick-link span{display:inline-block;transition:transform .2s ease}.product-card__quick-link:hover span{transform:translateX(.25rem)}.product-card__skeleton{position:absolute;inset:0;z-index:1;background:linear-gradient(100deg,#e4e9e0 25%,#f5f7f2 38%,#e4e9e0 55%);background-size:200% 100%;animation:product-card-shimmer 1.2s infinite}.product-card__media.is-loaded .product-card__skeleton,.product-card__media--placeholder .product-card__skeleton{opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s ease}@keyframes product-card-shimmer{to{background-position:-200% 0}}.product-quick-view{width:min(92vw,470px);border:0;border-radius:18px;padding:0;color:var(--ink);box-shadow:0 24px 60px rgba(0,0,0,.32)}.product-quick-view::backdrop{background:rgba(15,25,20,.56)}.product-quick-view__body{padding:1.5rem}.product-quick-view__close{float:right;border:0;background:transparent;font-size:1.4rem;cursor:pointer}.product-quick-view__eyebrow{margin:0;color:#6e7a4d;font-size:.75rem;font-weight:800;letter-spacing:.08em}.product-quick-view h2{margin:.4rem 0}.product-quick-view p{color:#586158}.product-quick-view strong{display:block;margin:.8rem 0;color:#ca3f2d;font-size:1.35rem}.product-quick-view a{display:inline-block;margin-top:.4rem}.product-card-toast{position:fixed;z-index:100;right:1rem;bottom:1rem;max-width:calc(100% - 2rem);padding:.7rem 1rem;border-radius:10px;background:#18211c;color:#fff;box-shadow:0 10px 24px rgba(0,0,0,.24);opacity:0;transform:translateY(1rem);pointer-events:none;transition:opacity .2s ease,transform .2s ease}.product-card-toast.is-visible{opacity:1;transform:translateY(0)}@media(max-width:1000px){.product-card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:720px){.product-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.product-card__body{padding:.8rem}.product-card__rating{gap:.25rem}.product-card__rating small{display:none}.product-card__actions{opacity:1;transform:none;top:auto;right:.55rem;bottom:.55rem;grid-auto-flow:column}.product-card__action{width:2rem;height:2rem;font-size:1rem}.product-card__badge{top:.55rem;left:.55rem}}@media(max-width:380px){.product-card-grid{grid-template-columns:1fr}.product-card__media{aspect-ratio:16/11}}@media(prefers-reduced-motion:reduce){.product-card,.product-card__image,.product-card__actions,.product-card__action,.product-card__quick-link span,.product-card-toast{transition:none}.product-card:hover{transform:none}.product-card:hover .product-card__image{transform:none}.product-card__skeleton{animation:none}}
/* Product category Grid component: responsive, semantic and framework-free. */
.product-category-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin:1.2rem 0 3rem}.product-category-card{min-width:0}.product-category-card__link{position:relative;display:flex;align-items:center;gap:.85rem;min-height:112px;padding:1rem;border:1px solid var(--line);border-radius:16px;background:var(--surface);color:var(--ink);text-decoration:none;box-shadow:0 5px 16px rgba(24,33,28,.06);overflow:hidden;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}.product-category-card__link:before{position:absolute;inset:auto -30% -70% auto;width:130px;height:130px;border-radius:50%;background:radial-gradient(circle,rgba(152,186,91,.18),transparent 68%);content:"";pointer-events:none;transition:transform .25s ease}.product-category-card__link:hover,.product-category-card__link:focus-visible{transform:translateY(-5px);border-color:#a5bd75;box-shadow:0 16px 28px rgba(24,33,28,.14);outline:none}.product-category-card__link:hover:before,.product-category-card__link:focus-visible:before{transform:scale(1.25)}.product-category-card__icon{position:relative;z-index:1;display:grid;flex:0 0 48px;place-items:center;width:48px;height:48px;border-radius:14px;background:#edf4df;color:#4f7533}.product-category-card:nth-child(3n+2) .product-category-card__icon{background:#e8f0f8;color:#35688d}.product-category-card:nth-child(3n) .product-category-card__icon{background:#fff0dc;color:#b2691d}.product-category-card__icon svg{width:26px;height:26px}.product-category-card__content{position:relative;z-index:1;display:grid;gap:.28rem;min-width:0}.product-category-card__name{overflow:hidden;font-size:.98rem;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.product-category-card__count{color:#6b736a;font-size:.78rem}.product-category-card__arrow{position:relative;z-index:1;margin-left:auto;color:#6f8d42;font-size:1.25rem;transition:transform .22s ease}.product-category-card__link:hover .product-category-card__arrow,.product-category-card__link:focus-visible .product-category-card__arrow{transform:translateX(.25rem)}.product-category-grid__empty{grid-column:1/-1;margin:0;padding:1rem;border:1px dashed var(--line);border-radius:12px;color:#6b736a}@media(max-width:1000px){.product-category-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:700px){.product-category-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin-bottom:2rem}.product-category-card__link{min-height:98px;padding:.8rem;gap:.65rem;border-radius:14px}.product-category-card__icon{flex-basis:42px;width:42px;height:42px;border-radius:12px}.product-category-card__icon svg{width:23px;height:23px}.product-category-card__name{font-size:.9rem}}@media(max-width:410px){.product-category-grid{grid-template-columns:1fr}.product-category-card__link{min-height:82px}}@media(prefers-reduced-motion:reduce){.product-category-card__link,.product-category-card__link:before,.product-category-card__arrow{transition:none}.product-category-card__link:hover,.product-category-card__link:focus-visible{transform:none}}

/* Quick-view modal: isolated palette ensures readable light and dark themes. */
.product-quick-view{width:min(94vw,720px);max-height:calc(100vh - 2rem);margin:auto;overflow:auto;border:1px solid #d8dfd3;border-radius:20px;padding:0;background:#fff;color:#1a241d;box-shadow:0 24px 60px rgba(0,0,0,.32)}
.product-quick-view::backdrop{background:rgba(10,20,14,.64);backdrop-filter:blur(2px)}
.product-quick-view__body{position:relative;display:grid;grid-template-columns:minmax(220px,.9fr) minmax(0,1fr);min-height:300px;padding:0}
.product-quick-view__media{display:grid;min-height:300px;place-items:center;overflow:hidden;background:linear-gradient(135deg,#e9f0df,#c9dfa9)}
.product-quick-view__image{width:100%;height:100%;object-fit:cover}
.product-quick-view__placeholder{display:grid;place-items:center;width:100%;height:100%;background:linear-gradient(135deg,#233a33,#719264);color:#fff;font:700 4rem/1 var(--serif)}
.product-quick-view__content{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:2rem}
.product-quick-view__close{position:absolute;z-index:2;top:.8rem;right:.8rem;display:grid;place-items:center;width:2.35rem;height:2.35rem;border:0;border-radius:50%;background:rgba(255,255,255,.94);color:#18211c;font-size:1.45rem;line-height:1;cursor:pointer;box-shadow:0 3px 12px rgba(0,0,0,.16)}
.product-quick-view__eyebrow{margin:0;color:#58733a;font-size:.75rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.product-quick-view h2{margin:.45rem 0 .8rem;color:#17201a;font:700 clamp(1.45rem,3vw,2rem)/1.15 var(--serif)}
.product-quick-view strong{display:block;margin:0 0 .85rem;color:#ca3f2d;font-size:1.45rem;line-height:1.2}
.product-quick-view__summary{margin:0;color:#526057;line-height:1.65}
.product-quick-view__content .button{margin-top:1.4rem}
:root[data-theme="dark"] .product-quick-view{border-color:#405144;background:#17211b;color:#f3f7f0;box-shadow:0 28px 70px rgba(0,0,0,.62)}
:root[data-theme="dark"] .product-quick-view__media{background:linear-gradient(135deg,#263b2d,#46623f)}
:root[data-theme="dark"] .product-quick-view__content{background:#17211b}
:root[data-theme="dark"] .product-quick-view__close{background:#2d3c31;color:#fff}
:root[data-theme="dark"] .product-quick-view__eyebrow{color:#b7d680}
:root[data-theme="dark"] .product-quick-view h2{color:#f5f8f2}
:root[data-theme="dark"] .product-quick-view__summary{color:#c8d3c9}
:root[data-theme="dark"] .product-quick-view__content .button{background:#b8df78;color:#17211a}
:root[data-theme="dark"] .product-quick-view__content .button:hover{background:#c9ec8e}
@media(max-width:620px){.product-quick-view{width:min(94vw,430px);border-radius:18px}.product-quick-view__body{grid-template-columns:1fr;min-height:0}.product-quick-view__media{min-height:0;aspect-ratio:16/9}.product-quick-view__content{padding:1.35rem 1.5rem 1.5rem}.product-quick-view h2{font-size:1.5rem}.product-quick-view__close{top:.65rem;right:.65rem}.product-quick-view__content .button{margin-top:1rem}}

/* Product card contrast: all text and status labels meet readable contrast in both themes. */
.product-card__category{color:#536c35}
.product-card__rating small{color:#59625a}
.product-card__prices del{color:#5b645d;font-weight:600}
.product-card__prices strong{color:#b83223}
.product-card__saving{color:#246437}
.product-card__badge--sale{background:#b83223}
.product-card__badge--hot{background:#9a4c11}
.product-card__badge--new{background:#28663a}
:root[data-theme="dark"] .product-card{background:#1e1e1e;border-color:#465047}
:root[data-theme="dark"] .product-card__title a,:root[data-theme="dark"] .product-card__quick-link{color:#f4f7f0}
:root[data-theme="dark"] .product-card__category{color:#c8e888}
:root[data-theme="dark"] .product-card__rating span{color:#ffc35c}
:root[data-theme="dark"] .product-card__rating strong,:root[data-theme="dark"] .product-card__rating small{color:#d5ddd4}
:root[data-theme="dark"] .product-card__prices del{color:#c9d1c9}
:root[data-theme="dark"] .product-card__prices strong{color:#ff8979}
:root[data-theme="dark"] .product-card__saving{color:#aee69f}
:root[data-theme="dark"] .product-card__quick-link:hover{color:#d8ff5e}
/* Layout stability: reserve media space before images, embeds or contact icons finish loading. */
.brand-logo{aspect-ratio:1/1}
.product-card__image{aspect-ratio:1/1}
.card-image{aspect-ratio:16/9}
.floating-contact__button img{aspect-ratio:1/1}
.page-content .post-body iframe[src*="google"],.footer-custom iframe[src*="google"]{display:block;width:100%;min-height:320px;aspect-ratio:16/9;border:0}
@media(max-width:640px){.page-content .post-body iframe[src*="google"],.footer-custom iframe[src*="google"]{min-height:240px}}
/* Keep the product consultation bar clear of the right-side floating contact controls. */
.product-detail__sticky-buy{left:1rem;right:auto}
@media(max-width:800px){.product-detail__sticky-buy{right:auto;left:1rem;bottom:1rem;max-width:min(360px,calc(100% - 10.5rem));border:1px solid var(--line);border-radius:14px}.product-detail__sticky-buy small{max-width:150px}}
@media(max-width:480px){.product-detail__sticky-buy{left:.75rem;bottom:.75rem;max-width:calc(100% - 5.5rem);padding:.55rem}.product-detail__sticky-buy div{display:none}.product-detail__sticky-buy .button{padding:.65rem .8rem}}
/* ========================================================================== */
/* Motion system: CSS-only primitives. JS only adds state; content stays usable. */
/* ========================================================================== */
:root{--motion-fast:160ms;--motion-base:280ms;--motion-slow:520ms;--motion-ease:cubic-bezier(.2,.75,.25,1)}
@media (prefers-reduced-motion:no-preference){
  .fx-hover-lift{transition:transform var(--motion-base) var(--motion-ease),box-shadow var(--motion-base) var(--motion-ease)}
  .fx-hover-lift:hover,.fx-hover-lift:focus-visible{transform:translateY(-4px);box-shadow:0 14px 28px rgba(15,28,20,.18)}
  .fx-hover-zoom{overflow:hidden}.fx-hover-zoom>img{transition:transform var(--motion-slow) var(--motion-ease)}.fx-hover-zoom:hover>img{transform:scale(1.05)}
  .motion-ready [data-reveal]{opacity:0;transform:translate3d(0,18px,0);transition:opacity var(--motion-slow) var(--motion-ease),transform var(--motion-slow) var(--motion-ease);transition-delay:var(--reveal-delay,0ms)}
  .motion-ready [data-reveal="slide-left"]{transform:translate3d(-24px,0,0)}.motion-ready [data-reveal="slide-right"]{transform:translate3d(24px,0,0)}.motion-ready [data-reveal="zoom"]{transform:scale(.96)}
  .motion-ready [data-reveal].is-revealed{opacity:1;transform:none}
  .bt-ripple{position:absolute;border-radius:50%;background:currentColor;opacity:.22;transform:scale(0);pointer-events:none;animation:bt-ripple 560ms ease-out forwards}@keyframes bt-ripple{to{transform:scale(1);opacity:0}}
  .bt-toast{animation:bt-toast-in var(--motion-base) var(--motion-ease) both}@keyframes bt-toast-in{from{opacity:0;transform:translate3d(0,14px,0)}to{opacity:1;transform:none}}
  details[data-motion-accordion]>*:not(summary){animation:bt-accordion var(--motion-base) var(--motion-ease)}@keyframes bt-accordion{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
  dialog.bt-modal[open]{animation:bt-modal-in var(--motion-base) var(--motion-ease)}@keyframes bt-modal-in{from{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}
  [data-loading="true"]{position:relative;pointer-events:none;color:transparent!important}[data-loading="true"]::after{position:absolute;inset:50% auto auto 50%;width:1.1rem;height:1.1rem;border:2px solid var(--primary);border-right-color:transparent;border-radius:50%;content:"";transform:translate(-50%,-50%);animation:bt-spin 650ms linear infinite}@keyframes bt-spin{to{transform:translate(-50%,-50%) rotate(1turn)}}
  [data-skeleton]{background:linear-gradient(100deg,var(--surface-2) 28%,color-mix(in srgb,var(--surface) 80%,#fff) 42%,var(--surface-2) 58%);background-size:200% 100%;animation:bt-skeleton 1.3s linear infinite}@keyframes bt-skeleton{to{background-position:-200% 0}}
}
/* Tooltip is semantic: add data-tooltip="Nội dung" to an existing focusable control. */
[data-tooltip]{position:relative}[data-tooltip]::after{position:absolute;z-index:80;bottom:calc(100% + .55rem);left:50%;width:max-content;max-width:min(240px,80vw);padding:.45rem .6rem;border-radius:.4rem;background:#17211c;color:#fff;content:attr(data-tooltip);font-size:.75rem;line-height:1.35;opacity:0;pointer-events:none;transform:translate(-50%,4px);transition:opacity var(--motion-fast) ease,transform var(--motion-fast) ease}[data-tooltip]:hover::after,[data-tooltip]:focus-visible::after{opacity:1;transform:translate(-50%,0)}
/* Dropdown markup: [data-dropdown] > [data-dropdown-toggle] + [data-dropdown-menu]. */
[data-dropdown]{position:relative}[data-dropdown-menu]{position:absolute;z-index:70;top:calc(100% + .45rem);right:0;min-width:12rem;padding:.4rem;border:1px solid var(--border);border-radius:.65rem;background:var(--surface);box-shadow:var(--shadow);opacity:0;pointer-events:none;transform:translateY(-4px);transition:opacity var(--motion-fast) ease,transform var(--motion-fast) ease}[data-dropdown].is-open [data-dropdown-menu]{opacity:1;pointer-events:auto;transform:none}
/* Generic modal and toast APIs are exposed as window.BTMotion. */
dialog.bt-modal{border:0;border-radius:1rem;padding:0;background:var(--surface);color:var(--text);box-shadow:0 24px 70px rgba(0,0,0,.38)}dialog.bt-modal::backdrop{background:rgba(12,20,15,.62)}.bt-toast-region{position:fixed;z-index:120;right:1rem;bottom:1rem;display:grid;gap:.55rem;max-width:min(360px,calc(100vw - 2rem))}.bt-toast{padding:.8rem 1rem;border-radius:.7rem;background:#17211c;color:#fff;box-shadow:0 12px 28px rgba(0,0,0,.25)}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}