/* =========================================================================
   Bo giao dien sitephu — mot file dung chung cho ca 100 site.
   Mau sac/logo cua tung site di qua bien CSS, khong nhan ban file nay.

   VI SAO TU VIET: ban sao Flatsome keo theo 281 KB CSS ma chi dung 12%, cong
   253 KB JavaScript (jQuery, packery, slider) chi de lam vai hieu ung. File nay
   thay ca hai, khong phu thuoc thu vien nao, va khong tai font ngoai.

   NGUYEN TAC
     1. Khong font tai ve. Dung font co san cua may -> chu hien ngay tu khung ve
        dau tien, khong nhay chu, khong ton mot byte nao.
     2. Khong JavaScript cho bo cuc. Menu di dong, thanh cong cu, tha xuong,
        thu vien anh: tat ca bang CSS. Tat JavaScript trang van dung.
     3. Moi kich thuoc chu/khoang cach deu clamp() theo be rong man hinh, nen
        khong can nhieu diem ngat.
   ========================================================================= */

/* ------------------------------------------------------------------ bien */
:root {
  /* Mau thuong hieu — bi ghi de boi <style> noi tuyen cua tung site */
  --brand: #111318;
  --brand-ink: #fff;          /* chu dat tren nen thuong hieu */
  --brand-hover: #2a2e38;
  --brand-soft: #f4f5f7;      /* nen khoi noi bat */
  --brand-line: #d8dbe0;
  --accent: #c2410c;          /* gia giam, nhan "moi" */

  /* Thang mau trung tinh */
  --ink: #14161a;             /* chu chinh */
  --ink-2: #4b5058;           /* chu phu */
  --ink-3: #767c86;           /* chu mo */
  --line: #e5e7eb;
  --line-2: #f0f1f3;
  --bg: #fff;
  --bg-2: #fafafa;
  --bg-3: #f4f5f7;

  /* Chu: khong tai gi ca. Thu tu nay cho chu dep tren Windows/macOS/Android. */
  --font: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto,
          "Helvetica Neue", Arial, "Noto Sans", sans-serif;
  --font-head: var(--font);
  --font-mono: ui-monospace, "SF Mono", "Cascadia Mono", Menlo, monospace;

  /* Thang co chu — clamp() nen khong can @media cho co chu */
  --t-xs: 0.75rem;
  --t-sm: 0.8125rem;
  --t-base: 0.9375rem;
  --t-md: 1rem;
  --t-lg: clamp(1.0625rem, 0.55vw + 0.9rem, 1.1875rem);
  --t-xl: clamp(1.25rem, 1vw + 1rem, 1.5rem);
  --t-2xl: clamp(1.5rem, 1.8vw + 1.1rem, 2rem);
  --t-3xl: clamp(1.875rem, 3vw + 1.1rem, 2.75rem);
  --t-4xl: clamp(2.25rem, 4.6vw + 1rem, 3.75rem);

  /* Khoang cach */
  --wrap: 1240px;
  --wrap-narrow: 760px;
  --pad: clamp(1rem, 3.5vw, 2.5rem);
  --sect: clamp(2.75rem, 6vw, 5.5rem);
  --gap: clamp(1rem, 2vw, 1.75rem);

  --r-sm: 6px;
  --r: 10px;
  --r-lg: 16px;
  --r-pill: 999px;

  --sh-1: 0 1px 2px rgba(16, 20, 28, 0.06);
  --sh-2: 0 6px 20px -6px rgba(16, 20, 28, 0.14), 0 2px 6px rgba(16, 20, 28, 0.05);
  --sh-3: 0 18px 46px -14px rgba(16, 20, 28, 0.22);

  --ease: cubic-bezier(0.22, 0.61, 0.36, 1);
  --hdr-h: 68px;
}

/* --------------------------------------------------------------- nen tang */
*,
*::before,
*::after { box-sizing: border-box; }

html {
  -webkit-text-size-adjust: 100%;
  /* Bu chieu cao thanh dieu huong dinh khi bam vao lien ket trong trang */
  scroll-padding-top: calc(var(--hdr-h) + 1rem);
}

body {
  margin: 0;
  background: var(--bg);
  color: var(--ink);
  font-family: var(--font);
  font-size: var(--t-base);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  overflow-wrap: break-word;
}

h1, h2, h3, h4, h5, h6 {
  margin: 0;
  font-family: var(--font-head);
  font-weight: 650;
  line-height: 1.18;
  letter-spacing: -0.011em;
  color: var(--ink);
  text-wrap: balance;
}
/* Noi dung WordPress chua the h1-h6 tho, khong kem lop nao. Khong dat co o day
   thi chung roi ve mac dinh cua trinh duyet (h1 = 2em) — to qua va khong an
   khop voi phan con lai. */
h1 { font-size: var(--t-3xl); }
h2 { font-size: var(--t-2xl); }
h3 { font-size: var(--t-xl); }
h4 { font-size: var(--t-lg); }
h5 { font-size: var(--t-md); }
h6 { font-size: var(--t-sm); letter-spacing: 0.06em; text-transform: uppercase; }

p { margin: 0; }

a {
  color: inherit;
  text-decoration: none;
  transition: color 0.16s var(--ease);
}

img, svg, video {
  max-width: 100%;
  height: auto;
  display: block;
}

button, input, select, textarea {
  font: inherit;
  color: inherit;
}

/* Vien lay tieu diem: chi hien khi di ban phim, va luon nhin thay duoc */
:focus-visible {
  outline: 2px solid var(--brand);
  outline-offset: 2px;
  border-radius: 3px;
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

/* Cho trinh doc man hinh, khong hien tren man */
.ds-sr {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}

.ds-skip {
  position: fixed;
  top: -100px;
  left: 1rem;
  z-index: 200;
  padding: 0.7em 1.2em;
  background: var(--ink);
  color: #fff;
  border-radius: var(--r-sm);
}
.ds-skip:focus { top: 1rem; }

/* ----------------------------------------------------------- bo cuc chung */
.ds-wrap {
  width: 100%;
  max-width: var(--wrap);
  margin-inline: auto;
  padding-inline: var(--pad);
}
.ds-wrap--narrow { max-width: var(--wrap-narrow); }

.ds-section { padding-block: var(--sect); }
.ds-section--tight { padding-block: clamp(1.75rem, 3.5vw, 3rem); }
.ds-section--flush { padding-block: 0; }
.ds-section--soft { background: var(--bg-2); }
.ds-section--brand { background: var(--brand-soft); }

/* Khoi toi: dao mau chu de doc duoc tren nen anh/nen dam */
.ds-dark {
  --ink: #fff;
  --ink-2: rgba(255, 255, 255, 0.78);
  --ink-3: rgba(255, 255, 255, 0.6);
  --line: rgba(255, 255, 255, 0.16);
  --line-2: rgba(255, 255, 255, 0.1);
  color: #fff;
}
.ds-dark h1, .ds-dark h2, .ds-dark h3, .ds-dark h4 { color: #fff; }

/* Luoi tu xep: chi ra so cot toi thieu, trinh duyet tu chia */
.ds-cols {
  display: grid;
  gap: var(--gap);
  grid-template-columns: repeat(auto-fit, minmax(min(15rem, 100%), 1fr));
}
.ds-cols--2 { grid-template-columns: repeat(auto-fit, minmax(min(20rem, 100%), 1fr)); }
.ds-cols--4 { grid-template-columns: repeat(auto-fit, minmax(min(12rem, 100%), 1fr)); }

.ds-stack { display: grid; gap: var(--gap); }
.ds-center { text-align: center; }
.ds-mt { margin-top: clamp(1rem, 2.5vw, 2rem); }

/* Tieu de khoi */
.ds-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: clamp(1.25rem, 2.5vw, 2rem);
}
.ds-head__title { font-size: var(--t-2xl); }
.ds-head__sub {
  margin-top: 0.4rem;
  color: var(--ink-2);
  font-size: var(--t-md);
}
.ds-head--center { flex-direction: column; align-items: center; text-align: center; }

.ds-eyebrow {
  display: block;
  margin-bottom: 0.6rem;
  font-size: var(--t-xs);
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--ink-3);
}

/* ------------------------------------------------------------------- nut */
.ds-btn {
  --btn-bg: var(--brand);
  --btn-fg: var(--brand-ink);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5em;
  padding: 0.78em 1.5em;
  border: 1px solid transparent;
  border-radius: var(--r-pill);
  background: var(--btn-bg);
  color: var(--btn-fg);
  font-size: var(--t-sm);
  font-weight: 600;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  cursor: pointer;
  transition: background-color 0.18s var(--ease), transform 0.18s var(--ease),
              box-shadow 0.18s var(--ease), color 0.18s var(--ease);
  -webkit-tap-highlight-color: transparent;
}
.ds-btn:hover { background: var(--brand-hover); transform: translateY(-1px); box-shadow: var(--sh-2); }
.ds-btn:active { transform: none; box-shadow: none; }
.ds-btn[disabled] { opacity: 0.5; cursor: not-allowed; transform: none; box-shadow: none; }

.ds-btn--ghost {
  --btn-bg: transparent;
  --btn-fg: var(--ink);
  border-color: var(--line);
}
.ds-btn--ghost:hover {
  background: var(--ink);
  color: var(--bg);
  border-color: var(--ink);
}
.ds-dark .ds-btn--ghost { border-color: rgba(255, 255, 255, 0.45); color: #fff; }
.ds-dark .ds-btn--ghost:hover { background: #fff; color: var(--ink); border-color: #fff; }

.ds-btn--solid-light { --btn-bg: #fff; --btn-fg: #14161a; }
.ds-btn--block { width: 100%; }
.ds-btn--sm { padding: 0.6em 1.1em; font-size: var(--t-xs); }
.ds-btn--lg { padding: 0.95em 2em; font-size: var(--t-base); }

.ds-link {
  font-weight: 600;
  color: var(--ink);
  border-bottom: 1px solid var(--brand-line);
  padding-bottom: 1px;
}
.ds-link:hover { color: var(--brand); border-color: currentColor; }

/* ---------------------------------------------------------------- nhan */
.ds-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.35em;
  padding: 0.3em 0.7em;
  border-radius: var(--r-pill);
  background: var(--bg-3);
  color: var(--ink-2);
  font-size: var(--t-xs);
  font-weight: 600;
  letter-spacing: 0.02em;
}
.ds-badge--sale { background: var(--accent); color: #fff; }
.ds-badge--out { background: var(--ink-3); color: #fff; }
.ds-badge--brand { background: var(--brand); color: var(--brand-ink); }

/* =========================================================================
   Thanh dieu huong
   Dinh o dau trang. Menu tha xuong bang CSS (hover + focus-within), ban di
   dong bang mot o danh dau an — khong can JavaScript.
   ========================================================================= */
.ds-header {
  position: sticky;
  top: 0;
  z-index: 100;
  background: color-mix(in srgb, var(--bg) 88%, transparent);
  backdrop-filter: saturate(1.6) blur(12px);
  border-bottom: 1px solid var(--line);
}
/* May khong ho tro color-mix van co nen duc */
@supports not (background: color-mix(in srgb, red 50%, blue)) {
  .ds-header { background: var(--bg); }
}

.ds-header__bar {
  display: flex;
  align-items: center;
  gap: clamp(0.75rem, 2vw, 2rem);
  min-height: var(--hdr-h);
}

.ds-logo {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  flex: 0 0 auto;
  font-size: var(--t-lg);
  font-weight: 700;
  letter-spacing: -0.02em;
}
.ds-logo img {
  max-height: 40px;
  width: auto;
  object-fit: contain;
}

/* -- menu chinh ------------------------------------------------------- */
.ds-nav {
  display: flex;
  align-items: center;
  gap: clamp(0.25rem, 1.4vw, 1.35rem);
  margin: 0 auto 0 0;
  padding: 0;
  list-style: none;
}
.ds-nav > li { position: relative; }

.ds-nav__link {
  display: inline-flex;
  align-items: center;
  gap: 0.3em;
  padding: 0.5rem 0.15rem;
  font-size: var(--t-sm);
  font-weight: 600;
  letter-spacing: 0.055em;
  text-transform: uppercase;
  color: var(--ink-2);
  white-space: nowrap;
}
.ds-nav__link:hover,
.ds-nav > li[aria-current="page"] > .ds-nav__link,
.ds-nav__link[aria-current="page"] { color: var(--ink); }

/* Gach chan chay ra tu giua khi tro chuot */
.ds-nav__link::after {
  content: "";
  position: absolute;
  left: 0.15rem;
  right: 0.15rem;
  bottom: 0.1rem;
  height: 1.5px;
  background: var(--brand);
  transform: scaleX(0);
  transform-origin: center;
  transition: transform 0.22s var(--ease);
}
.ds-nav > li:hover > .ds-nav__link::after,
.ds-nav__link[aria-current="page"]::after { transform: scaleX(1); }

.ds-nav__caret { width: 9px; height: 9px; opacity: 0.55; }

.ds-drop {
  position: absolute;
  top: 100%;
  left: 50%;
  z-index: 10;
  min-width: 15rem;
  margin: 0;
  padding: 0.5rem;
  list-style: none;
  background: var(--bg);
  border: 1px solid var(--line);
  border-radius: var(--r);
  box-shadow: var(--sh-3);
  opacity: 0;
  visibility: hidden;
  transform: translate(-50%, 6px);
  transition: opacity 0.18s var(--ease), transform 0.18s var(--ease), visibility 0.18s;
}
.ds-nav > li:hover > .ds-drop,
.ds-nav > li:focus-within > .ds-drop {
  opacity: 1;
  visibility: visible;
  transform: translate(-50%, 0);
}
.ds-drop a {
  display: block;
  padding: 0.55rem 0.75rem;
  border-radius: var(--r-sm);
  font-size: var(--t-base);
  color: var(--ink-2);
}
.ds-drop a:hover { background: var(--bg-3); color: var(--ink); }

/* -- hanh dong ben phai ---------------------------------------------- */
.ds-acts {
  display: flex;
  align-items: center;
  gap: 0.15rem;
  flex: 0 0 auto;
}
.ds-icon-btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border: 0;
  border-radius: var(--r-pill);
  background: none;
  color: var(--ink-2);
  cursor: pointer;
  transition: background-color 0.16s var(--ease), color 0.16s var(--ease);
}
.ds-icon-btn:hover { background: var(--bg-3); color: var(--ink); }
.ds-icon-btn svg { width: 19px; height: 19px; }

.ds-count {
  position: absolute;
  top: 3px;
  right: 2px;
  min-width: 17px;
  height: 17px;
  padding: 0 4px;
  border-radius: var(--r-pill);
  background: var(--accent);
  color: #fff;
  font-size: 10px;
  font-weight: 700;
  line-height: 17px;
  text-align: center;
}

/* -- tim kiem --------------------------------------------------------- */
.ds-search {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  max-width: 22rem;
  padding: 0.45rem 0.5rem 0.45rem 0.9rem;
  border: 1px solid var(--line);
  border-radius: var(--r-pill);
  background: var(--bg-2);
  transition: border-color 0.16s var(--ease), background-color 0.16s var(--ease);
}
.ds-search:focus-within { border-color: var(--brand); background: var(--bg); }
.ds-search input {
  flex: 1;
  min-width: 0;
  border: 0;
  background: none;
  outline: 0;
  font-size: var(--t-base);
}
.ds-search button {
  display: inline-flex;
  padding: 0.35rem;
  border: 0;
  border-radius: var(--r-pill);
  background: none;
  color: var(--ink-2);
  cursor: pointer;
}
.ds-search button:hover { color: var(--brand); }
.ds-search svg { width: 17px; height: 17px; }

/* -- ban di dong: o danh dau an, khong JavaScript ---------------------- */
.ds-burger { display: none; }
.ds-toggle { display: none; }

.ds-drawer {
  position: fixed;
  inset: 0 0 0 auto;
  z-index: 150;
  width: min(21rem, 88vw);
  padding: 1.25rem;
  background: var(--bg);
  box-shadow: var(--sh-3);
  overflow-y: auto;
  overscroll-behavior: contain;
  transform: translateX(101%);
  transition: transform 0.28s var(--ease);
  visibility: hidden;
}
.ds-scrim {
  position: fixed;
  inset: 0;
  z-index: 140;
  background: rgba(12, 14, 18, 0.45);
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.28s var(--ease), visibility 0.28s;
}
.ds-toggle:checked ~ .ds-drawer { transform: none; visibility: visible; }
.ds-toggle:checked ~ .ds-scrim { opacity: 1; visibility: visible; }

.ds-drawer__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 1rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid var(--line);
}
.ds-drawer__close {
  display: inline-flex;
  padding: 0.5rem;
  border-radius: var(--r-pill);
  color: var(--ink-2);
  cursor: pointer;
}
.ds-drawer__close:hover { background: var(--bg-3); }
.ds-drawer__close svg { width: 20px; height: 20px; }

.ds-mnav { margin: 0; padding: 0; list-style: none; }
.ds-mnav a {
  display: block;
  padding: 0.7rem 0.25rem;
  border-bottom: 1px solid var(--line-2);
  font-size: var(--t-md);
  font-weight: 600;
}
.ds-mnav a:hover { color: var(--brand); }
/* Muc con: dung <details> nen mo/dong khong can JavaScript */
.ds-mnav details > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.7rem 0.25rem;
  border-bottom: 1px solid var(--line-2);
  font-size: var(--t-md);
  font-weight: 600;
  cursor: pointer;
  list-style: none;
}
.ds-mnav details > summary::-webkit-details-marker { display: none; }
.ds-mnav details > summary svg {
  width: 12px;
  height: 12px;
  opacity: 0.6;
  transition: transform 0.2s var(--ease);
}
.ds-mnav details[open] > summary svg { transform: rotate(180deg); }
.ds-mnav details ul { margin: 0; padding: 0 0 0 0.9rem; list-style: none; }
.ds-mnav details a { font-weight: 500; color: var(--ink-2); }

@media (max-width: 999px) {
  .ds-nav, .ds-header .ds-search { display: none; }
  .ds-burger { display: inline-flex; }
  .ds-logo { margin-right: auto; }
}
@media (min-width: 1000px) {
  .ds-drawer, .ds-scrim { display: none; }
}

/* =========================================================================
   Khoi banner (hero)
   Anh dat trong <img> chu khong phai background-image: nho vay dung duoc
   loading="lazy" cua trinh duyet va srcset theo be rong man hinh.
   ========================================================================= */
.ds-hero {
  position: relative;
  display: grid;
  align-items: center;
  overflow: hidden;
  isolation: isolate;
  min-height: var(--hero-h, clamp(20rem, 46vw, 34rem));
  padding-block: clamp(2.5rem, 6vw, 5rem);
  background: var(--bg-3);
  /* Do chu theo BE RONG CUA CHINH KHOI, khong theo be rong man hinh. UX Builder
     hay dat banner trong mot cot hep (span 3/12); do theo man hinh thi chu to
     bang chu cua banner tran trang va bi cat cut ("Categories" -> "Catego"). */
  container-type: inline-size;
}
.ds-hero__media,
.ds-hero__media img {
  position: absolute;
  inset: 0;
  z-index: -2;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: var(--hero-pos, 50% 50%);
}
/* Lop mo giup chu doc duoc tren anh sang; dam hon o duoi cho chu can giua duoi */
.ds-hero__veil {
  position: absolute;
  inset: 0;
  z-index: -1;
  background: var(--hero-veil, linear-gradient(180deg, rgba(8, 10, 14, 0.28), rgba(8, 10, 14, 0.5)));
}
.ds-hero__body {
  position: relative;
  display: grid;
  gap: 1rem;
  justify-items: var(--hero-jx, center);
  max-width: 40rem;
  text-align: var(--hero-tx, center);
}
.ds-hero--left { --hero-jx: start; --hero-tx: left; }
.ds-hero--right { --hero-jx: end; --hero-tx: right; }
.ds-hero--right .ds-hero__body { margin-left: auto; }
.ds-hero__title {
  font-size: clamp(1.375rem, 6cqi, 3.75rem);
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: -0.024em;
  /* `break-word` chu KHONG PHAI `anywhere`: `anywhere` con doi ca kich thuoc
     toi thieu cua khoi, khien nut "SHOP NOW" trong cot hep xuong dong tung chu
     cai. `break-word` chi ngat khi mot tu don khong the vua mot dong. */
  overflow-wrap: break-word;
}
.ds-hero__text { font-size: clamp(0.875rem, 2.4cqi, 1.1875rem); color: var(--ink-2); }
.ds-hero .ds-prose { font-size: clamp(0.8125rem, 2.2cqi, 1rem); }
.ds-hero__cta { display: flex; flex-wrap: wrap; gap: 0.75rem; margin-top: 0.4rem; }
.ds-hero--flat { min-height: 0; background: none; }
.ds-hero--flat .ds-hero__veil { display: none; }

/* Banner nho xep canh nhau */
.ds-tile {
  position: relative;
  display: grid;
  align-items: end;
  overflow: hidden;
  isolation: isolate;
  min-height: 15rem;
  padding: 1.5rem;
  border-radius: var(--r-lg);
  color: #fff;
}
.ds-tile img {
  position: absolute;
  inset: 0;
  z-index: -2;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s var(--ease);
}
.ds-tile::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(180deg, rgba(8, 10, 14, 0.05) 35%, rgba(8, 10, 14, 0.62));
}
.ds-tile:hover img { transform: scale(1.05); }
.ds-tile__title { font-size: var(--t-xl); color: #fff; }
.ds-tile__meta { font-size: var(--t-sm); color: rgba(255, 255, 255, 0.82); }

/* =========================================================================
   The san pham
   ========================================================================= */
.ds-grid {
  display: grid;
  gap: clamp(1rem, 2vw, 1.75rem) clamp(0.75rem, 1.6vw, 1.5rem);
  grid-template-columns: repeat(var(--cols, 4), minmax(0, 1fr));
}
@media (max-width: 1099px) { .ds-grid { grid-template-columns: repeat(min(var(--cols, 4), 3), minmax(0, 1fr)); } }
@media (max-width: 780px) { .ds-grid { grid-template-columns: repeat(min(var(--cols, 4), 2), minmax(0, 1fr)); } }
@media (max-width: 420px) { .ds-grid { grid-template-columns: repeat(min(var(--cols, 4), 2), minmax(0, 1fr)); gap: 1rem 0.75rem; } }

.ds-card { position: relative; display: flex; flex-direction: column; }

.ds-card__media {
  position: relative;
  display: block;
  overflow: hidden;
  border-radius: var(--r);
  background: var(--bg-3);
  aspect-ratio: 1 / 1;
}
.ds-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.55s var(--ease), opacity 0.3s var(--ease);
}
.ds-card:hover .ds-card__media img { transform: scale(1.045); }
/* Anh thu hai (neu co) hien khi tro chuot — khong can JavaScript */
.ds-card__media img + img { position: absolute; inset: 0; opacity: 0; }
.ds-card:hover .ds-card__media img + img { opacity: 1; }

.ds-card__flags {
  position: absolute;
  top: 0.6rem;
  left: 0.6rem;
  z-index: 2;
  display: flex;
  flex-direction: column;
  gap: 0.3rem;
  align-items: flex-start;
}

/* Nut them vao gio: luon thay tren man cam ung, truot len khi tro chuot */
.ds-card__quick {
  position: absolute;
  right: 0.6rem;
  bottom: 0.6rem;
  left: 0.6rem;
  z-index: 2;
  opacity: 0;
  transform: translateY(0.5rem);
  transition: opacity 0.2s var(--ease), transform 0.2s var(--ease);
}
.ds-card:hover .ds-card__quick,
.ds-card:focus-within .ds-card__quick { opacity: 1; transform: none; }
/* Man cam ung khong co trang thai "tro chuot": nut phai hien san, nhung nhe
   hon ban tren may tinh de bon the lien nhau khong thanh bon vet den. */
@media (hover: none) {
  .ds-card__quick { position: static; margin-top: 0.6rem; opacity: 1; transform: none; }
  .ds-card__quick .ds-btn {
    background: transparent;
    color: var(--ink);
    border-color: var(--line);
  }
}

.ds-card__body { display: grid; gap: 0.25rem; padding-top: 0.7rem; }
.ds-card__cat {
  font-size: var(--t-xs);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--ink-3);
}
/* Ten san pham nhap tu WooCommerce co the dai 90 ky tu. Khong cat thi mot the
   cao gap ba the ben canh va ca hang luoi le di. */
.ds-card__title {
  font-size: var(--t-base);
  font-weight: 600;
  line-height: 1.35;
  letter-spacing: 0;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.ds-card__title a:hover { color: var(--brand); }

.ds-price {
  display: flex;
  align-items: baseline;
  gap: 0.5rem;
  font-size: var(--t-md);
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}
.ds-price del { color: var(--ink-3); font-weight: 500; font-size: 0.875em; }
.ds-price ins { text-decoration: none; color: var(--accent); }
.ds-price--lg { font-size: var(--t-2xl); }

/* =========================================================================
   Duong dan (breadcrumb) + phan trang + sap xep
   ========================================================================= */
.ds-crumbs {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.45rem;
  padding-block: 1rem;
  font-size: var(--t-sm);
  color: var(--ink-3);
}
.ds-crumbs a:hover { color: var(--ink); }
.ds-crumbs span[aria-current] { color: var(--ink); }
.ds-crumbs svg { width: 12px; height: 12px; opacity: 0.5; flex: 0 0 auto; }

.ds-bar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding-block: 1rem;
  border-bottom: 1px solid var(--line);
  margin-bottom: clamp(1.25rem, 2.5vw, 2rem);
  font-size: var(--t-sm);
  color: var(--ink-2);
}

.ds-select {
  position: relative;
  display: inline-flex;
  align-items: center;
}
.ds-select select {
  appearance: none;
  padding: 0.55em 2.2em 0.55em 0.9em;
  border: 1px solid var(--line);
  border-radius: var(--r-pill);
  background: var(--bg);
  font-size: var(--t-sm);
  cursor: pointer;
}
.ds-select select:hover { border-color: var(--ink-3); }
.ds-select svg {
  position: absolute;
  right: 0.8em;
  width: 11px;
  height: 11px;
  pointer-events: none;
  opacity: 0.6;
}

.ds-pager {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.35rem;
  margin-top: clamp(2rem, 4vw, 3.5rem);
}
.ds-pager a, .ds-pager span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 40px;
  height: 40px;
  padding: 0 0.7rem;
  border: 1px solid var(--line);
  border-radius: var(--r-sm);
  font-size: var(--t-sm);
  font-weight: 600;
  font-variant-numeric: tabular-nums;
}
.ds-pager a:hover { border-color: var(--ink); }
.ds-pager [aria-current] {
  background: var(--brand);
  border-color: var(--brand);
  color: var(--brand-ink);
}
.ds-pager .is-gap { border: 0; min-width: 1.5rem; color: var(--ink-3); }

/* =========================================================================
   Bo cuc trang cua hang: cot loc + luoi
   ========================================================================= */
.ds-shop { display: grid; gap: clamp(1.5rem, 3vw, 3rem); align-items: start; }
@media (min-width: 900px) {
  .ds-shop--sidebar { grid-template-columns: 15.5rem minmax(0, 1fr); }
}

.ds-side { display: grid; gap: 1.5rem; }
.ds-side__box { }
.ds-side__title {
  margin-bottom: 0.8rem;
  padding-bottom: 0.6rem;
  border-bottom: 1px solid var(--line);
  font-size: var(--t-xs);
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.ds-side ul { margin: 0; padding: 0; list-style: none; display: grid; gap: 0.15rem; }
.ds-side li a {
  display: flex;
  justify-content: space-between;
  gap: 0.5rem;
  padding: 0.4rem 0;
  font-size: var(--t-base);
  color: var(--ink-2);
}
.ds-side li a:hover { color: var(--brand); }
.ds-side li a b { color: var(--ink-3); font-weight: 500; font-variant-numeric: tabular-nums; }
.ds-side li[aria-current] > a { color: var(--ink); font-weight: 650; }

/* Tren dien thoai, cot loc dat truoc luoi thi chiem gan het man hinh dau tien —
   nguoi vao phai cuon qua bo loc moi thay san pham. Dua no XUONG DUOI luoi va
   de mot lien ket nhay o thanh tren. Khong can JavaScript, va bo loc van o
   trong luong doc tu nhien cua trang. */
@media (max-width: 899px) {
  .ds-shop--sidebar { display: flex; flex-direction: column; }
  .ds-side {
    order: 2;
    border: 1px solid var(--line);
    border-radius: var(--r);
    padding: 1rem;
    scroll-margin-top: calc(var(--hdr-h) + 1rem);
  }
}
/* Lien ket "Filters" chi co nghia khi bo loc bi day xuong duoi */
.ds-jump { display: none; }
@media (max-width: 899px) {
  .ds-jump {
    display: inline-flex;
    align-items: center;
    gap: 0.4em;
    font-weight: 600;
  }
  .ds-jump svg { width: 15px; height: 15px; }
}

/* Loc theo gia: hai o so, khong can thanh truot JavaScript */
.ds-range { display: flex; align-items: center; gap: 0.5rem; }
.ds-range input {
  width: 100%;
  min-width: 0;
  padding: 0.5em 0.7em;
  border: 1px solid var(--line);
  border-radius: var(--r-sm);
  background: var(--bg);
  font-size: var(--t-sm);
}
.ds-range input:focus { border-color: var(--brand); outline: 0; }

/* =========================================================================
   Trang san pham
   ========================================================================= */
.ds-prod { display: grid; gap: clamp(1.5rem, 3.5vw, 3.5rem); align-items: start; }
@media (min-width: 860px) { .ds-prod { grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); } }

/* Thu vien anh: cuon ngang bat dinh diem, khong can thu vien slider */
.ds-gal { display: grid; gap: 0.75rem; }
.ds-gal__main {
  position: relative;
  overflow: hidden;
  border-radius: var(--r-lg);
  background: var(--bg-3);
  aspect-ratio: 1 / 1;
}
.ds-gal__track {
  display: flex;
  height: 100%;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
}
.ds-gal__track::-webkit-scrollbar { display: none; }
.ds-gal__track > * {
  flex: 0 0 100%;
  scroll-snap-align: center;
}
.ds-gal__track img { width: 100%; height: 100%; object-fit: cover; }
.ds-gal__thumbs {
  display: flex;
  gap: 0.5rem;
  overflow-x: auto;
  padding-bottom: 0.25rem;
  scrollbar-width: thin;
}
.ds-gal__thumbs a {
  flex: 0 0 4.5rem;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: var(--r-sm);
  aspect-ratio: 1 / 1;
  transition: border-color 0.16s var(--ease);
}
.ds-gal__thumbs a:hover { border-color: var(--ink); }
.ds-gal__thumbs img { width: 100%; height: 100%; object-fit: cover; }

.ds-prod__info { display: grid; gap: 1.1rem; }
/* Ten san pham nhap tu WooCommerce hay dai 80-100 ky tu (kem ca ten thuong
   hieu va thong so). Dung co --t-3xl thi mot cai ten chiem sau dong va day gia
   voi nut mua xuong duoi man hinh. */
.ds-prod__title { font-size: clamp(1.25rem, 2.2vw, 1.75rem); line-height: 1.25; }
.ds-prod__meta { display: flex; flex-wrap: wrap; gap: 0.5rem 1.25rem; font-size: var(--t-sm); color: var(--ink-3); }
.ds-prod__sep { height: 1px; background: var(--line); }
.ds-prod__buy { display: flex; flex-wrap: wrap; gap: 0.75rem; align-items: center; }

.ds-qty { display: inline-flex; }
.ds-qty input {
  width: 5rem;
  height: 2.9rem;
  padding: 0 0 0 0.9rem;
  border: 1px solid var(--line);
  border-radius: var(--r-pill);
  background: var(--bg);
  font-weight: 600;
  font-variant-numeric: tabular-nums;
}
.ds-qty input:focus { outline: 0; border-color: var(--brand); box-shadow: 0 0 0 3px var(--brand-line); }

.ds-facts { display: grid; gap: 0.5rem; margin: 0; font-size: var(--t-base); }
.ds-facts > div { display: grid; grid-template-columns: 8.5rem 1fr; gap: 0.75rem; padding: 0.5rem 0; border-bottom: 1px solid var(--line-2); }
.ds-facts dt { color: var(--ink-3); }
.ds-facts dd { margin: 0; }

/* Cac o thong tin (giao hang, doi tra) — dung <details> nen khong can JavaScript */
.ds-acc { border-top: 1px solid var(--line); }
.ds-acc details { border-bottom: 1px solid var(--line); }
.ds-acc summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1rem 0;
  font-size: var(--t-md);
  font-weight: 600;
  cursor: pointer;
  list-style: none;
}
.ds-acc summary::-webkit-details-marker { display: none; }
.ds-acc summary svg { width: 13px; height: 13px; opacity: 0.55; transition: transform 0.2s var(--ease); }
.ds-acc details[open] summary svg { transform: rotate(180deg); }
.ds-acc__body { padding-bottom: 1.1rem; color: var(--ink-2); }

/* =========================================================================
   Bang (gio hang) + bieu mau
   ========================================================================= */
.ds-table { width: 100%; border-collapse: collapse; font-size: var(--t-base); }
.ds-table th {
  padding: 0 0 0.75rem;
  border-bottom: 1px solid var(--line);
  font-size: var(--t-xs);
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  text-align: left;
  color: var(--ink-3);
}
.ds-table td { padding: 1rem 0; border-bottom: 1px solid var(--line-2); vertical-align: middle; }
.ds-table .is-num { text-align: right; font-variant-numeric: tabular-nums; }
.ds-table__prod { display: flex; align-items: center; gap: 1rem; }
.ds-table__prod img { width: 4.5rem; height: 4.5rem; border-radius: var(--r-sm); object-fit: cover; flex: 0 0 auto; }

/* Tren dien thoai: doi bang thanh the, dung data-label lam tieu de tung dong */
@media (max-width: 700px) {
  .ds-table thead { display: none; }
  .ds-table tr { display: grid; gap: 0.35rem; padding: 1rem 0; border-bottom: 1px solid var(--line); }
  .ds-table td { display: flex; justify-content: space-between; gap: 1rem; padding: 0; border: 0; }
  .ds-table td::before {
    content: attr(data-label);
    font-size: var(--t-xs);
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--ink-3);
  }
  .ds-table td:first-child::before { display: none; }
  .ds-table td:first-child { display: block; }
}

/* Trang chinh sach va lien he Wovenyx. */
.wy-policy-hero,
.wy-contact-hero {
  padding-block: clamp(3.75rem, 8vw, 7.5rem);
  background: linear-gradient(135deg, #edf2eb 0%, #f7f3ea 72%, #eee5d8 100%);
  border-bottom: 1px solid #dce2da;
}
.wy-policy-hero .ds-wrap { max-width: 58rem; text-align: center; }
.wy-policy-hero h1,
.wy-contact-hero h1 { margin: .65rem 0 1rem; font-size: clamp(2.7rem, 6vw, 5.6rem); line-height: .98; }
.wy-policy-hero p { max-width: 42rem; margin-inline: auto; font-size: clamp(1rem, 1.6vw, 1.2rem); color: #526057; }
.wy-policy-updated { display: block; margin-top: 1.35rem; color: #6e776f; font-size: var(--t-xs); }
.wy-policy-layout { display: grid; grid-template-columns: 14rem minmax(0, 46rem); justify-content: center; gap: clamp(2rem, 6vw, 6rem); padding-block: clamp(3rem, 7vw, 6.5rem); }
.wy-policy-nav { position: sticky; top: calc(var(--hdr-h) + 2rem); align-self: start; display: grid; border-top: 1px solid #cad2c9; }
.wy-policy-nav p { margin: 0; padding: 1.15rem .35rem .7rem; color: #778078; font-size: .7rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.wy-policy-nav a { padding: .75rem .35rem; border-bottom: 1px solid #e0e4de; color: #59635b; font-size: .9rem; }
.wy-policy-nav a:hover,
.wy-policy-nav a[aria-current="page"] { color: var(--wy-forest); font-weight: 750; }
.wy-policy-nav a[aria-current="page"] { padding-left: .8rem; border-left: 3px solid var(--wy-forest); }
.wy-policy-body { min-width: 0; color: #465048; font-size: 1rem; line-height: 1.78; }
.wy-policy-body > h2 { margin: 2.7rem 0 .7rem; font-family: Georgia, "Times New Roman", serif; font-size: clamp(1.55rem, 2.5vw, 2.05rem); font-weight: 500; line-height: 1.15; color: var(--wy-deep); }
.wy-policy-body > h2:first-child { margin-top: 0; }
.wy-policy-body p { margin: 0 0 1rem; }
.wy-policy-body a { color: var(--wy-forest); font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.wy-policy-callout { display: grid; gap: .2rem; margin-bottom: 2.5rem; padding: 1.4rem 1.5rem; border-left: 4px solid var(--wy-clay); border-radius: 0 .55rem .55rem 0; background: var(--wy-cream); }
.wy-policy-callout strong { font-family: Georgia, "Times New Roman", serif; font-size: 1.35rem; font-weight: 500; color: var(--wy-deep); }
.wy-policy-stats { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; margin-bottom: 2.8rem; overflow: hidden; border-radius: .65rem; background: #ced7cd; }
.wy-policy-stats div { display: grid; padding: 1.5rem; background: var(--wy-sage); }
.wy-policy-stats strong { font-family: Georgia, "Times New Roman", serif; font-size: 2.4rem; font-weight: 500; line-height: 1; color: var(--wy-deep); }
.wy-policy-stats span { margin-top: .45rem; color: #5b665d; font-size: .85rem; }
.wy-policy-help { display: flex; align-items: center; justify-content: space-between; gap: 2rem; margin-top: 4rem; padding: clamp(1.5rem, 4vw, 2.5rem); border-radius: .75rem; background: var(--wy-deep); color: #fff; }
.wy-policy-help h2 { margin: .35rem 0 0; color: #fff; font-family: Georgia, "Times New Roman", serif; font-size: clamp(1.45rem, 2.7vw, 2rem); font-weight: 500; }
.wy-policy-help .wy-kicker { color: #b9cbbf; }
.wy-policy-help .ds-btn { flex: 0 0 auto; background: #fff; color: var(--wy-deep); }

.wy-contact-hero__grid { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(17rem, .55fr); align-items: end; gap: clamp(2rem, 7vw, 7rem); }
.wy-contact-hero h1 { max-width: 10ch; }
.wy-contact-hero p { max-width: 39rem; margin-bottom: 1.6rem; font-size: clamp(1rem, 1.6vw, 1.2rem); color: #526057; }
.wy-contact-note { padding: 1.6rem; border: 1px solid #cfd8ce; border-radius: .7rem; background: rgba(255,255,255,.62); }
.wy-contact-note span { display: block; color: #707a72; font-size: .72rem; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.wy-contact-note strong { display: block; margin: .55rem 0; color: var(--wy-deep); font-family: Georgia, "Times New Roman", serif; font-size: 1.45rem; font-weight: 500; }
.wy-contact-note p { margin: 0; font-size: .85rem; }
.wy-contact-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-block: 1px solid #d9ded8; }
.wy-contact-grid article { padding: clamp(1.5rem, 3vw, 2.4rem); }
.wy-contact-grid article + article { border-left: 1px solid #d9ded8; }
.wy-contact-grid article > span { color: var(--wy-clay); font-size: .75rem; font-weight: 800; }
.wy-contact-grid h2 { margin: .65rem 0 .75rem; font-family: Georgia, "Times New Roman", serif; font-size: 1.6rem; font-weight: 500; color: var(--wy-deep); }
.wy-contact-grid p { min-height: 5rem; color: #5d675f; font-size: .92rem; }
.wy-contact-grid a { color: var(--wy-forest); font-size: .9rem; font-weight: 750; }
.wy-contact-faq { padding-block: clamp(3rem, 7vw, 6rem); background: var(--wy-sage); }
.wy-contact-faq .ds-wrap { display: grid; grid-template-columns: .7fr 1.3fr; gap: clamp(2rem, 7vw, 7rem); }
.wy-contact-faq h2 { max-width: 12ch; margin-top: .6rem; font-family: Georgia, "Times New Roman", serif; font-size: clamp(2rem, 4vw, 3.35rem); font-weight: 500; line-height: 1.04; color: var(--wy-deep); }
.wy-contact-links { display: grid; }
.wy-contact-links a { display: grid; gap: .2rem; padding: 1.25rem .2rem; border-bottom: 1px solid #cad4c9; }
.wy-contact-links a:first-child { border-top: 1px solid #cad4c9; }
.wy-contact-links strong { color: var(--wy-deep); }
.wy-contact-links span { color: #68736a; font-size: .88rem; }

@media (max-width: 780px) {
  .wy-policy-hero,
  .wy-contact-hero { padding-block: 3.5rem; }
  .wy-policy-layout { grid-template-columns: 1fr; gap: 2.3rem; padding-block: 2.5rem 4rem; }
  .wy-policy-nav { position: static; display: flex; margin-inline: calc(var(--gutter) * -1); padding-inline: var(--gutter); overflow-x: auto; border-bottom: 1px solid #dce1db; scrollbar-width: none; }
  .wy-policy-nav p { display: none; }
  .wy-policy-nav a { flex: 0 0 auto; padding: .8rem .7rem; border: 0; }
  .wy-policy-nav a[aria-current="page"] { padding-left: .7rem; border: 0; border-bottom: 3px solid var(--wy-forest); }
  .wy-policy-help { align-items: stretch; flex-direction: column; }
  .wy-policy-help .ds-btn { text-align: center; }
  .wy-contact-hero__grid,
  .wy-contact-faq .ds-wrap { grid-template-columns: 1fr; }
  .wy-contact-grid { grid-template-columns: 1fr; }
  .wy-contact-grid article + article { border-top: 1px solid #d9ded8; border-left: 0; }
  .wy-contact-grid p { min-height: 0; }
}
@media (max-width: 480px) {
  .wy-policy-stats { grid-template-columns: 1fr; }
  .wy-policy-body { font-size: .96rem; }
}

/* Site Admin rieng theo domain. */
.sa-shell { min-height: 100vh; display: grid; grid-template-columns: 15.5rem minmax(0,1fr); background: #f6f7f5; color: #1f2923; font: 14px/1.5 system-ui,-apple-system,"Segoe UI",sans-serif; }
.sa-shell > aside { position: sticky; top: 0; height: 100vh; display: flex; flex-direction: column; padding: 1.25rem; background: #17211c; color: #fff; }
.sa-brand { display: grid; padding: .5rem .6rem 1.5rem; border-bottom: 1px solid rgba(255,255,255,.12); }
.sa-brand strong { font-size: 1.05rem; }.sa-brand span { color: rgba(255,255,255,.55); font-size: .72rem; }
.sa-shell aside nav { display: grid; gap: .3rem; margin-top: 1.25rem; }
.sa-shell aside nav a,.sa-shell aside nav span { min-height: 42px; display: flex; align-items: center; padding: .65rem .8rem; border-radius: .45rem; color: rgba(255,255,255,.62); }
.sa-shell aside nav a[aria-current="page"] { color:#fff; background: color-mix(in srgb,var(--sa-brand) 78%,#fff 8%); font-weight:700; }
.sa-user { display:grid; gap:.25rem; margin-top:auto; padding:1rem .7rem 0; border-top:1px solid rgba(255,255,255,.12); }.sa-user span{color:rgba(255,255,255,.52);font-size:.72rem;text-transform:capitalize}.sa-user button{margin-top:.6rem;padding:0;border:0;background:transparent;text-align:left;color:#fff;text-decoration:underline;cursor:pointer}
.sa-shell > main { min-width:0; padding: clamp(1rem,3vw,2rem); }.sa-mobile-bar{display:none}.sa-page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;margin-bottom:1.5rem}.sa-page-head span{color:var(--sa-brand);font-size:.72rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.sa-page-head h1{margin:.35rem 0;font-size:clamp(1.8rem,3vw,2.5rem);letter-spacing:-.035em}.sa-page-head p{color:#68726b}.sa-page-head>a{min-height:42px;display:flex;align-items:center;padding:.65rem 1rem;border:1px solid #d7ddd8;border-radius:.45rem;background:#fff;font-weight:700}
.sa-plugin-list{display:grid;gap:1rem}.sa-plugin{overflow:hidden;border:1px solid #dfe3df;border-radius:.7rem;background:#fff;box-shadow:0 1px 2px rgba(20,35,26,.03)}.sa-plugin__head{display:flex;align-items:flex-start;justify-content:space-between;gap:2rem;padding:1.4rem 1.5rem}.sa-plugin__head>div>span{color:var(--sa-brand);font-size:.68rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.sa-plugin h2{margin:.35rem 0 .25rem;font-size:1.05rem}.sa-plugin p{color:#6d756f;font-size:.85rem}.sa-plugin__form{display:flex;align-items:flex-end;gap:1rem;padding:1rem 1.5rem;border-top:1px solid #e4e7e4;background:#fafbfa}.sa-plugin__form label{flex:1;display:grid;gap:.4rem;color:#515b54;font-size:.78rem;font-weight:700}.sa-plugin__form input,.sa-login input{min-height:44px;width:100%;padding:.65rem .75rem;border:1px solid #cfd6d0;border-radius:.4rem;background:#fff;font:inherit}.sa-plugin__form input:focus,.sa-login input:focus{outline:3px solid color-mix(in srgb,var(--sa-brand) 20%,transparent);border-color:var(--sa-brand)}.sa-plugin__form button,.sa-login form>button{min-height:44px;padding:.65rem 1rem;border-radius:.4rem;background:var(--sa-brand);color:#fff;font-weight:750;cursor:pointer}.sa-plugin__form button:disabled,.sa-login button:disabled{opacity:.55;cursor:wait}
.sa-switch{display:grid;grid-template-columns:auto auto;align-items:center;gap:.2rem .55rem;cursor:pointer}.sa-switch input{position:absolute;opacity:0}.sa-switch>span{grid-row:1/span 2;position:relative;width:2.5rem;height:1.4rem;border-radius:2rem;background:#cbd2cc;transition:background .18s}.sa-switch>span:after{content:"";position:absolute;top:.2rem;left:.2rem;width:1rem;height:1rem;border-radius:50%;background:#fff;transition:transform .18s}.sa-switch input:checked+span{background:var(--sa-brand)}.sa-switch input:checked+span:after{transform:translateX(1.1rem)}.sa-switch input:focus-visible+span{outline:3px solid color-mix(in srgb,var(--sa-brand) 25%,transparent)}.sa-switch b{font-size:.75rem}.sa-alert{margin-bottom:1rem;padding:.8rem 1rem;border:1px solid #efb4b4;border-radius:.45rem;background:#fff1f1;color:#9f2525}.sa-loading{padding:3rem;border:1px solid #dde2de;border-radius:.7rem;background:#fff;text-align:center;color:#667069}
.sa-login{min-height:100vh;display:grid;grid-template-columns:1fr minmax(22rem,32rem);background:#f5f6f3;font:14px/1.5 system-ui,-apple-system,"Segoe UI",sans-serif}.sa-login__brand{display:flex;flex-direction:column;justify-content:flex-end;padding:clamp(2rem,8vw,8rem);background:linear-gradient(145deg,#17211c,var(--sa-brand));color:#fff}.sa-login__brand>span{font-size:.72rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.6)}.sa-login__brand h1{margin:.5rem 0 0;font-size:clamp(3rem,7vw,6rem);line-height:1;letter-spacing:-.05em}.sa-login__brand p{color:rgba(255,255,255,.65)}.sa-login form{display:flex;flex-direction:column;justify-content:center;padding:clamp(2rem,5vw,4rem);background:#fff}.sa-login form h2{font-size:1.8rem}.sa-login form>p{margin:.35rem 0 1.8rem;color:#69716b}.sa-login form label{display:grid;gap:.4rem;margin-bottom:1rem;font-size:.8rem;font-weight:700}.sa-login form>a{margin-top:1.2rem;text-align:center;color:#647069}
@media(max-width:760px){.sa-shell{grid-template-columns:1fr}.sa-shell>aside{display:none}.sa-shell>main{padding:1rem}.sa-mobile-bar{display:flex;justify-content:space-between;margin:-1rem -1rem 1.5rem;padding:1rem;background:#17211c;color:#fff}.sa-mobile-bar span{color:rgba(255,255,255,.6);font-size:.75rem}.sa-page-head{align-items:stretch;flex-direction:column;gap:1rem}.sa-page-head>a{justify-content:center}.sa-plugin__head,.sa-plugin__form{align-items:stretch;flex-direction:column}.sa-login{grid-template-columns:1fr}.sa-login__brand{min-height:15rem;padding:2rem}.sa-login__brand h1{font-size:3rem}.sa-login form{min-height:calc(100vh - 15rem);padding:2rem 1.25rem}}
.sa-shell aside nav small{margin:.9rem .8rem .2rem;color:rgba(255,255,255,.38);font-size:.65rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.sa-activate{min-height:40px;padding:.55rem .9rem;border:1px solid #ccd4ce;border-radius:.4rem;background:#fff;color:#26322a;font-weight:750;cursor:pointer}.sa-activate:hover{background:#f2f5f2}.sa-plugin__form>span{flex:1;color:#597064}.sa-plugin__form>a,.sa-back{color:var(--sa-brand);font-weight:750}.sa-form-card{display:grid;gap:1rem;max-width:52rem;padding:1.5rem;border:1px solid #dce2dd;border-radius:.7rem;background:#fff}.sa-form-card label{display:grid;gap:.4rem;color:#4b5750;font-size:.8rem;font-weight:700}.sa-form-card input,.sa-form-card textarea{min-height:44px;padding:.65rem .75rem;border:1px solid #cad3cc;border-radius:.4rem;font:inherit}.sa-form-card textarea{min-height:8rem;resize:vertical}.sa-form-card button{justify-self:start;min-height:44px;padding:.65rem 1.1rem;border-radius:.4rem;background:var(--sa-brand);color:#fff;font-weight:750;cursor:pointer}.sa-form-card>p{color:#28733e}.sa-empty{padding:4rem 1.5rem;border:1px dashed #cbd4cd;border-radius:.7rem;background:#fff;text-align:center}.sa-empty h2{font-size:1.15rem}.sa-empty p{margin-top:.35rem;color:#6b756e}.sa-table-wrap{max-width:100%;overflow-x:auto;border:1px solid #dce2dd;border-radius:.7rem;background:#fff}.sa-table-wrap table{width:100%;min-width:680px;border-collapse:collapse}.sa-table-wrap th{padding:.75rem 1rem;background:#f2f5f2;color:#647068;font-size:.72rem;text-align:left}.sa-table-wrap td{padding:.85rem 1rem;border-top:1px solid #e3e7e4;color:#4d5851}.sa-product-cell{display:flex;align-items:center;gap:.7rem}.sa-product-cell img{width:42px;height:42px;border-radius:.35rem;object-fit:cover}

/* Trang gioi thieu Wovenyx: dung anh va ngon ngu cua chinh bo san pham. */
.wy-about { background: var(--wy-paper); }
.wy-about h1, .wy-about h2 { font-family: Georgia, "Times New Roman", serif; font-weight: 500; letter-spacing: -.035em; color: var(--wy-deep); }
.wy-about-hero { padding-block: clamp(2rem, 5vw, 5rem); background: var(--wy-cream); }
.wy-about-hero__grid { display: grid; grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr); gap: clamp(2rem,6vw,6rem); align-items: center; }
.wy-about-hero__copy h1 { max-width: 11ch; font-size: clamp(3rem,6vw,5.75rem); line-height: .98; }
.wy-about-hero__copy > p { max-width: 35rem; margin-top: 1.5rem; color: #4c564f; font-size: var(--t-lg); }
.wy-about-hero__media { min-height: clamp(26rem,48vw,40rem); overflow: hidden; border-radius: .75rem; background: var(--wy-sage); }
.wy-about-hero__media img { width: 100%; height: 100%; object-fit: cover; }
.wy-about-values { padding-block: clamp(3.5rem,7vw,6.5rem); color: #fff; background: var(--wy-deep); }
.wy-about-values .wy-kicker { color: #d6b28f; }
.wy-about-values__intro { display: grid; grid-template-columns: .7fr 1.3fr; gap: 2rem; align-items: end; margin-bottom: 3rem; }
.wy-about-values__intro .wy-kicker { margin: 0; }
.wy-about-values__intro h2 { max-width: 18ch; color: #fff; font-size: var(--t-3xl); }
.wy-about-values__grid { display: grid; grid-template-columns: repeat(3,1fr); border-top: 1px solid rgba(255,255,255,.18); }
.wy-about-values__grid article { padding: 2rem clamp(1rem,3vw,2.5rem) 0 0; }
.wy-about-values__grid article + article { padding-left: clamp(1rem,3vw,2.5rem); border-left: 1px solid rgba(255,255,255,.16); }
.wy-about-values__grid span { color: #d6b28f; font-size: var(--t-xs); font-weight: 700; letter-spacing: .12em; }
.wy-about-values__grid h3 { margin-top: 1rem; color: #fff; font-size: var(--t-xl); }
.wy-about-values__grid p { margin-top: .65rem; color: rgba(255,255,255,.72); }
.wy-about-story__grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(18rem,.85fr); gap: clamp(2rem,7vw,7rem); align-items: center; }
.wy-about-story__media { min-height: clamp(24rem,44vw,36rem); overflow: hidden; border-radius: .75rem; background: var(--wy-sage); }
.wy-about-story__media img { width: 100%; height: 100%; object-fit: cover; }
.wy-about-story__copy h2 { max-width: 12ch; font-size: var(--t-4xl); }
.wy-about-story__copy > p { margin-top: 1.25rem; color: var(--ink-2); font-size: var(--t-lg); }
.wy-about-story__copy ul { display: grid; gap: .8rem; margin: 1.75rem 0; padding: 0; list-style: none; }
.wy-about-story__copy li { padding-top: .8rem; border-top: 1px solid #dce0da; color: var(--ink-2); }
.wy-about-story__copy strong { color: var(--wy-deep); }
.wy-about-collections { background: var(--wy-sage); }
.wy-about-collections .ds-tile { min-height: 19rem; border-radius: .75rem; }
.wy-about-cta { padding-block: clamp(4rem,8vw,7rem); text-align: center; background: var(--wy-cream); }
.wy-about-cta h2 { max-width: 18ch; margin-inline: auto; font-size: var(--t-4xl); }
.wy-about-cta .ds-btn { margin-top: 2rem; }
@media (max-width: 780px) {
  .wy-about-hero__grid, .wy-about-story__grid, .wy-about-values__intro { grid-template-columns: 1fr; }
  .wy-about-hero__copy h1 { font-size: clamp(2.55rem,12vw,3.6rem); }
  .wy-about-hero__media { min-height: 23rem; }
  .wy-about-values__grid { grid-template-columns: 1fr; }
  .wy-about-values__grid article { padding: 1.5rem 0; }
  .wy-about-values__grid article + article { padding-left: 0; border-left: 0; border-top: 1px solid rgba(255,255,255,.16); }
  .wy-about-story__media { min-height: 24rem; }
}

.ds-field { display: grid; gap: 0.4rem; }
.ds-field > label {
  font-size: var(--t-sm);
  font-weight: 600;
  color: var(--ink-2);
}
.ds-field > label .req { color: var(--accent); }
.ds-input,
.ds-field input,
.ds-field select,
.ds-field textarea {
  width: 100%;
  padding: 0.72em 0.95em;
  border: 1px solid var(--line);
  border-radius: var(--r);
  background: var(--bg);
  font-size: var(--t-md);
  transition: border-color 0.16s var(--ease), box-shadow 0.16s var(--ease);
}
.ds-field input:focus,
.ds-field select:focus,
.ds-field textarea:focus,
.ds-input:focus {
  outline: 0;
  border-color: var(--brand);
  box-shadow: 0 0 0 3px var(--brand-line);
}
.ds-field textarea { min-height: 7rem; resize: vertical; }
.ds-form-grid { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fit, minmax(min(15rem, 100%), 1fr)); }

.ds-panel {
  padding: clamp(1.1rem, 2.5vw, 1.75rem);
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
  background: var(--bg);
}
.ds-panel--soft { background: var(--bg-2); }
.ds-panel__title { margin-bottom: 1rem; font-size: var(--t-lg); }

.ds-totals { display: grid; gap: 0.6rem; font-size: var(--t-md); }
.ds-totals > div { display: flex; justify-content: space-between; gap: 1rem; }
.ds-totals > div span:last-child { font-variant-numeric: tabular-nums; }
.ds-totals__grand {
  padding-top: 0.75rem;
  border-top: 1px solid var(--line);
  font-size: var(--t-lg);
  font-weight: 700;
}

.ds-note {
  padding: 0.85rem 1.1rem;
  border: 1px solid var(--brand-line);
  border-left: 3px solid var(--brand);
  border-radius: var(--r-sm);
  background: var(--brand-soft);
  font-size: var(--t-base);
  color: var(--ink-2);
}
.ds-note--warn { border-color: #fcd9b6; border-left-color: var(--accent); background: #fff8f2; }

/* Cac buoc thanh toan */
.ds-steps {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 1.5rem;
  margin-bottom: clamp(1.5rem, 3vw, 2.5rem);
  padding: 0;
  list-style: none;
  font-size: var(--t-sm);
}
.ds-steps li { display: flex; align-items: center; gap: 0.5rem; color: var(--ink-3); }
.ds-steps li b {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.6rem;
  height: 1.6rem;
  border: 1px solid var(--line);
  border-radius: var(--r-pill);
  font-size: var(--t-xs);
}
.ds-steps li[aria-current] { color: var(--ink); font-weight: 600; }
.ds-steps li[aria-current] b { background: var(--brand); border-color: var(--brand); color: var(--brand-ink); }
.ds-steps li.is-done b { background: var(--bg-3); }

/* Trang trong */
.ds-empty { display: grid; gap: 1rem; justify-items: center; padding: clamp(3rem, 8vw, 6rem) 1rem; text-align: center; }
.ds-empty svg { width: 44px; height: 44px; color: var(--ink-3); }
.ds-empty p { color: var(--ink-2); max-width: 28rem; }

/* =========================================================================
   Bai viet + noi dung tu WordPress
   `.ds-prose` la lop quan trong nhat cua ca bo: noi dung 100 site la HTML tu
   do (the h2, ul, table, blockquote, anh...). Khong co no thi chu chay sat
   nhau va anh tran ra ngoai.
   ========================================================================= */
.ds-prose { font-size: var(--t-md); line-height: 1.72; color: var(--ink-2); }
.ds-prose > * + * { margin-top: 1.1em; }
.ds-prose h1, .ds-prose h2, .ds-prose h3, .ds-prose h4 { color: var(--ink); }
.ds-prose h2 { margin-top: 2.2em; font-size: var(--t-2xl); }
.ds-prose h3 { margin-top: 1.9em; font-size: var(--t-xl); }
.ds-prose h4 { margin-top: 1.7em; font-size: var(--t-lg); }
.ds-prose h2:first-child, .ds-prose h3:first-child { margin-top: 0; }
.ds-prose a { color: var(--ink); font-weight: 550; border-bottom: 1px solid var(--brand-line); }
.ds-prose a:hover { color: var(--brand); border-color: currentColor; }
.ds-prose strong { color: var(--ink); font-weight: 650; }
.ds-prose ul, .ds-prose ol { padding-left: 1.35em; }
.ds-prose li + li { margin-top: 0.4em; }
.ds-prose li::marker { color: var(--ink-3); }
.ds-prose img { border-radius: var(--r); margin-inline: auto; }
.ds-prose figure { margin: 1.8em 0; }
.ds-prose figcaption { margin-top: 0.6rem; font-size: var(--t-sm); color: var(--ink-3); text-align: center; }
.ds-prose blockquote {
  margin: 1.8em 0;
  padding: 0.2em 0 0.2em 1.4em;
  border-left: 3px solid var(--brand);
  font-size: var(--t-lg);
  font-style: italic;
  color: var(--ink);
}
.ds-prose blockquote p + p { margin-top: 0.7em; }
.ds-prose hr { margin: 2.4em 0; border: 0; border-top: 1px solid var(--line); }
.ds-prose code {
  padding: 0.15em 0.4em;
  border-radius: 4px;
  background: var(--bg-3);
  font-family: var(--font-mono);
  font-size: 0.875em;
}
.ds-prose pre {
  overflow-x: auto;
  padding: 1.1rem;
  border-radius: var(--r);
  background: #14161a;
  color: #e6e8eb;
}
.ds-prose pre code { background: none; padding: 0; }
/* Bang trong noi dung phai cuon duoc, khong duoc lam trang tran ngang */
.ds-prose .ds-tablewrap { overflow-x: auto; margin: 1.8em 0; }
.ds-prose table { width: 100%; border-collapse: collapse; font-size: var(--t-base); }
.ds-prose th, .ds-prose td { padding: 0.7rem 0.9rem; border: 1px solid var(--line); text-align: left; }
.ds-prose th { background: var(--bg-2); font-weight: 650; color: var(--ink); }
.ds-prose iframe, .ds-prose video { width: 100%; border-radius: var(--r); aspect-ratio: 16 / 9; height: auto; }

/* The bai viet */
.ds-post { display: flex; flex-direction: column; gap: 0.85rem; }
.ds-post__media {
  display: block;
  overflow: hidden;
  border-radius: var(--r);
  background: var(--bg-3);
  aspect-ratio: 3 / 2;
}
.ds-post__media img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s var(--ease); }
.ds-post:hover .ds-post__media img { transform: scale(1.04); }
.ds-post__date { font-size: var(--t-xs); letter-spacing: 0.08em; text-transform: uppercase; color: var(--ink-3); }
.ds-post__title { font-size: var(--t-lg); }
.ds-post__title a:hover { color: var(--brand); }
.ds-post__excerpt {
  font-size: var(--t-base);
  color: var(--ink-2);
  display: -webkit-box;
  -webkit-line-clamp: 4;
  line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.ds-post__title {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.ds-article__head { display: grid; gap: 1rem; padding-block: clamp(1.5rem, 4vw, 3rem); text-align: center; }
.ds-article__title { font-size: var(--t-3xl); }
.ds-article__cover { margin-block: clamp(1.5rem, 3vw, 2.5rem); border-radius: var(--r-lg); overflow: hidden; }

/* =========================================================================
   Chan trang
   ========================================================================= */
.ds-footer {
  margin-top: clamp(3rem, 7vw, 6rem);
  border-top: 1px solid var(--line);
  background: var(--bg-2);
  font-size: var(--t-base);
}
.ds-footer__cols {
  display: grid;
  gap: clamp(1.75rem, 3.5vw, 3rem);
  padding-block: clamp(2.5rem, 5vw, 4rem);
  grid-template-columns: repeat(auto-fit, minmax(min(13rem, 100%), 1fr));
}
.ds-footer__brand { display: grid; gap: 0.9rem; align-content: start; }
.ds-footer__brand img { max-height: 44px; width: auto; object-fit: contain; }
.ds-footer__blurb { color: var(--ink-2); max-width: 24rem; }
.ds-footer__title {
  margin-bottom: 0.9rem;
  font-size: var(--t-xs);
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--ink);
}
.ds-footer ul { margin: 0; padding: 0; list-style: none; display: grid; gap: 0.5rem; }
.ds-footer li a { color: var(--ink-2); }
.ds-footer li a:hover { color: var(--brand); }
.ds-footer__contact { display: grid; gap: 0.6rem; color: var(--ink-2); }
.ds-footer__contact div { display: flex; gap: 0.6rem; align-items: flex-start; }
.ds-footer__contact svg { width: 15px; height: 15px; margin-top: 0.28em; flex: 0 0 auto; opacity: 0.6; }

.ds-footer__base {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding-block: 1.25rem;
  border-top: 1px solid var(--line);
  font-size: var(--t-sm);
  color: var(--ink-3);
}
.ds-pay { display: flex; flex-wrap: wrap; gap: 0.4rem; align-items: center; }
.ds-pay svg {
  width: 38px;
  height: 24px;
  padding: 2px;
  border: 1px solid var(--line);
  border-radius: 4px;
  background: var(--bg);
  fill: var(--ink-2);
}

/* =========================================================================
   Luoi 12 cot — chuyen tu [row]/[col span="6"] cua UX Builder
   Giu dung ti le cot ma nguoi soan da chon, nhung bang CSS Grid that thay vi
   he thong float cua Flatsome.
   ========================================================================= */
.ds-r12 {
  display: grid;
  gap: var(--gap);
  grid-template-columns: repeat(12, minmax(0, 1fr));
  align-items: start;
}
.ds-r12--mid { align-items: center; }
.ds-r12--center { justify-items: center; }
.ds-c { grid-column: span var(--sp, 12); min-width: 0; }
@media (max-width: 849px) {
  /* span__sm cua ban goc; khong khai bao thi mot cot cho de doc */
  .ds-c { grid-column: span var(--sp-sm, 12); }
}
@media (min-width: 850px) and (max-width: 1099px) {
  .ds-c { grid-column: span var(--sp-md, var(--sp, 12)); }
}

/* Banner ca khoi la mot lien ket */
.ds-hero--link { display: grid; }
.ds-hero--link:hover .ds-hero__media img { transform: scale(1.03); }
.ds-hero__media img { transition: transform 0.6s var(--ease); }
/* Chu do nguoi soan dan vao co the la mot tu rat dai; trong cot hep phai xuong
   dong thay vi tran ra roi bi khoi cha cat mat. */
.ds-hero__body { overflow-wrap: break-word; min-width: 0; }

/* Tieu de trong noi dung WordPress dat co theo be rong MAN HINH. Trong mot
   banner nam o cot 3/12 thi 2rem rong hon ca cot va tu "Categories" bi cat cut.
   Trong banner, do theo be rong CHINH KHOI (cqi) thay vi man hinh.
   Bo chon phai phu ca the nam thang trong .ds-hero__body, khong chi trong
   .ds-prose — noi dung WordPress hay de the h1 tran khong co lop nao. */
.ds-hero :is(h1, h2) { font-size: min(2.25rem, 13cqi); line-height: 1.12; }
.ds-hero :is(h3, h4) { font-size: min(1.5rem, 10cqi); line-height: 1.15; }
.ds-hero :is(h5, h6) { font-size: min(1.125rem, 8cqi); }
.ds-hero__body--left { --hero-jx: start; --hero-tx: left; margin-right: auto; }
.ds-hero__body--right { --hero-jx: end; --hero-tx: right; margin-left: auto; }
.ds-figimg { border-radius: var(--r); width: 100%; }

/* ---------------------------------------------------------- o noi bat */
.ds-feat { display: grid; gap: 0.9rem; justify-items: center; text-align: center; }
.ds-feat__media { width: clamp(4.5rem, 12vw, 7rem); }
.ds-feat__media img { border-radius: var(--r-pill); }
.ds-feat__icon { width: 34px; height: 34px; color: var(--brand); }
.ds-feat__title { font-size: var(--t-lg); }
.ds-feat__body { display: grid; gap: 0.4rem; color: var(--ink-2); }

/* --------------------------------------------------------- bang truot
   Cuon ngang bat dinh diem: keo tay duoc tren dien thoai, lan chuot ngang tren
   may tinh, va khong ton mot byte JavaScript nao. */
.ds-slider { position: relative; }
.ds-slider__track {
  display: flex;
  gap: var(--gap);
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  scrollbar-width: thin;
  padding-bottom: 0.5rem;
}
.ds-slider__slide { flex: 0 0 100%; min-width: 0; scroll-snap-align: start; }
@media (min-width: 780px) {
  .ds-slider--multi .ds-slider__slide { flex-basis: calc((100% - var(--gap) * 2) / 3); }
}

/* ---------------------------------------------------------- dem nguoc */
.ds-cd { display: flex; flex-wrap: wrap; gap: 0.6rem; justify-content: center; }
/* Mau dat THANG, khong qua bien: dem nguoc hay nam trong mot khoi toi
   (.ds-dark), ma o do --ink va --bg deu bi dao. Dung bien thi ra chu trang tren
   nen trang — bon o trong khong doc duoc gi. */
.ds-cd__cell {
  display: grid;
  gap: 0.15rem;
  min-width: 4.4rem;
  padding: 0.7rem 0.5rem;
  border: 1px solid rgba(16, 20, 28, 0.1);
  border-radius: var(--r);
  background: #fff;
  color: #14161a;
  text-align: center;
}
.ds-cd__cell b {
  font-size: var(--t-2xl);
  font-weight: 700;
  line-height: 1;
  color: #14161a;
  font-variant-numeric: tabular-nums;
}
.ds-cd__cell span {
  font-size: var(--t-xs);
  letter-spacing: 0.09em;
  text-transform: uppercase;
  color: #767c86;
}

/* ------------------------------------------------------------- bang gia */
.ds-plan {
  display: grid;
  gap: 0.75rem;
  padding: clamp(1.25rem, 3vw, 2rem);
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
  background: var(--bg);
  text-align: center;
}
.ds-plan.is-featured { border-color: var(--brand); box-shadow: var(--sh-2); }
.ds-plan__title { font-size: var(--t-lg); }
.ds-plan__price { font-size: var(--t-3xl); font-weight: 700; color: var(--brand); }
.ds-plan__desc { color: var(--ink-2); font-size: var(--t-sm); }

/* ---------------------------------------------------------- loi chung thuc */
.ds-quote {
  display: grid;
  gap: 0.9rem;
  margin: 0;
  padding: clamp(1.25rem, 3vw, 1.9rem);
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
  background: var(--bg-2);
}
.ds-quote blockquote { margin: 0; border: 0; padding: 0; font-style: normal; font-size: var(--t-md); }
.ds-quote__stars { display: flex; gap: 2px; color: #eab308; }
.ds-quote__stars svg { width: 15px; height: 15px; }
.ds-quote__by { display: flex; align-items: center; gap: 0.75rem; font-size: var(--t-sm); }
.ds-quote__by img { width: 2.6rem; height: 2.6rem; border-radius: var(--r-pill); object-fit: cover; }
.ds-quote__by span { display: grid; }
.ds-quote__by i { font-style: normal; color: var(--ink-3); }

/* ------------------------------------------------------------- nguoi */
.ds-person { display: grid; gap: 0.5rem; justify-items: center; text-align: center; }
.ds-person__media { width: 100%; border-radius: var(--r); overflow: hidden; aspect-ratio: 1/1; }
.ds-person__media img { width: 100%; height: 100%; object-fit: cover; }
.ds-person__name { margin-top: 0.4rem; font-size: var(--t-md); }
.ds-person__role { font-size: var(--t-xs); letter-spacing: 0.09em; text-transform: uppercase; color: var(--ink-3); }

/* -------------------------------------------------------- mang xa hoi */
.ds-social { display: flex; flex-wrap: wrap; gap: 0.4rem; }
.ds-social a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border: 1px solid var(--line);
  border-radius: var(--r-pill);
  color: var(--ink-2);
  transition: background-color 0.16s var(--ease), color 0.16s var(--ease), border-color 0.16s var(--ease);
}
.ds-social a:hover { background: var(--brand); border-color: var(--brand); color: var(--brand-ink); }
.ds-social svg { width: 17px; height: 17px; }

/* -------------------------------------------------------- danh sach dau */
.ds-bullets { display: grid; gap: 0.55rem; margin: 0; padding: 0; list-style: none; }
.ds-bullets li { display: flex; gap: 0.6rem; align-items: flex-start; color: var(--ink-2); }
.ds-bullets svg {
  width: 17px;
  height: 17px;
  margin-top: 0.28em;
  flex: 0 0 auto;
  color: var(--brand);
}

/* -------------------------------------------------------------- tien ich */
.ds-hide { display: none !important; }
@media (max-width: 780px) { .ds-hide\@sm { display: none !important; } }
.ds-flow { display: grid; gap: 0.75rem; }
.ds-row { display: flex; flex-wrap: wrap; gap: 0.75rem; align-items: center; }
.ds-row--between { justify-content: space-between; }
.ds-muted { color: var(--ink-2); }
.ds-small { font-size: var(--t-sm); }

/* In an: bo dieu huong, tra mau ve den trang */
@media print {
  .ds-header, .ds-footer, .ds-drawer, .ds-scrim, .ds-card__quick { display: none !important; }
  body { color: #000; background: #fff; }
}

/* =========================================================================
   Wovenyx — phong cach botanical editorial rieng cho cua hang tui thom.
   Chi boc trong .wy-home nen khong anh huong 99 site con lai.
   ========================================================================= */
.wy-home {
  --wy-forest: #294a3a;
  --wy-forest-deep: #183126;
  --wy-cream: #f5f1e7;
  --wy-paper: #fbfaf6;
  --wy-sage: #dfe8dc;
  --wy-clay: #a0562b;
  background: var(--wy-paper);
  display: flex;
  flex-direction: column;
}
.wy-home > .wy-hero { order: 1; }
.wy-home > .wy-bestsellers { order: 2; }
.wy-home > .wy-collections { order: 3; }
.wy-home > .wy-rituals { order: 4; }
.wy-home > .wy-story { order: 5; }
.wy-home > .wy-journal { order: 6; }
.wy-home > .wy-closing { order: 7; }
.wy-home h1, .wy-home h2 {
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 500;
  letter-spacing: -0.035em;
}
.wy-kicker {
  display: block;
  margin-bottom: 0.8rem;
  color: var(--wy-clay);
  font-size: var(--t-xs);
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}
.wy-hero {
  overflow: hidden;
  padding-block: clamp(1.5rem, 3.5vw, 3.25rem);
  background: #f4f0e7;
}
.wy-hero__grid {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 0.88fr) minmax(0, 1.12fr);
  gap: clamp(2rem, 5vw, 5rem);
  align-items: center;
}
.wy-hero__copy { max-width: 35rem; padding-block: clamp(1rem, 4vw, 4rem); }
.wy-hero h1 { font-size: clamp(2.8rem, 5.4vw, 5.25rem); line-height: 0.98; color: var(--wy-forest-deep); }
.wy-hero__copy > p { max-width: 32rem; margin-top: 1.5rem; font-size: var(--t-lg); line-height: 1.7; color: #4b554d; }
.wy-actions { display: flex; flex-wrap: wrap; gap: 1rem 1.5rem; align-items: center; margin-top: 2rem; }
.wy-btn { --btn-bg: var(--wy-forest); --btn-fg: #fff; }
.wy-text-link { display: inline-flex; gap: 0.55rem; align-items: center; min-height: 44px; font-weight: 650; border-bottom: 1px solid currentColor; }
.wy-text-link span { transition: transform 0.2s var(--ease); }
.wy-text-link:hover span { transform: translateX(4px); }
.wy-assurances { display: flex; flex-wrap: wrap; gap: 0.65rem 1.4rem; margin: 2rem 0 0; padding: 1.25rem 0 0; border-top: 1px solid rgba(41,74,58,.18); list-style: none; color: #5d665f; font-size: var(--t-sm); }
.wy-assurances li::before { content: ""; display: inline-block; width: 0.42rem; height: 0.42rem; margin: 0 0.55rem 0.1rem 0; border-radius: 50%; background: var(--wy-clay); }
.wy-hero__visual { position: relative; min-height: clamp(25rem, 46vw, 38rem); overflow: hidden; background: var(--wy-sage); box-shadow: 0 20px 45px -34px rgba(24,49,38,.55); }
.wy-hero__visual::after { display: none; }
.wy-hero__visual img { width: 100%; height: 100%; position: absolute; inset: 0; object-fit: cover; }
.wy-hero-product { position: absolute; right: calc(var(--pad) + 1rem); bottom: 1rem; z-index: 2; display: grid; gap: .25rem; width: min(19rem, 42%); padding: 1rem 1.15rem; background: rgba(255,255,255,.94); border: 1px solid rgba(41,74,58,.15); box-shadow: var(--sh-2); }
.wy-hero-product > span:first-child { color: var(--wy-clay); font-size: .75rem; font-weight: 750; letter-spacing: .12em; text-transform: uppercase; }
.wy-hero-product strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.wy-hero-product .ds-price { color: var(--wy-forest); }
.wy-hero-product b { display: flex; justify-content: space-between; margin-top: .35rem; padding-top: .55rem; border-top: 1px solid #e1e4df; font-size: var(--t-sm); }
.wy-hero-product i { font-style: normal; }
.wy-rituals { padding-block: clamp(2.5rem, 5vw, 4.5rem); color: var(--ink); background: #f4f0e7; }
.wy-rituals .wy-kicker { color: var(--wy-clay); }
.wy-intro { display: grid; grid-template-columns: 1fr 1.15fr; gap: 1rem 4rem; align-items: end; margin-bottom: clamp(2rem, 4vw, 3.5rem); }
.wy-intro .wy-kicker { grid-column: 1/-1; margin: 0; }
.wy-intro h2 { color: var(--wy-forest-deep); font-size: var(--t-3xl); }
.wy-intro > p { color: var(--ink-2); font-size: var(--t-md); }
.wy-use-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid #d9d9cf; }
.wy-use-grid article { padding: 2rem clamp(1rem, 3vw, 2.5rem) 0 0; }
.wy-use-grid article + article { padding-left: clamp(1rem, 3vw, 2.5rem); border-left: 1px solid #d9d9cf; }
.wy-use-grid span { color: var(--wy-clay); font-size: var(--t-xs); letter-spacing: .12em; }
.wy-use-grid h3 { margin-top: 1rem; color: var(--wy-forest-deep); font-family: var(--font); font-weight: 700; }
.wy-use-grid p { margin-top: .6rem; color: var(--ink-2); }
.wy-section-head { display: flex; justify-content: space-between; gap: 2rem; align-items: end; margin-bottom: clamp(1.5rem, 3vw, 2.75rem); }
.wy-section-head h2 { font-size: var(--t-3xl); color: var(--wy-forest-deep); }
.wy-section-head > p { max-width: 25rem; color: var(--ink-2); }
.wy-collections .ds-tile { border-radius: .75rem; aspect-ratio: 4/3; }
.wy-collections .ds-tile::after { background: linear-gradient(transparent 42%, rgba(17,30,23,.78)); }
.wy-collections .ds-tile > div { padding: clamp(1.3rem, 3vw, 2rem); }
.wy-collections .ds-tile__title { font-family: Georgia, "Times New Roman", serif; font-size: var(--t-2xl); font-weight: 500; }
.wy-bestsellers { background: #fff; }
.wy-bestsellers .ds-card { padding: .7rem; border: 1px solid #e2e4df; border-radius: .75rem; background: #fff; transition: box-shadow .2s var(--ease), border-color .2s var(--ease); }
.wy-bestsellers .ds-card:hover { border-color: var(--brand-line); box-shadow: var(--sh-2); }
.wy-bestsellers .ds-card__media { border-radius: .45rem; background: #f8f6f0; }
.wy-bestsellers .ds-card__quick { right: 1.3rem; bottom: 1.3rem; left: 1.3rem; }
.wy-bestsellers .ds-card__body { padding: .75rem .25rem .2rem; }
.wy-story { background: var(--wy-paper); }
.wy-story__grid { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(18rem, .8fr); gap: clamp(2rem, 7vw, 7rem); align-items: center; }
.wy-story__visual { min-height: clamp(24rem, 50vw, 39rem); overflow: hidden; border-radius: 1rem 12rem 1rem 1rem; background: var(--wy-sage); }
.wy-story__visual img { width: 100%; height: 100%; object-fit: cover; }
.wy-story__copy h2 { max-width: 12ch; font-size: var(--t-4xl); color: var(--wy-forest-deep); }
.wy-story__copy > p { margin-top: 1.4rem; color: var(--ink-2); font-size: var(--t-lg); }
.wy-story dl { display: grid; gap: .9rem; margin: 2rem 0; }
.wy-story dl div { display: grid; grid-template-columns: 6.5rem 1fr; gap: 1rem; padding-top: .9rem; border-top: 1px solid #d8ded5; }
.wy-story dt { color: var(--wy-forest); font-weight: 700; }
.wy-story dd { margin: 0; color: var(--ink-2); }
.wy-journal { background: #f3eee2; }
.wy-journal .ds-post__media { border-radius: .65rem; }
.wy-journal .ds-post__title { font-family: Georgia, "Times New Roman", serif; font-size: var(--t-xl); font-weight: 500; }
.wy-closing { padding-block: clamp(4rem, 9vw, 8rem); color: #fff; background: var(--wy-forest-deep); text-align: center; }
.wy-closing .wy-kicker { color: #d6b28f; }
.wy-closing h2 { max-width: 15ch; margin-inline: auto; color: #fff; font-size: var(--t-4xl); }
.wy-closing .ds-btn { margin-top: 2rem; background: #f5f1e7; color: var(--wy-forest-deep); }
@media (max-width: 780px) {
  .wy-hero__grid, .wy-story__grid, .wy-intro { grid-template-columns: 1fr; }
  .wy-hero__copy { padding-bottom: 0; }
  .wy-hero h1 { font-size: clamp(2.45rem, 11.5vw, 3.35rem); line-height: 1; }
  .wy-hero__copy > p { margin-top: 1rem; font-size: var(--t-md); }
  .wy-actions { margin-top: 1.35rem; }
  .wy-assurances { margin-top: 1.35rem; padding-top: 1rem; }
  .wy-hero__visual { min-height: 20rem; }
  .wy-hero-product { position: relative; right: auto; bottom: auto; width: 100%; margin-top: -2rem; }
  .wy-use-grid { grid-template-columns: 1fr; }
  .wy-use-grid article { padding: 1.5rem 0; }
  .wy-use-grid article + article { padding-left: 0; border-left: 0; border-top: 1px solid #d9d9cf; }
  .wy-section-head { display: grid; align-items: start; }
  .wy-section-head > p { max-width: none; }
  .wy-story__visual { min-height: 28rem; border-radius: 1rem 9rem 1rem 1rem; }
}

/* Dau trang ban hang rieng cua Wovenyx. */
.wy-shop-note { color: #fff; background: #183126; font-size: var(--t-xs); }
.wy-shop-note .ds-wrap { display: flex; justify-content: space-between; gap: 1rem; padding-block: .45rem; }
.wy-shop-note a { font-weight: 700; text-decoration: underline; text-underline-offset: 2px; }
.wy-catnav { border-top: 1px solid var(--line-2); background: #fff; }
.wy-catnav .ds-wrap { display: flex; justify-content: center; gap: clamp(1rem, 3vw, 2.5rem); padding-block: .55rem; font-size: var(--t-sm); }
.wy-catnav span { color: var(--ink-3); }
.wy-catnav a { font-weight: 650; }
.wy-catnav a:hover { color: var(--brand); }
@media (max-width: 780px) {
  .wy-shop-note span, .wy-catnav span { display: none; }
  .wy-shop-note .ds-wrap { justify-content: center; }
  .wy-catnav .ds-wrap { justify-content: space-between; gap: .5rem; overflow-x: auto; }
}

/* =========================================================================
   He giao dien Wovenyx cho cac trang trong.
   Wrapper o layout dam bao cac quy tac nay khong anh huong site khac.
   ========================================================================= */
.wy-site {
  --wy-forest: #294a3a;
  --wy-deep: #183126;
  --wy-paper: #fbfaf6;
  --wy-cream: #f4f0e7;
  --wy-sage: #edf2eb;
  --wy-clay: #a0562b;
  min-height: 100vh;
  background: var(--wy-paper);
  overflow-x: hidden;
}
.wy-site > main { min-height: 45vh; }
.wy-site > main h1,
.wy-site > main .ds-head__title,
.wy-site > main .ds-article__title {
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 500;
  letter-spacing: -.03em;
  color: var(--wy-deep);
}
.wy-site > main .ds-head__title { font-size: clamp(2rem, 4vw, 3.5rem); }
.wy-site > main .ds-section--tight { padding-block: clamp(2rem, 4vw, 4rem); }
.wy-site .ds-btn { min-height: 44px; }

/* Shop va danh muc */
.wy-site .ds-shop--sidebar { gap: clamp(2rem, 4vw, 4rem); }
.wy-site .ds-side {
  position: sticky;
  top: calc(var(--hdr-h) + 3.2rem);
  padding: 1.25rem;
  border: 1px solid #dde1db;
  border-radius: .75rem;
  background: #fff;
}
.wy-site .ds-side__title { color: var(--wy-deep); font-size: var(--t-xs); letter-spacing: .12em; }
.wy-site .ds-side li[aria-current] a { color: var(--wy-forest); font-weight: 750; }
.wy-site .ds-bar { margin-top: -.5rem; padding: .75rem 0; }
.wy-site .ds-select select { min-height: 44px; border-radius: .45rem; }
.wy-site main .ds-card {
  padding: .65rem;
  border: 1px solid #e0e3de;
  border-radius: .75rem;
  background: #fff;
  transition: border-color .2s var(--ease), box-shadow .2s var(--ease);
}
.wy-site main .ds-card:hover { border-color: var(--brand-line); box-shadow: var(--sh-2); }
.wy-site main .ds-card__media { border-radius: .45rem; background: #f5f3ed; }
.wy-site main .ds-card__body { padding: .75rem .2rem .15rem; }
.wy-site main .ds-card__quick { right: 1.25rem; bottom: 1.25rem; left: 1.25rem; }
.wy-site main .ds-card__quick .ds-btn { background: var(--wy-forest); color: #fff; }

/* Chi tiet san pham */
.wy-site .ds-prod { gap: clamp(2rem, 5vw, 5rem); }
.wy-site .ds-gal__main { border: 1px solid #e2e4df; border-radius: .75rem; background: #fff; }
.wy-site .ds-gal__thumbs a { border-radius: .4rem; background: #fff; }
.wy-site .ds-prod__info {
  padding: clamp(1.25rem, 2.5vw, 2rem);
  border: 1px solid #dde1db;
  border-radius: .75rem;
  background: #fff;
  box-shadow: 0 14px 38px -34px rgba(24,49,38,.65);
}
.wy-site .ds-prod__title { font-size: clamp(1.65rem, 3vw, 2.4rem); line-height: 1.12; }
.wy-site .ds-prod__buy { padding: 1rem; border-radius: .55rem; background: var(--wy-sage); }
.wy-site .ds-prod__buy .ds-btn { flex: 1 1 12rem; }
.wy-site .ds-facts { border-top: 1px solid var(--line); }
.wy-site .ds-bullets { padding: 1rem; border-radius: .55rem; background: var(--wy-cream); }
.wy-site .ds-bullets svg { color: var(--wy-forest); }
.wy-site main > .ds-section--soft { background: var(--wy-sage); }

/* Blog, bai viet va trang noi dung */
.wy-site .ds-post__media { border-radius: .65rem; }
.wy-site .ds-post__title { font-family: Georgia, "Times New Roman", serif; font-size: var(--t-xl); font-weight: 500; color: var(--wy-deep); }
.wy-site .ds-article__head { padding-block: clamp(2rem, 5vw, 4.5rem); }
.wy-site .ds-article__title { font-size: clamp(2.25rem, 5.5vw, 4.75rem); line-height: 1.02; }
.wy-site .ds-article__cover { margin-top: 0; border-radius: .75rem; max-height: 42rem; }
.wy-site .ds-article__cover img { width: 100%; max-height: 42rem; object-fit: cover; }
.wy-site .ds-prose { color: #465048; }
.wy-site .ds-prose h2,
.wy-site .ds-prose h3 { font-family: Georgia, "Times New Roman", serif; font-weight: 500; color: var(--wy-deep); }
.wy-site .ds-prose blockquote { border-color: var(--wy-clay); background: var(--wy-cream); padding: 1.25rem 1.5rem; }
.wy-site main > .ds-wrap--narrow.ds-section--tight { padding: clamp(2rem, 5vw, 4.5rem); margin-top: 2rem; border: 1px solid #e1e3dd; border-radius: .75rem; background: #fff; }

/* Gio hang, thanh toan va xac nhan */
.wy-site .ds-steps { padding: .85rem 1rem; border-radius: .55rem; background: var(--wy-cream); }
.wy-site .ds-steps li[aria-current] { color: var(--wy-deep); }
.wy-site .ds-table { background: #fff; }
.wy-site .ds-table th { padding: .85rem; background: var(--wy-sage); }
.wy-site .ds-table td { padding: 1rem .85rem; }
.wy-site .ds-panel { border-color: #d9ded7; border-radius: .65rem; }
.wy-site .ds-panel--soft { background: var(--wy-sage); }
.wy-site .ds-shop > .ds-panel--soft { position: sticky; top: calc(var(--hdr-h) + 3.2rem); }
.wy-site .ds-panel__title { font-family: Georgia, "Times New Roman", serif; font-size: var(--t-xl); color: var(--wy-deep); }
.wy-site .ds-field input,
.wy-site .ds-field select,
.wy-site .ds-field textarea { min-height: 48px; border-radius: .4rem; background: #fff; }
.wy-site .ds-empty { margin-block: 1rem 3rem; border: 1px solid #dde1db; border-radius: .75rem; background: #fff; }
.vke-ready{display:grid;grid-template-columns:2.6rem 1fr;gap:.8rem;align-items:center;padding:1rem;border:1px solid #b9d8c5;border-radius:.65rem;background:#eef8f1}.vke-ready>span{display:grid;width:2.6rem;height:2.6rem;place-items:center;border-radius:.55rem;background:#087b57;color:#fff;font-weight:850}.vke-ready strong{display:block;color:#183b2b}.vke-ready p{margin:.2rem 0 0;color:#53675c;font-size:var(--t-sm);line-height:1.45}

/* Footer cua hang: cung ngon ngu thuong hieu voi trang chu. */
.wy-site > .ds-footer { margin-top: 0; border: 0; background: var(--wy-deep); color: #fff; }
.wy-site > .ds-footer .ds-footer__title { color: #fff; }
.wy-site > .ds-footer .ds-footer__blurb,
.wy-site > .ds-footer li a,
.wy-site > .ds-footer .ds-footer__contact,
.wy-site > .ds-footer .ds-footer__base { color: rgba(255,255,255,.7); }
.wy-site > .ds-footer .ds-footer__base { border-color: rgba(255,255,255,.14); }
.wy-site > .ds-footer .ds-pay svg { border-color: rgba(255,255,255,.25); background: #fff; fill: #222; }
.wy-site > .ds-footer .ds-footer__brand > img { filter: brightness(0) invert(1); opacity: .92; }

@media (max-width: 899px) {
  .wy-site .ds-side,
  .wy-site .ds-shop > .ds-panel--soft { position: static; }
}
@media (max-width: 700px) {
  .wy-site main .ds-card { padding: .45rem; }
  .wy-site main .ds-card__body { padding: .55rem .1rem .1rem; }
  .wy-site .ds-prod__info { padding: 1rem; }
  .wy-site .ds-prod__buy { align-items: stretch; }
  .wy-site .ds-prod__buy .ds-qty input { height: 100%; }
  .wy-site .ds-table { background: transparent; }
  .wy-site .ds-table tr { padding: 1rem; border: 1px solid #dde1db; border-radius: .55rem; background: #fff; }
  .wy-site main > .ds-wrap--narrow.ds-section--tight { margin: 1rem; padding: 1.25rem; }
  .wy-site .ds-crumbs span[aria-current="page"] {
    display: block;
    max-width: min(15rem, 62vw);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
}
.sa-mobile-bar details{position:relative}.sa-mobile-bar summary{cursor:pointer;font-weight:700}.sa-mobile-bar details nav{position:absolute;z-index:5;top:2rem;right:0;display:grid;min-width:11rem;padding:.5rem;border-radius:.5rem;background:#fff;box-shadow:0 10px 30px rgba(0,0,0,.2)}.sa-mobile-bar details nav a{padding:.65rem;color:#253129}.sa-mobile-bar details nav a[aria-current="page"]{color:var(--sa-brand);font-weight:800}

/* He trang thuong mai dien tu theo ho so san pham tung site. */
.tenant-site{--tenant-deep:#252525;--tenant-paper:#faf9f6;--tenant-soft:#f2efe8;--tenant-accent:var(--brand);--tenant-line:#dedbd4;--tenant-serif:Georgia,"Times New Roman",serif;min-height:100vh;overflow-x:hidden;background:var(--tenant-paper)}
.tenant-lace{--tenant-deep:#352015;--tenant-paper:#fbf7f0;--tenant-soft:#efe5d5;--tenant-accent:#9a6a27;--tenant-line:#ded0bc}.tenant-stitch{--tenant-deep:#302624;--tenant-paper:#fffaf5;--tenant-soft:#fff0df;--tenant-accent:#d45a2b;--tenant-line:#ead7ca}.tenant-quilt{--tenant-deep:#172536;--tenant-paper:#fbfaf7;--tenant-soft:#eaf1f5;--tenant-accent:#b75a58;--tenant-line:#d7e0e6}.tenant-soap{--tenant-deep:#253b2d;--tenant-paper:#fcfaf7;--tenant-soft:#edf2e8;--tenant-accent:#a04f63;--tenant-line:#dbe2d6}.tenant-pumpkin{--tenant-deep:#442a20;--tenant-paper:#fffaf6;--tenant-soft:#f6e8df;--tenant-accent:#a54836;--tenant-line:#ead4c8}.tenant-utensil{--tenant-deep:#392817;--tenant-paper:#fdfaf4;--tenant-soft:#f1e5cf;--tenant-accent:#8a5b18;--tenant-line:#dfcfb3}.tenant-sachet{--tenant-deep:#203d35;--tenant-paper:#fbfaf5;--tenant-soft:#e8efe7;--tenant-accent:#9a5b68;--tenant-line:#d4dfd3}.tenant-soapbar{--tenant-deep:#3f302a;--tenant-paper:#fffaf5;--tenant-soft:#f2e5d9;--tenant-accent:#9a4f35;--tenant-line:#e1cfc0}.tenant-frame{--tenant-deep:#171717;--tenant-paper:#faf9f6;--tenant-soft:#e9e5df;--tenant-accent:#795f4b;--tenant-line:#d6d0c8}.tenant-flower{--tenant-deep:#412d38;--tenant-paper:#fff9fb;--tenant-soft:#f4e8ed;--tenant-accent:#9c4f73;--tenant-line:#e4cfda}.tenant-zen{--tenant-deep:#243b37;--tenant-paper:#fafbf7;--tenant-soft:#e5ede7;--tenant-accent:#47756b;--tenant-line:#d0ddd6}.tenant-music{--tenant-deep:#26345c;--tenant-paper:#fff9f3;--tenant-soft:#fde4a8;--tenant-accent:#a84e67;--tenant-line:#ead0c1}.tenant-broom{--tenant-deep:#34412c;--tenant-paper:#fbfaf3;--tenant-soft:#ece9d5;--tenant-accent:#66734b;--tenant-line:#d9d6bf}.tenant-scarf{--tenant-deep:#211d1a;--tenant-paper:#faf9f7;--tenant-soft:#e9e3de;--tenant-accent:#8b6439;--tenant-line:#d6cec7}.tenant-charm{--tenant-deep:#243f48;--tenant-paper:#fffaf6;--tenant-soft:#e6f0f0;--tenant-accent:#b65d55;--tenant-line:#cfdede}
.tenant-site>main{min-height:45vh}.tenant-site>main h1,.tenant-site>main .ds-head__title,.tenant-site>main .ds-article__title,.tenant-site>main .ds-prod__title,.tenant-site>main .ds-panel__title{font-family:var(--tenant-serif);font-weight:500;letter-spacing:-.025em;color:var(--tenant-deep)}.tenant-stitch>main h1,.tenant-stitch>main .ds-head__title,.tenant-stitch>main .ds-prod__title{font-family:inherit;font-weight:800;letter-spacing:-.045em}
.cur-hero{padding:clamp(1.25rem,3vw,2.5rem) 0 clamp(3rem,7vw,6.5rem);background:linear-gradient(115deg,var(--tenant-soft),var(--tenant-paper) 72%)}.cur-hero__grid{display:grid;grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);align-items:center;gap:clamp(2rem,6vw,6rem)}.cur-hero__copy{position:relative;z-index:1;padding-block:clamp(2rem,6vw,6rem)}.cur-kicker{display:block;margin-bottom:.9rem;color:var(--tenant-accent);font-size:.74rem;line-height:1.25;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.cur-hero h1{max-width:12ch;margin:0;font-family:var(--tenant-serif);font-size:clamp(2.8rem,6vw,6.25rem);font-weight:500;line-height:.96;letter-spacing:-.055em;color:var(--tenant-deep)}.tenant-stitch .cur-hero h1{font-family:inherit;font-weight:850}.cur-hero__copy>p{max-width:39rem;margin:1.5rem 0 0;color:color-mix(in srgb,var(--tenant-deep) 72%,white);font-size:clamp(1rem,1.5vw,1.2rem);line-height:1.7}.cur-actions{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 1.5rem;margin-top:2rem}.cur-home .ds-btn{min-height:46px;border-color:var(--tenant-deep);background:var(--tenant-deep);color:#fff}.cur-home .ds-btn:hover{border-color:var(--tenant-accent);background:var(--tenant-accent)}.cur-home .ds-btn--ghost{background:transparent;color:var(--tenant-deep)}.cur-link{color:var(--tenant-deep);font-weight:750;text-decoration:underline;text-decoration-color:var(--tenant-accent);text-underline-offset:.35em}
.cur-hero__image{position:relative;min-height:clamp(30rem,52vw,46rem);overflow:hidden;border-radius:clamp(.8rem,3vw,2.5rem) clamp(.8rem,8vw,9rem) clamp(.8rem,3vw,2.5rem) clamp(.8rem,3vw,2.5rem);box-shadow:0 30px 80px -54px var(--tenant-deep);background:var(--tenant-line)}.cur-hero__image picture,.cur-hero__image img,.cur-story__image picture,.cur-story__image img{width:100%;height:100%}.cur-hero__image img,.cur-story__image img{object-fit:cover}.cur-home--stitch .cur-hero__image{border-radius:2.5rem;transform:rotate(1.2deg)}.cur-home--quilt .cur-hero__image{border-radius:50% 50% 1rem 1rem/14% 14% 1rem 1rem}.cur-home--soap .cur-hero__image{border-radius:48% 48% 1.25rem 1.25rem/20% 20% 1.25rem 1.25rem}
.cur-uses{padding:clamp(4rem,8vw,7.5rem) 0;border-bottom:1px solid var(--tenant-line)}.cur-intro{display:grid;grid-template-columns:.6fr 1.1fr 1fr;align-items:start;gap:clamp(1rem,4vw,4rem)}.cur-intro h2,.cur-head h2,.cur-story h2,.cur-closing h2{margin:0;font-family:var(--tenant-serif);font-size:clamp(2rem,4.2vw,4.1rem);font-weight:500;line-height:1.04;letter-spacing:-.045em;color:var(--tenant-deep)}.tenant-stitch .cur-intro h2,.tenant-stitch .cur-head h2,.tenant-stitch .cur-story h2,.tenant-stitch .cur-closing h2{font-family:inherit;font-weight:830}.cur-intro>p{margin:0;color:color-mix(in srgb,var(--tenant-deep) 70%,white);line-height:1.7}.cur-use-grid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:clamp(3rem,6vw,5.5rem);border-top:1px solid var(--tenant-line)}.cur-use-grid article{padding:2rem clamp(1rem,3vw,3rem) 0 0}.cur-use-grid article+article{padding-left:clamp(1rem,3vw,3rem);border-left:1px solid var(--tenant-line)}.cur-use-grid article>span{color:var(--tenant-accent);font-size:.75rem;font-weight:850}.cur-use-grid h3{margin:1rem 0 .55rem;color:var(--tenant-deep);font-size:1.15rem}.cur-use-grid p{margin:0;color:color-mix(in srgb,var(--tenant-deep) 68%,white);line-height:1.6}
.cur-head{display:flex;justify-content:space-between;align-items:end;gap:2rem;margin-bottom:clamp(2rem,4vw,3.5rem)}.cur-head h2{font-size:clamp(2rem,3.6vw,3.4rem)}.cur-featured{background:var(--tenant-soft)}.cur-home .ds-card{padding:.55rem;border:1px solid var(--tenant-line);border-radius:.8rem;background:#fff}.cur-home .ds-card__media{border-radius:.55rem;background:color-mix(in srgb,var(--tenant-soft) 72%,white)}.cur-home .ds-card__body{padding:.8rem .25rem .25rem}.cur-home .ds-card__quick{right:1rem;bottom:1rem;left:1rem}
.cur-story__grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:center;gap:clamp(2.5rem,7vw,7rem)}.cur-story__image{min-height:clamp(26rem,50vw,43rem);overflow:hidden;border-radius:1rem 8rem 1rem 1rem;background:var(--tenant-soft)}.cur-home--stitch .cur-story__image{border-radius:2.5rem}.cur-home--quilt .cur-story__image{border-radius:10rem 1rem 1rem 1rem}.cur-home--soap .cur-story__image{border-radius:10rem 10rem 1rem 1rem}.cur-story__copy p{margin:1.5rem 0 2rem;color:color-mix(in srgb,var(--tenant-deep) 72%,white);font-size:1.08rem;line-height:1.75}.cur-closing{padding:clamp(4.5rem,9vw,9rem) 0;text-align:center;background:var(--tenant-deep);color:#fff}.cur-closing h2{max-width:18ch;margin:0 auto 2rem;color:#fff}.cur-closing .cur-kicker{color:color-mix(in srgb,var(--tenant-accent) 65%,white)}.cur-closing .ds-btn{border-color:#fff;background:#fff;color:var(--tenant-deep)}
.tenant-site>.ds-footer{margin-top:0;border:0;background:color-mix(in srgb,var(--tenant-deep) 94%,black);color:#fff}.tenant-site>.ds-footer .ds-footer__title{color:#fff}.tenant-site>.ds-footer .ds-footer__blurb,.tenant-site>.ds-footer li a,.tenant-site>.ds-footer .ds-footer__contact,.tenant-site>.ds-footer .ds-footer__base{color:rgba(255,255,255,.72)}.tenant-site>.ds-footer .ds-footer__base{border-color:rgba(255,255,255,.16)}.tenant-site>main .ds-side,.tenant-site>main .ds-prod__info,.tenant-site>main .ds-panel{border-radius:.7rem;background:#fff}.tenant-site>main .ds-section--soft,.tenant-site>main .ds-panel--soft,.tenant-site>main .ds-prod__buy{background:var(--tenant-soft)}
@media(max-width:780px){.cur-hero__grid,.cur-story__grid,.cur-intro{grid-template-columns:1fr}.cur-hero{padding-top:0}.cur-hero__copy{padding:2.5rem 0 0}.cur-hero h1{font-size:clamp(2.65rem,13vw,4.7rem)}.cur-hero__image{min-height:28rem}.cur-use-grid{grid-template-columns:1fr}.cur-use-grid article,.cur-use-grid article+article{padding:1.5rem 0;border-left:0;border-top:1px solid var(--tenant-line)}.cur-use-grid article:first-child{border-top:0}.cur-head{align-items:start}.cur-head .cur-link{white-space:nowrap}.cur-story__image{min-height:28rem}}@media(max-width:520px){.cur-head{display:grid}.cur-actions{align-items:stretch}.cur-actions .ds-btn{width:100%}}

/* Moi cua hang co ngon ngu bo cuc rieng, khong chi thay mau. */
.cur-home--lace .cur-hero__grid{align-items:start}.cur-home--lace .cur-hero__copy{padding-top:clamp(3rem,7vw,7rem)}.cur-home--lace .cur-hero h1{font-size:clamp(3rem,5.2vw,5.35rem)}.cur-home--lace .cur-hero__image{min-height:clamp(34rem,48vw,42rem);border-radius:.25rem 7rem .25rem .25rem}.lace-path{padding:1.25rem 0 3rem;background:var(--tenant-deep);color:#fff}.lace-path .cur-kicker{color:#d7b479}.lace-path__grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(255,255,255,.24)}.lace-path__grid a{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.85rem;min-height:6rem;padding:1rem;color:#fff;border-right:1px solid rgba(255,255,255,.24)}.lace-path__grid a:first-child{border-left:1px solid rgba(255,255,255,.24)}.lace-path__grid span{font-size:.7rem;color:#d7b479}.lace-path__grid strong{font-family:var(--tenant-serif);font-size:1.12rem;font-weight:500}.lace-path__grid i{font-style:normal;transition:transform .2s ease}.lace-path__grid a:hover i{transform:translateX(.3rem)}
.cur-home--stitch .cur-hero{background:radial-gradient(circle at 8% 12%,#ffd7b5 0 5rem,transparent 5.1rem),linear-gradient(115deg,#fff3e5,#fffaf5)}.stitch-bento{padding:clamp(4rem,8vw,7rem) 0;background:#202f65}.stitch-bento__grid{display:grid;grid-template-columns:1.15fr .85fr .85fr;grid-template-rows:16rem 16rem;gap:1rem}.stitch-bento__lead{grid-row:1/3;padding:clamp(2rem,4vw,4rem);border-radius:1.5rem;background:#f97316;color:#1c233f}.stitch-bento__lead .cur-kicker{color:#1c233f}.stitch-bento__lead h2{max-width:10ch;margin:0 0 2rem;font-size:clamp(2.2rem,4vw,4.5rem);line-height:.96;letter-spacing:-.055em}.stitch-tile{position:relative;overflow:hidden;border-radius:1.5rem;background:#fff}.stitch-tile--1{grid-row:1/3}.stitch-tile picture,.stitch-tile img{width:100%;height:100%;object-fit:cover}.stitch-tile span{position:absolute;right:.75rem;bottom:.75rem;left:.75rem;padding:.75rem;border-radius:.7rem;background:rgba(255,255,255,.92);color:#25201f;font-size:.8rem;font-weight:750;line-height:1.35}.stitch-tile--3{display:none}
.cur-home--quilt .cur-hero{padding-bottom:2rem;background:#f5f4f0}.cur-home--quilt .cur-hero__grid{grid-template-columns:.75fr 1.25fr}.cur-home--quilt .cur-hero__image{min-height:38rem;border-radius:0;box-shadow:none}.cur-home--quilt .cur-hero h1{font-size:clamp(3.2rem,6.3vw,6.8rem)}.quilt-edit{border-block:1px solid #172536;background:#f5f4f0}.quilt-edit__line{display:grid;grid-template-columns:.45fr 1fr auto;align-items:center;gap:2rem;min-height:6rem;color:#172536}.quilt-edit__line span,.quilt-edit__line a{font-size:.72rem;font-weight:850;letter-spacing:.14em}.quilt-edit__line p{margin:0;font-family:var(--tenant-serif);font-size:1.15rem}.cur-home--quilt .cur-use-grid article+article{border-color:#172536}.cur-home--quilt .cur-home .ds-card{border-radius:0}
.cur-home--soap .cur-hero{background:linear-gradient(105deg,#f4f6ee,#fcfaf7)}.cur-home--soap .cur-hero__image{min-height:38rem;box-shadow:none}.cur-home--soap .cur-hero__image:empty:after,.cur-home--soap .cur-hero__image:not(:has(img)):after{content:"BOTANICAL OBJECTS / SOAPLYZZ";position:absolute;inset:auto 2rem 2rem;color:#526b55;font-size:.7rem;font-weight:800;letter-spacing:.16em}.soap-note{padding:2.5rem 0;background:#526b55;color:#fff}.soap-note__inner{display:grid;grid-template-columns:.5fr 1fr auto;align-items:center;gap:2rem}.soap-note .cur-kicker{margin:0;color:#f3d8df}.soap-note p{max-width:48rem;margin:0;font-family:var(--tenant-serif);font-size:clamp(1.2rem,2vw,1.7rem);line-height:1.35}.soap-note a{color:#fff;font-weight:750;text-decoration:underline;text-underline-offset:.35em}
.cur-home--pumpkin .cur-hero{background:radial-gradient(circle at 4% 16%,#efc0ae 0 5rem,transparent 5.1rem),linear-gradient(120deg,#f8e8df,#fffaf6)}.cur-home--pumpkin .cur-hero__image{border-radius:48% 48% 1.5rem 1.5rem/12% 12% 1.5rem 1.5rem}.pumpkin-note{padding:2rem 0;background:#442a20;color:#fff}.pumpkin-note__grid{display:flex;justify-content:center;align-items:center;gap:clamp(.7rem,3vw,3rem);font-size:clamp(.68rem,1.3vw,.85rem);letter-spacing:.14em;text-align:center}.pumpkin-note__grid span{color:#e7a486;font-size:1.4rem}
.cur-home--utensil .cur-hero__grid{grid-template-columns:.95fr 1.05fr}.cur-home--utensil .cur-hero__image{border-radius:10rem 10rem .4rem .4rem;box-shadow:none}.utensil-note{padding:2.5rem 0;background:#392817;color:#fff}.utensil-note__inner{display:grid;grid-template-columns:.45fr 1fr auto;align-items:center;gap:2rem}.utensil-note .cur-kicker{margin:0;color:#e6bc78}.utensil-note p{margin:0;font-family:var(--tenant-serif);font-size:clamp(1.2rem,2vw,1.65rem)}.utensil-note a{color:#fff;font-weight:750;text-decoration:underline;text-underline-offset:.35em}
.cur-home--sachet .cur-hero{background:linear-gradient(120deg,#e7eee5,#fbfaf5)}.cur-home--sachet .cur-hero__image{border-radius:9rem .7rem 9rem .7rem;box-shadow:none}.sachet-note{padding:2.25rem 0;border-block:1px solid #203d35;background:#fbfaf5}.sachet-note__inner{display:flex;align-items:center;gap:clamp(.75rem,2.5vw,2rem);color:#203d35;font-size:.75rem;font-weight:850;letter-spacing:.15em}.sachet-note__inner i{font-style:normal;color:#9a5b68}.sachet-note__inner a{margin-left:auto;color:#203d35;text-decoration:underline;text-underline-offset:.35em}
.cur-home--soapbar .cur-hero{background:linear-gradient(120deg,#f1dfd2,#fffaf5)}.cur-home--soapbar .cur-hero__image{border-radius:.5rem 8rem .5rem .5rem}.soapbar-note{padding:2rem 0;background:#3f302a;color:#fff}.soapbar-note__inner{display:flex;justify-content:center;gap:clamp(.7rem,3vw,3rem);font-size:.72rem;font-weight:850;letter-spacing:.13em}.soapbar-note__inner i{font-style:normal;color:#d99a72}
.cur-home--frame .cur-hero{background:#faf9f6}.cur-home--frame .cur-hero__grid{grid-template-columns:.72fr 1.28fr}.cur-home--frame .cur-hero h1{font-size:clamp(3.3rem,7vw,7.4rem)}.cur-home--frame .cur-hero__image,.cur-home--frame .cur-story__image{border-radius:0;box-shadow:1.1rem 1.1rem 0 #171717}.frame-note{border-block:1px solid #171717;background:#faf9f6}.frame-note__inner{display:grid;grid-template-columns:repeat(3,1fr) auto;align-items:center;min-height:6rem}.frame-note strong,.frame-note a{padding:1rem;font-size:.68rem;letter-spacing:.12em}.frame-note strong+strong{border-left:1px solid #171717}.frame-note a{color:#fff;background:#171717;text-align:center}
.cur-home--flower .cur-hero{background:linear-gradient(120deg,#f4e8ed,#fff9fb)}.cur-home--flower .cur-hero__image{border-radius:50% 50% .5rem .5rem/18% 18% .5rem .5rem;box-shadow:none}.flower-note{padding:2.5rem 0;background:#6f3d57;color:#fff}.flower-note__inner{display:grid;grid-template-columns:.45fr 1fr auto;align-items:center;gap:2rem}.flower-note .cur-kicker{margin:0;color:#f1c9d9}.flower-note p{margin:0;font-family:var(--tenant-serif);font-size:clamp(1.2rem,2vw,1.7rem)}.flower-note a{color:#fff;text-decoration:underline;text-underline-offset:.35em}
.cur-home--zen .cur-hero{background:linear-gradient(120deg,#dfe9e2,#fafbf7)}.cur-home--zen .cur-hero__image{border-radius:12rem 12rem .5rem .5rem;box-shadow:none}.zen-note{padding:2rem 0;background:#243b37;color:#fff}.zen-note__inner{display:flex;justify-content:center;gap:clamp(.7rem,2.5vw,2.5rem);font-size:.7rem;font-weight:800;letter-spacing:.15em}.zen-note i{font-style:normal;color:#8cb5aa}
.cur-home--music .cur-hero{background:radial-gradient(circle at 8% 18%,#f9bd5e 0 5rem,transparent 5.1rem),linear-gradient(120deg,#fff2cf,#fff9f3)}.cur-home--music .cur-hero__image{border-radius:2.5rem;transform:rotate(1deg)}.music-note{padding:1.6rem 0;background:#26345c}.music-note__inner{display:flex;align-items:center;gap:.75rem}.music-note b{display:grid;width:3.1rem;height:3.1rem;place-items:center;border-radius:50%;background:#f9bd5e;color:#26345c}.music-note b:nth-child(even){background:#e77b91}.music-note a{margin-left:auto;color:#fff;font-weight:800}
.cur-home--broom .cur-hero{background:linear-gradient(120deg,#ece9d5,#fbfaf3)}.cur-home--broom .cur-hero__image{border-radius:.3rem;box-shadow:1rem 1rem 0 #66734b}.broom-note{padding:2rem 0;border-block:1px solid #34412c}.broom-note__inner{display:grid;grid-template-columns:repeat(3,1fr);text-align:center}.broom-note strong{padding:1rem;font-size:.72rem;letter-spacing:.14em}.broom-note strong+strong{border-left:1px solid #34412c}
.cur-home--scarf .cur-hero{background:#f2efeb}.cur-home--scarf .cur-hero__image,.cur-home--scarf .cur-story__image{border-radius:0;box-shadow:none}.cur-home--scarf .cur-hero h1{font-size:clamp(3.4rem,7vw,7.5rem)}.scarf-note{padding:2rem 0;background:#211d1a;color:#fff}.scarf-note__inner{display:flex;align-items:center;gap:1rem;font-family:var(--tenant-serif);font-size:1.1rem}.scarf-note i{color:#a9855e}.scarf-note a{margin-left:auto;color:#fff;font-family:inherit;font-size:.8rem;text-decoration:underline;text-underline-offset:.3em}
.cur-home--charm .cur-hero{background:linear-gradient(120deg,#e3efef,#fffaf6)}.cur-home--charm .cur-hero__image{border-radius:50% 50% 2rem 2rem/12% 12% 2rem 2rem}.charm-note{padding:2rem 0;background:#243f48;color:#fff}.charm-note__inner{display:flex;align-items:center;gap:clamp(.75rem,2vw,2rem);font-weight:850;letter-spacing:.13em}.charm-note i{color:#e28a78}.charm-note a{margin-left:auto;color:#fff;font-size:.75rem;text-decoration:underline;text-underline-offset:.3em}
.cur-hero__image>img{position:absolute;inset:0;width:100%!important;height:100%!important;object-fit:cover}

/* =========================================================================
   Trang con: shop, product, editorial, customer care va checkout.
   ========================================================================= */
.tenant-shop-hero,.tenant-blog-hero,.tenant-static-hero{padding:clamp(3.5rem,7vw,7rem) 0;border-bottom:1px solid var(--tenant-line);background:var(--tenant-soft)}.tenant-shop-hero .ds-wrap,.tenant-blog-hero .ds-wrap{display:grid;grid-template-columns:.65fr 1fr;align-items:end;gap:2rem}.tenant-shop-hero .ds-eyebrow,.tenant-blog-hero .ds-eyebrow,.tenant-static-hero .ds-eyebrow{color:var(--tenant-accent)}.tenant-shop-hero h1,.tenant-blog-hero h1{margin:0;font-size:clamp(3rem,7vw,7rem);line-height:.9}.tenant-shop-hero p,.tenant-blog-hero p,.tenant-static-hero p{max-width:38rem;margin:1rem 0 0;color:color-mix(in srgb,var(--tenant-deep) 68%,white);font-size:1.08rem;line-height:1.7}.tenant-shop-body{padding-top:clamp(2rem,4vw,4rem)}
.tenant-site .ds-side{position:sticky;top:calc(var(--hdr-h) + 1.5rem);padding:1.25rem;border:1px solid var(--tenant-line);border-radius:.75rem;background:#fff}.tenant-site .ds-side__box+.ds-side__box{padding-top:1.25rem;border-top:1px solid var(--tenant-line)}.tenant-site .ds-side__title{color:var(--tenant-accent);font-size:.72rem;letter-spacing:.14em}.tenant-site .ds-side li a{min-height:40px;padding:.45rem 0}.tenant-site .ds-side li[aria-current] a{color:var(--tenant-deep);font-weight:800}.tenant-site .ds-bar{min-height:54px;margin-bottom:1.25rem;padding:.5rem 0;border-block:1px solid var(--tenant-line)}.tenant-site .ds-select select{min-height:42px;border-radius:.4rem;background:#fff}.tenant-site .ds-grid--products{gap:clamp(1rem,2vw,1.75rem)}.tenant-site main .ds-card{padding:.55rem;border:1px solid var(--tenant-line);border-radius:.7rem;background:#fff;transition:border-color .2s ease,box-shadow .2s ease}.tenant-site main .ds-card:hover{border-color:var(--tenant-accent);box-shadow:0 18px 38px -32px var(--tenant-deep)}.tenant-site main .ds-card__media{border-radius:.45rem;background:var(--tenant-soft)}.tenant-site main .ds-card__body{padding:.8rem .2rem .25rem}.tenant-site main .ds-card__title{line-height:1.4}.tenant-site main .ds-card__quick{right:1rem;bottom:1rem;left:1rem}.tenant-site main .ds-card__quick .ds-btn{border-color:var(--tenant-deep);background:var(--tenant-deep);color:#fff}
.tenant-product-page{padding-bottom:0}.tenant-product-page>.ds-wrap.ds-section--tight{padding-block:clamp(2rem,5vw,5rem)}.tenant-product-page .ds-prod{grid-template-columns:minmax(0,1.08fr) minmax(22rem,.92fr);gap:clamp(2rem,6vw,6rem);align-items:start}.tenant-product-page .ds-gal__main{overflow:hidden;border:1px solid var(--tenant-line);border-radius:.8rem;background:#fff}.tenant-product-page .ds-gal__thumbs a{border-radius:.45rem;background:#fff}.tenant-product-page .ds-prod__info{position:sticky;top:calc(var(--hdr-h) + 1.5rem);padding:clamp(1.25rem,3vw,2.25rem);border:1px solid var(--tenant-line);border-radius:.8rem;background:#fff;box-shadow:0 22px 55px -48px var(--tenant-deep)}.tenant-product-page .ds-prod__title{font-size:clamp(1.8rem,3.3vw,3.15rem);line-height:1.05}.tenant-product-page .ds-price--lg{font-size:1.6rem}.tenant-product-page .ds-prod__buy{padding:1rem;border-radius:.55rem;background:var(--tenant-soft)}.tenant-product-page .ds-prod__buy .ds-btn{flex:1}.tenant-product-page .ds-bullets{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;padding:1rem 0;border-block:1px solid var(--tenant-line)}.tenant-product-page .ds-bullets li{display:grid;text-align:center;justify-items:center;gap:.4rem}.tenant-product-page .ds-bullets svg{color:var(--tenant-accent)}.tenant-product-page .ds-acc details{border-color:var(--tenant-line)}.tenant-product-page>.ds-section--soft{background:var(--tenant-soft)}
.tenant-blog-hero .ds-wrap{align-items:center}.tenant-blog-grid .ds-head{margin-bottom:1rem}.tenant-blog-index .ds-grid--posts{gap:clamp(1.5rem,3vw,3rem)}.tenant-blog-index .ds-post:first-child{grid-column:span 2}.tenant-blog-index .ds-post:first-child .ds-post__title{font-size:clamp(1.5rem,3vw,2.7rem)}.tenant-site .ds-post__media{border-radius:.65rem}.tenant-site .ds-post__title{font-family:var(--tenant-serif);font-weight:500;color:var(--tenant-deep)}.tenant-article-page .ds-article__head{text-align:center;padding-block:clamp(3rem,7vw,7rem)}.tenant-article-page .ds-article__title{max-width:18ch;margin-inline:auto;font-size:clamp(2.6rem,6vw,5.7rem);line-height:.98}.tenant-article-page .ds-article__cover{margin-top:0;overflow:hidden;border-radius:.8rem;max-height:44rem}.tenant-article-page .ds-article__cover img{width:100%;max-height:44rem;object-fit:cover}.tenant-article-page>.ds-wrap--narrow{padding-block:clamp(2rem,5vw,5rem)}.tenant-site .ds-prose{color:color-mix(in srgb,var(--tenant-deep) 76%,white);font-size:1.04rem;line-height:1.8}.tenant-site .ds-prose h2,.tenant-site .ds-prose h3{font-family:var(--tenant-serif);font-weight:500;color:var(--tenant-deep)}.tenant-site .ds-prose h2{margin-top:2.6rem;font-size:clamp(1.65rem,3vw,2.45rem)}.tenant-site .ds-prose blockquote{padding:1.25rem 1.5rem;border-color:var(--tenant-accent);background:var(--tenant-soft)}
.tenant-static-hero{text-align:center}.tenant-static-hero h1{max-width:18ch;margin:.6rem auto 0;font-size:clamp(2.8rem,6vw,5.4rem);line-height:.98}.tenant-static-hero p{margin-inline:auto}.tenant-static-layout{display:grid;grid-template-columns:15rem minmax(0,46rem);justify-content:center;align-items:start;gap:clamp(2rem,6vw,6rem);padding-block:clamp(3rem,7vw,7rem)}.tenant-care-nav{position:sticky;top:calc(var(--hdr-h) + 1.5rem);display:grid;padding:1.1rem;border:1px solid var(--tenant-line);border-radius:.65rem;background:#fff}.tenant-care-nav strong{padding:.5rem;color:var(--tenant-accent);font-size:.72rem;letter-spacing:.13em;text-transform:uppercase}.tenant-care-nav a{min-height:42px;padding:.65rem .5rem;border-top:1px solid var(--tenant-line);font-size:.9rem}.tenant-care-nav a:hover{color:var(--tenant-accent)}.tenant-static-body{min-width:0;padding:clamp(1.25rem,3vw,2.5rem);border:1px solid var(--tenant-line);border-radius:.75rem;background:#fff}.tenant-help{margin:3rem -2.5rem -2.5rem;padding:clamp(1.5rem,3vw,2.5rem);border-radius:0 0 .75rem .75rem;background:var(--tenant-soft)}.tenant-help h2{margin:.4rem 0 1.25rem;font-family:var(--tenant-serif);font-weight:500;color:var(--tenant-deep)}
.tenant-cart-page,.tenant-checkout-page{padding-top:clamp(1.5rem,4vw,3rem);padding-bottom:clamp(4rem,8vw,7rem)}.tenant-cart-page>.ds-head__title,.tenant-checkout-page .ds-head__title{font-size:clamp(2rem,4vw,3.5rem)}.tenant-cart-page .ds-table{overflow:hidden;border:1px solid var(--tenant-line);border-radius:.7rem;background:#fff}.tenant-cart-page .ds-table th{padding:1rem;background:var(--tenant-soft)}.tenant-cart-page .ds-table td{padding:1rem}.tenant-cart-page .ds-table__prod img{border-radius:.4rem;background:var(--tenant-soft)}.tenant-cart-page>.ds-shop>.ds-panel,.tenant-checkout-page>.ds-shop>.ds-panel{position:sticky;top:calc(var(--hdr-h) + 1.5rem);border-color:var(--tenant-line);border-radius:.75rem}.tenant-site .ds-steps{margin-bottom:2rem;padding:.85rem 1rem;border-radius:.55rem;background:var(--tenant-soft)}.tenant-checkout-page form.ds-flow{padding:clamp(1.25rem,3vw,2rem);border:1px solid var(--tenant-line);border-radius:.75rem;background:#fff}.tenant-checkout-page .ds-field input,.tenant-checkout-page .ds-field select,.tenant-checkout-page .ds-field textarea{min-height:48px;border-radius:.4rem;background:#fff}.tenant-checkout-page .ds-field input:focus,.tenant-checkout-page .ds-field select:focus{border-color:var(--tenant-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--tenant-accent) 18%,transparent)}
/* Khac biet vat lieu cua tung thuong hieu tren trang con. */
.tenant-lace .tenant-shop-hero,.tenant-lace .tenant-static-hero{background:linear-gradient(110deg,#efe5d5,#fbf7f0)}.tenant-lace main .ds-card,.tenant-lace .tenant-product-page .ds-prod__info{border-radius:.2rem}.tenant-stitch .tenant-shop-hero,.tenant-stitch .tenant-blog-hero{background:radial-gradient(circle at 88% 20%,#ffd0a8 0 7rem,transparent 7.1rem),#fff0df}.tenant-stitch main .ds-card,.tenant-stitch .tenant-product-page .ds-prod__info,.tenant-stitch .tenant-static-body{border-radius:1.25rem}.tenant-stitch main .ds-card__media{border-radius:.9rem}.tenant-quilt .tenant-shop-hero,.tenant-quilt .tenant-blog-hero,.tenant-quilt .tenant-static-hero{background:#f5f4f0}.tenant-quilt main .ds-card,.tenant-quilt main .ds-card__media,.tenant-quilt .tenant-product-page .ds-prod__info,.tenant-quilt .tenant-static-body{border-radius:0}.tenant-quilt .tenant-shop-hero,.tenant-quilt .tenant-static-hero{border-color:#172536}.tenant-soap .tenant-shop-hero,.tenant-soap .tenant-blog-hero,.tenant-soap .tenant-static-hero{background:linear-gradient(120deg,#edf2e8,#fcfaf7)}
@media(max-width:899px){.tenant-site .ds-side,.tenant-product-page .ds-prod__info,.tenant-cart-page>.ds-shop>.ds-panel,.tenant-checkout-page>.ds-shop>.ds-panel,.tenant-care-nav{position:static}.tenant-product-page .ds-prod{grid-template-columns:1fr}.tenant-shop-hero .ds-wrap,.tenant-blog-hero .ds-wrap{grid-template-columns:1fr}.tenant-static-layout{grid-template-columns:1fr}.tenant-care-nav{display:flex;overflow-x:auto}.tenant-care-nav strong{display:none}.tenant-care-nav a{flex:0 0 auto;border-top:0;border-right:1px solid var(--tenant-line)}}
@media(max-width:700px){.tenant-shop-hero,.tenant-blog-hero,.tenant-static-hero{padding:3rem 0}.tenant-shop-hero h1,.tenant-blog-hero h1{font-size:clamp(2.7rem,14vw,4.4rem)}.tenant-product-page .ds-prod__info{padding:1rem}.tenant-product-page .ds-bullets{grid-template-columns:1fr;text-align:left}.tenant-product-page .ds-bullets li{grid-template-columns:1.5rem 1fr;justify-items:start;text-align:left}.tenant-blog-index .ds-post:first-child{grid-column:auto}.tenant-static-layout{padding-top:1rem}.tenant-static-body{padding:1.2rem}.tenant-help{margin:2.5rem -1.2rem -1.2rem}.tenant-cart-page .ds-table{border:0;background:transparent}.tenant-cart-page .ds-table tr{border:1px solid var(--tenant-line);border-radius:.65rem;background:#fff}.tenant-checkout-page form.ds-flow{padding:1rem}}
@media(max-width:780px){.lace-path__grid{grid-template-columns:1fr 1fr}.lace-path__grid a:nth-child(3){border-left:1px solid rgba(255,255,255,.24);border-top:1px solid rgba(255,255,255,.24)}.lace-path__grid a:nth-child(4){border-top:1px solid rgba(255,255,255,.24)}.stitch-bento__grid{grid-template-columns:1fr 1fr;grid-template-rows:auto 15rem}.stitch-bento__lead{grid-column:1/3;grid-row:auto}.stitch-tile--1{grid-row:auto}.stitch-tile--2{display:block}.quilt-edit__line,.soap-note__inner,.utensil-note__inner,.flower-note__inner{grid-template-columns:1fr;gap:.8rem;padding-block:1.5rem}.sachet-note__inner,.soapbar-note__inner{flex-wrap:wrap}.sachet-note__inner a{width:100%;margin-left:0}.frame-note__inner{grid-template-columns:1fr}.frame-note strong+strong{border-left:0;border-top:1px solid #171717}.cur-home--quilt .cur-hero__grid,.cur-home--frame .cur-hero__grid{grid-template-columns:1fr}.cur-home--quilt .cur-hero__image,.cur-home--soap .cur-hero__image,.cur-home--lace .cur-hero__image,.cur-home--utensil .cur-hero__image,.cur-home--pumpkin .cur-hero__image,.cur-home--sachet .cur-hero__image,.cur-home--soapbar .cur-hero__image,.cur-home--frame .cur-hero__image,.cur-home--flower .cur-hero__image{min-height:27rem}}
.tenant-stitch .tenant-product-page .ds-prod__title{font-size:clamp(1.7rem,2.5vw,2.45rem);line-height:1.08;overflow-wrap:break-word}
@media(max-width:700px){.tenant-site .ds-crumbs span[aria-current="page"]{display:block;max-width:min(16rem,62vw);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tenant-product-page .ds-prod__title,.tenant-stitch .tenant-product-page .ds-prod__title{font-size:clamp(1.7rem,7.5vw,2.2rem)}}
@media(max-width:780px){.zen-note__inner,.soapbar-note__inner,.charm-note__inner,.scarf-note__inner{flex-wrap:wrap}.charm-note a,.scarf-note a{width:100%;margin-left:0}.music-note__inner{flex-wrap:wrap}.music-note a{width:100%;margin-left:0;text-align:center}.broom-note__inner{grid-template-columns:1fr}.broom-note strong+strong{border-top:1px solid #34412c;border-left:0}.cur-home--scarf .cur-hero__image,.cur-home--zen .cur-hero__image,.cur-home--music .cur-hero__image,.cur-home--broom .cur-hero__image,.cur-home--charm .cur-hero__image{min-height:27rem}}

/* Checkout mot trang: thong tin, shipping va PayPal trong mot luong ngan. */
.checkout-one{padding-block:clamp(1.5rem,4vw,4rem)}.checkout-head{margin-bottom:2rem}.checkout-head>a,.checkout-head>span{display:inline-block;margin-right:1rem;color:var(--ink-2);font-size:.78rem;font-weight:750}.checkout-head>span{padding-left:1rem;border-left:1px solid var(--line)}.checkout-head h1{margin:.8rem 0 .4rem;font-size:clamp(2.3rem,5vw,4.5rem)}.checkout-head p{margin:0;color:var(--ink-2);font-size:1.05rem}.checkout-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(20rem,.75fr);align-items:start;gap:clamp(1.5rem,4vw,4rem)}.checkout-form{display:grid;gap:1rem}.checkout-form>section,.checkout-payment{padding:clamp(1.2rem,3vw,2rem);border:1px solid var(--tenant-line,var(--line));border-radius:.8rem;background:#fff}.checkout-form>section>header{display:grid;grid-template-columns:2.2rem 1fr;gap:.8rem;margin-bottom:1.3rem}.checkout-form>section>header>span{display:grid;width:2rem;height:2rem;place-items:center;border-radius:50%;background:var(--tenant-deep,var(--ink));color:#fff;font-size:.7rem;font-weight:850}.checkout-form h2,.checkout-payment h2{margin:0;color:var(--tenant-deep,var(--ink));font-family:var(--tenant-serif,inherit);font-size:1.55rem}.checkout-form header p{margin:.25rem 0 0;color:var(--ink-2);font-size:.86rem}.checkout-shipping{display:grid;gap:.65rem}.checkout-shipping label{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.9rem;min-height:64px;padding:.85rem 1rem;border:1px solid var(--line);border-radius:.55rem;cursor:pointer}.checkout-shipping label:has(input:checked){border-color:var(--brand);box-shadow:0 0 0 2px var(--brand-soft)}.checkout-shipping input{width:1.2rem;height:1.2rem}.checkout-shipping span{display:grid}.checkout-shipping small{color:var(--ink-2)}.checkout-terms{text-align:center;color:var(--ink-2);font-size:.78rem}.checkout-terms a{text-decoration:underline}.checkout-summary{position:sticky;top:calc(var(--hdr-h) + 1.5rem);padding:1.3rem}.checkout-items{display:grid;gap:.8rem;margin:1rem 0;padding-bottom:1rem;border-bottom:1px solid var(--line)}.checkout-item{display:grid;grid-template-columns:54px 1fr auto;align-items:center;gap:.75rem}.checkout-item img{border-radius:.45rem;background:#fff;object-fit:cover}.checkout-item span{display:grid;font-size:.86rem}.checkout-item small{margin-top:.15rem;color:var(--ink-2)}.checkout-secure{margin:1rem 0 0;text-align:center;color:var(--ink-2);font-size:.74rem}.checkout-paid-step{display:inline-block;margin-bottom:1rem;padding:.4rem .65rem;border-radius:2rem;background:#e8f5ec;color:#24653b;font-size:.75rem;font-weight:800}.checkout-payment address{margin:1rem 0;color:var(--ink-2);font-style:normal;line-height:1.65}.checkout-payment>a{display:inline-block;margin-bottom:1.5rem;color:var(--brand);font-weight:750;text-decoration:underline}
.wy-site .checkout-one{max-width:72rem}.wy-site .checkout-head{max-width:46rem;margin-bottom:2.4rem}.wy-site .checkout-head h1{font-size:clamp(2.45rem,4.2vw,3.8rem);line-height:1}.wy-site .checkout-grid{grid-template-columns:minmax(0,1.25fr) minmax(19rem,.75fr);gap:clamp(2rem,4vw,3.5rem)}.wy-site .checkout-form{gap:0;border:1px solid #dfe4dc;border-radius:.75rem;background:#fff}.wy-site .checkout-form>section{padding:1.6rem 1.75rem;border:0;border-radius:0}.wy-site .checkout-form>section+section{border-top:1px solid #e5e8e3}.wy-site .checkout-form>section:first-child{border-radius:.75rem .75rem 0 0}.wy-site .checkout-form>section>header>span{background:var(--wy-deep)}.wy-site .checkout-form>.ds-btn{margin:1.5rem 1.75rem .5rem}.wy-site .checkout-terms{margin:0 1.5rem 1.5rem}.checkout-shipping-one{display:grid;grid-template-columns:1fr auto;align-items:center;gap:1rem;padding:1rem;border:1px solid var(--brand);border-radius:.5rem;background:var(--brand-soft)}.checkout-shipping-one span{display:grid}.checkout-shipping-one small{margin-top:.2rem;color:var(--ink-2)}.checkout-shipping-one>b{font-size:1.05rem}.checkout-payment-lead{margin:.6rem 0 1rem;color:var(--ink-2);line-height:1.6}.wy-site .checkout-summary{border-color:#dbe2d8;background:#f2f5ef}.wy-site .checkout-summary .ds-panel__title{font-size:1.55rem}
@media(max-width:860px){.checkout-grid{grid-template-columns:1fr}.checkout-summary{position:static;grid-row:1}.checkout-one{padding-inline:1rem}.checkout-head h1{font-size:clamp(2.1rem,10vw,3.3rem)}}@media(max-width:560px){.checkout-form>section,.checkout-payment,.checkout-summary{padding:1rem}.checkout-form .ds-form-grid{grid-template-columns:1fr}.checkout-head>span{display:none}.checkout-item{grid-template-columns:48px 1fr auto}.checkout-item img{width:48px;height:48px}}

/* Checkout parity with HomeFurnitureLife. */
.hfl-checkout-page{width:min(1180px,calc(100% - 40px));margin:0 auto;padding:48px 0 80px}.hfl-checkout-page>h1{margin:0 0 10px;color:#1d1b18;font-family:var(--sans,Arial,sans-serif);font-size:clamp(2.5rem,5vw,4.5rem);font-weight:750;letter-spacing:-.04em;line-height:1}.hfl-checkout-lede{max-width:60ch;margin:0 0 34px;color:#6b665f;font-size:1rem}.hfl-checkout-columns{display:grid;grid-template-columns:minmax(0,1fr) 380px;align-items:start;gap:46px}.hfl-checkout-flow{display:grid;gap:18px}.hfl-checkout-step{padding:26px;border:1px solid #e5e0d8;border-radius:12px;background:#fff}.hfl-checkout-step h2{display:flex;align-items:center;gap:10px;margin:0 0 8px;color:#1d1b18;font-family:var(--sans,Arial,sans-serif);font-size:20px;font-weight:700}.hfl-checkout-step h2>span{display:inline-grid;width:30px;height:30px;flex:none;place-items:center;border-radius:50%;color:#fff;background:#a87331;font-size:10px;letter-spacing:.08em}.hfl-checkout-step>p{margin:0 0 22px;color:#6b665f;font-size:14px;line-height:1.55}.hfl-checkout-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px}.hfl-checkout-field{display:flex;min-width:0;flex-direction:column;gap:7px}.hfl-checkout-field.full{grid-column:1/-1}.hfl-checkout-field>span{color:#57534e;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.hfl-checkout-field b{color:#9b2f2f}.hfl-checkout-field input,.hfl-checkout-field select{box-sizing:border-box;width:100%;min-height:48px;padding:0 13px;border:1px solid #d7d0c5;border-radius:6px;background:#fff;color:#1d1b18;font:inherit;font-size:16px}.hfl-checkout-field input:focus,.hfl-checkout-field select:focus{border-color:#1d1b18;outline:3px solid rgba(168,115,49,.18);outline-offset:1px}.hfl-shipping-choice{display:grid;grid-template-columns:auto 1fr auto;align-items:start;gap:12px;padding:16px;border:1px solid #1d1b18;border-radius:8px}.hfl-shipping-choice i{width:14px;height:14px;margin-top:3px;border:4px solid #fff;border-radius:50%;background:#1d1b18;box-shadow:0 0 0 1px #1d1b18}.hfl-shipping-choice span{display:grid}.hfl-shipping-choice small{margin-top:4px;color:#6b665f;font-size:13px}.hfl-shipping-choice>b{font-variant-numeric:tabular-nums}.hfl-checkout-button{display:inline-flex;min-height:48px;align-items:center;justify-content:center;padding:0 26px;border:1px solid #a87331;border-radius:6px;background:#a87331;color:#fff;font:inherit;font-size:13px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:background .2s ease,border-color .2s ease}.hfl-checkout-button:hover{border-color:#7b5223;background:#7b5223}.hfl-checkout-button:focus-visible{outline:3px solid rgba(154,107,47,.3);outline-offset:3px}.hfl-checkout-summary{position:sticky;top:30px;padding:26px;border:1px solid #ded7cc;border-radius:12px;background:#f7f4ed}.hfl-checkout-summary h2{margin:0 0 22px;color:#1d1b18;font-family:var(--sans,Arial,sans-serif);font-size:22px}.hfl-checkout-summary dl{display:grid;gap:10px;margin:0 0 18px}.hfl-checkout-summary dl>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px}.hfl-checkout-summary dt{overflow:hidden;color:#6b665f;font-size:14px;text-overflow:ellipsis;white-space:nowrap}.hfl-checkout-summary dd{margin:0;text-align:right;font-variant-numeric:tabular-nums}.hfl-order-lines{padding-bottom:18px;border-bottom:1px solid #ded7cc}.hfl-checkout-total{padding-top:16px;border-top:1px solid #ded7cc}.hfl-checkout-total dt,.hfl-checkout-total dd{color:#1d1b18;font-size:19px}.hfl-checkout-summary>p{margin:16px 0 0;color:#6b665f;font-size:13px}.hfl-checkout-summary a,.hfl-complete>a{color:#79501f;text-decoration:underline;text-underline-offset:3px}.hfl-complete>p{margin-bottom:8px}.hfl-checkout-error{margin:0 0 18px;padding:16px 18px;border:1px solid #e6bbb6;border-radius:8px;background:#fff3f1;color:#7d2f29;font-size:14px;line-height:1.6}.hfl-checkout-step .vke-paypal{max-width:560px}.hfl-checkout-step .vke-paypal>p{line-height:1.5}
@media(max-width:860px){.hfl-checkout-page{width:min(100% - 32px,720px);padding-top:32px}.hfl-checkout-columns{grid-template-columns:1fr;gap:24px}.hfl-checkout-summary{position:static;grid-row:1}.hfl-checkout-columns>div{grid-row:2}}
@media(max-width:560px){.hfl-checkout-page{width:calc(100% - 24px);padding:24px 0 56px}.hfl-checkout-page>h1{font-size:2.5rem}.hfl-checkout-lede{margin-bottom:24px}.hfl-checkout-step,.hfl-checkout-summary{padding:18px}.hfl-checkout-fields{grid-template-columns:1fr;gap:14px}.hfl-checkout-field.full{grid-column:auto}.hfl-shipping-choice{grid-template-columns:auto minmax(0,1fr)}.hfl-shipping-choice>b{grid-column:2}.hfl-checkout-button{width:100%}}

/* Checkout parity: the 192.168.1.61 checkout is the visual source of truth. */
.hfl-checkout-page{width:min(1180px,calc(100% - 48px));padding:56px 0 96px;color:#1d1b18}
.hfl-checkout-page>h1{margin:0 0 8px;font-family:var(--serif,Georgia,serif);font-size:clamp(34px,5vw,52px);font-weight:400;letter-spacing:0;line-height:1.1}
.hfl-checkout-lede{margin:0 0 40px;color:#625d56;font-size:16px;line-height:1.6}
.hfl-checkout-columns{grid-template-columns:minmax(0,1.7fr) minmax(300px,1fr);gap:56px}
.hfl-checkout-flow{display:block}
.hfl-checkout-step{margin:0 0 40px;padding:28px;border:1px solid #ded7cc;border-radius:0;background:#fff}
.hfl-checkout-step h2{align-items:baseline;gap:12px;margin:0 0 6px;font-family:var(--serif,Georgia,serif);font-size:24px;font-weight:400;line-height:1.25}
.hfl-checkout-step h2>span{width:30px;height:30px;align-self:center;background:#9d621a;font-family:var(--sans,Arial,sans-serif);font-size:10px;font-weight:700}
.hfl-checkout-step>p{margin:0 0 22px;color:#625d56;font-size:14px;line-height:1.55}
.hfl-checkout-fields{gap:18px}
.hfl-checkout-field{gap:7px}
.hfl-checkout-field>span{color:#57534e;font-size:12px;font-weight:600;letter-spacing:.1em}
.hfl-checkout-field input,.hfl-checkout-field select{height:52px;min-height:52px;padding:0 14px;border-color:#d9d0c4;border-radius:0;color:#171512;background:#fff;font-size:16px;font-weight:600}
.hfl-checkout-actions{display:flex;margin-top:28px}
.hfl-checkout-button{min-height:52px;padding:0 28px;border-color:#1d1b18;border-radius:0;background:#1d1b18;font-size:12px}
.hfl-checkout-button:hover{border-color:#9d621a;background:#9d621a}
.hfl-shipping-choice{padding:18px 20px;border-radius:0}
.hfl-shipping-choice strong{font-weight:500}
.hfl-checkout-summary{top:30px;padding:28px;border-color:#ded7cc;border-radius:0;background:#f7f4ed}
.hfl-checkout-summary h2{margin-bottom:18px;font-family:var(--serif,Georgia,serif);font-size:22px;font-weight:400}
.hfl-checkout-summary dl{gap:10px;margin-bottom:18px}
.hfl-checkout-summary dt{font-size:14px}
.hfl-checkout-total dt,.hfl-checkout-total dd{font-size:19px}
.hfl-payment-pending{margin:0!important;color:#6b665f;font-size:14px}
@media(max-width:900px){.hfl-checkout-page{width:min(100% - 32px,720px);padding-top:34px}.hfl-checkout-columns{grid-template-columns:1fr;gap:30px}.hfl-checkout-summary{position:static;grid-row:1}.hfl-checkout-columns>div{grid-row:2}}
@media(max-width:549px){.hfl-checkout-page{width:calc(100% - 32px);padding:30px 0 68px}.hfl-checkout-page>h1{font-size:clamp(34px,11vw,44px)}.hfl-checkout-lede{margin-bottom:30px}.hfl-checkout-step{margin-bottom:32px;padding:20px}.hfl-checkout-step h2{font-size:22px}.hfl-checkout-fields{grid-template-columns:1fr;gap:14px}.hfl-checkout-field.full{grid-column:auto}.hfl-checkout-actions{align-items:stretch;margin-top:22px}.hfl-checkout-button{width:100%}.hfl-checkout-summary{padding:20px}.hfl-shipping-choice{padding:16px 14px}}
