:root {
  --c-primary:        #175245; 
  --c-primary-dark:   #0F3B32; 
  --c-primary-ink:    #0B2B25; 
  --c-primary-soft:   #E4EDE8; 
  --c-gold:           #B08D57; 
  --c-gold-soft:      #E9DFC9;
  --ivory:            #FFFFFF; 
  --ivory-soft:       #F7F7F7; 
  --paper:            #FFFFFF; 
  --line:             #E9E9E9; 
  --gray-500:         #9A9A9A;
  --gray-600:         #6B6B6B;
  --gray-800:         #333333;
  --charcoal:         #1B1B1B;
  --c-error:          #C0392B;
  --bg:               var(--ivory);
  --bg-soft:          var(--ivory-soft);
  --text:             var(--charcoal);
  --text-muted:       var(--gray-600);
  --text-faint:       var(--gray-500);
  --border:           var(--line);
  --link:             var(--c-primary);
  --price:            var(--charcoal); 
  --sale:             #D62B2B;         
  --font-base:    "Sepehri", "Vazirmatn", Tahoma, system-ui, sans-serif;
  --font-heading: var(--font-base);
  --font-display: var(--font-base); 
  --font-latin:         "Sepehri Latin", var(--font-base);
  --font-latin-display: "Sepehri Latin Display", var(--font-base);
  --font-classic: "Didot", "Bodoni MT", "Playfair Display", "Times New Roman", Georgia, serif;
  --fs-xs:   0.75rem;
  --fs-sm:   0.875rem;
  --fs-base: 1rem;
  --fs-md:   1.125rem;
  --fs-lg:   1.375rem;
  --fs-xl:   1.75rem;
  --fs-2xl:  2.25rem;
  --fs-3xl:  3rem;
  --lh-tight: 1.2;
  --lh-base:  1.8;
  --fw-regular: 400;
  --fw-medium:  500;
  --fw-bold:    700;
  --sp-1: 0.25rem;
  --sp-2: 0.5rem;
  --sp-3: 0.75rem;
  --sp-4: 1rem;
  --sp-5: 1.5rem;
  --sp-6: 2rem;
  --sp-7: 3rem;
  --sp-8: 4rem;
  --sp-9: 6rem;
  --radius-sm: 0;
  --radius:    0;
  --radius-lg: 0;
  --radius-pill: 0;
  --radius-arch: 0;
  --shadow-sm: 0 1px 2px rgba(28, 27, 25, 0.05);
  --shadow:    0 8px 26px rgba(28, 27, 25, 0.08);
  --shadow-lg: 0 20px 50px rgba(28, 27, 25, 0.13);
  --content-max: 1520px;
  --content-pad: 48px;
  --header-h: 76px;
  --ease: cubic-bezier(0.4, 0, 0.2, 1);
  --dur: 0.25s;
  --dur-slow: 0.5s;
}
@media (max-width: 1320px) {
  :root { --content-pad: 32px; }
}
@media (max-width: 1024px) {
  :root { --content-pad: 20px; --header-h: 64px; }
}
@media (max-width: 767px) {
  :root {
    --content-pad: 16px;
    --fs-xs:   0.667rem;
    --fs-sm:   0.778rem;
    --fs-base: 0.889rem;
    --fs-md:   0.944rem;
    --fs-lg:   1.056rem;
    --fs-xl:   1.222rem;
    --fs-2xl:  1.444rem;
    --fs-3xl:  1.833rem;
    --sp-7: 2.25rem;   
    --sp-8: 3rem;      
    --sp-9: 3.5rem;    
  }
}
@font-face {
  font-family: "Sepehri";
  src: url("../fonts/YekanBakhFaNum-Thin.woff2") format("woff2");
  font-weight: 100;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Sepehri";
  src: url("../fonts/YekanBakhFaNum-Light.woff2") format("woff2");
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Sepehri";
  src: url("../fonts/YekanBakhFaNum-Regular.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Sepehri";
  src: url("../fonts/YekanBakhFaNum-SemiBold.woff2") format("woff2");
  font-weight: 500 600;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Sepehri";
  src: url("../fonts/YekanBakhFaNum-Bold.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Sepehri";
  src: url("../fonts/YekanBakhFaNum-ExtraBold.woff2") format("woff2");
  font-weight: 800;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Sepehri";
  src: url("../fonts/YekanBakhFaNum-Black.woff2") format("woff2");
  font-weight: 900;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Sepehri";
  src: url("../fonts/YekanBakhFaNum-ExtraBlack.woff2") format("woff2");
  font-weight: 950;
  font-style: normal;
  font-display: swap;
}
@font-face { font-family: "Sepehri Latin"; src: url("../fonts/AbarLow-Light.woff2") format("woff2"); font-weight: 300; font-style: normal; font-display: swap; }
@font-face { font-family: "Sepehri Latin"; src: url("../fonts/AbarLow-Regular.woff2") format("woff2"); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: "Sepehri Latin Display"; src: url("../fonts/AbarHigh-Light.woff2") format("woff2"); font-weight: 200 300; font-style: normal; font-display: swap; }
@font-face { font-family: "Sepehri Latin Display"; src: url("../fonts/AbarHigh-Regular.woff2") format("woff2"); font-weight: 400; font-style: normal; font-display: swap; }
*,
*::before,
*::after { box-sizing: border-box; }
* { margin: 0; }
html {
  -webkit-text-size-adjust: 100%;
  scroll-behavior: smooth;
  overflow-x: clip;
}
body {
  font-family: var(--font-base);
  font-size: var(--fs-base);
  line-height: var(--lh-base);
  color: var(--text);
  background: var(--bg);
  direction: rtl;
  text-align: right;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow-x: clip;
}
img,
picture,
video,
canvas,
svg {
  display: block;
  max-width: 100%;
  height: auto;
}
input,
button,
textarea,
select {
  font: inherit;
  color: inherit;
}
button { cursor: pointer; background: none; border: 0; padding: 0; }
a {
  color: inherit;
  text-decoration: none;
  transition: color var(--dur) var(--ease), opacity var(--dur) var(--ease);
}
h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-heading);
  font-weight: var(--fw-bold);
  line-height: var(--lh-tight);
  color: var(--text);
}
p { line-height: var(--lh-base); }
ul, ol { list-style: none; padding: 0; }
::selection { background: var(--c-primary); color: var(--ivory); }
.container {
  width: 100%;
  max-width: var(--content-max);
  margin-inline: auto;
  padding-inline: var(--content-pad);
}
.section { padding-block: var(--sp-9); }
.visually-hidden {
  position: absolute !important;
  width: 1px; height: 1px;
  padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0 0 0 0);
  white-space: nowrap; border: 0;
}
.latin {
  font-family: var(--font-latin);
  direction: ltr;
  unicode-bidi: isolate;
}
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--sp-2);
  padding: 0.9rem 2rem;
  border: 1px solid transparent;
  border-radius: var(--radius-pill);
  font-weight: var(--fw-medium);
  font-size: var(--fs-sm);
  line-height: 1;
  white-space: nowrap;
  transition: background var(--dur) var(--ease), color var(--dur) var(--ease),
              border-color var(--dur) var(--ease), transform var(--dur) var(--ease),
              box-shadow var(--dur) var(--ease);
}
.btn:hover { transform: translateY(-2px); box-shadow: var(--shadow); }
.btn .icon { width: 18px; height: 18px; }
.btn--primary { background: var(--c-primary); color: var(--ivory); }
.btn--primary:hover { background: var(--c-primary-dark); }
.btn--dark { background: var(--charcoal); color: var(--ivory); }
.btn--dark:hover { background: #000; }
.btn--outline {
  background: transparent;
  border-color: currentColor;
  color: var(--c-primary);
}
.btn--outline:hover { background: var(--c-primary); border-color: var(--c-primary); color: var(--ivory); }
.btn--light { background: var(--ivory); color: var(--c-primary-ink); }
.btn--light:hover { background: #fff; }
.btn--ghost-light {
  background: transparent;
  border-color: rgba(255, 255, 255, 0.5);
  color: var(--ivory);
}
.btn--ghost-light:hover { background: rgba(255, 255, 255, 0.12); }
.icon { width: 24px; height: 24px; flex: none; }
.topbar {
  background: var(--c-primary-ink);
  color: var(--ivory);
}
.topbar__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--sp-5);
  min-height: 38px;
  font-size: var(--fs-xs);
}
.topbar__item {
  display: inline-flex;
  align-items: center;
  gap: var(--sp-2);
  opacity: 0.85;
}
.topbar__item .icon { width: 15px; height: 15px; }
a.topbar__item:hover { opacity: 1; color: var(--c-gold-soft); }
.site-header {
  position: sticky;
  top: 0;
  z-index: 60;
  background: rgba(255, 255, 255, 0.94);
  border-bottom: 1px solid var(--border);
  transition: box-shadow var(--dur) var(--ease);
}
.site-header::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}
.site-header.is-scrolled { box-shadow: var(--shadow); }
.site-header__inner {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  height: var(--header-h);
  gap: var(--sp-4);
}
.header-start { display: flex; align-items: center; gap: var(--sp-4); }
.header-burger { display: none; position: relative; z-index: 75; color: var(--text); }
.header-burger__close { display: none; }
.header-burger[aria-expanded="true"] .header-burger__open { display: none; }
.header-burger[aria-expanded="true"] .header-burger__close { display: block; }
.desktop-nav__list {
  display: flex;
  align-items: center;
  gap: var(--sp-6);
  font-size: var(--fs-sm);
  font-weight: var(--fw-medium);
}
.desktop-nav__list a {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  height: var(--header-h);
  white-space: nowrap;
  color: var(--text);
}
.desktop-nav__list a .icon { width: 15px; height: 15px; transition: transform var(--dur) var(--ease); }
.desktop-nav__list .has-mega.is-open > a .icon { transform: rotate(180deg); }
.desktop-nav__list a::after {
  content: "";
  position: absolute;
  inset-inline: 0;
  bottom: 18px;
  height: 2px;
  border-radius: 2px;
  background: var(--c-gold);
  transform: scaleX(0);
  transform-origin: center;
  transition: transform var(--dur) var(--ease);
}
.desktop-nav__list a:hover { color: var(--c-primary); }
.desktop-nav__list a:hover::after,
.desktop-nav__list a.is-current::after,
.desktop-nav__list .has-mega.is-open > a::after { transform: scaleX(1); }
.mega {
  position: absolute;
  inset-inline: 0;
  top: 100%;
  background: var(--paper);
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
  box-shadow: var(--shadow-lg);
  opacity: 0;
  visibility: hidden;
  transform: translateY(10px);
  transition: opacity var(--dur) var(--ease), transform var(--dur) var(--ease), visibility var(--dur);
  z-index: 55;
}
.mega.is-open {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
.mega__inner {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 300px;
  gap: var(--sp-7);
  padding-block: var(--sp-6);
}
.mega__title {
  display: flex;
  align-items: center;
  gap: var(--sp-2);
  font-size: var(--fs-sm);
  font-weight: var(--fw-bold);
  color: var(--text);
  padding-bottom: var(--sp-3);
  margin-bottom: var(--sp-3);
  border-bottom: 1px solid var(--border);
}
.mega__title .icon { width: 17px; height: 17px; color: var(--c-gold); }
.mega__list { display: grid; gap: 2px; }
.mega__list a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: var(--sp-2) var(--sp-2);
  margin-inline: calc(-1 * var(--sp-2));
  border-radius: var(--radius-sm);
  font-size: var(--fs-sm);
  color: var(--text-muted);
  transition: background var(--dur) var(--ease), color var(--dur) var(--ease), padding var(--dur) var(--ease);
}
.mega__list a .icon {
  width: 15px;
  height: 15px;
  opacity: 0;
  transform: translateX(4px);
  transition: opacity var(--dur) var(--ease), transform var(--dur) var(--ease);
}
.mega__list a:hover {
  background: var(--c-primary-soft);
  color: var(--c-primary);
}
.mega__list a:hover .icon { opacity: 1; transform: translateX(0); }
.mega__promo {
  position: relative;
  display: block;
  overflow: hidden;
  border-radius: var(--radius-lg);
  background: var(--c-primary-ink);
  min-height: 240px;
}
.mega__promo .mega__promo-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top center;
  opacity: 0.92;
  transition: transform var(--dur-slow) var(--ease);
}
.mega__promo:hover .mega__promo-img { transform: scale(1.05); }
.mega__promo::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(200deg, transparent 40%, rgba(11, 43, 37, 0.8));
}
.mega__promo-body {
  position: absolute;
  z-index: 1;
  bottom: var(--sp-4);
  inset-inline-start: var(--sp-5);
  display: grid;
  gap: 2px;
  color: var(--ivory);
}
.mega__promo-en {
  font-size: 10px;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  color: var(--c-gold-soft);
}
.mega__promo-fa { font-size: var(--fs-md); font-weight: var(--fw-bold); }
.mega__promo-cta {
  display: inline-flex;
  align-items: center;
  gap: var(--sp-1);
  margin-top: var(--sp-2);
  font-size: var(--fs-xs);
  color: var(--c-gold-soft);
}
.mega__promo-cta .icon { width: 14px; height: 14px; }
.header-nav { display: none; }
.header-nav__tagline { display: none; }
.header-nav__scrim { display: none; }
.site-logo { justify-self: center; }
.site-logo .site-logo__img { height: 44px; width: auto; }
.header-icons {
  justify-self: end;
  display: flex;
  align-items: center;
  gap: var(--sp-2);
}
.header-icon {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border-radius: 0;
  color: var(--text);
  transition: background var(--dur) var(--ease), color var(--dur) var(--ease);
}
.header-icon:hover { background: var(--c-primary-soft); color: var(--c-primary); }
.header-icon .icon { width: 21px; height: 21px; max-width: none; }
.cart-count {
  position: absolute;
  top: 3px;
  inset-inline-start: 1px;
  min-width: 17px;
  height: 17px;
  padding-inline: 4px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--c-gold);
  color: #fff;
  font-size: 10.5px;
  font-weight: var(--fw-bold);
  border-radius: var(--radius-pill);
  line-height: 1;
}
.hero-carousel {
  --hero-slide: min(1180px, 76vw);
  --hero-gap: var(--sp-4);
  position: relative;
  padding-block: var(--sp-4) var(--sp-5);
}
.hero-carousel__viewport { overflow: hidden; }
.hero-carousel__track {
  display: flex;
  gap: var(--hero-gap);
  direction: ltr;                 
  transition: transform 0.5s var(--ease);
  will-change: transform;
  touch-action: pan-y;
  cursor: grab;
}
.hero-carousel__track.is-dragging { cursor: grabbing; transition: none; }
.hero-carousel__slide {
  flex: 0 0 var(--hero-slide);
  display: block;
  position: relative;
  aspect-ratio: 1000 / 320;
  overflow: hidden;
  background: var(--bg-soft);
  opacity: 0.45;
  transition: opacity var(--dur-slow) var(--ease);
}
.hero-carousel__slide.is-active { opacity: 1; }
.hero-carousel__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  user-select: none;
  -webkit-user-drag: none;
}
.hero-carousel__nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 3;
  display: grid;
  place-items: center;
  width: 46px;
  height: 46px;
  border: 1px solid var(--border);
  background: rgba(255, 255, 255, 0.92);
  color: var(--text);
  cursor: pointer;
  backdrop-filter: blur(4px);
  transition: background var(--dur) var(--ease), color var(--dur) var(--ease), border-color var(--dur) var(--ease);
}
.hero-carousel__nav:hover { background: var(--c-primary); border-color: var(--c-primary); color: var(--ivory); }
.hero-carousel__nav .icon { width: 20px; height: 20px; }
.hero-carousel__nav--prev { inset-inline-start: calc((100% - var(--hero-slide)) / 2 - 23px); }
.hero-carousel__nav--next { inset-inline-end: calc((100% - var(--hero-slide)) / 2 - 23px); }
.hero__dots {
  display: flex;
  justify-content: center;
  gap: 6px;
  margin-top: var(--sp-4);
}
.hero__dot {
  width: 22px;
  height: 3px;
  border: 0;
  padding: 0;
  background: var(--border);
  cursor: pointer;
  transition: background var(--dur) var(--ease), width var(--dur) var(--ease);
}
.hero__dot.is-active { background: var(--c-primary); width: 34px; }
@media (max-width: 1024px) {
  .hero-carousel { --hero-slide: 84vw; }
  .hero-carousel__nav { width: 40px; height: 40px; }
  .hero-carousel__nav--prev { inset-inline-start: calc((100% - var(--hero-slide)) / 2 - 20px); }
  .hero-carousel__nav--next { inset-inline-end: calc((100% - var(--hero-slide)) / 2 - 20px); }
}
@media (max-width: 767px) {
  .hero-carousel { --hero-slide: 88vw; --hero-gap: var(--sp-3); padding-block: var(--sp-3) var(--sp-4); }
  .hero-carousel__slide { aspect-ratio: 1000 / 420; opacity: 0.6; }
  .hero-carousel__nav { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .hero-carousel__track { transition: none; }
  .hero-carousel__slide { transition: none; }
}
.titr {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: var(--sp-4);
  margin-bottom: var(--sp-6);
}
.titr__en {
  font-family: var(--font-latin);
  font-weight: 300;
  font-size: var(--fs-xs);
  letter-spacing: 0.34em;
  text-transform: uppercase;
  color: var(--c-gold);
  margin-bottom: var(--sp-1);
}
.titr__fa {
  display: flex;
  align-items: center;
  gap: var(--sp-3);
  font-size: var(--fs-xl);
  font-weight: var(--fw-bold);
}
.titr__gem { display: inline-flex; }
.titr__gem .icon { width: 13px; height: 13px; color: var(--c-primary); }
.titr__more {
  display: inline-flex;
  align-items: center;
  gap: var(--sp-2);
  font-size: var(--fs-sm);
  font-weight: var(--fw-medium);
  color: var(--c-primary);
  padding-bottom: var(--sp-1);
}
.titr__more .icon { width: 17px; height: 17px; transition: transform var(--dur) var(--ease); }
.titr__more:hover .icon { transform: translateX(-4px); }
.titr--light .titr__fa { color: var(--ivory); }
.titr--light .titr__more { color: var(--c-gold-soft); }
.cats { padding-top: var(--sp-7); }
.cats__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-auto-rows: 240px;
  gap: var(--sp-4);
}
.cat-card {
  position: relative;
  display: block;
  overflow: hidden;
  border-radius: var(--radius-lg);
  background: var(--paper);
  border: 1px solid var(--border);
}
.cat-card--hero { grid-column: span 2; grid-row: span 2; }
.cat-card--wide { grid-column: span 2; }
.cat-card .cat-card__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top center;
  transition: transform var(--dur-slow) var(--ease);
}
.cat-card:hover .cat-card__img { transform: scale(1.05); }
.cat-card__overlay {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(0deg, rgba(11, 43, 37, 0.78) 0%, rgba(11, 43, 37, 0.30) 18%, rgba(11, 43, 37, 0.08) 34%, transparent 46%),
    linear-gradient(200deg, transparent 78%, rgba(11, 43, 37, 0.12));
  transition: opacity var(--dur) var(--ease);
}
.cat-card__name {
  position: absolute;
  bottom: var(--sp-4);
  inset-inline-start: var(--sp-5);
  display: grid;
  gap: 2px;
  color: var(--ivory);
  text-shadow: 0 1px 14px rgba(11, 43, 37, 0.55);
}
.cat-card__fa { font-size: var(--fs-lg); font-weight: var(--fw-bold); }
.cat-card--hero .cat-card__fa { font-size: var(--fs-xl); }
.cat-card__en {
  font-size: 11px;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  opacity: 0.75;
}
.cat-card__go {
  position: absolute;
  bottom: var(--sp-4);
  inset-inline-end: var(--sp-4);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 0;
  background: rgba(255, 255, 255, 0.16);
  backdrop-filter: blur(6px);
  color: var(--ivory);
  opacity: 0;
  transform: translateY(8px);
  transition: opacity var(--dur) var(--ease), transform var(--dur) var(--ease);
}
.cat-card__go .icon { width: 18px; height: 18px; }
.cat-card:hover .cat-card__go { opacity: 1; transform: translateY(0); }
.why { padding-block: var(--sp-6); background: var(--bg-soft); }
.why__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--sp-3) var(--sp-5);
}
.why__item { display: flex; align-items: center; gap: var(--sp-3); min-width: 0; }
.why__icon {
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  background: var(--paper);
  border: 1px solid var(--border);
  color: var(--c-primary);
}
.why__icon .icon { width: 19px; height: 19px; }
.why__body { display: grid; gap: 1px; min-width: 0; line-height: 1.6; }
.why__title { font-size: var(--fs-sm); font-weight: var(--fw-bold); color: var(--text); }
.why__text { font-size: var(--fs-xs); color: var(--text-faint); }
@media (max-width: 900px) { .why__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) {
  .why { padding-block: var(--sp-5); }
  .why__grid { grid-template-columns: minmax(0, 1fr); gap: var(--sp-3); }
  .why__icon { width: 34px; height: 34px; }
}
.products-row { padding-block: var(--sp-7); }
.products-row__viewport { position: relative; }
.products-row__track {
  display: flex;
  gap: var(--sp-4);
  overflow-x: auto;
  scroll-snap-type: x proximity;
  scrollbar-width: none;
  padding-block: var(--sp-2) var(--sp-4);
  touch-action: pan-x pan-y;
}
.products-row__track::-webkit-scrollbar { display: none; }
.products-row__track.is-dragging { cursor: grabbing; scroll-snap-type: none; }
.products-row__track.is-dragging * { pointer-events: none; }
@media (max-width: 767px) {
  .products-row__viewport { padding-inline: 0; }
  .products-row__track {
    padding-inline: var(--content-pad) 0;
    scroll-padding-inline-start: var(--content-pad);
  }
}
.c-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 5;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 46px;
  height: 46px;
  border-radius: 0;
  background: var(--paper);
  border: 1px solid var(--border);
  box-shadow: var(--shadow);
  color: var(--text);
  transition: background var(--dur) var(--ease), color var(--dur) var(--ease);
}
.c-arrow:hover { background: var(--c-primary); color: var(--ivory); }
.c-arrow .icon { width: 20px; height: 20px; }
[data-hscroll-prev] { inset-inline-start: calc(var(--content-pad) - 23px); }
[data-hscroll-next] { inset-inline-end: calc(var(--content-pad) - 23px); }
.product-card {
  flex: 0 0 260px;
  scroll-snap-align: start;
  display: block;
  background: var(--paper);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  overflow: hidden;
  transition: transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease);
}
.product-card:hover {
  transform: translateY(-5px);
  box-shadow: var(--shadow-lg);
}
.product-card__media {
  position: relative;
  display: block;
  aspect-ratio: 3 / 3.6;
  background: #f7f7f7;
  overflow: hidden;
}
.product-card__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top center;
  transition: transform var(--dur-slow) var(--ease), opacity 0.45s var(--ease);
}
.product-card:hover .product-card__img { transform: scale(1.045); }
.product-card__img--hover {
  position: absolute;
  inset: 0;
  opacity: 0;
}
.product-card:hover .product-card__img--hover { opacity: 1; }
.product-card__badges {
  position: absolute;
  top: var(--sp-3);
  inset-inline-start: var(--sp-3);
  display: grid;
  gap: var(--sp-1);
}
.badge {
  display: inline-flex;
  align-items: center;
  padding: 4px 10px;
  border-radius: var(--radius-pill);
  font-size: var(--fs-xs);
  font-weight: var(--fw-medium);
  line-height: 1.6;
}
.badge--sale { background: var(--c-gold); color: #fff; }
.badge--new { background: var(--c-primary); color: var(--ivory); }
.product-card__cta {
  position: absolute;
  inset-inline: var(--sp-3);
  bottom: var(--sp-3);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--sp-2);
  padding: 0.7rem;
  border-radius: var(--radius-pill);
  background: rgba(11, 43, 37, 0.9);
  backdrop-filter: blur(6px);
  color: var(--ivory);
  font-size: var(--fs-sm);
  opacity: 0;
  transform: translateY(10px);
  transition: opacity var(--dur) var(--ease), transform var(--dur) var(--ease);
}
.product-card__cta .icon { width: 17px; height: 17px; }
.product-card:hover .product-card__cta { opacity: 1; transform: translateY(0); }
.product-card__body {
  display: grid;
  gap: 4px;
  padding: var(--sp-4) var(--sp-4) var(--sp-5);
}
.product-card__cat {
  font-size: var(--fs-xs);
  color: var(--text-faint);
}
.product-card__title {
  font-size: var(--fs-sm);
  font-weight: var(--fw-medium);
  color: var(--text);
  line-height: 1.7;
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.product-card__price { margin-top: 2px; }
.price {
  display: inline-flex;
  align-items: baseline;
  gap: var(--sp-2);
  color: var(--price);
  font-weight: var(--fw-bold);
  font-size: var(--fs-md);
}
.price .woocommerce-Price-currencySymbol { font-size: var(--fs-xs); font-weight: var(--fw-regular); }
.price__sale { text-decoration: none; }
.price__original {
  color: var(--text-faint);
  font-weight: var(--fw-regular);
  font-size: var(--fs-sm);
}
.price--empty { color: var(--text-faint); font-weight: var(--fw-regular); font-size: var(--fs-sm); }
.groom {
  background:
    radial-gradient(900px 480px at 12% 0%, rgba(176, 141, 87, 0.14), transparent 55%),
    var(--c-primary-ink);
  color: var(--ivory);
  overflow: clip;
}
.groom__inner {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
  gap: var(--sp-8);
  align-items: center;
  padding-block: var(--sp-9);
}
.groom__media {
  position: relative;
  justify-self: center;
  width: min(100%, 420px);
}
.groom__arch {
  position: absolute;
  inset: -14px;
  border: 1px solid rgba(233, 223, 201, 0.35);
  border-radius: var(--radius-arch);
}
.groom__img {
  width: 100%;
  border-radius: var(--radius-arch);
  object-fit: cover;
  aspect-ratio: 4 / 5;
  background: #efece6;
}
.groom__overline {
  font-family: var(--font-latin);
  font-weight: 300;
  font-size: var(--fs-xs);
  letter-spacing: 0.34em;
  text-transform: uppercase;
  color: var(--c-gold-soft);
  margin-bottom: var(--sp-3);
}
.groom__title {
  color: var(--ivory);
  font-family: var(--font-display);
  font-weight: 800;
  font-size: clamp(2rem, 3.4vw, 3rem);
}
.groom__body {
  margin-top: var(--sp-4);
  max-width: 56ch;
  color: rgba(255, 255, 255, 0.78);
}
.groom__points {
  display: grid;
  gap: var(--sp-3);
  margin-top: var(--sp-5);
}
.groom__points li {
  display: flex;
  align-items: center;
  gap: var(--sp-3);
  font-size: var(--fs-sm);
  color: rgba(255, 255, 255, 0.9);
}
.groom__points .icon { width: 19px; height: 19px; color: var(--c-gold); }
.groom__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--sp-3);
  margin-top: var(--sp-6);
}
.story__inner {
  display: grid;
  grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
  gap: var(--sp-8);
  align-items: center;
}
.story__media {
  position: relative;
  justify-self: center;
  width: min(100%, 440px);
}
.story__img {
  width: 100%;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-lg);
}
.story__frame {
  position: absolute;
  inset-block: 18px -18px;
  inset-inline: 18px -18px;
  border: 1px solid var(--c-gold);
  border-radius: var(--radius-lg);
  z-index: -1;
  opacity: 0.55;
}
.story__overline {
  font-family: var(--font-latin);
  font-weight: 300;
  font-size: var(--fs-xs);
  letter-spacing: 0.34em;
  text-transform: uppercase;
  color: var(--c-gold);
  margin-bottom: var(--sp-3);
}
.story__title { font-size: var(--fs-2xl); font-weight: 800; }
.story__lead {
  margin-top: var(--sp-4);
  font-size: var(--fs-lg);
  font-weight: var(--fw-bold);
  color: var(--c-primary);
}
.story__body {
  margin-top: var(--sp-4);
  max-width: 58ch;
  color: var(--text-muted);
}
.story__actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--sp-5);
  margin-top: var(--sp-6);
}
.story__social { display: inline-flex; gap: var(--sp-2); }
.story__social a,
.footer-social a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border-radius: 0;
  border: 1px solid var(--border);
  color: var(--text-muted);
  transition: all var(--dur) var(--ease);
}
.story__social a:hover { background: var(--c-primary); border-color: var(--c-primary); color: var(--ivory); }
.story__social .icon { width: 19px; height: 19px; }
.journal { padding-top: var(--sp-7); }
.journal__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--sp-4);
}
.journal-card {
  display: block;
  background: var(--paper);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  overflow: hidden;
  transition: transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease);
}
.journal-card:hover { transform: translateY(-5px); box-shadow: var(--shadow-lg); }
.journal-card__media {
  display: block;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  background: var(--bg-soft);
}
.journal-card__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform var(--dur-slow) var(--ease);
}
.journal-card:hover .journal-card__img { transform: scale(1.05); }
.journal-card__placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  color: var(--text-faint);
}
.journal-card__body { display: grid; gap: var(--sp-2); padding: var(--sp-4) var(--sp-4) var(--sp-5); }
.journal-card__date {
  display: inline-flex;
  align-items: center;
  gap: var(--sp-1);
  font-size: var(--fs-xs);
  color: var(--text-faint);
}
.journal-card__date .icon { width: 14px; height: 14px; }
.journal-card__title {
  font-size: var(--fs-sm);
  font-weight: var(--fw-medium);
  line-height: 1.8;
  color: var(--text);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  min-height: 3.6em;
}
.journal-card__more {
  display: inline-flex;
  align-items: center;
  gap: var(--sp-1);
  font-size: var(--fs-xs);
  font-weight: var(--fw-medium);
  color: var(--c-primary);
}
.journal-card__more .icon { width: 14px; height: 14px; transition: transform var(--dur) var(--ease); }
.journal-card:hover .journal-card__more .icon { transform: translateX(-3px); }
.video-band {
  position: relative;
  height: clamp(340px, 40vw, 560px);
  overflow: hidden;
  background: var(--c-primary-ink);
}
.video-band__media {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.video-band__overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-end;
  gap: var(--sp-3);
  padding: var(--sp-7) var(--content-pad);
  background: linear-gradient(0deg, rgba(11, 43, 37, 0.72) 0%, rgba(11, 43, 37, 0.12) 45%, transparent 70%);
  color: #fff;
}
.video-band__en {
  font-size: 11px;
  letter-spacing: 0.32em;
  text-transform: uppercase;
  color: var(--c-gold-soft);
}
.video-band__title {
  font-size: var(--fs-2xl);
  font-weight: 800;
  color: #fff; 
}
.marquee {
  overflow: clip;
  padding-block: var(--sp-6);
  border-block: 1px solid var(--border);
  background: var(--bg);
  direction: ltr;
}
.marquee__track {
  display: inline-flex;
  white-space: nowrap;
  animation: sepehri-marquee 36s linear infinite;
  will-change: transform;
}
.marquee:hover .marquee__track { animation-play-state: paused; }
.marquee__group {
  display: inline-flex;
  align-items: center;
  gap: var(--sp-7);
  padding-inline-end: var(--sp-7);
}
.marquee__word {
  font-family: var(--font-classic);
  font-weight: 400;
  font-size: clamp(2.4rem, 5vw, 4.2rem);
  line-height: 1.1;
  letter-spacing: 0.12em;
  color: transparent;
  -webkit-text-stroke: 1px rgba(23, 82, 69, 0.4);
}
.marquee__gem .icon { width: 15px; height: 15px; color: var(--c-gold); }
@keyframes sepehri-marquee {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}
@media (prefers-reduced-motion: reduce) {
  .marquee__track { animation: none; }
}
.side-cart { position: fixed; inset: 0; z-index: 1100; }
.side-cart[hidden] { display: none; }
.side-cart__scrim {
  position: absolute;
  inset: 0;
  background: rgba(11, 43, 37, 0.45);
  backdrop-filter: blur(3px);
  opacity: 0;
  transition: opacity var(--dur) var(--ease);
}
.side-cart.is-open .side-cart__scrim { opacity: 1; }
.side-cart__panel {
  position: absolute;
  inset-block: 0;
  inset-inline-end: 0;
  width: min(410px, 92vw);
  display: flex;
  flex-direction: column;
  background: var(--bg);
  box-shadow: 0 0 48px rgba(0, 0, 0, 0.2);
  transform: translateX(-100%); 
  transition: transform 0.32s var(--ease);
}
.side-cart.is-open .side-cart__panel { transform: none; }
.side-cart__handle { display: none; }
.side-cart__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: var(--sp-5);
  border-bottom: 1px solid var(--border);
}
.side-cart__title {
  display: inline-flex;
  align-items: center;
  gap: var(--sp-2);
  font-size: var(--fs-md);
  font-weight: var(--fw-medium);
}
.side-cart__title .icon { width: 21px; height: 21px; color: var(--c-primary); }
.side-cart__count {
  min-width: 22px;
  height: 22px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding-inline: 6px;
  background: var(--c-primary);
  color: var(--ivory);
  border-radius: var(--radius-pill);
  font-size: var(--fs-xs);
}
.side-cart__close {
  width: 36px; height: 36px;
  display: grid; place-items: center;
  color: var(--text-faint);
  transition: color var(--dur) var(--ease);
}
.side-cart__close:hover { color: var(--text); }
.side-cart__close .icon { width: 20px; height: 20px; max-width: none; }
.side-cart__body { flex: 1 1 auto; overflow-y: auto; padding: var(--sp-4) var(--sp-5); }
.side-cart__item {
  display: flex;
  align-items: flex-start;
  gap: var(--sp-4);
  padding-block: var(--sp-4);
  border-bottom: 1px solid var(--border);
  transition: opacity var(--dur) var(--ease);
}
.side-cart__item:last-child { border-bottom: none; }
.side-cart__item.is-removing { opacity: 0.35; pointer-events: none; }
.side-cart__thumb { flex: 0 0 auto; }
.side-cart__thumb img {
  width: 72px;
  aspect-ratio: 3 / 4;
  object-fit: cover;
  border-radius: var(--radius-sm);
  background: var(--bg-soft);
  display: block;
}
.side-cart__info { flex: 1 1 auto; min-width: 0; }
.side-cart__name {
  display: block;
  color: var(--text);
  font-size: var(--fs-sm);
  font-weight: var(--fw-medium);
  line-height: var(--lh-base);
}
.side-cart__name:hover { color: var(--c-primary); }
.side-cart__meta { display: block; color: var(--text-faint); font-size: var(--fs-xs); margin-top: 2px; }
.side-cart__row2 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--sp-3);
  margin-top: var(--sp-3);
}
.side-cart__qty {
  display: inline-flex;
  align-items: center;
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  overflow: hidden;
  background: var(--paper);
}
.side-cart__step {
  width: 28px; height: 32px;
  color: var(--text);
  font-size: var(--fs-base);
  line-height: 1;
  transition: background var(--dur) var(--ease), color var(--dur) var(--ease);
}
.side-cart__step:hover { background: var(--bg-soft); color: var(--c-primary); }
.side-cart__qty-num {
  min-width: 28px;
  text-align: center;
  font-size: var(--fs-sm);
  border-inline: 1px solid var(--border);
  padding-block: 5px;
}
.side-cart__price { color: var(--text); font-size: var(--fs-sm); font-weight: var(--fw-medium); white-space: nowrap; }
.side-cart__price .woocommerce-Price-currencySymbol { font-size: var(--fs-xs); color: var(--text-faint); }
.side-cart__remove {
  flex: 0 0 auto;
  width: 32px; height: 32px;
  display: grid; place-items: center;
  color: var(--text-faint);
  transition: color var(--dur) var(--ease);
}
.side-cart__remove:hover { color: var(--c-error); }
.side-cart__remove svg { width: 18px; height: 18px; max-width: none; }
.side-cart__loading {
  width: 28px; height: 28px;
  margin: var(--sp-8) auto;
  border: 2px solid var(--border);
  border-top-color: var(--c-primary);
  border-radius: 50%;
  animation: sepehri-spin 0.7s linear infinite;
}
@keyframes sepehri-spin { to { transform: rotate(360deg); } }
.side-cart__empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--sp-5);
  padding-block: var(--sp-8);
  color: var(--text-faint);
}
.side-cart__foot {
  border-top: 1px solid var(--border);
  padding: var(--sp-5);
  background: var(--paper);
}
.side-cart__subtotal {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: var(--sp-4);
  font-weight: var(--fw-medium);
}
.side-cart__subtotal-num { color: var(--price); font-weight: var(--fw-bold); }
.side-cart__actions { display: grid; grid-template-columns: 1fr 1fr; gap: var(--sp-3); }
.side-cart__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: var(--sp-4) var(--sp-3);
  font-size: var(--fs-sm);
  font-weight: var(--fw-medium);
  border-radius: var(--radius-pill);
  white-space: nowrap;
  transition: background var(--dur) var(--ease), border-color var(--dur) var(--ease), color var(--dur) var(--ease);
}
.side-cart__btn--solid { background: var(--c-primary); color: var(--ivory) !important; border: 1px solid var(--c-primary); }
.side-cart__btn--solid:hover { background: var(--c-primary-dark); }
.side-cart__btn--ghost { background: var(--paper); color: var(--c-primary); border: 1px solid var(--c-primary); }
.side-cart__btn--ghost:hover { background: var(--c-primary-soft); }
@media (max-width: 767px) {
  .side-cart__panel {
    inset: auto 0 0 0;
    width: 100%;
    max-height: 82vh;
    border-radius: 0;
    transform: translateY(100%);
  }
  .side-cart.is-open .side-cart__panel { transform: none; }
  .side-cart__handle {
    display: block;
    width: 44px; height: 4px;
    margin: var(--sp-3) auto 0;
    background: var(--border);
    border-radius: 0;
  }
  .side-cart__head { padding-block: var(--sp-3) var(--sp-4); }
}
.to-top {
  position: fixed;
  bottom: 22px;
  inset-inline-start: 22px;
  z-index: 50;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 46px;
  height: 46px;
  border-radius: 0;
  background: var(--c-primary);
  color: var(--ivory);
  box-shadow: var(--shadow-lg);
  opacity: 0;
  transform: translateY(10px);
  transition: opacity var(--dur) var(--ease), transform var(--dur) var(--ease), background var(--dur) var(--ease);
}
.to-top.is-visible { opacity: 1; transform: none; }
.to-top[hidden] { display: none; }
.to-top:hover { background: var(--c-primary-dark); }
.to-top .icon { width: 20px; height: 20px; }
.site-footer {
  margin-top: var(--sp-8);
  background: var(--c-primary-ink);
  color: rgba(255, 255, 255, 0.8);
}
.site-footer__main {
  display: grid;
  grid-template-columns: 1.35fr 0.9fr 0.9fr 1.15fr auto;
  gap: var(--sp-7);
  padding-block: var(--sp-8);
}
.footer-brand .footer-brand__logo img {
  height: 74px;
  width: auto;
}
.footer-brand__tagline {
  margin-top: var(--sp-3);
  font-family: var(--font-classic);
  font-size: var(--fs-sm);
  font-weight: 400;
  letter-spacing: 0.26em;
  text-transform: uppercase;
  color: var(--c-gold-soft);
  direction: ltr;
  unicode-bidi: isolate;
}
.footer-brand__text {
  margin-top: var(--sp-4);
  font-size: var(--fs-sm);
  max-width: 40ch;
  color: rgba(255, 255, 255, 0.65);
}
.footer-social { display: inline-flex; gap: var(--sp-2); margin-top: var(--sp-5); }
.footer-social a { border-color: rgba(255, 255, 255, 0.2); color: rgba(255, 255, 255, 0.8); }
.footer-social a:hover { background: var(--c-gold); border-color: var(--c-gold); color: #fff; }
.footer-social .icon { width: 19px; height: 19px; max-width: none; }
.footer-col__title {
  color: var(--ivory);
  font-size: var(--fs-base);
  margin-bottom: var(--sp-4);
}
.footer-col__list { display: grid; gap: var(--sp-2); font-size: var(--fs-sm); }
.footer-col__list a { color: rgba(255, 255, 255, 0.7); }
.footer-col__list a:hover { color: var(--c-gold-soft); }
.footer-col__list--contact li {
  display: flex;
  align-items: flex-start;
  gap: var(--sp-3);
}
.footer-col__list--contact .icon { width: 19px; height: 19px; margin-top: 4px; color: var(--c-gold); max-width: none; }
.footer-col__list--contact .latin { white-space: nowrap; }
.site-footer__bar { border-top: 1px solid rgba(255, 255, 255, 0.12); }
.site-footer__bar-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: var(--sp-2) var(--sp-4);
  padding-block: var(--sp-3);
  min-height: 56px;
  font-size: var(--fs-xs);
  color: rgba(255, 255, 255, 0.5);
}
.footer-dev a { color: rgba(255, 255, 255, 0.75); }
.footer-dev a:hover { color: var(--c-gold-soft); }
.search-overlay {
  position: fixed;
  inset: 0;
  z-index: 90;
  background: rgba(11, 43, 37, 0.55);
  backdrop-filter: blur(8px);
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding: 10vh var(--content-pad) var(--sp-6);
  opacity: 0;
  transition: opacity var(--dur) var(--ease);
  overflow-y: auto;
}
.search-overlay.is-open { opacity: 1; }
.search-overlay[hidden] { display: none; }
.search-overlay__scrim { position: absolute; inset: 0; }
.search-overlay__panel {
  position: relative;
  width: min(1040px, 100%);
  max-height: 80vh;
  display: flex;
  flex-direction: column;
  background: var(--paper);
  box-shadow: var(--shadow-lg);
  padding: var(--sp-6);
}
.search-overlay__close {
  position: absolute;
  top: calc(-1 * var(--sp-7));
  inset-inline-end: 0;
  color: var(--ivory);
}
.search-overlay__form {
  display: flex;
  align-items: center;
  gap: var(--sp-3);
  padding-bottom: var(--sp-4);
  border-bottom: 1px solid var(--border);
}
.search-overlay__form > .icon { color: var(--text-faint); }
.search-overlay__input {
  flex: 1;
  min-width: 0;
  border: 0;
  outline: none;
  background: transparent;
  font-size: var(--fs-md);
  padding-block: var(--sp-2);
}
.search-overlay__body {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  margin-top: var(--sp-5);
}
.search-overlay__status {
  padding-block: var(--sp-5);
  text-align: center;
  color: var(--text-faint);
  font-size: var(--fs-sm);
}
.search-overlay__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--sp-4);
  transition: opacity var(--dur) var(--ease);
}
.search-overlay__grid.is-loading { opacity: 0.45; }
.search-overlay__grid:empty { display: none; }
.search-overlay__foot {
  display: flex;
  justify-content: center;
  padding-top: var(--sp-5);
}
.search-overlay__foot[hidden] { display: none; }
@media (max-width: 767px) {
  .search-overlay { padding: 0; }
  .search-overlay__panel {
    width: 100%;
    max-height: none;
    min-height: 100svh;
    padding: var(--sp-4) var(--sp-4) var(--sp-6);
  }
  .search-overlay__close {
    position: static;
    align-self: flex-end;
    margin-bottom: var(--sp-2);
    color: var(--text);
  }
  .search-overlay__form { gap: var(--sp-2); }
  .search-overlay__form .btn { padding-inline: var(--sp-4); }
  .search-overlay__grid { grid-template-columns: 1fr; gap: 0; }
  .search-overlay__grid .product-card {
    display: grid;
    grid-template-columns: 76px minmax(0, 1fr);
    align-items: center;
    gap: var(--sp-3);
    border: 0;
    border-bottom: 1px solid var(--border);
    padding-block: var(--sp-3);
  }
  .search-overlay__grid .product-card:last-child { border-bottom: 0; }
  .search-overlay__grid .product-card:hover { transform: none; box-shadow: none; }
  .search-overlay__grid .product-card__media { aspect-ratio: 3 / 3.6; }
  .search-overlay__grid .product-card__cta,
  .search-overlay__grid .product-card__img--hover { display: none; }
  .search-overlay__grid .product-card__badges { top: 4px; inset-inline-start: 4px; }
  .search-overlay__grid .badge { padding: 2px 6px; font-size: 10px; }
  .search-overlay__grid .product-card__body { padding: 0; gap: 2px; }
  .search-overlay__grid .product-card__title { -webkit-line-clamp: 2; }
}
@media (prefers-reduced-motion: no-preference) {
  .js [data-reveal] {
    opacity: 0;
    transform: translateY(26px);
    transition: opacity 0.7s var(--ease), transform 0.7s var(--ease);
  }
  .js [data-reveal].is-inview {
    opacity: 1;
    transform: none;
  }
}
@media (max-width: 1320px) {
  .product-card { flex-basis: 240px; }
}
@media (max-width: 1024px) {
  .header-burger { display: inline-flex; }
  .desktop-nav { display: none; }
  .mega { display: none; }
  .header-nav {
    display: block;
    position: fixed;
    top: 0;
    bottom: 0;
    inset-inline-start: 0;
    width: min(84vw, 360px);
    background: var(--ivory);
    padding: calc(var(--header-h) + var(--sp-6)) var(--sp-6) var(--sp-6);
    transform: translateX(var(--nav-off, -100%));
    transition: transform 0.35s var(--ease);
    z-index: 70;
    overflow-y: auto;
    box-shadow: var(--shadow-lg);
  }
  [dir="rtl"] .header-nav { --nav-off: 100%; }
  .header-nav.is-open { transform: translateX(0); }
  .header-nav__list { flex-direction: column; align-items: stretch; gap: 0; font-size: var(--fs-md); }
  .header-nav__list > li { border-bottom: 1px solid var(--border); }
  .header-nav__list a { display: block; padding-block: var(--sp-4); }
  .header-nav__list a::after { content: none; }
  .header-nav__list .sub-menu {
    position: static;
    min-width: 0;
    border: 0;
    box-shadow: none;
    background: transparent;
    opacity: 1;
    visibility: visible;
    transform: none;
    padding: 0 var(--sp-4) var(--sp-3);
  }
  .header-nav__list .sub-menu a { padding-block: var(--sp-2); color: var(--text-muted); }
  .header-nav__tagline {
    display: block;
    margin-top: var(--sp-6);
    font-size: var(--fs-xs);
    letter-spacing: 0.3em;
    text-transform: uppercase;
    color: var(--c-gold);
  }
  .header-nav__scrim {
    display: block;
    position: fixed;
    inset: 0;
    z-index: 65;
    background: rgba(28, 27, 25, 0.4);
  }
  .header-nav__scrim[hidden] { display: none; }
  .header-icon--desktop-only { display: none; }
  .hero__inner {
    grid-template-columns: 1fr;
    gap: var(--sp-6);
    min-height: 0;
    padding-block: var(--sp-6) var(--sp-8);
  }
  .hero__media { width: min(100%, 420px); order: -1; }
  .hero__subtitle { max-width: none; }
  .cats__grid { grid-template-columns: repeat(2, 1fr); grid-auto-rows: 210px; }
  .cat-card--hero { grid-column: span 2; }
  .groom__inner { grid-template-columns: 1fr; gap: var(--sp-6); padding-block: var(--sp-8); }
  .groom__media { width: min(100%, 380px); }
  .story__inner { grid-template-columns: 1fr; gap: var(--sp-6); }
  .story__media { width: min(100%, 380px); }
  .journal__grid { grid-template-columns: repeat(2, 1fr); }
  .site-footer__main { grid-template-columns: 1fr 1fr; gap: var(--sp-6); }
  .footer-col--trust { grid-column: 1 / -1; }
  .editorial { background-attachment: scroll; }
}
@media (max-width: 767px) {
  .topbar__item--mid { display: none; }
  .site-logo .site-logo__img { height: 38px; }
  .hero__watermark { font-size: 5.2rem; }
  .hero__actions .btn { flex: 1; }
  .hero__chips { gap: var(--sp-4); }
  .hero__tag { inset-inline-start: 0; }
  .cats__grid { grid-template-columns: 1fr 1fr; grid-auto-rows: 180px; }
  .cat-card--hero { grid-row: span 2; grid-column: span 2; }
  .cat-card--wide { grid-column: span 2; }
  .product-card { flex-basis: 200px; }
  .c-arrow { display: none; }
  .journal__grid { grid-template-columns: 1fr; }
  .site-footer__main { grid-template-columns: 1fr; gap: var(--sp-6); }
  .site-footer__bar-inner { flex-direction: column; padding-block: var(--sp-4); gap: var(--sp-1); }
}
.shop { padding-block: var(--sp-5) var(--sp-9); }
.shop__crumbs { font-size: var(--fs-xs); color: var(--text-faint); margin-bottom: var(--sp-4); }
.shop__crumbs a { color: var(--text-muted); }
.shop__crumbs a:hover { color: var(--c-primary); }
.shop__crumb-sep { margin-inline: 6px; color: var(--border); }
.shop__head { margin-bottom: var(--sp-5); }
.shop__title { font-size: var(--fs-xl); font-weight: var(--fw-bold); }
.shop__desc {
  margin-top: var(--sp-3);
  max-width: 70ch;
  color: var(--text-muted);
  font-size: var(--fs-sm);
  line-height: var(--lh-base);
}
.product-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--sp-4);
  transition: opacity var(--dur) var(--ease);
}
.product-grid.is-loading { opacity: 0.4; pointer-events: none; }
.product-grid .product-card { flex: initial; }
.shop__empty { padding-block: var(--sp-8); text-align: center; color: var(--text-muted); }
.shop__empty[hidden] { display: none; }
.shop__more { display: flex; justify-content: center; margin-top: var(--sp-6); }
.shop__more-btn { gap: var(--sp-2); }
.shop__more-btn .icon { width: 18px; height: 18px; }
.shop__more-btn.is-loading { opacity: 0.6; }
.shop-toolbar {
  position: sticky;
  top: var(--header-h);
  z-index: 40;
  background: var(--bg);
  margin-bottom: var(--sp-5);
  border-bottom: 1px solid var(--border);
}
.shop-filterbar {
  display: flex;
  align-items: center;
  gap: var(--sp-2);
  padding-block: var(--sp-3);
}
.shop-filterbar__head,
.shop-filterbar__foot { display: none; }
.shop-filterbar__scroll {
  display: flex;
  align-items: center;
  gap: var(--sp-2);
  flex-wrap: wrap;
}
.filter-dd { position: relative; }
.filter-dd__btn {
  display: inline-flex;
  align-items: center;
  gap: var(--sp-2);
  padding: 9px var(--sp-4);
  border: 1px solid var(--border);
  background: var(--paper);
  color: var(--text);
  font: inherit;
  font-size: var(--fs-sm);
  cursor: pointer;
  transition: border-color var(--dur) var(--ease), background var(--dur) var(--ease), color var(--dur) var(--ease);
}
.filter-dd__btn:hover { border-color: var(--c-primary); }
.filter-dd__btn .icon { width: 15px; height: 15px; color: var(--text-faint); transition: transform var(--dur) var(--ease); }
.filter-dd.is-open .filter-dd__btn { border-color: var(--c-primary); }
.filter-dd.is-open .filter-dd__btn .icon { transform: rotate(180deg); }
.filter-dd.has-active .filter-dd__btn {
  border-color: var(--c-primary);
  background: var(--c-primary);
  color: var(--ivory);
}
.filter-dd.has-active .filter-dd__btn .icon { color: rgba(255, 255, 255, 0.7); }
.filter-dd__badge {
  display: inline-grid;
  place-items: center;
  min-width: 18px;
  height: 18px;
  padding-inline: 5px;
  background: var(--c-gold);
  color: #fff;
  font-size: 11px;
  line-height: 1;
}
.filter-dd__badge[hidden] { display: none; }
.filter-dd__panel {
  position: absolute;
  top: calc(100% + 6px);
  inset-inline-start: 0;
  z-index: 60;
  width: 260px;
  padding: var(--sp-3);
  background: var(--paper);
  border: 1px solid var(--border);
  box-shadow: var(--shadow-lg);
  opacity: 0;
  visibility: hidden;
  transform: translateY(-6px);
  transition: opacity var(--dur) var(--ease), transform var(--dur) var(--ease), visibility var(--dur);
}
.filter-dd.is-open .filter-dd__panel { opacity: 1; visibility: visible; transform: none; }
.filter-dd__panel--price { width: 280px; }
.filter-dd__list { display: grid; gap: 2px; max-height: 280px; overflow-y: auto; }
.filter-check {
  display: flex;
  align-items: center;
  gap: var(--sp-2);
  padding: 6px 4px;
  font-size: var(--fs-sm);
  cursor: pointer;
  transition: background var(--dur) var(--ease);
}
.filter-check:hover { background: var(--bg-soft); }
.filter-check input { position: absolute; opacity: 0; pointer-events: none; }
.filter-check__box {
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  width: 17px;
  height: 17px;
  border: 1px solid var(--border);
  background: var(--paper);
  transition: background var(--dur) var(--ease), border-color var(--dur) var(--ease);
}
.filter-check__box .icon { width: 13px; height: 13px; color: #fff; opacity: 0; }
.filter-check input:checked + .filter-check__box { background: var(--c-primary); border-color: var(--c-primary); }
.filter-check input:checked + .filter-check__box .icon { opacity: 1; }
.filter-check input:focus-visible + .filter-check__box { outline: 2px solid var(--c-primary); outline-offset: 2px; }
.filter-check__label { flex: 1 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.filter-check__count { flex: 0 0 auto; font-size: var(--fs-xs); color: var(--text-faint); }
.filter-price { display: grid; grid-template-columns: 1fr 1fr; gap: var(--sp-3); }
.filter-price__field { display: grid; gap: 4px; font-size: var(--fs-xs); color: var(--text-faint); }
.filter-price__field input {
  width: 100%;
  min-width: 0;
  border: 1px solid var(--border);
  background: var(--paper);
  font: inherit;
  font-size: var(--fs-sm);
  color: var(--text);
  padding: var(--sp-2);
}
.filter-price__field input:focus { outline: none; border-color: var(--c-primary); }
.filter-price__field input::-webkit-outer-spin-button,
.filter-price__field input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.filter-price__field input { -moz-appearance: textfield; }
.filter-chip {
  display: inline-flex;
  align-items: center;
  gap: var(--sp-2);
  padding: 9px var(--sp-4);
  border: 1px solid var(--border);
  background: var(--paper);
  font-size: var(--fs-sm);
  white-space: nowrap;
  cursor: pointer;
  transition: border-color var(--dur) var(--ease), background var(--dur) var(--ease), color var(--dur) var(--ease);
}
.filter-chip input { position: absolute; opacity: 0; pointer-events: none; }
.filter-chip__dot {
  width: 9px;
  height: 9px;
  background: var(--border);
  transition: background var(--dur) var(--ease);
}
.filter-chip:hover { border-color: var(--c-primary); }
.filter-chip:has(input:checked) {
  border-color: var(--c-primary);
  background: var(--c-primary);
  color: var(--ivory);
}
.filter-chip:has(input:checked) .filter-chip__dot { background: var(--c-gold); }
.filter-chip:has(input:focus-visible) { outline: 2px solid var(--c-primary); outline-offset: 2px; }
.filter-reset {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 9px var(--sp-3);
  font-size: var(--fs-xs);
  color: var(--c-error);
  white-space: nowrap;
}
.filter-reset[hidden] { display: none; }
.filter-reset .icon { width: 14px; height: 14px; }
.filter-reset:hover { text-decoration: underline; }
.shop-sortbar {
  display: flex;
  align-items: center;
  gap: var(--sp-3);
  padding-block: var(--sp-3);
  border-top: 1px solid var(--border);
}
.shop-sortbar__label {
  flex: 0 0 auto;
  font-size: var(--fs-sm);
  color: var(--text-faint);
}
.shop-sortbar__count {
  flex: 0 0 auto;
  margin-inline-start: auto; 
  font-size: var(--fs-sm);
  color: var(--text-muted);
  white-space: nowrap;
}
.sort-chips {
  display: flex;
  align-items: center;
  gap: var(--sp-1);
  min-width: 0;
  overflow-x: auto;
  scrollbar-width: none;
}
.sort-chips::-webkit-scrollbar { display: none; }
.sort-chip {
  flex: 0 0 auto;
  padding: 7px var(--sp-4);
  font-size: var(--fs-sm);
  color: var(--text-muted);
  white-space: nowrap;
  border: 1px solid transparent;
  transition: color var(--dur) var(--ease), background var(--dur) var(--ease), border-color var(--dur) var(--ease);
}
.sort-chip:hover { color: var(--c-primary); background: var(--bg-soft); }
.sort-chip.is-active {
  color: var(--c-primary);
  border-color: var(--c-primary);
  font-weight: var(--fw-medium);
  background: var(--c-primary-soft);
}
.shop__filter-btn,
.shop__scrim { display: none; }
.cat-nav { margin-bottom: var(--sp-5); }
.cat-nav__title {
  font-size: var(--fs-sm);
  font-weight: var(--fw-medium);
  color: var(--text-muted);
  margin-bottom: var(--sp-3);
}
.cat-nav__viewport { position: relative; }
.cat-nav__track {
  display: flex;
  gap: var(--sp-3);
  overflow-x: auto;
  scroll-snap-type: x proximity;
  scrollbar-width: none;
  padding-bottom: 2px;
}
.cat-nav__track::-webkit-scrollbar { display: none; }
.cat-nav__track.is-dragging { cursor: grabbing; }
.cat-nav__track > li { flex: 0 0 auto; scroll-snap-align: start; }
.cat-tile {
  --tile: 118px;
  display: grid;
  gap: 3px;
  width: var(--tile);
  text-align: center;
}
.cat-tile__media {
  position: relative;
  display: block;
  height: var(--tile);
  overflow: hidden;
  background: var(--bg-soft);
  border: 1px solid var(--border);
  margin-bottom: var(--sp-2);
  transition: border-color var(--dur) var(--ease);
}
.cat-tile:hover .cat-tile__media { border-color: var(--c-primary); }
.cat-tile .cat-tile__img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top center;
  transition: transform var(--dur-slow) var(--ease);
}
.cat-tile:hover .cat-tile__img { transform: scale(1.06); }
.cat-tile__ph {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  color: var(--border);
}
.cat-tile__ph .icon { width: 38px; height: 38px; }
.cat-tile__name {
  font-size: var(--fs-sm);
  font-weight: var(--fw-medium);
  color: var(--text);
  line-height: 1.6;
  transition: color var(--dur) var(--ease);
}
.cat-tile:hover .cat-tile__name { color: var(--c-primary); }
.cat-desc {
  position: relative;
  margin-top: var(--sp-9);
  padding: var(--sp-6);
  background: var(--bg-soft);
  border-top: 2px solid var(--c-primary);
}
.cat-desc__head { margin-bottom: var(--sp-4); }
.cat-desc__title {
  display: flex;
  align-items: center;
  gap: var(--sp-2);
  font-size: var(--fs-md);
  font-weight: var(--fw-bold);
}
.cat-desc__title .icon { width: 14px; height: 14px; color: var(--c-gold); }
.cat-desc__body {
  color: var(--text-muted);
  font-size: var(--fs-sm);
  line-height: 2.1;
  overflow: hidden;
}
.cat-desc__body.is-clamped { max-height: 190px; }
.cat-desc__body > * + * { margin-top: var(--sp-3); }
.cat-desc__body h2,
.cat-desc__body h3,
.cat-desc__body h4 {
  font-size: var(--fs-base);
  font-weight: var(--fw-bold);
  color: var(--text);
  margin-top: var(--sp-5);
}
.cat-desc__body a { color: var(--c-primary); text-decoration: underline; }
.cat-desc__body ul,
.cat-desc__body ol { padding-inline-start: var(--sp-5); }
.cat-desc__body li { list-style: disc; margin-block: 4px; }
.cat-desc__body ol li { list-style: decimal; }
.cat-desc__body img { max-width: 100%; height: auto; }
.cat-desc__body table { width: 100%; border-collapse: collapse; font-size: var(--fs-xs); }
.cat-desc__body th,
.cat-desc__body td { border: 1px solid var(--border); padding: var(--sp-2); text-align: start; }
.cat-desc__body th { background: var(--paper); font-weight: var(--fw-medium); }
.cat-desc__toggle {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  margin-top: var(--sp-3);
  font-size: var(--fs-sm);
  color: var(--c-primary);
  font-weight: var(--fw-medium);
}
.cat-desc__toggle[hidden] { display: none; }
.cat-desc__toggle .icon { width: 16px; height: 16px; transition: transform var(--dur) var(--ease); }
.cat-desc__toggle.is-open .icon { transform: rotate(180deg); }
.cat-desc__toggle:hover { text-decoration: underline; }
@media (max-width: 1320px) {
  .product-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 1024px) {
  .shop-toolbar { position: static; border-bottom: 0; }
  .shop__filter-btn {
    display: inline-flex;
    gap: var(--sp-2);
    width: 100%;
    justify-content: center;
    margin-bottom: var(--sp-4);
  }
  .shop__filter-btn .icon { width: 18px; height: 18px; }
  .shop__filter-btn-badge {
    display: inline-grid;
    place-items: center;
    min-width: 19px;
    height: 19px;
    padding-inline: 5px;
    background: var(--c-gold);
    color: #fff;
    font-size: 11px;
  }
  .shop__filter-btn-badge[hidden] { display: none; }
  .shop-filterbar {
    position: fixed;
    inset-block: 0;
    inset-inline-end: 0;
    z-index: 1200;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    width: min(340px, 90vw);
    padding: 0;
    background: var(--paper);
    box-shadow: 0 0 40px rgba(0, 0, 0, 0.18);
    transform: translateX(-100%); 
    transition: transform 0.3s var(--ease);
  }
  .shop-filterbar.is-open { transform: none; }
  .shop-filterbar__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: var(--sp-4);
    border-bottom: 1px solid var(--border);
    font-weight: var(--fw-bold);
  }
  .shop-filterbar__dismiss { color: var(--text-faint); }
  .shop-filterbar__dismiss .icon { width: 20px; height: 20px; }
  .shop-filterbar__scroll {
    flex: 1 1 auto;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    overflow-y: auto;
    padding: 0;
  }
  .filter-dd { position: static; border-bottom: 1px solid var(--border); }
  .filter-dd__btn {
    width: 100%;
    justify-content: flex-start;
    border: 0;
    background: none !important;
    color: var(--text) !important;
    padding: var(--sp-4);
    font-weight: var(--fw-medium);
  }
  .filter-dd__btn .icon { margin-inline-start: auto; color: var(--text-faint) !important; }
  .filter-dd.has-active .filter-dd__btn { color: var(--c-primary) !important; }
  .filter-dd__panel {
    position: static;
    width: auto;
    border: 0;
    box-shadow: none;
    padding: 0 var(--sp-4) var(--sp-4);
    display: none;
    opacity: 1;
    visibility: visible;
    transform: none;
  }
  .filter-dd.is-open .filter-dd__panel { display: block; }
  .filter-dd__list { max-height: 46vh; }
  .filter-chip { margin: var(--sp-4); justify-content: center; }
  .filter-reset { justify-content: center; margin-bottom: var(--sp-4); }
  .shop-filterbar__foot {
    display: block;
    padding: var(--sp-4);
    border-top: 1px solid var(--border);
  }
  .shop-filterbar__foot .btn { width: 100%; justify-content: center; gap: var(--sp-2); }
  .shop__scrim {
    display: block;
    position: fixed;
    inset: 0;
    z-index: 1150;
    background: rgba(11, 43, 37, 0.45);
  }
  .shop__scrim[hidden] { display: none; }
  .shop-sortbar {
    border-top: 0;
    border-bottom: 1px solid var(--border);
    padding-block: 0 var(--sp-3);
    gap: var(--sp-2);
  }
  .shop-sortbar__label { display: none; }
  .sort-chips { flex: 1 1 auto; }
  .sort-chip { border-color: var(--border); }
}
@media (max-width: 767px) {
  .shop { padding-block: var(--sp-4) var(--sp-7); }
  .cat-tile { --tile: 96px; }
  .cat-desc { margin-top: var(--sp-7); padding: var(--sp-4); }
  .cat-desc__body.is-clamped { max-height: 150px; }
  .shop__title { font-size: var(--fs-lg); }
  .product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--sp-3); }
  .shop-sortbar { flex-wrap: wrap; }
  .shop-sortbar__count { width: 100%; margin: 0; padding-top: var(--sp-2); }
}
:is(.woocommerce, .woocommerce-page) :is(
  .product-card__img,
  .cat-tile__img,
  .cat-card__img,
  .hero-carousel__img,
  .journal-card__img,
  .mega__promo-img
) {
  height: 100%;
}
.pdp { padding-block: var(--sp-5) var(--sp-9); }
.pdp__crumbs { font-size: var(--fs-xs); color: var(--text-faint); margin-bottom: var(--sp-5); }
.pdp__crumbs a { color: var(--text-muted); }
.pdp__crumbs a:hover { color: var(--c-primary); }
.pdp__main {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: var(--sp-7);
  align-items: start;
}
.pdp-gallery {
  display: grid;
  grid-template-columns: 84px minmax(0, 1fr); 
  gap: var(--sp-3);
  position: sticky;
  top: calc(var(--header-h) + var(--sp-4));
}
.pdp-gallery--single { grid-template-columns: minmax(0, 1fr); }
.pdp-gallery__thumbs {
  display: flex;
  flex-direction: column;
  gap: var(--sp-2);
  max-height: 560px;
  overflow-y: auto;
  scrollbar-width: thin;
}
.pdp-gallery__thumbs::-webkit-scrollbar { width: 3px; }
.pdp-gallery__thumbs::-webkit-scrollbar-thumb { background: var(--border); }
.pdp-gallery__thumb {
  flex: 0 0 auto;
  position: relative;
  height: 100px;
  overflow: hidden;
  border: 1px solid var(--border);
  background: var(--bg-soft);
  cursor: pointer;
  transition: border-color var(--dur) var(--ease);
}
.pdp-gallery__thumb img { width: 100%; height: 100%; object-fit: cover; object-position: top center; }
.pdp-gallery__thumb:hover { border-color: var(--c-primary); }
.pdp-gallery__thumb.is-active { border-color: var(--c-primary); border-width: 2px; }
.pdp-gallery__stage {
  position: relative;
  overflow: hidden;
  aspect-ratio: 3 / 3.7;
  background: var(--bg-soft);
  border: 1px solid var(--border);
  cursor: zoom-in;
}
.pdp-gallery__img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top center;
}
.pdp-gallery__ph { position: absolute; inset: 0; display: grid; place-items: center; color: var(--border); }
.pdp-gallery__ph .icon { width: 64px; height: 64px; }
.pdp-gallery__badge { position: absolute; top: var(--sp-3); inset-inline-start: var(--sp-3); z-index: 2; }
.pdp-gallery__zoom {
  position: absolute;
  z-index: 2;
  bottom: var(--sp-3);
  inset-inline-end: var(--sp-3);
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  background: rgba(255, 255, 255, 0.92);
  border: 1px solid var(--border);
  color: var(--text);
  opacity: 0;
  transition: opacity var(--dur) var(--ease);
}
.pdp-gallery__stage:hover .pdp-gallery__zoom { opacity: 1; }
.pdp-gallery__zoom .icon { width: 18px; height: 18px; }
.pdp__kicker {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: var(--fs-xs);
  color: var(--text-faint);
  margin-bottom: var(--sp-2);
}
.pdp__kicker .icon { width: 11px; height: 11px; color: var(--c-gold); }
.pdp__title {
  font-size: var(--fs-xl);
  font-weight: var(--fw-bold);
  line-height: 1.6;
  margin-bottom: var(--sp-3);
}
.pdp__lead {
  color: var(--text-muted);
  font-size: var(--fs-sm);
  line-height: var(--lh-base);
  margin-bottom: var(--sp-4);
}
.pdp__price {
  display: flex;
  align-items: center;
  gap: var(--sp-4);
  flex-wrap: wrap;
  padding-block: var(--sp-4);
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
  margin-bottom: var(--sp-5);
}
.pdp__price .price { font-size: var(--fs-lg); }
.pdp__price .price__original { font-size: var(--fs-sm); }
.pdp__stock {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: var(--fs-xs);
}
.pdp__stock .icon { width: 15px; height: 15px; }
.pdp__stock.is-in { color: var(--c-primary); }
.pdp__stock.is-out { color: var(--c-error); }
.pdp .variations { width: 100%; margin-bottom: var(--sp-4); }
.pdp .variations tr { display: block; margin-bottom: var(--sp-4); }
.pdp .variations td { display: block; padding: 0; }
.pdp .variations .label {
  font-size: var(--fs-sm);
  font-weight: var(--fw-medium);
  margin-bottom: var(--sp-2);
}
.pdp .variations .label label { margin: 0; }
.pdp .variations select.is-chip-driven { position: absolute; opacity: 0; pointer-events: none; height: 0; }
.pdp .variations select:not(.is-chip-driven) {
  width: 100%;
  padding: var(--sp-3);
  border: 1px solid var(--border);
  background: var(--paper);
  font: inherit;
}
.pdp-chips { display: flex; flex-wrap: wrap; gap: var(--sp-2); }
.pdp-chip {
  min-width: 46px;
  padding: 9px var(--sp-4);
  border: 1px solid var(--border);
  background: var(--paper);
  color: var(--text);
  font: inherit;
  font-size: var(--fs-sm);
  cursor: pointer;
  transition: border-color var(--dur) var(--ease), background var(--dur) var(--ease), color var(--dur) var(--ease);
}
.pdp-chip:hover { border-color: var(--c-primary); }
.pdp-chip.is-active { background: var(--c-primary); border-color: var(--c-primary); color: var(--ivory); }
.pdp-chip.is-unavailable {
  color: var(--text-faint);
  cursor: not-allowed;
  background: repeating-linear-gradient(-45deg, transparent, transparent 5px, var(--bg-soft) 5px, var(--bg-soft) 6px);
}
.pdp .reset_variations {
  display: inline-block;
  margin-top: var(--sp-2);
  font-size: var(--fs-xs);
  color: var(--c-error);
}
.pdp .woocommerce-variation-price { margin-bottom: var(--sp-4); }
.pdp .woocommerce-variation-price .price { font-size: var(--fs-lg); color: var(--price); font-weight: var(--fw-bold); }
.pdp .woocommerce-variation-availability { font-size: var(--fs-sm); margin-bottom: var(--sp-3); }
.pdp form.cart { display: flex; flex-wrap: wrap; gap: var(--sp-3); align-items: stretch; margin-bottom: var(--sp-5); }
.pdp form.variations_form { display: block; }
.pdp .woocommerce-variation-add-to-cart { display: flex; gap: var(--sp-3); align-items: stretch; }
.pdp .quantity { display: inline-flex; }
.pdp .quantity input[type="number"] {
  width: 74px;
  padding: var(--sp-3);
  text-align: center;
  border: 1px solid var(--border);
  background: var(--paper);
  font: inherit;
}
.pdp .quantity input::-webkit-outer-spin-button,
.pdp .quantity input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.pdp button.single_add_to_cart_button,
.pdp button.single_add_to_cart_button.button,
.pdp button.single_add_to_cart_button.button.alt,
.pdp button.single_add_to_cart_button.button.alt.disabled {
  flex: 1 1 220px;
  padding: var(--sp-3) var(--sp-6);
  background: var(--c-primary);
  color: var(--ivory);
  border: 1px solid var(--c-primary);
  border-radius: 0;
  font: inherit;
  font-size: var(--fs-base);
  font-weight: var(--fw-medium);
  cursor: pointer;
  transition: background var(--dur) var(--ease);
}
.pdp button.single_add_to_cart_button.button.alt:hover { background: var(--c-primary-dark); }
.pdp button.single_add_to_cart_button.button.alt.disabled { opacity: 0.45; cursor: not-allowed; }
.pdp__usp {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--sp-3);
  padding-top: var(--sp-5);
  border-top: 1px solid var(--border);
}
.pdp__usp li { display: flex; align-items: center; gap: var(--sp-2); font-size: var(--fs-sm); color: var(--text-muted); }
.pdp__usp .icon { width: 19px; height: 19px; color: var(--c-primary); flex: 0 0 auto; }
.pdp-acc { margin-top: var(--sp-8); border-top: 1px solid var(--border); }
.pdp-acc__item { border-bottom: 1px solid var(--border); }
.pdp-acc__head { margin: 0; }
.pdp-acc__btn {
  width: 100%;
  display: flex;
  align-items: center;
  gap: var(--sp-3);
  padding: var(--sp-4) 0;
  font: inherit;
  font-size: var(--fs-base);
  font-weight: var(--fw-medium);
  color: var(--text);
  text-align: start;
  cursor: pointer;
}
.pdp-acc__btn > .icon { width: 19px; height: 19px; color: var(--c-gold); flex: 0 0 auto; }
.pdp-acc__btn > span:not(.pdp-acc__chevron) { flex: 1 1 auto; }
.pdp-acc__chevron { display: inline-flex; color: var(--text-faint); transition: transform var(--dur) var(--ease); }
.pdp-acc__chevron .icon { width: 18px; height: 18px; }
.pdp-acc__item.is-open .pdp-acc__chevron { transform: rotate(180deg); }
.pdp-acc__panel { padding-bottom: var(--sp-5); }
.pdp-acc__panel[hidden] { display: none; }
.pdp-acc__rte { color: var(--text-muted); font-size: var(--fs-sm); line-height: 2.1; }
.pdp-acc__rte > * + * { margin-top: var(--sp-3); }
.pdp-acc__rte h2, .pdp-acc__rte h3, .pdp-acc__rte h4 {
  font-size: var(--fs-base); font-weight: var(--fw-bold); color: var(--text); margin-top: var(--sp-5);
}
.pdp-acc__rte a { color: var(--c-primary); text-decoration: underline; }
.pdp-acc__rte ul, .pdp-acc__rte ol { padding-inline-start: var(--sp-5); }
.pdp-acc__rte li { list-style: disc; margin-block: 4px; }
.pdp-acc__rte img { max-width: 100%; height: auto; }
.pdp-specs { display: grid; gap: 1px; background: var(--border); border: 1px solid var(--border); }
.pdp-specs__row { display: grid; grid-template-columns: 180px minmax(0, 1fr); gap: 1px; background: var(--border); }
.pdp-specs dt, .pdp-specs dd { padding: var(--sp-3) var(--sp-4); background: var(--paper); font-size: var(--fs-sm); }
.pdp-specs dt { color: var(--text-faint); }
.pdp-specs dd { color: var(--text); }
.pdp-ship { display: grid; gap: var(--sp-3); }
.pdp-ship li { display: flex; gap: var(--sp-3); font-size: var(--fs-sm); color: var(--text-muted); line-height: var(--lh-base); }
.pdp-ship .icon { width: 20px; height: 20px; color: var(--c-primary); flex: 0 0 auto; margin-top: 4px; }
.pdp__related { margin-top: var(--sp-9); }
.pdp-related__viewport { position: relative; }
.pdp-related__track {
  display: flex;
  gap: var(--sp-4);
  overflow-x: auto;
  scroll-snap-type: x proximity;
  scrollbar-width: none;
}
.pdp-related__track::-webkit-scrollbar { display: none; }
.pdp-related__track.is-dragging { cursor: grabbing; }
.pdp-lightbox {
  position: fixed;
  inset: 0;
  z-index: 1300;
  display: grid;
  place-items: center;
  opacity: 0;
  visibility: hidden;
  transition: opacity var(--dur) var(--ease), visibility var(--dur);
}
.pdp-lightbox.is-open { opacity: 1; visibility: visible; }
.pdp-lightbox__scrim { position: absolute; inset: 0; background: rgba(11, 43, 37, 0.92); }
.pdp-lightbox__figure {
  position: relative;
  z-index: 1;
  max-width: min(92vw, 760px);
  max-height: 88vh;
  margin: 0;
}
.pdp-lightbox__img { max-width: 100%; max-height: 88vh; width: auto; height: auto; object-fit: contain; }
.pdp-lightbox__close,
.pdp-lightbox__nav {
  position: absolute;
  z-index: 2;
  display: grid;
  place-items: center;
  width: 46px;
  height: 46px;
  background: rgba(255, 255, 255, 0.12);
  color: #fff;
  cursor: pointer;
  transition: background var(--dur) var(--ease);
}
.pdp-lightbox__close:hover,
.pdp-lightbox__nav:hover { background: rgba(255, 255, 255, 0.24); }
.pdp-lightbox__close { top: var(--sp-5); inset-inline-end: var(--sp-5); }
.pdp-lightbox__close svg,
.pdp-lightbox__nav svg { width: 22px; height: 22px; }
.pdp-lightbox__nav { top: 50%; transform: translateY(-50%); }
.pdp-lightbox__nav--prev { inset-inline-start: var(--sp-5); }
.pdp-lightbox__nav--next { inset-inline-end: var(--sp-5); }
.pdp-lightbox__count {
  position: absolute;
  z-index: 2;
  bottom: var(--sp-5);
  inset-inline: 0;
  text-align: center;
  color: rgba(255, 255, 255, 0.75);
  font-size: var(--fs-sm);
}
.pdp-bar {
  position: fixed;
  inset-inline: 0;
  bottom: 0;
  z-index: 45;
  display: none;
  align-items: center;
  gap: var(--sp-3);
  padding: var(--sp-3) var(--content-pad);
  background: var(--paper);
  border-top: 1px solid var(--border);
  box-shadow: 0 -6px 24px rgba(0, 0, 0, 0.08);
  transform: translateY(100%);
  transition: transform var(--dur) var(--ease);
}
.pdp-bar[hidden] { display: none; }
.pdp-bar.is-visible { transform: none; }
.pdp-bar__price { flex: 1 1 auto; font-weight: var(--fw-bold); color: var(--price); }
.pdp-bar__btn { gap: var(--sp-2); white-space: nowrap; }
.pdp-bar__btn .icon { width: 18px; height: 18px; }
@media (max-width: 1024px) {
  .pdp__main { grid-template-columns: minmax(0, 1fr); gap: var(--sp-6); }
  .pdp-gallery { position: static; }
  .pdp-gallery__thumbs { max-height: 420px; }
}
@media (max-width: 767px) {
  .pdp { padding-block: var(--sp-4) var(--sp-8); }
  .pdp__title { font-size: var(--fs-lg); }
  .pdp-gallery { grid-template-columns: minmax(0, 1fr); }
  .pdp-gallery__thumbs {
    order: 2;
    flex-direction: row;
    max-height: none;
    overflow-x: auto;
    overflow-y: hidden;
  }
  .pdp-gallery__thumb { width: 68px; height: 82px; }
  .pdp-gallery__stage { order: 1; }
  .pdp__usp { grid-template-columns: 1fr; }
  .pdp-specs__row { grid-template-columns: 1fr; }
  .pdp-bar { display: flex; }
  body.single-product .to-top { bottom: 86px; }
  .pdp-lightbox__nav { width: 40px; height: 40px; }
  .pdp-lightbox__nav--prev { inset-inline-start: var(--sp-2); }
  .pdp-lightbox__nav--next { inset-inline-end: var(--sp-2); }
}
.pdp .quantity,
.woocommerce .quantity {
  display: inline-flex;
  align-items: stretch;
  border: 1px solid var(--border);
  background: var(--paper);
}
.qty__btn {
  width: 38px;
  display: grid;
  place-items: center;
  background: var(--paper);
  color: var(--text);
  font-size: var(--fs-md);
  line-height: 1;
  cursor: pointer;
  transition: background var(--dur) var(--ease), color var(--dur) var(--ease);
}
.qty__btn:hover { background: var(--bg-soft); color: var(--c-primary); }
.pdp .quantity input[type="number"],
.woocommerce .quantity input[type="number"] {
  width: 46px;
  border: 0;
  border-inline: 1px solid var(--border);
  background: transparent;
  text-align: center;
  font: inherit;
  padding-block: var(--sp-3);
}
.pdp .quantity input[type="number"]:focus,
.woocommerce .quantity input[type="number"]:focus { outline: none; }
.pdp-hint {
  margin-top: var(--sp-3);
  padding: var(--sp-2) var(--sp-3);
  background: #fdf3f2;
  border-inline-start: 3px solid var(--c-error);
  color: var(--c-error);
  font-size: var(--fs-sm);
  opacity: 0;
  max-height: 0;
  overflow: hidden;
  transition: opacity var(--dur) var(--ease), max-height var(--dur) var(--ease);
}
.pdp-hint.is-shown { opacity: 1; max-height: 80px; }
.pdp button.single_add_to_cart_button.is-loading { opacity: 0.7; pointer-events: none; }
.toasts {
  position: fixed;
  z-index: 1400;
  bottom: var(--sp-5);
  inset-inline-start: var(--sp-5); 
  display: grid;
  gap: var(--sp-2);
  width: min(360px, calc(100vw - 2 * var(--sp-4)));
  pointer-events: none;
}
.toast {
  position: relative;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: var(--sp-3);
  padding: var(--sp-3) var(--sp-4);
  background: var(--paper);
  border: 1px solid var(--border);
  border-inline-start: 3px solid var(--c-primary);
  box-shadow: var(--shadow-lg);
  overflow: hidden;
  pointer-events: auto;
  opacity: 0;
  transform: translateY(10px);
  transition: opacity var(--dur) var(--ease), transform var(--dur) var(--ease);
}
.toast.is-in { opacity: 1; transform: none; }
.toast--error { border-inline-start-color: var(--c-error); }
.toast--info { border-inline-start-color: var(--c-gold); }
.toast__icon { display: grid; place-items: center; width: 22px; height: 22px; color: var(--c-primary); }
.toast__icon svg { width: 20px; height: 20px; }
.toast--error .toast__icon { color: var(--c-error); }
.toast--info .toast__icon { color: var(--c-gold); }
.toast__msg { font-size: var(--fs-sm); line-height: 1.8; color: var(--text); }
.toast__close {
  font-size: 20px;
  line-height: 1;
  color: var(--text-faint);
  padding: 0 4px;
}
.toast__close:hover { color: var(--text); }
.toast__bar {
  position: absolute;
  bottom: 0;
  inset-inline-start: 0;
  height: 2px;
  width: 100%;
  background: var(--c-primary);
  transform-origin: right; 
  animation: sepehri-toast-bar 5s linear forwards;
}
.toast--error .toast__bar { background: var(--c-error); }
.toast--info .toast__bar { background: var(--c-gold); }
@keyframes sepehri-toast-bar { from { transform: scaleX(1); } to { transform: scaleX(0); } }
.is-toasted { display: none !important; }
@media (prefers-reduced-motion: reduce) {
  .toast__bar { animation: none; }
}
.cart-modal {
  position: fixed;
  inset: 0;
  z-index: 1350;
  display: grid;
  place-items: center;
  padding: var(--sp-4);
  opacity: 0;
  transition: opacity 0.26s var(--ease);
}
.cart-modal[hidden] { display: none; }
.cart-modal.is-open { opacity: 1; }
.cart-modal__scrim { position: absolute; inset: 0; background: rgba(11, 43, 37, 0.55); backdrop-filter: blur(4px); }
.cart-modal__box {
  position: relative;
  z-index: 1;
  width: min(440px, 100%);
  padding: var(--sp-6) var(--sp-5) var(--sp-5);
  background: var(--paper);
  border-top: 3px solid var(--c-primary);
  box-shadow: var(--shadow-lg);
  text-align: center;
  transform: translateY(14px);
  transition: transform 0.26s var(--ease);
}
.cart-modal.is-open .cart-modal__box { transform: none; }
.cart-modal__x {
  position: absolute;
  top: var(--sp-3);
  inset-inline-end: var(--sp-3);
  color: var(--text-faint);
}
.cart-modal__x svg { width: 20px; height: 20px; }
.cart-modal__x:hover { color: var(--text); }
.cart-modal__check {
  display: grid;
  place-items: center;
  width: 52px;
  height: 52px;
  margin: 0 auto var(--sp-3);
  background: var(--c-primary);
  color: #fff;
}
.cart-modal__check svg { width: 28px; height: 28px; }
.cart-modal__title { font-size: var(--fs-md); font-weight: var(--fw-bold); margin-bottom: var(--sp-4); }
.cart-modal__item {
  display: flex;
  align-items: center;
  gap: var(--sp-3);
  padding: var(--sp-3);
  margin-bottom: var(--sp-5);
  background: var(--bg-soft);
  text-align: start;
}
.cart-modal__img { width: 58px; height: 72px; object-fit: cover; object-position: top center; flex: 0 0 auto; }
.cart-modal__info { min-width: 0; display: grid; gap: 2px; }
.cart-modal__name { font-size: var(--fs-sm); font-weight: var(--fw-medium); }
.cart-modal__meta { font-size: var(--fs-xs); color: var(--text-faint); }
.cart-modal__price { font-size: var(--fs-sm); font-weight: var(--fw-bold); color: var(--price); }
.cart-modal__actions { display: grid; grid-template-columns: 1fr 1fr; gap: var(--sp-3); }
.cart-modal__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: var(--sp-3) var(--sp-4);
  font-size: var(--fs-sm);
  font-weight: var(--fw-medium);
  cursor: pointer;
  transition: background var(--dur) var(--ease), border-color var(--dur) var(--ease);
}
.cart-modal__btn--ghost { background: var(--paper); border: 1px solid var(--border); color: var(--text); }
.cart-modal__btn--ghost:hover { border-color: var(--c-primary); color: var(--c-primary); }
.cart-modal__btn--solid { background: var(--c-primary); border: 1px solid var(--c-primary); color: var(--ivory) !important; }
.cart-modal__btn--solid:hover { background: var(--c-primary-dark); }
.cart-modal__checkout {
  display: inline-block;
  margin-top: var(--sp-3);
  font-size: var(--fs-sm);
  color: var(--c-primary);
  text-decoration: underline;
}
@media (max-width: 767px) {
  .toasts { inset-inline: var(--sp-3); width: auto; bottom: var(--sp-3); }
  body.single-product .toasts { bottom: 82px; }
  .cart-modal__box { padding: var(--sp-5) var(--sp-4) var(--sp-4); }
}
.price__off {
  display: inline-grid;
  place-items: center;
  min-width: 40px;
  padding: 3px 7px;
  background: var(--sale);
  color: #fff;
  font-size: var(--fs-xs);
  font-weight: var(--fw-bold);
  line-height: 1.4;
}
.price__original,
.price del {
  color: var(--text-faint);
  text-decoration: line-through;
  font-weight: var(--fw-regular);
  font-size: var(--fs-sm);
}
.price__sale,
.price ins { text-decoration: none; color: var(--price); }
.price .woocommerce-Price-currencySymbol { font-size: 0.8em; font-weight: var(--fw-regular); color: var(--text-muted); }
.pdp__price { gap: var(--sp-3) var(--sp-4); }
.pdp__price .price {
  display: inline-flex;
  align-items: center;
  gap: var(--sp-3);
  flex-wrap: wrap;
  font-size: var(--fs-xl);
  font-weight: var(--fw-bold);
  color: var(--price);
}
.pdp__price .price__original { font-size: var(--fs-base); }
.pdp__price .price__off { min-width: 46px; font-size: var(--fs-sm); }
.pdp .woocommerce-variation-price .price {
  display: inline-flex;
  align-items: center;
  gap: var(--sp-3);
  flex-wrap: wrap;
  font-size: var(--fs-xl);
  font-weight: var(--fw-bold);
  color: var(--price);
}
.pdp .woocommerce-variation-availability { margin-bottom: var(--sp-4); }
.pdp .woocommerce-variation-availability p,
.pdp__stock {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 5px var(--sp-3);
  font-size: var(--fs-xs);
  font-weight: var(--fw-medium);
}
.pdp .stock.in-stock,
.pdp__stock.is-in { background: var(--c-primary-soft); color: var(--c-primary); }
.pdp .stock.low-stock { background: #FDF0E4; color: #A85E13; }
.pdp .stock.out-of-stock,
.pdp__stock.is-out { background: #FBEBEA; color: var(--c-error); }
.pdp .stock.available-on-backorder { background: var(--bg-soft); color: var(--text-muted); }
.pdp .reset_variations { display: none !important; }
.pdp-specs {
  display: grid;
  gap: 0;
  background: transparent;
  border: 1px solid var(--border);
}
.pdp-specs__row {
  display: grid;
  grid-template-columns: 190px minmax(0, 1fr);
  gap: 0;
  background: transparent;
  border-bottom: 1px solid var(--border);
}
.pdp-specs__row:last-child { border-bottom: 0; }
.pdp-specs__row:nth-child(odd) { background: var(--bg-soft); }
.pdp-specs dt,
.pdp-specs dd { padding: var(--sp-3) var(--sp-4); background: transparent; font-size: var(--fs-sm); }
.pdp-specs dt { color: var(--text-faint); font-weight: var(--fw-medium); }
.pdp-specs dd { color: var(--text); }
.pdp-ship { display: grid; gap: 0; border: 1px solid var(--border); }
.pdp-ship li {
  display: flex;
  gap: var(--sp-3);
  align-items: flex-start;
  padding: var(--sp-4);
  border-bottom: 1px solid var(--border);
  font-size: var(--fs-sm);
  color: var(--text-muted);
  line-height: var(--lh-base);
}
.pdp-ship li:last-child { border-bottom: 0; }
.pdp-ship .icon { width: 22px; height: 22px; color: var(--c-primary); flex: 0 0 auto; margin-top: 2px; }
.stars { display: inline-flex; gap: 2px; direction: ltr; }
.stars__star { position: relative; display: inline-block; width: 18px; height: 18px; color: var(--border); }
.stars__star .icon { width: 18px; height: 18px; }
.stars__fill {
  position: absolute;
  inset: 0;
  overflow: hidden;
  color: #F0A92B;
}
.stars__fill .icon { fill: currentColor; }
.stars--sm .stars__star,
.stars--sm .stars__star .icon,
.stars--sm .stars__fill .icon { width: 14px; height: 14px; }
.pdp-reviews { margin-top: var(--sp-9); }
.pdp-reviews__grid {
  display: grid;
  grid-template-columns: 260px minmax(0, 1fr);
  gap: var(--sp-7);
  align-items: start;
}
.review-summary {
  padding: var(--sp-5);
  background: var(--bg-soft);
  border: 1px solid var(--border);
  text-align: center;
  position: sticky;
  top: calc(var(--header-h) + var(--sp-4));
}
.review-summary__score { font-size: var(--fs-3xl); font-weight: var(--fw-bold); line-height: 1.1; }
.review-summary .stars { justify-content: center; margin-block: var(--sp-2); }
.review-summary__count { font-size: var(--fs-xs); color: var(--text-faint); }
.review-bars { display: grid; gap: var(--sp-2); margin-top: var(--sp-4); }
.review-bars__row { display: grid; grid-template-columns: 34px minmax(0, 1fr) 26px; align-items: center; gap: var(--sp-2); }
.review-bars__label { display: inline-flex; align-items: center; gap: 2px; font-size: var(--fs-xs); color: var(--text-muted); }
.review-bars__label .icon { width: 11px; height: 11px; color: #F0A92B; }
.review-bars__track { height: 6px; background: var(--border); overflow: hidden; }
.review-bars__fill { display: block; height: 100%; background: #F0A92B; }
.review-bars__n { font-size: var(--fs-xs); color: var(--text-faint); text-align: start; }
.review-list { display: grid; gap: var(--sp-4); margin-bottom: var(--sp-6); }
.review-item { list-style: none; }
.review-item__box { padding: var(--sp-4); border: 1px solid var(--border); }
.review-item__head { display: flex; align-items: center; gap: var(--sp-3); margin-bottom: var(--sp-3); }
.review-item__avatar {
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  background: var(--c-primary-soft);
  color: var(--c-primary);
  flex: 0 0 auto;
}
.review-item__avatar .icon { width: 22px; height: 22px; }
.review-item__who { flex: 1 1 auto; min-width: 0; }
.review-item__name { display: flex; align-items: center; gap: var(--sp-2); font-size: var(--fs-sm); font-weight: var(--fw-medium); }
.review-item__verified {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  padding: 2px 6px;
  background: var(--c-primary-soft);
  color: var(--c-primary);
  font-size: 10px;
  font-weight: var(--fw-regular);
}
.review-item__verified .icon { width: 12px; height: 12px; }
.review-item__date { font-size: var(--fs-xs); color: var(--text-faint); }
.review-item__rating { flex: 0 0 auto; }
.review-item__text { font-size: var(--fs-sm); line-height: 2; color: var(--text-muted); }
.review-item__text p + p { margin-top: var(--sp-2); }
.review-item__pending { margin-top: var(--sp-2); font-size: var(--fs-xs); color: var(--c-gold); }
.review-empty {
  display: flex;
  align-items: center;
  gap: var(--sp-2);
  padding: var(--sp-5);
  background: var(--bg-soft);
  color: var(--text-muted);
  font-size: var(--fs-sm);
  margin-bottom: var(--sp-6);
}
.review-empty .icon { width: 18px; height: 18px; color: var(--c-gold); }
.review-pagination { margin-bottom: var(--sp-5); display: flex; gap: var(--sp-2); }
.review-pagination a, .review-pagination span { padding: 6px 12px; border: 1px solid var(--border); font-size: var(--fs-sm); }
.review-form { padding: var(--sp-5); border: 1px solid var(--border); background: var(--bg-soft); }
.review-form__title { font-size: var(--fs-md); font-weight: var(--fw-bold); margin-bottom: var(--sp-4); }
.review-form__row { display: grid; gap: var(--sp-2); margin-bottom: var(--sp-4); }
.review-form__row label,
.review-form__label { font-size: var(--fs-sm); font-weight: var(--fw-medium); }
.review-form__row .required { color: var(--c-error); margin-inline-start: 2px; }
.review-form input[type="text"],
.review-form input[type="email"],
.review-form textarea {
  width: 100%;
  padding: var(--sp-3);
  border: 1px solid var(--border);
  background: var(--paper);
  font: inherit;
  font-size: var(--fs-sm);
  color: var(--text);
}
.review-form input:focus,
.review-form textarea:focus { outline: none; border-color: var(--c-primary); }
.review-form .comment-form-cookies-consent { display: flex; align-items: center; gap: var(--sp-2); font-size: var(--fs-xs); color: var(--text-faint); }
.review-form .comment-form-cookies-consent label { font-weight: var(--fw-regular); }
.review-form__submit { border: 0; cursor: pointer; }
.rating-input { display: inline-flex; gap: 4px; }
.rating-input input { position: absolute; opacity: 0; pointer-events: none; }
.rating-input label { cursor: pointer; color: var(--border); transition: color var(--dur) var(--ease); }
.rating-input label .icon { width: 26px; height: 26px; }
.rating-input label.is-on { color: #F0A92B; }
.rating-input label.is-on .icon { fill: currentColor; }
.rating-input input:focus-visible + label { outline: 2px solid var(--c-primary); outline-offset: 2px; }
.review-locked {
  padding: var(--sp-4);
  background: var(--bg-soft);
  border-inline-start: 3px solid var(--c-gold);
  font-size: var(--fs-sm);
  color: var(--text-muted);
}
@media (max-width: 1024px) {
  .pdp-reviews__grid { grid-template-columns: minmax(0, 1fr); gap: var(--sp-5); }
  .review-summary { position: static; }
}
@media (max-width: 767px) {
  .pdp-gallery { position: sticky; top: calc(var(--header-h) + var(--sp-2)); z-index: 0; }
  .pdp__summary {
    position: relative;
    z-index: 1;
    background: var(--paper);
    margin-inline: calc(-1 * var(--content-pad));
    padding: var(--sp-5) var(--content-pad) 0;
    box-shadow: 0 -12px 28px rgba(0, 0, 0, 0.07);
  }
  .pdp-specs__row { grid-template-columns: 1fr; }
  .pdp-specs dt { padding-bottom: 0; }
  .review-item__head { flex-wrap: wrap; }
  .rating-input label .icon { width: 30px; height: 30px; }
}
.woocommerce div.product .pdp__price .price,
.woocommerce div.product .woocommerce-variation-price .price,
.woocommerce div.product .price .price__sale,
.woocommerce div.product .price ins { color: var(--price); }
.woocommerce div.product .price .price__original,
.woocommerce div.product .price del { color: var(--text-faint); }
.woocommerce div.product .price .price__off { color: #fff; }
.badge--out { background: var(--gray-600); color: #fff; }
.product-card.is-out .product-card__media { opacity: 0.55; }
.product-card.is-out .product-card__title,
.product-card.is-out .price { color: var(--text-faint); }
.product-card.is-out:hover { transform: none; box-shadow: none; }
.pdp button.single_add_to_cart_button.button:disabled,
.pdp button.single_add_to_cart_button.button:disabled[disabled],
.pdp button.single_add_to_cart_button.button.alt:disabled,
.pdp button.single_add_to_cart_button.button.alt:disabled[disabled] {
  background: var(--c-primary);
  color: var(--ivory);
  border-color: var(--c-primary);
  opacity: 0.75;
}
.pdp button.single_add_to_cart_button.is-loading { cursor: progress; }
.woocommerce .product-card .price,
.woocommerce .product-card .price ins,
.woocommerce .product-card .price__sale { color: var(--price); }
.woocommerce .product-card .price del,
.woocommerce .product-card .price__original { color: var(--text-faint); }
.product-card .price {
  display: flex;
  align-items: center;
  gap: var(--sp-2);
  flex-wrap: wrap;
  font-size: var(--fs-md);
  font-weight: var(--fw-bold);
}
.product-card .price__original { font-size: var(--fs-xs); }
.product-card .price__off { min-width: 34px; padding: 2px 5px; font-size: 10px; }
.product-card .price--empty { font-size: var(--fs-sm); font-weight: var(--fw-regular); color: var(--text-faint); }
.pdp-chip.is-unavailable {
  color: var(--text-faint);
  border-color: var(--border);
  cursor: not-allowed;
  background:
    repeating-linear-gradient(-45deg, transparent, transparent 4px, rgba(0, 0, 0, 0.05) 4px, rgba(0, 0, 0, 0.05) 5px);
}
.pdp-chip.is-unavailable:hover { border-color: var(--border); }
.pdp-acc { border-top: 0; display: grid; gap: var(--sp-3); }
.pdp-acc__item { border: 1px solid var(--border); }
.pdp-acc__btn {
  padding: var(--sp-4);
  background: var(--bg-soft);
  transition: background var(--dur) var(--ease);
}
.pdp-acc__btn:hover { background: var(--c-primary-soft); }
.pdp-acc__item.is-open .pdp-acc__btn { background: var(--paper); border-bottom: 1px solid var(--border); }
.pdp-acc__chevron {
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border: 1px solid var(--border);
  background: var(--paper);
  color: var(--c-primary);
  flex: 0 0 auto;
}
.pdp-acc__item.is-open .pdp-acc__chevron { background: var(--c-primary); color: #fff; border-color: var(--c-primary); }
.pdp-acc__panel { padding: var(--sp-5) var(--sp-4); }
.pdp-acc__rte { font-size: var(--fs-sm); line-height: 2.15; color: var(--text-muted); }
.pdp-acc__rte p { margin-bottom: var(--sp-3); }
.pdp-acc__rte p:last-child { margin-bottom: 0; }
.pdp-acc__rte strong { color: var(--text); font-weight: var(--fw-bold); }
.pdp-acc__rte p:has(> strong:first-child) { margin-top: var(--sp-4); }
.pdp-acc__rte > p {
  padding-inline-start: 0;
}
.pdp-acc__rte > p:not(:has(strong:first-child)) { text-align: justify; }
.pdp-acc__rte h2,
.pdp-acc__rte h3,
.pdp-acc__rte h4 {
  display: flex;
  align-items: center;
  gap: var(--sp-2);
  font-size: var(--fs-base);
  font-weight: var(--fw-bold);
  color: var(--text);
  margin: var(--sp-5) 0 var(--sp-3);
  padding-inline-start: var(--sp-3);
  border-inline-start: 3px solid var(--c-gold);
}
.pdp-acc__rte ul,
.pdp-acc__rte ol { padding-inline-start: var(--sp-5); margin-bottom: var(--sp-3); }
.pdp-acc__rte li { list-style: disc; margin-block: 6px; }
.pdp-acc__rte a { color: var(--c-primary); text-decoration: underline; }
.pdp-acc__rte img { max-width: 100%; height: auto; margin-block: var(--sp-3); }
.pdp-acc__rte table { width: 100%; border-collapse: collapse; font-size: var(--fs-xs); margin-block: var(--sp-3); }
.pdp-acc__rte th, .pdp-acc__rte td { border: 1px solid var(--border); padding: var(--sp-2) var(--sp-3); text-align: start; }
.pdp-acc__rte th { background: var(--bg-soft); font-weight: var(--fw-medium); color: var(--text); }
.pdp-reviews__grid.has-none { grid-template-columns: minmax(0, 1fr); }
.pdp-reviews__grid.has-none .review-summary { display: none; }
.review-form { padding: var(--sp-6); }
.review-form__form { display: grid; gap: 0; }
.review-form__title {
  font-size: var(--fs-md);
  font-weight: var(--fw-bold);
  margin-bottom: var(--sp-5);
  padding-bottom: var(--sp-3);
  border-bottom: 1px solid var(--border);
}
.review-form__form { grid-template-columns: 1fr 1fr; gap: var(--sp-4); }
.review-form__form > .review-form__rating,
.review-form__form > p:has(textarea),
.review-form__form > .comment-form-cookies-consent,
.review-form__form > .form-submit { grid-column: 1 / -1; }
.review-form__row { margin-bottom: 0; }
.review-form textarea { resize: vertical; min-height: 130px; }
.review-form__rating { align-items: start; }
.rating-input label .icon { width: 30px; height: 30px; }
.review-form .form-submit { margin: 0; }
.review-form__submit { padding: var(--sp-3) var(--sp-7); }
@media (max-width: 767px) {
  .review-form { padding: var(--sp-4); }
  .review-form__form { grid-template-columns: 1fr; }
}
.side-cart__step:disabled { opacity: 0.35; cursor: not-allowed; }
.side-cart__step:disabled:hover { background: var(--paper); color: var(--text); }
.side-cart__step:disabled { opacity: 0.35; cursor: not-allowed; }
.side-cart__step:disabled:hover { background: var(--paper); color: var(--text); }
.woocommerce #reviews #respond.review-form {
  padding: var(--sp-6);
  border: 1px solid var(--border);
  background: var(--bg-soft);
  margin: 0;
}
@media (max-width: 767px) {
  .woocommerce #reviews #respond.review-form { padding: var(--sp-4); }
}
.product-card__cta { display: none; }
.product-card__go {
  position: absolute;
  z-index: 2;
  bottom: var(--sp-3);
  inset-inline-end: var(--sp-3);
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  background: var(--c-primary);
  color: var(--ivory);
  opacity: 0;
  transform: translateY(8px);
  transition: opacity var(--dur) var(--ease), transform var(--dur) var(--ease), background var(--dur) var(--ease);
}
.product-card__go .icon { width: 18px; height: 18px; }
.product-card:hover .product-card__go { opacity: 1; transform: none; }
.product-card:hover .product-card__go:hover { background: var(--c-primary-dark); }
@media (hover: none) {
  .product-card__go { opacity: 1; transform: none; }
}
.product-card.is-out .product-card__go { display: none; }
.woocommerce #respond input#submit.review-form__submit,
.woocommerce #reviews #respond input#submit.review-form__submit {
  background: var(--c-primary);
  color: var(--ivory);
  border: 1px solid var(--c-primary);
  border-radius: 0;
  padding: var(--sp-3) var(--sp-7);
  font: inherit;
  font-size: var(--fs-sm);
  font-weight: var(--fw-medium);
  cursor: pointer;
  transition: background var(--dur) var(--ease);
}
.woocommerce #respond input#submit.review-form__submit:hover,
.woocommerce #reviews #respond input#submit.review-form__submit:hover { background: var(--c-primary-dark); }
.shop__more-btn[hidden],
.btn[hidden] { display: none !important; }
.pdp__main { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) 300px; }
.pdp__aside { position: sticky; top: calc(var(--header-h) + var(--sp-4)); }
.pdp-services { border: 1px solid var(--border); background: var(--paper); }
.pdp-services__title {
  display: flex;
  align-items: center;
  gap: var(--sp-2);
  padding: var(--sp-4);
  border-bottom: 1px solid var(--border);
  background: var(--bg-soft);
  font-size: var(--fs-sm);
  font-weight: var(--fw-bold);
}
.pdp-services__title .icon { width: 12px; height: 12px; color: var(--c-gold); }
.pdp-services__list { display: grid; }
.pdp-services__list li {
  display: flex;
  gap: var(--sp-3);
  align-items: flex-start;
  padding: var(--sp-4);
  border-bottom: 1px solid var(--border);
}
.pdp-services__list .icon { width: 22px; height: 22px; color: var(--c-primary); flex: 0 0 auto; margin-top: 2px; }
.pdp-services__list span { display: grid; gap: 2px; min-width: 0; }
.pdp-services__list strong { font-size: var(--fs-sm); font-weight: var(--fw-medium); color: var(--text); }
.pdp-services__list em { font-style: normal; font-size: var(--fs-xs); color: var(--text-faint); line-height: 1.8; }
.pdp-services__call {
  display: flex;
  align-items: center;
  gap: var(--sp-3);
  padding: var(--sp-4);
  background: var(--c-primary-ink);
  color: var(--ivory);
  transition: background var(--dur) var(--ease);
}
.pdp-services__call:hover { background: var(--c-primary); }
.pdp-services__call .icon { width: 24px; height: 24px; color: var(--c-gold-soft); flex: 0 0 auto; }
.pdp-services__call span { display: grid; gap: 1px; }
.pdp-services__call em { font-style: normal; font-size: var(--fs-xs); color: var(--c-gold-soft); }
.pdp-services__call strong { font-size: var(--fs-md); font-weight: var(--fw-bold); }
@media (max-width: 1320px) {
  .pdp__main { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .pdp__aside { grid-column: 2 / 3; position: static; }
}
@media (max-width: 1024px) {
  .pdp__main { grid-template-columns: minmax(0, 1fr); }
  .pdp__aside { grid-column: auto; }
}
@media (max-width: 767px) {
  .pdp__aside {
    position: relative;
    z-index: 1;
    background: var(--paper);
    margin-inline: calc(-1 * var(--content-pad));
    padding: 0 var(--content-pad) var(--sp-5);
  }
  .pdp-acc,
  .pdp-reviews,
  .pdp__related {
    position: relative;
    z-index: 1;
    background: var(--paper);
  }
}
.pdp-size-guide {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: var(--fs-xs);
  color: var(--c-primary);
  cursor: pointer;
}
.pdp-size-guide .icon { width: 15px; height: 15px; }
.pdp-size-guide:hover { text-decoration: underline; }
.pdp .variations .label.has-size-guide {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--sp-3);
}
.sizeguide {
  position: fixed;
  inset: 0;
  z-index: 1350;
  display: grid;
  place-items: center;
  padding: var(--sp-4);
  opacity: 0;
  transition: opacity 0.26s var(--ease);
}
.sizeguide[hidden] { display: none; }
.sizeguide.is-open { opacity: 1; }
.sizeguide__scrim { position: absolute; inset: 0; background: rgba(11, 43, 37, 0.55); backdrop-filter: blur(4px); }
.sizeguide__dialog {
  position: relative;
  z-index: 1;
  width: min(720px, 100%);
  max-height: 86vh;
  display: flex;
  flex-direction: column;
  background: var(--paper);
  border-top: 3px solid var(--c-primary);
  box-shadow: var(--shadow-lg);
  transform: translateY(14px);
  transition: transform 0.26s var(--ease);
}
.sizeguide.is-open .sizeguide__dialog { transform: none; }
.sizeguide__bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: var(--sp-4) var(--sp-5);
  border-bottom: 1px solid var(--border);
}
.sizeguide__title { display: inline-flex; align-items: center; gap: var(--sp-2); font-weight: var(--fw-bold); }
.sizeguide__title .icon { width: 20px; height: 20px; color: var(--c-gold); }
.sizeguide__close { color: var(--text-faint); }
.sizeguide__close .icon { width: 20px; height: 20px; }
.sizeguide__close:hover { color: var(--text); }
.sizeguide__scroll { padding: var(--sp-5); overflow: auto; }
.sizeguide__scroll img { max-width: 100%; height: auto; display: block; margin-inline: auto; }
.size-chart { width: 100%; border-collapse: collapse; font-size: var(--fs-sm); }
.size-chart th,
.size-chart td {
  border: 1px solid var(--border);
  padding: var(--sp-3);
  text-align: center;
  white-space: nowrap;
}
.size-chart thead th { background: var(--c-primary); color: var(--ivory); font-weight: var(--fw-medium); }
.size-chart__corner { background: var(--c-primary-dark) !important; }
.size-chart__row-label { background: var(--bg-soft); font-weight: var(--fw-medium); text-align: start; }
.size-chart tbody tr:nth-child(even) td { background: var(--bg-soft); }
.size-chart__note {
  text-align: start !important;
  white-space: normal !important;
  background: var(--bg-soft);
  color: var(--text-faint);
  font-size: var(--fs-xs);
}
.pdp-share {
  display: flex;
  align-items: center;
  gap: var(--sp-2);
  padding-top: var(--sp-4);
  margin-top: var(--sp-2);
  border-top: 1px solid var(--border);
}
.pdp-share__label { font-size: var(--fs-xs); color: var(--text-faint); margin-inline-end: var(--sp-1); }
.pdp-share__btn {
  display: grid;
  place-items: center;
  width: 36px;
  height: 36px;
  border: 1px solid var(--border);
  background: var(--paper);
  color: var(--text-muted);
  cursor: pointer;
  transition: border-color var(--dur) var(--ease), color var(--dur) var(--ease), background var(--dur) var(--ease);
}
.pdp-share__btn .icon { width: 18px; height: 18px; }
.pdp-share__btn:hover { border-color: var(--c-primary); color: var(--c-primary); background: var(--c-primary-soft); }
.pdp-share__btn.is-copied { background: var(--c-primary); border-color: var(--c-primary); color: var(--ivory); }
@media (max-width: 767px) {
  .sizeguide__scroll { padding: var(--sp-3); }
  .size-chart th, .size-chart td { padding: var(--sp-2); font-size: var(--fs-xs); }
}
.pdp-gallery {
  display: flex;
  flex-direction: column;
  gap: var(--sp-3);
}
.pdp-gallery__stage { order: 1; }
.pdp-gallery__thumbs {
  order: 2;
  flex-direction: row;
  max-height: none;
  overflow-x: auto;
  overflow-y: hidden;
  padding-bottom: 2px;
  scrollbar-width: none;
}
.pdp-gallery__thumbs::-webkit-scrollbar { display: none; }
.pdp-gallery__thumb { width: 74px; height: 92px; }
.woocommerce div.product .product-card .price,
.woocommerce div.product .product-card .price ins,
.woocommerce div.product .product-card .price .woocommerce-Price-amount,
.woocommerce .product-card .price .woocommerce-Price-amount,
.woocommerce .products .product-card .price .woocommerce-Price-amount { color: var(--price); }
.woocommerce div.product .product-card .price del,
.woocommerce div.product .product-card .price del .woocommerce-Price-amount,
.woocommerce .product-card .price del .woocommerce-Price-amount { color: var(--text-faint); }
.woocommerce div.product .product-card .price .price__off,
.woocommerce .product-card .price .price__off { color: #fff; }
.side-cart__actions { gap: var(--sp-2); }
.side-cart__btn { padding: var(--sp-3) var(--sp-3); }
.pdp__topline {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--sp-3);
  margin-bottom: var(--sp-2);
}
.pdp__topline .pdp__kicker { margin-bottom: 0; }
.pdp-share {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 0;
  margin: 0;
  border: 0;
}
.pdp-share__label { display: none; } 
.pdp-share__btn { width: 30px; height: 30px; }
.pdp-share__btn .icon { width: 15px; height: 15px; }
.pdp__crumbs,
.shop__crumbs { min-width: 0; }
.pdp__crumbs .woocommerce-breadcrumb,
.shop__crumbs .woocommerce-breadcrumb {
  display: block;
  white-space: nowrap;
  overflow-x: auto;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
}
.pdp__crumbs .woocommerce-breadcrumb::-webkit-scrollbar,
.shop__crumbs .woocommerce-breadcrumb::-webkit-scrollbar { display: none; }
@media (max-width: 767px) {
  .pdp__main { gap: 0; }
  .pdp__summary { padding-bottom: var(--sp-5); }
  .pdp__aside { padding-top: 0; }
  .pdp__topline { flex-wrap: wrap; }
}
@media (max-width: 767px) {
  .pdp__aside { top: auto; }
}
@media (max-width: 1024px) {
  .header-nav {
    display: flex;
    flex-direction: column;
    padding: 0; 
    background: var(--paper);
    box-shadow: 0 0 40px rgba(0, 0, 0, 0.18);
  }
  .header-nav__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: var(--sp-4);
    border-bottom: 1px solid var(--border);
    flex: 0 0 auto;
  }
  .header-nav .header-nav__logo { height: 52px; width: auto; }
  .header-nav__close {
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    border: 1px solid var(--border);
    color: var(--text-muted);
  }
  .header-nav__close .icon { width: 18px; height: 18px; }
  .header-nav__close:hover { border-color: var(--c-primary); color: var(--c-primary); }
  .header-nav__scrollarea { flex: 1 1 auto; overflow-y: auto; -webkit-overflow-scrolling: touch; }
  .header-nav__list { display: block; }
  .header-nav__list > li { border-bottom: 1px solid var(--border); }
  .header-nav__list > li:last-child { border-bottom: 0; }
  .header-nav__list a {
    display: block;
    padding: var(--sp-4);
    font-size: var(--fs-base);
    font-weight: var(--fw-medium);
    color: var(--text);
    transition: background var(--dur) var(--ease), color var(--dur) var(--ease);
  }
  .header-nav__list a:hover,
  .header-nav__list .current-menu-item > a,
  .header-nav__list .current-product-parent > a { background: var(--c-primary-soft); color: var(--c-primary); }
  .header-nav__list a::after { content: none; }
  .header-nav__list .menu-item-has-children { position: relative; }
  .header-nav__list .menu-item-has-children > a { padding-inline-end: 56px; }
  .nav-toggle-sub {
    position: absolute;
    top: 0;
    inset-inline-end: 0;
    width: 54px;
    height: 54px;
    display: grid;
    place-items: center;
    color: var(--text-faint);
    border-inline-start: 1px solid var(--border);
    transition: transform var(--dur) var(--ease), color var(--dur) var(--ease);
  }
  .nav-toggle-sub .icon { width: 18px; height: 18px; }
  .menu-item-has-children.is-open > .nav-toggle-sub { transform: rotate(180deg); color: var(--c-primary); }
  .header-nav__list .sub-menu {
    display: none;
    background: var(--bg-soft);
    border-top: 1px solid var(--border);
  }
  .header-nav__list .menu-item-has-children.is-open > .sub-menu { display: block; }
  .header-nav__list .sub-menu li { border-bottom: 1px solid var(--border); }
  .header-nav__list .sub-menu li:last-child { border-bottom: 0; }
  .header-nav__list .sub-menu a {
    padding: var(--sp-3) var(--sp-6);
    font-size: var(--fs-sm);
    font-weight: var(--fw-regular);
    color: var(--text-muted);
  }
  .header-nav__list .sub-menu a::before {
    content: "";
    display: inline-block;
    width: 4px;
    height: 4px;
    margin-inline-end: var(--sp-2);
    background: var(--c-gold);
    vertical-align: middle;
  }
  .header-nav__foot { flex: 0 0 auto; border-top: 1px solid var(--border); }
  .header-nav__account {
    display: flex;
    align-items: center;
    gap: var(--sp-3);
    padding: var(--sp-4);
    background: var(--c-primary);
    color: var(--ivory);
    font-size: var(--fs-sm);
    font-weight: var(--fw-medium);
  }
  .header-nav__account > span { flex: 1 1 auto; }
  .header-nav__account .icon { width: 20px; height: 20px; }
  .header-nav__account:hover { background: var(--c-primary-dark); }
  .header-nav__tel {
    display: flex;
    align-items: center;
    gap: var(--sp-3);
    padding: var(--sp-4);
    border-bottom: 1px solid var(--border);
  }
  .header-nav__tel .icon { width: 22px; height: 22px; color: var(--c-primary); flex: 0 0 auto; }
  .header-nav__tel span { display: grid; gap: 1px; }
  .header-nav__tel em { font-style: normal; font-size: var(--fs-xs); color: var(--text-faint); }
  .header-nav__tel strong { font-size: var(--fs-base); font-weight: var(--fw-bold); color: var(--text); }
  .header-nav__social {
    display: flex;
    justify-content: center;
    gap: var(--sp-3);
    padding: var(--sp-4);
  }
  .header-nav__social a {
    display: grid;
    place-items: center;
    width: 40px;
    height: 40px;
    border: 1px solid var(--border);
    color: var(--text-muted);
    transition: border-color var(--dur) var(--ease), color var(--dur) var(--ease);
  }
  .header-nav__social .icon { width: 19px; height: 19px; }
  .header-nav__social a:hover { border-color: var(--c-primary); color: var(--c-primary); }
  .header-nav__tagline { display: none; }
}
@media (max-width: 1024px) {
  body:has(.header-nav.is-open) .site-header { z-index: 60; }
  .header-nav { z-index: 80; }
  .header-nav__scrim { z-index: 75; }
}
.page-head { padding-block: var(--sp-7) var(--sp-6); text-align: center; }
.page-head__kicker {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: var(--fs-xs);
  color: var(--text-faint);
  margin-bottom: var(--sp-2);
}
.page-head__kicker .icon { width: 14px; height: 14px; color: var(--c-gold); }
.page-head__title { font-size: var(--fs-2xl); font-weight: var(--fw-bold); }
.page-head__lead {
  max-width: 62ch;
  margin: var(--sp-3) auto 0;
  color: var(--text-muted);
  font-size: var(--fs-sm);
  line-height: var(--lh-base);
}
.page-rte { margin-top: var(--sp-7); color: var(--text-muted); font-size: var(--fs-sm); line-height: 2.1; }
.page-rte > * + * { margin-top: var(--sp-3); }
.page-rte a { color: var(--c-primary); text-decoration: underline; }
.page-faq { padding-bottom: var(--sp-9); }
.page-faq__body {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 300px;
  gap: var(--sp-6);
  align-items: start;
}
.faq-list { display: grid; gap: var(--sp-3); }
.faq-item { border: 1px solid var(--border); background: var(--paper); }
.faq-item__head { margin: 0; }
.faq-item__btn {
  width: 100%;
  display: flex;
  align-items: center;
  gap: var(--sp-3);
  padding: var(--sp-4) var(--sp-5);
  background: var(--bg-soft);
  font: inherit;
  font-size: var(--fs-base);
  font-weight: var(--fw-medium);
  color: var(--text);
  text-align: start;
  cursor: pointer;
  transition: background var(--dur) var(--ease), color var(--dur) var(--ease);
}
.faq-item__btn:hover { background: var(--c-primary-soft); color: var(--c-primary); }
.faq-item__q { flex: 1 1 auto; line-height: 1.9; }
.faq-item__icon {
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border: 1px solid var(--border);
  background: var(--paper);
  color: var(--c-primary);
  transition: transform var(--dur) var(--ease), background var(--dur) var(--ease), color var(--dur) var(--ease);
}
.faq-item__icon .icon { width: 17px; height: 17px; }
.faq-item.is-open .faq-item__btn { background: var(--paper); border-bottom: 1px solid var(--border); }
.faq-item.is-open .faq-item__icon { transform: rotate(180deg); background: var(--c-primary); color: #fff; border-color: var(--c-primary); }
.faq-item__panel { padding: var(--sp-5); }
.faq-item__panel[hidden] { display: none; }
.faq-item__a { color: var(--text-muted); font-size: var(--fs-sm); line-height: 2.1; }
.faq-item__a > * + * { margin-top: var(--sp-3); }
.faq-item__a ul { padding-inline-start: var(--sp-5); }
.faq-item__a li { list-style: disc; margin-block: 6px; }
.faq-item__a strong { color: var(--text); }
.faq-aside { position: sticky; top: calc(var(--header-h) + var(--sp-4)); }
.faq-cta {
  padding: var(--sp-5);
  background: var(--c-primary-ink);
  color: var(--ivory);
  text-align: center;
}
.faq-cta__icon {
  display: grid;
  place-items: center;
  width: 52px;
  height: 52px;
  margin: 0 auto var(--sp-3);
  background: rgba(255, 255, 255, 0.1);
  color: var(--c-gold-soft);
}
.faq-cta__icon .icon { width: 26px; height: 26px; }
.faq-cta__title { font-size: var(--fs-md); font-weight: var(--fw-bold); }
.faq-cta__text { margin: var(--sp-2) 0 var(--sp-4); font-size: var(--fs-xs); color: rgba(255, 255, 255, 0.72); line-height: 1.9; }
.faq-cta .btn { width: 100%; justify-content: center; font-weight: var(--fw-bold); }
.faq-cta__link {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  margin-top: var(--sp-3);
  font-size: var(--fs-xs);
  color: var(--c-gold-soft);
}
.faq-cta__link .icon { width: 14px; height: 14px; }
.faq-cta__link:hover { text-decoration: underline; }
.page-about { padding-bottom: var(--sp-9); }
.about-hero { padding-block: var(--sp-7) var(--sp-6); }
.about-hero__inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 420px;
  gap: var(--sp-7);
  align-items: center;
}
.about-hero__title { font-size: var(--fs-2xl); font-weight: var(--fw-bold); line-height: 1.5; margin-bottom: var(--sp-4); }
.about-hero__lead { color: var(--text-muted); font-size: var(--fs-sm); line-height: 2.1; }
.about-hero__media img { width: 100%; height: auto; display: block; border: 1px solid var(--border); }
.about-stats { padding-block: var(--sp-5); }
.about-stats__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border: 1px solid var(--border);
  background: var(--paper);
}
.about-stat { padding: var(--sp-5); text-align: center; border-inline-start: 1px solid var(--border); }
.about-stat:first-child { border-inline-start: 0; }
.about-stat strong { display: block; font-size: var(--fs-xl); font-weight: var(--fw-bold); color: var(--c-primary); }
.about-stat span { display: block; margin-top: 4px; font-size: var(--fs-xs); color: var(--text-faint); line-height: 1.8; }
.about-block { padding-block: var(--sp-7); }
.about-block__text { color: var(--text-muted); font-size: var(--fs-sm); line-height: 2.1; max-width: 80ch; }
.about-block__text > * + * { margin-top: var(--sp-3); }
.about-cards {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--sp-4);
  margin-top: var(--sp-6);
}
.about-card {
  padding: var(--sp-5);
  border: 1px solid var(--border);
  background: var(--paper);
  display: grid;
  gap: var(--sp-2);
  align-content: start;
}
.about-card .icon { width: 26px; height: 26px; color: var(--c-gold); }
.about-card strong { font-size: var(--fs-sm); font-weight: var(--fw-bold); }
.about-card span { font-size: var(--fs-xs); color: var(--text-faint); line-height: 1.9; }
.about-tags { display: flex; flex-wrap: wrap; gap: var(--sp-3); }
.about-tags a {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: var(--sp-3) var(--sp-4);
  border: 1px solid var(--border);
  background: var(--paper);
  font-size: var(--fs-sm);
  color: var(--text);
  transition: border-color var(--dur) var(--ease), color var(--dur) var(--ease), background var(--dur) var(--ease);
}
.about-tags .icon { width: 15px; height: 15px; opacity: 0; transform: translateX(4px); transition: opacity var(--dur) var(--ease), transform var(--dur) var(--ease); }
.about-tags a:hover { border-color: var(--c-primary); color: var(--c-primary); background: var(--c-primary-soft); }
.about-tags a:hover .icon { opacity: 1; transform: none; }
.about-goal { background: var(--c-primary-ink); color: var(--ivory); padding-block: var(--sp-8); margin-top: var(--sp-6); }
.about-goal__inner { text-align: center; max-width: 70ch; }
.about-goal__mark { display: inline-grid; place-items: center; margin-bottom: var(--sp-3); color: var(--c-gold); }
.about-goal__mark .icon { width: 16px; height: 16px; }
.about-goal__title { font-size: var(--fs-xl); font-weight: var(--fw-bold); color: var(--ivory); }
.about-goal__text { margin: var(--sp-3) 0 var(--sp-5); color: rgba(255, 255, 255, 0.78); font-size: var(--fs-sm); line-height: 2.1; }
.about-goal__actions { display: flex; gap: var(--sp-3); justify-content: center; flex-wrap: wrap; }
.btn--ghost-light { border: 1px solid rgba(255, 255, 255, 0.45); color: var(--ivory); }
.btn--ghost-light:hover { background: rgba(255, 255, 255, 0.1); }
@media (max-width: 1024px) {
  .page-faq__body { grid-template-columns: minmax(0, 1fr); }
  .faq-aside { position: static; }
  .about-hero__inner { grid-template-columns: minmax(0, 1fr); }
  .about-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
  .page-head { padding-block: var(--sp-5) var(--sp-4); }
  .about-stats__grid { grid-template-columns: repeat(2, 1fr); }
  .about-stat:nth-child(3) { border-inline-start: 0; }
  .about-stat:nth-child(n+3) { border-top: 1px solid var(--border); }
  .about-cards { grid-template-columns: minmax(0, 1fr); }
  .faq-item__btn { padding: var(--sp-3) var(--sp-4); font-size: var(--fs-sm); }
  .faq-item__panel { padding: var(--sp-4); }
}
.wc-page > .woocommerce {
  max-width: var(--content-max);
  margin-inline: auto;
  padding-inline: var(--content-pad);
  padding-block: 0 var(--sp-9);
}
.wc-page .cart-head { padding-inline: 0; }
.woocommerce-cart .page-head--wc { text-align: start; }
.cart-page {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 340px;
  gap: var(--sp-6);
  align-items: start;
}
.cart-list { border: 1px solid var(--border); background: var(--paper); }
.cart-row {
  display: grid;
  grid-template-columns: 92px minmax(0, 1fr) auto auto 40px;
  align-items: center;
  gap: var(--sp-4);
  padding: var(--sp-4);
  border-bottom: 1px solid var(--border);
}
.cart-row:last-child { border-bottom: 0; }
.cart-row__media img {
  width: 92px;
  height: 114px;
  object-fit: cover;
  object-position: top center;
  display: block;
  background: var(--bg-soft);
}
.cart-row__info { min-width: 0; display: grid; gap: 4px; }
.cart-row__name { font-size: var(--fs-sm); font-weight: var(--fw-medium); line-height: 1.8; }
.cart-row__name a { color: var(--text); }
.cart-row__name a:hover { color: var(--c-primary); }
.cart-row__info .variation,
.cart-row__info dl.variation { display: flex; flex-wrap: wrap; gap: 4px var(--sp-3); margin: 0; font-size: var(--fs-xs); color: var(--text-faint); }
.cart-row__info .variation dt { font-weight: var(--fw-regular); margin: 0; }
.cart-row__info .variation dd { margin: 0; }
.cart-row__info .variation dd p { margin: 0; }
.cart-row__unit { font-size: var(--fs-xs); color: var(--text-faint); display: flex; gap: 5px; align-items: baseline; }
.cart-row__unit .woocommerce-Price-amount { color: var(--text-muted); }
.cart-row__backorder { font-size: var(--fs-xs); color: var(--c-gold); }
.cart-row__total { font-size: var(--fs-md); font-weight: var(--fw-bold); color: var(--price); white-space: nowrap; }
.cart-row__remove .remove {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border: 1px solid var(--border);
  color: var(--text-faint);
  transition: border-color var(--dur) var(--ease), color var(--dur) var(--ease), background var(--dur) var(--ease);
}
.cart-row__remove .remove .icon { width: 16px; height: 16px; }
.cart-row__remove .remove:hover { border-color: var(--c-error); color: var(--c-error); background: #FBEBEA; }
.cart-page__actions {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: var(--sp-4);
  align-items: end;
  margin-top: var(--sp-4);
  padding: var(--sp-4);
  border: 1px solid var(--border);
  background: var(--bg-soft);
}
.cart-coupon__label {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: var(--fs-sm);
  font-weight: var(--fw-medium);
  margin-bottom: var(--sp-2);
}
.cart-coupon__label .icon { width: 15px; height: 15px; color: var(--c-gold); }
.cart-coupon__row { display: flex; gap: var(--sp-2); }
.cart-coupon input[type="text"] {
  flex: 1 1 auto;
  min-width: 0;
  padding: var(--sp-3);
  border: 1px solid var(--border);
  background: var(--paper);
  font: inherit;
  font-size: var(--fs-sm);
}
.cart-coupon input[type="text"]:focus { outline: none; border-color: var(--c-primary); }
.cart-page__buttons { display: flex; gap: var(--sp-2); flex-wrap: wrap; }
.cart-page__buttons .btn { gap: 6px; padding: var(--sp-3) var(--sp-4); font-size: var(--fs-sm); }
.cart-page__buttons .icon { width: 16px; height: 16px; }
.btn--ghost { border: 1px solid var(--border); background: var(--paper); color: var(--text); }
.btn--ghost:hover { border-color: var(--c-primary); color: var(--c-primary); }
.cart-page__aside { position: sticky; top: calc(var(--header-h) + var(--sp-4)); display: grid; gap: var(--sp-4); }
.cart-summary { border: 1px solid var(--border); background: var(--paper); }
.cart-summary__title {
  display: flex;
  align-items: center;
  gap: var(--sp-2);
  padding: var(--sp-4);
  border-bottom: 1px solid var(--border);
  background: var(--bg-soft);
  font-size: var(--fs-sm);
  font-weight: var(--fw-bold);
}
.cart-summary__title .icon { width: 19px; height: 19px; color: var(--c-primary); }
.cart-summary__rows { padding: var(--sp-4); display: grid; gap: var(--sp-3); }
.cart-summary__row {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: var(--sp-3);
  font-size: var(--fs-sm);
  color: var(--text-muted);
}
.cart-summary__row > span:last-child { color: var(--text); font-weight: var(--fw-medium); text-align: end; }
.cart-summary__row--coupon > span:last-child { color: var(--sale); }
.cart-summary__row--note > span:last-child { font-size: var(--fs-xs); color: var(--text-faint); font-weight: var(--fw-regular); }
.cart-summary__row--total {
  padding-top: var(--sp-3);
  border-top: 1px solid var(--border);
  font-size: var(--fs-base);
}
.cart-summary__row--total > span:last-child { font-size: var(--fs-md); font-weight: var(--fw-bold); color: var(--price); }
.cart-summary .woocommerce-shipping-totals { display: block; font-size: var(--fs-sm); }
.cart-summary .woocommerce-shipping-totals th { display: block; color: var(--text-muted); font-weight: var(--fw-regular); text-align: start; padding: 0 0 var(--sp-2); }
.cart-summary .woocommerce-shipping-totals td { display: block; padding: 0; }
.cart-summary #shipping_method { display: grid; gap: var(--sp-2); }
.cart-summary #shipping_method li { display: flex; align-items: center; gap: var(--sp-2); font-size: var(--fs-sm); }
.cart-summary .woocommerce-shipping-destination { font-size: var(--fs-xs); color: var(--text-faint); margin-top: var(--sp-2); }
.cart-summary__checkout { padding: 0 var(--sp-4) var(--sp-4); }
.cart-summary__checkout .checkout-button,
.cart-summary__checkout .wc-proceed-to-checkout a.button {
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: var(--sp-4) !important;
  background: var(--c-primary) !important;
  color: var(--ivory) !important;
  border: 1px solid var(--c-primary);
  border-radius: 0 !important;
  font: inherit;
  font-size: var(--fs-base) !important;
  font-weight: var(--fw-bold) !important;
  transition: background var(--dur) var(--ease);
}
.cart-summary__checkout .checkout-button:hover { background: var(--c-primary-dark) !important; }
.cart-usp { border: 1px solid var(--border); background: var(--paper); }
.cart-usp li {
  display: flex;
  align-items: center;
  gap: var(--sp-3);
  padding: var(--sp-3) var(--sp-4);
  border-bottom: 1px solid var(--border);
  font-size: var(--fs-xs);
  color: var(--text-muted);
}
.cart-usp li:last-child { border-bottom: 0; }
.cart-usp .icon { width: 19px; height: 19px; color: var(--c-primary); flex: 0 0 auto; }
.cart-empty { text-align: center; padding-block: var(--sp-7); }
.cart-empty__icon {
  display: grid;
  place-items: center;
  width: 78px;
  height: 78px;
  margin: 0 auto var(--sp-4);
  border: 1px solid var(--border);
  background: var(--bg-soft);
  color: var(--text-faint);
}
.cart-empty__icon .icon { width: 38px; height: 38px; }
.cart-empty__title { font-size: var(--fs-lg); font-weight: var(--fw-bold); }
.cart-empty__text { margin: var(--sp-2) auto var(--sp-5); max-width: 46ch; color: var(--text-muted); font-size: var(--fs-sm); line-height: var(--lh-base); }
.cart-empty__actions { display: flex; gap: var(--sp-3); justify-content: center; flex-wrap: wrap; }
.cart-empty__picks { margin-top: var(--sp-8); text-align: start; }
.cart-empty__picks .product-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.cart-empty .return-to-shop { display: none; } 
@media (max-width: 1024px) {
  .cart-page { grid-template-columns: minmax(0, 1fr); }
  .cart-page__aside { position: static; }
  .cart-empty__picks .product-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
  .cart-row {
    grid-template-columns: 72px minmax(0, 1fr) 34px;
    grid-template-areas:
      "media info remove"
      "media qty  qty"
      "media total total";
    gap: var(--sp-2) var(--sp-3);
    align-items: start;
  }
  .cart-row__media { grid-area: media; }
  .cart-row__media img { width: 72px; height: 90px; }
  .cart-row__info { grid-area: info; }
  .cart-row__qty { grid-area: qty; }
  .cart-row__total { grid-area: total; font-size: var(--fs-base); }
  .cart-row__remove { grid-area: remove; }
  .cart-page__actions { grid-template-columns: minmax(0, 1fr); }
  .cart-page__buttons .btn { flex: 1 1 auto; justify-content: center; }
  .cart-empty__picks .product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.cart-head {
  max-width: var(--content-max);
  margin-inline: auto;
  padding: var(--sp-6) var(--content-pad) 0;
}
.cart-head__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--sp-4);
  flex-wrap: wrap;
  padding-bottom: var(--sp-4);
  border-bottom: 1px solid var(--border);
}
.cart-head__title {
  display: flex;
  align-items: center;
  gap: var(--sp-2);
  font-size: var(--fs-lg);
  font-weight: var(--fw-bold);
  letter-spacing: -0.01em;
}
.cart-head__title .icon { width: 20px; height: 20px; color: var(--c-primary); }
.cart-head__count {
  padding: 3px var(--sp-3);
  background: var(--c-primary-soft);
  color: var(--c-primary);
  font-size: var(--fs-xs);
  font-weight: var(--fw-medium);
}
.cart-head__back {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: var(--fs-sm);
  color: var(--text-muted);
}
.cart-head__back .icon { width: 16px; height: 16px; }
.cart-head__back:hover { color: var(--c-primary); }
.cart-steps {
  display: flex;
  align-items: center;
  gap: var(--sp-3);
  padding-block: var(--sp-4);
  overflow-x: auto;
  scrollbar-width: none;
}
.cart-steps::-webkit-scrollbar { display: none; }
.cart-steps__item {
  display: flex;
  align-items: center;
  gap: var(--sp-2);
  flex: 0 0 auto;
  font-size: var(--fs-sm);
  color: var(--text-faint);
  white-space: nowrap;
}
.cart-steps__item + .cart-steps__item::before {
  content: "";
  width: 34px;
  height: 1px;
  background: var(--border);
  margin-inline-end: var(--sp-1);
}
.cart-steps__num {
  display: grid;
  place-items: center;
  width: 26px;
  height: 26px;
  border: 1px solid var(--border);
  font-size: var(--fs-xs);
}
.cart-steps__item.is-active { color: var(--c-primary); font-weight: var(--fw-medium); }
.cart-steps__item.is-active .cart-steps__num { background: var(--c-primary); border-color: var(--c-primary); color: #fff; }
.cart-row__total { font-size: var(--fs-sm); font-weight: var(--fw-bold); }
.cart-row__total .woocommerce-Price-currencySymbol { font-size: 0.85em; font-weight: var(--fw-regular); color: var(--text-faint); }
.cart-row .quantity {
  display: inline-flex;
  align-items: stretch;
  height: 40px;
  border: 1px solid var(--border);
  background: var(--paper);
  overflow: hidden;
}
.cart-row .quantity .screen-reader-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.cart-row .quantity .qty__btn {
  width: 36px;
  height: 100%;
  display: grid;
  place-items: center;
  font-size: var(--fs-md);
  line-height: 1;
  padding: 0;
}
.cart-row .quantity input[type="number"] {
  width: 44px;
  height: 100%;
  padding: 0;
  border: 0;
  border-inline: 1px solid var(--border);
  background: transparent;
  text-align: center;
  font: inherit;
  font-size: var(--fs-sm);
  line-height: 1;
  -moz-appearance: textfield;
}
.cart-row .quantity input[type="number"]::-webkit-outer-spin-button,
.cart-row .quantity input[type="number"]::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.woocommerce .cart-row__remove a.remove,
.woocommerce .cart-row__remove a.remove:hover {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  padding: 0;
  border: 1px solid var(--border);
  border-radius: 0;
  background: var(--paper);
  color: var(--text-faint);
  font-size: 0;
  line-height: 1;
  transition: border-color var(--dur) var(--ease), color var(--dur) var(--ease), background var(--dur) var(--ease);
}
.woocommerce .cart-row__remove a.remove .icon { width: 16px; height: 16px; display: block; }
.woocommerce .cart-row__remove a.remove:hover {
  border-color: var(--c-error);
  color: var(--c-error);
  background: #FBEBEA;
}
.cart-page.is-busy .cart-list,
.cart-page.is-busy .cart-collaterals { opacity: 0.55; pointer-events: none; transition: opacity var(--dur) var(--ease); }
.cart-page__actions { grid-template-columns: minmax(0, 1fr); }
@media (max-width: 767px) {
  .cart-head { padding-top: var(--sp-4); }
  .cart-head__title { font-size: var(--fs-md); }
  .cart-head__title .icon { width: 18px; height: 18px; }
  .cart-steps__item + .cart-steps__item::before { width: 18px; }
  .cart-steps__label { font-size: var(--fs-xs); }
}
.cart-bar { display: none; }
@media (max-width: 767px) {
  .cart-bar {
    position: fixed;
    inset-inline: 0;
    bottom: 0;
    z-index: 45;
    display: flex;
    align-items: center;
    gap: var(--sp-3);
    padding: var(--sp-3) var(--content-pad);
    background: var(--paper);
    border-top: 1px solid var(--border);
    box-shadow: 0 -6px 24px rgba(0, 0, 0, 0.08);
  }
  .cart-bar__total { flex: 1 1 auto; display: grid; gap: 1px; min-width: 0; }
  .cart-bar__total em { font-style: normal; font-size: var(--fs-xs); color: var(--text-faint); }
  .cart-bar__total strong { font-size: var(--fs-sm); font-weight: var(--fw-bold); color: var(--price); }
  .cart-bar__total .woocommerce-Price-currencySymbol { font-size: 0.85em; font-weight: var(--fw-regular); color: var(--text-faint); }
  .cart-bar__btn { gap: 6px; white-space: nowrap; padding: var(--sp-3) var(--sp-5); }
  .cart-bar__btn .icon { width: 16px; height: 16px; }
  body.woocommerce-cart .site-footer { padding-bottom: 72px; }
  body.woocommerce-cart .to-top { bottom: 86px; }
  body.woocommerce-cart .cart-summary__checkout { display: none; }
}
.checkout-page {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 380px;
  gap: var(--sp-6);
  align-items: start;
}
.checkout-page__main { display: grid; gap: var(--sp-4); min-width: 0; }
.checkout-page__aside { position: sticky; top: calc(var(--header-h) + var(--sp-4)); }
.checkout-card { border: 1px solid var(--border); background: var(--paper); }
.checkout-card__title {
  display: flex;
  align-items: center;
  gap: var(--sp-2);
  padding: var(--sp-4);
  border-bottom: 1px solid var(--border);
  background: var(--bg-soft);
  font-size: var(--fs-sm);
  font-weight: var(--fw-bold);
}
.checkout-card__title .icon { width: 19px; height: 19px; color: var(--c-primary); }
.checkout-card__body { padding: var(--sp-5); }
.sepehri-hidden-field { display: none !important; }
.checkout-card__body .checkout-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--sp-4);
}
.checkout-card__body .checkout-grid + .checkout-grid,
.checkout-card__body .woocommerce-account-fields { margin-top: var(--sp-4); }
body .checkout-card__body .form-row {
  margin: 0;
  padding: 0;
  display: grid;
  gap: var(--sp-2);
  align-content: start;
}
body .checkout-card__body .form-row-wide,
body .checkout-card__body .form-row-first,
body .checkout-card__body .form-row-last { grid-column: 1 / -1; width: auto; float: none; }
body .checkout-card__body .form-row-half { grid-column: span 1; }
.checkout-card__body label {
  font-size: var(--fs-sm);
  font-weight: var(--fw-medium);
  color: var(--text);
  line-height: 1.6;
}
.checkout-card__body .required { color: var(--c-error); text-decoration: none; margin-inline-start: 2px; }
.checkout-card__body .optional { color: var(--text-faint); font-weight: var(--fw-regular); font-size: var(--fs-xs); }
body .checkout-card__body .form-row input.input-text,
body .checkout-card__body .form-row textarea,
body .checkout-card__body .form-row select,
body .checkout-card__body input[type="text"],
body .checkout-card__body input[type="tel"],
body .checkout-card__body input[type="email"],
body .checkout-card__body input[type="number"],
body .checkout-card__body textarea,
body .checkout-card__body select {
  width: 100%;
  min-width: 0;
  padding: 0 var(--sp-3);
  height: 48px;
  border: 1px solid var(--border);
  border-radius: 0;
  background: var(--paper);
  font: inherit;
  font-size: var(--fs-sm);
  line-height: normal;
  color: var(--text);
  box-shadow: none;
  transition: border-color .18s ease;
}
body .checkout-card__body .form-row textarea,
body .checkout-card__body textarea {
  height: auto;
  min-height: 92px;
  padding: var(--sp-3);
  resize: vertical;
}
body .checkout-card__body select {
  appearance: none;
  -webkit-appearance: none;
  padding-inline-end: var(--sp-7);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: left var(--sp-3) center;
}
body .checkout-card__body input:focus,
body .checkout-card__body textarea:focus,
body .checkout-card__body select:focus { outline: none; border-color: var(--c-primary); box-shadow: inset 0 0 0 1px var(--c-primary); }
.checkout-card__body ::placeholder { color: var(--text-faint); opacity: 1; }
.checkout-card__body .select2-container { width: 100% !important; }
.checkout-card__body .select2-container--default .select2-selection--single {
  border: 1px solid var(--border);
  border-radius: 0;
  height: 48px;
  padding: 0 var(--sp-3);
  display: flex;
  align-items: center;
}
.checkout-card__body .select2-container--default .select2-selection--single .select2-selection__rendered {
  line-height: 1.6;
  padding: 0;
  padding-inline-end: var(--sp-6); 
  color: var(--text);
  font-size: var(--fs-sm);
}
.checkout-card__body .select2-container--default .select2-selection--single .select2-selection__arrow {
  height: 46px;
  inset-inline-end: var(--sp-2);
  inset-inline-start: auto;
}
body .checkout-card__body .form-row.woocommerce-invalid input.input-text,
body .checkout-card__body .form-row.woocommerce-invalid select,
body .checkout-card__body .form-row.woocommerce-invalid .select2-selection { border-color: var(--c-error); }
body .checkout-card__body .form-row.woocommerce-validated input.input-text,
body .checkout-card__body .form-row.woocommerce-validated select,
body .checkout-card__body .form-row.woocommerce-validated .select2-selection { border-color: var(--c-primary); }
.checkout-check { position: relative; }
.checkout-check input[type="checkbox"] { position: absolute; opacity: 0; width: 0; height: 0; }
.checkout-check__label {
  display: inline-flex;
  align-items: center;
  gap: var(--sp-2);
  cursor: pointer;
  font-size: var(--fs-sm);
  font-weight: var(--fw-regular) !important;
  color: var(--text-muted);
}
.checkout-check__box {
  flex: 0 0 auto;
  width: 20px; height: 20px;
  border: 1px solid var(--border-strong, var(--border));
  display: grid; place-items: center;
  background: var(--paper);
  transition: background .16s ease, border-color .16s ease;
}
.checkout-check__box .icon { width: 14px; height: 14px; color: #fff; opacity: 0; transition: opacity .16s ease; }
.checkout-check input:checked + .checkout-check__label .checkout-check__box { background: var(--c-primary); border-color: var(--c-primary); }
.checkout-check input:checked + .checkout-check__label .checkout-check__box .icon { opacity: 1; }
.checkout-check input:focus-visible + .checkout-check__label .checkout-check__box { outline: 2px solid var(--c-primary); outline-offset: 2px; }
.checkout-shipping__loading { font-size: var(--fs-sm); color: var(--text-faint); margin: 0; }
.checkout-shipping .woocommerce-shipping-totals th { display: none; }
.checkout-shipping table,
.checkout-shipping tbody,
.checkout-shipping tr,
.checkout-shipping td { display: block; width: 100%; padding: 0; border: 0; }
.checkout-shipping #shipping_method { display: grid; gap: var(--sp-2); margin: 0; padding: 0; list-style: none; }
.checkout-shipping #shipping_method li {
  display: flex;
  align-items: center;
  gap: var(--sp-3);
  padding: var(--sp-3) var(--sp-4);
  border: 1px solid var(--border);
  font-size: var(--fs-sm);
  margin: 0;
  transition: border-color .16s ease, background .16s ease;
}
.checkout-shipping #shipping_method input.shipping_method { position: absolute; opacity: 0; pointer-events: none; }
.checkout-shipping #shipping_method li::before {
  content: "";
  flex: 0 0 auto;
  width: 18px; height: 18px;
  border: 1px solid var(--border);
  background: var(--paper);
  box-shadow: inset 0 0 0 3px var(--paper);
  transition: background .16s ease, border-color .16s ease;
}
.checkout-shipping #shipping_method li:has(input:checked),
.checkout-shipping #shipping_method li:has(input[type="hidden"]) { border-color: var(--c-primary); background: var(--c-primary-soft); }
.checkout-shipping #shipping_method li:has(input:checked)::before,
.checkout-shipping #shipping_method li:has(input[type="hidden"])::before { background: var(--c-primary); border-color: var(--c-primary); }
.checkout-shipping #shipping_method label {
  margin: 0;
  cursor: pointer;
  flex: 1 1 auto;
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: var(--sp-3);
  font-weight: var(--fw-medium);
  color: var(--text);
}
.checkout-shipping #shipping_method li:has(input[type="hidden"]) label { cursor: default; }
.checkout-shipping #shipping_method .woocommerce-Price-amount { font-weight: var(--fw-bold); white-space: nowrap; }
.checkout-shipping .woocommerce-shipping-destination { margin: var(--sp-3) 0 0; font-size: var(--fs-xs); color: var(--text-faint); }
.checkout-shipping .woocommerce-shipping-destination a { color: var(--c-primary); }
.checkout-items { display: grid; max-height: 320px; overflow-y: auto; }
.checkout-item {
  display: flex;
  align-items: center;
  gap: var(--sp-3);
  padding: var(--sp-3) var(--sp-4);
  border-bottom: 1px solid var(--border);
}
.checkout-item__media { position: relative; flex: 0 0 auto; }
.checkout-item__media img { width: 54px; height: 68px; object-fit: cover; object-position: top center; display: block; background: var(--bg-soft); }
.checkout-item__qty {
  position: absolute;
  top: -6px;
  inset-inline-start: -6px;
  min-width: 20px;
  height: 20px;
  display: grid;
  place-items: center;
  padding-inline: 5px;
  background: var(--c-primary);
  color: #fff;
  font-size: 11px;
  font-weight: var(--fw-bold);
}
.checkout-item__info { flex: 1 1 auto; min-width: 0; display: grid; gap: 2px; }
.checkout-item__name { font-size: var(--fs-sm); font-weight: var(--fw-medium); line-height: 1.7; }
.checkout-item__info .variation { display: flex; flex-wrap: wrap; gap: 2px var(--sp-2); margin: 0; font-size: var(--fs-xs); color: var(--text-faint); }
.checkout-item__info .variation dt, .checkout-item__info .variation dd, .checkout-item__info .variation p { margin: 0; }
.checkout-item__price { flex: 0 0 auto; font-size: var(--fs-sm); font-weight: var(--fw-bold); white-space: nowrap; }
.checkout-totals { padding: var(--sp-4); display: grid; gap: var(--sp-3); border-bottom: 1px solid var(--border); }
.checkout-totals__row {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: var(--sp-3);
  font-size: var(--fs-sm);
  color: var(--text-muted);
}
.checkout-totals__row > span:last-child { color: var(--text); font-weight: var(--fw-medium); text-align: end; }
.checkout-totals__row--coupon > span:last-child { color: var(--sale); }
.checkout-totals__row--total { padding-top: var(--sp-3); border-top: 1px solid var(--border); }
.checkout-totals__row--total > span:last-child { font-size: var(--fs-md); font-weight: var(--fw-bold); color: var(--price); }
.checkout-totals .woocommerce-shipping-totals { display: none; }
.checkout-payment { padding: var(--sp-4); }
.checkout-payment__title {
  display: flex;
  align-items: center;
  gap: var(--sp-2);
  font-size: var(--fs-sm);
  font-weight: var(--fw-bold);
  margin-bottom: var(--sp-3);
}
.checkout-payment__title .icon { width: 18px; height: 18px; color: var(--c-primary); }
.checkout-gateways { display: grid; gap: var(--sp-2); margin-bottom: var(--sp-4); }
.checkout-gateways .gateway { list-style: none; }
.checkout-gateways .gateway > input { position: absolute; opacity: 0; pointer-events: none; }
.gateway__label {
  display: flex;
  align-items: center;
  gap: var(--sp-3);
  padding: var(--sp-3) var(--sp-4);
  border: 1px solid var(--border);
  background: var(--paper);
  cursor: pointer;
  transition: border-color var(--dur) var(--ease), background var(--dur) var(--ease);
}
.gateway__label:hover { border-color: var(--c-primary); }
.gateway > input:checked + .gateway__label { border-color: var(--c-primary); background: var(--c-primary-soft); }
.gateway > input:focus-visible + .gateway__label { outline: 2px solid var(--c-primary); outline-offset: 2px; }
.gateway__radio {
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  width: 18px;
  height: 18px;
  border: 1px solid var(--border);
  background: var(--paper);
}
.gateway > input:checked + .gateway__label .gateway__radio { border-color: var(--c-primary); }
.gateway > input:checked + .gateway__label .gateway__radio::after {
  content: "";
  width: 9px;
  height: 9px;
  background: var(--c-primary);
}
.gateway__text { flex: 1 1 auto; min-width: 0; display: grid; gap: 2px; }
.gateway__title { font-size: var(--fs-sm); font-weight: var(--fw-medium); }
.gateway__desc { font-size: var(--fs-xs); color: var(--text-faint); line-height: 1.8; }
.gateway__icon { flex: 0 0 auto; display: flex; align-items: center; }
.gateway__icon img { max-height: 26px; width: auto; }
.checkout-payment .payment_box {
  padding: var(--sp-3) var(--sp-4);
  background: var(--bg-soft);
  border: 1px solid var(--border);
  border-top: 0;
  font-size: var(--fs-xs);
  color: var(--text-muted);
  line-height: 1.9;
}
.checkout-payment .payment_box p { margin: 0; }
.checkout-payment .place-order { margin: 0; }
.woocommerce #payment .checkout-submit,
.checkout-payment button#place_order {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--sp-2);
  width: 100%;
  padding: var(--sp-4);
  background: var(--c-primary);
  color: var(--ivory);
  border: 1px solid var(--c-primary);
  border-radius: 0;
  font: inherit;
  font-size: var(--fs-base);
  font-weight: var(--fw-bold);
  cursor: pointer;
  transition: background var(--dur) var(--ease);
}
.woocommerce #payment .checkout-submit:hover { background: var(--c-primary-dark); }
.checkout-payment button#place_order .icon { width: 18px; height: 18px; }
.checkout-trust { display: grid; gap: var(--sp-2); margin-top: var(--sp-4); }
.checkout-trust li { display: flex; align-items: center; gap: var(--sp-2); font-size: var(--fs-xs); color: var(--text-faint); }
.checkout-trust .icon { width: 16px; height: 16px; color: var(--c-primary); flex: 0 0 auto; }
.cart-steps__item.is-done { color: var(--c-primary); }
.cart-steps__item.is-done .cart-steps__num { background: var(--c-primary-soft); border-color: var(--c-primary); color: var(--c-primary); }
.cart-steps__item.is-done .cart-steps__num .icon { width: 14px; height: 14px; }
@media (max-width: 1024px) {
  .checkout-page { grid-template-columns: minmax(0, 1fr); }
  .checkout-page__aside { position: static; }
}
@media (max-width: 767px) {
  .checkout-card__body { padding: var(--sp-4); }
  .checkout-card__body .checkout-grid { grid-template-columns: 1fr; }
  body .checkout-card__body .form-row-half { grid-column: 1 / -1; }
  .checkout-items { max-height: none; }
}
.woocommerce-error,
.woocommerce-message,
.woocommerce-info,
.woocommerce-notice {
  list-style: none;
  margin: 0 0 var(--sp-4);
  padding: var(--sp-4) var(--sp-4) var(--sp-4) var(--sp-4);
  border: 1px solid var(--border);
  border-inline-start: 3px solid var(--text-faint);
  border-radius: 0;
  background: var(--bg-soft);
  color: var(--text);
  font-size: var(--fs-sm);
  line-height: 1.9;
}
.woocommerce-error::before,
.woocommerce-message::before,
.woocommerce-info::before { content: none; }
.woocommerce-error { border-inline-start-color: var(--c-error); background: #FDF3F3; }
.woocommerce-message { border-inline-start-color: var(--c-primary); background: var(--c-primary-soft); }
.woocommerce-info { border-inline-start-color: var(--c-primary); background: var(--bg-soft); }
.woocommerce-error li,
.woocommerce-message li,
.woocommerce-info li { margin: 0; padding: 0; list-style: none; }
.woocommerce-error li + li { margin-top: var(--sp-1); }
.woocommerce-error strong { font-weight: var(--fw-bold); }
.woocommerce-error .button,
.woocommerce-message .button,
.woocommerce-info .button {
  float: none;
  margin-inline-start: var(--sp-3);
  padding: var(--sp-2) var(--sp-4);
  border-radius: 0;
  background: var(--c-primary);
  color: #fff;
  font-size: var(--fs-xs);
}
.checkout-page .woocommerce-error,
.woocommerce-notices-wrapper .woocommerce-error { margin-bottom: var(--sp-4); }
.checkout-coupon { border-bottom: 1px solid var(--border); }
.checkout-coupon__toggle {
  display: flex;
  align-items: center;
  gap: var(--sp-2);
  padding: var(--sp-4);
  font-size: var(--fs-sm);
  font-weight: var(--fw-medium);
  color: var(--c-primary);
  text-decoration: none;
  cursor: pointer;
}
.checkout-coupon__toggle .icon { width: 17px; height: 17px; }
.checkout-coupon__toggle:hover { color: var(--c-primary-dark); }
.checkout-coupon__toggle[aria-expanded="true"] { padding-bottom: 0; }
.checkout-coupon__form {
  display: flex;
  align-items: flex-start;
  gap: var(--sp-2);
  padding: var(--sp-3) var(--sp-4) var(--sp-4);
  margin: 0;
}
.checkout-coupon__field { flex: 1 1 auto; min-width: 0; display: grid; gap: var(--sp-2); }
body .checkout-coupon__form input#coupon_code {
  width: 100%;
  min-width: 0;
  height: 44px;
  padding: 0 var(--sp-3);
  border: 1px solid var(--border);
  border-radius: 0;
  background: var(--paper);
  font: inherit;
  font-size: var(--fs-sm);
  color: var(--text);
}
body .checkout-coupon__form input#coupon_code:focus { outline: none; border-color: var(--c-primary); }
body .checkout-coupon__submit {
  flex: 0 0 auto;
  height: 44px;
  padding: 0 var(--sp-5);
  border: 0;
  border-radius: 0;
  background: var(--charcoal, #1F2421);
  color: #fff;
  font: inherit;
  font-size: var(--fs-sm);
  font-weight: var(--fw-medium);
  cursor: pointer;
  transition: background .18s ease;
}
body .checkout-coupon__submit:hover { background: var(--c-primary); }
body .checkout-coupon__form input#coupon_code.has-error { border-color: var(--c-error); }
.coupon-error-notice {
  display: block;
  font-size: var(--fs-xs);
  line-height: 1.8;
  color: var(--c-error);
}
.checkout-page #payment,
.checkout-page #payment div.payment_box,
.checkout-page #payment ul.payment_methods,
body .checkout-page .form-row textarea.input-text,
body .checkout-page .form-row input.input-text,
body .checkout-page .form-row select,
body .checkout-page input,
body .checkout-page select,
body .checkout-page button { border-radius: 0; }
.checkout-page #payment div.payment_box::before { display: none; }
.checkout-page #payment { background: transparent; }
.checkout-page #payment ul.payment_methods { border-bottom: 0; padding: 0; }
.checkout-bar { display: none; }
@media (max-width: 767px) {
  .checkout-bar {
    position: fixed;
    inset-inline: 0;
    bottom: 0;
    z-index: 45;
    display: flex;
    align-items: center;
    gap: var(--sp-3);
    padding: var(--sp-3) var(--content-pad);
    background: var(--paper);
    border-top: 1px solid var(--border);
    box-shadow: 0 -6px 24px rgba(0, 0, 0, 0.08);
  }
  .checkout-bar__total { flex: 1 1 auto; display: grid; gap: 1px; min-width: 0; }
  .checkout-bar__total em { font-style: normal; font-size: var(--fs-xs); color: var(--text-faint); }
  .checkout-bar__total strong { font-size: var(--fs-sm); font-weight: var(--fw-bold); color: var(--price); }
  .checkout-bar__total .woocommerce-Price-currencySymbol { font-size: 0.85em; font-weight: var(--fw-regular); color: var(--text-faint); }
  body .checkout-bar__btn {
    flex: 0 0 auto;
    gap: 6px;
    white-space: nowrap;
    padding: var(--sp-3) var(--sp-5);
    border: 0;
    background: var(--c-primary);
    color: #fff;
  }
  .checkout-bar__btn .icon { width: 16px; height: 16px; }
  .checkout-bar__btn:disabled { opacity: .5; }
  body.woocommerce-checkout .site-footer { padding-bottom: 72px; }
}
.checkout-notices[hidden] { display: none; }
.checkout-notices .woocommerce-error { margin-bottom: 0; }
.checkout-notices .woocommerce-error + .woocommerce-error { margin-top: var(--sp-2); }
.combo__native,
.combo__native + .select2-container { position: absolute !important; width: 1px !important; height: 1px !important; margin: -1px !important; padding: 0 !important; overflow: hidden !important; clip: rect(0 0 0 0) !important; border: 0 !important; }
.woocommerce-input-wrapper:has(> .combo__native) { display: contents; }
.combo { position: relative; }
body .combo__input {
  width: 100%;
  height: 48px;
  padding: 0 var(--sp-3);
  padding-inline-end: var(--sp-7);
  border: 1px solid var(--border);
  border-radius: 0;
  background: var(--paper);
  font: inherit;
  font-size: var(--fs-sm);
  color: var(--text);
  transition: border-color .18s ease;
}
body .combo__input:focus { outline: none; border-color: var(--c-primary); box-shadow: inset 0 0 0 1px var(--c-primary); }
.combo__caret {
  position: absolute;
  inset-block: 0;
  inset-inline-end: var(--sp-3);
  display: grid;
  place-items: center;
  width: 18px;
  color: var(--text-faint);
  cursor: pointer;
  pointer-events: auto;
}
.combo__caret svg { width: 16px; height: 16px; }
.combo__list {
  position: absolute;
  z-index: 30;
  inset-inline: 0;
  top: calc(100% - 1px);
  max-height: 260px;
  overflow-y: auto;
  margin: 0;
  padding: 0;
  list-style: none;
  background: var(--paper);
  border: 1px solid var(--c-primary);
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.1);
}
.combo__list[hidden] { display: none; }
.combo__opt {
  padding: var(--sp-3) var(--sp-4);
  font-size: var(--fs-sm);
  line-height: 1.6;
  cursor: pointer;
}
.combo__opt:hover,
.combo__opt.is-active { background: var(--c-primary-soft); color: var(--c-primary); }
.combo__empty { padding: var(--sp-3) var(--sp-4); font-size: var(--fs-xs); color: var(--text-faint); }
body .form-row.woocommerce-invalid .combo__input { border-color: var(--c-error); }
body .form-row.woocommerce-validated .combo__input { border-color: var(--c-primary); }
.thankyou {
  max-width: var(--content-max);
  margin-inline: auto;
  padding: var(--sp-6) var(--content-pad) var(--sp-8);
}
.thankyou--bare { text-align: center; padding-block: var(--sp-9); }
.thankyou__hero {
  display: grid;
  justify-items: center;
  gap: var(--sp-3);
  text-align: center;
  padding: var(--sp-7) var(--sp-5);
  border: 1px solid var(--border);
  background: var(--paper);
}
.is-success .thankyou__hero { background: var(--c-primary-soft); border-color: var(--c-primary); }
.is-failed  .thankyou__hero { background: #FDF3F3; border-color: var(--c-error); }
.thankyou__icon { display: block; width: 62px; height: 62px; }
.thankyou__icon svg { width: 100%; height: 100%; }
.thankyou__icon--ok { color: var(--c-primary); }
.thankyou__icon--fail { color: var(--c-error); }
.thankyou__ring { stroke-dasharray: 152; stroke-dashoffset: 152; animation: ty-draw .6s ease forwards; }
.thankyou__mark { stroke-dasharray: 48; stroke-dashoffset: 48; animation: ty-draw .4s ease .45s forwards; }
@keyframes ty-draw { to { stroke-dashoffset: 0; } }
@media (prefers-reduced-motion: reduce) {
  .thankyou__ring, .thankyou__mark { animation: none; stroke-dashoffset: 0; }
}
.thankyou__title { margin: 0; font-size: var(--fs-lg); font-weight: var(--fw-bold); }
.thankyou__lead { margin: 0; max-width: 56ch; font-size: var(--fs-sm); color: var(--text-muted); line-height: 2; }
.thankyou__order-no { margin: 0; font-size: var(--fs-sm); color: var(--text-muted); }
.thankyou__order-no strong { margin-inline-start: var(--sp-2); color: var(--text); }
.thankyou__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 380px;
  gap: var(--sp-4);
  align-items: start;
  margin-top: var(--sp-4);
}
.thankyou__main { display: grid; gap: var(--sp-4); min-width: 0; }
.thankyou__aside { position: sticky; top: calc(var(--header-h) + var(--sp-4)); display: grid; gap: var(--sp-4); }
.thankyou__items { max-height: none; }
.thankyou__meta { display: grid; margin: 0; padding: 0; list-style: none; }
.thankyou__meta-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--sp-3);
  padding: var(--sp-3) var(--sp-4);
  border-bottom: 1px solid var(--border);
  font-size: var(--fs-sm);
}
.thankyou__meta-label { color: var(--text-faint); }
.thankyou__meta-value { font-weight: var(--fw-medium); text-align: end; }
.thankyou__meta-item--total .thankyou__meta-value { font-size: var(--fs-md); font-weight: var(--fw-bold); color: var(--price); }
.order-badge {
  display: inline-block;
  padding: 2px var(--sp-3);
  background: var(--bg-soft);
  color: var(--text-muted);
  font-size: var(--fs-xs);
  font-weight: var(--fw-medium);
  line-height: 1.9;
}
.order-badge--processing, .order-badge--completed { background: var(--c-primary-soft); color: var(--c-primary); }
.order-badge--failed, .order-badge--cancelled { background: #FDF3F3; color: var(--c-error); }
.order-badge--pending, .order-badge--on-hold { background: #FFF6E5; color: #9A6300; }
.thankyou__addr { margin: 0; font-style: normal; font-size: var(--fs-sm); line-height: 2; color: var(--text); }
.thankyou__addr-phone {
  display: flex;
  align-items: center;
  gap: var(--sp-2);
  margin: var(--sp-3) 0 0;
  padding-top: var(--sp-3);
  border-top: 1px solid var(--border);
  font-size: var(--fs-sm);
  color: var(--text-muted);
}
.thankyou__addr-phone .icon { width: 16px; height: 16px; color: var(--c-primary); }
.thankyou__actions { display: grid; gap: var(--sp-2); padding: var(--sp-4); }
.thankyou__hero .thankyou__actions { grid-auto-flow: column; justify-content: center; padding: var(--sp-2) 0 0; }
.thankyou__actions .btn { justify-content: center; }
.thankyou__actions .btn .icon { width: 17px; height: 17px; }
@media (max-width: 1023px) {
  .thankyou__grid { grid-template-columns: minmax(0, 1fr); }
  .thankyou__aside { position: static; }
}
@media (max-width: 767px) {
  .thankyou { padding-top: var(--sp-4); }
  .thankyou__hero { padding: var(--sp-5) var(--sp-4); }
  .thankyou__icon { width: 52px; height: 52px; }
  .thankyou__title { font-size: var(--fs-md); }
  .thankyou__hero .thankyou__actions { grid-auto-flow: row; width: 100%; }
}
.account {
  display: grid;
  grid-template-columns: 260px minmax(0, 1fr);
  gap: var(--sp-4);
  align-items: start;
  max-width: var(--content-max);
  margin-inline: auto;
  padding: var(--sp-5) var(--content-pad) var(--sp-8);
}
.account__sidebar { border: 1px solid var(--border); background: var(--paper); position: sticky; top: calc(var(--header-h) + var(--sp-4)); }
.account-user {
  display: flex;
  align-items: center;
  gap: var(--sp-3);
  padding: var(--sp-4);
  border-bottom: 1px solid var(--border);
  background: var(--c-primary-soft);
}
.account-user__avatar {
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  width: 44px; height: 44px;
  background: var(--c-primary);
  color: #fff;
  font-size: var(--fs-md);
  font-weight: var(--fw-bold);
}
.account-user__meta { display: grid; gap: 2px; min-width: 0; }
.account-user__name {
  font-size: var(--fs-sm);
  font-weight: var(--fw-bold);
  color: var(--text);
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.account-user__sub {
  font-size: var(--fs-xs);
  color: var(--c-primary);
  text-align: start;
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.account-nav { margin: 0; padding: 0; list-style: none; }
.account-nav__item + .account-nav__item { border-top: 1px solid var(--border); }
.account-nav__item a {
  display: flex;
  align-items: center;
  gap: var(--sp-3);
  padding: var(--sp-3) var(--sp-4);
  font-size: var(--fs-sm);
  color: var(--text-muted);
  text-decoration: none;
  border-inline-start: 2px solid transparent;
  transition: background .16s ease, color .16s ease, border-color .16s ease;
}
.account-nav__item a:hover { background: var(--bg-soft); color: var(--text); }
.account-nav__item.is-active a {
  background: var(--paper);
  color: var(--c-primary);
  font-weight: var(--fw-bold);
  border-inline-start-color: var(--c-primary);
}
.account-nav__icon { display: grid; place-items: center; flex: 0 0 auto; }
.account-nav__icon .icon { width: 18px; height: 18px; }
.account-nav__item--logout { border-top: 1px solid var(--border); }
.account-nav__item--logout a { color: var(--c-error); }
.account-nav__item--logout a:hover { background: #FDF3F3; color: var(--c-error); }
.account__content { min-width: 0; display: grid; gap: var(--sp-4); }
.account-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--sp-3); }
.account-stat {
  display: flex;
  align-items: center;
  gap: var(--sp-3);
  padding: var(--sp-4);
  border: 1px solid var(--border);
  background: var(--paper);
}
.account-stat__icon {
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  width: 40px; height: 40px;
  background: var(--c-primary-soft);
  color: var(--c-primary);
}
.account-stat__icon .icon { width: 20px; height: 20px; }
.account-stat__body { display: grid; gap: 2px; min-width: 0; }
.account-stat__label { font-size: var(--fs-xs); color: var(--text-faint); }
.account-stat__value { font-size: var(--fs-md); font-weight: var(--fw-bold); color: var(--text); white-space: nowrap; }
.account-stat__value--price { color: var(--price); }
.account-stat__value .woocommerce-Price-currencySymbol { font-size: .8em; font-weight: var(--fw-regular); color: var(--text-faint); }
.account-dash { display: grid; gap: var(--sp-4); }
.account-dash__grid { display: grid; grid-template-columns: 320px minmax(0, 1fr); gap: var(--sp-4); align-items: start; }
.account-panel { border: 1px solid var(--border); background: var(--paper); }
.account-panel__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--sp-3);
  padding: var(--sp-4);
  border-bottom: 1px solid var(--border);
}
.account-panel__title { margin: 0; font-size: var(--fs-sm); font-weight: var(--fw-bold); }
.account-panel__all {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: var(--fs-xs);
  color: var(--c-primary);
  text-decoration: none;
  white-space: nowrap;
}
.account-panel__all .icon { width: 14px; height: 14px; }
.account-panel__all:hover { color: var(--c-primary-dark); }
.account-chart {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: 1fr;
  gap: var(--sp-2);
  padding: var(--sp-4);
  height: 190px;
}
.account-chart__col { display: grid; grid-template-rows: 1fr auto; gap: var(--sp-2); min-width: 0; }
.account-chart__track { display: flex; align-items: flex-end; justify-content: center; }
.account-chart__bar {
  width: 100%;
  max-width: 30px;
  height: var(--h);
  background: var(--c-primary);
  animation: acct-grow .7s cubic-bezier(.22,.61,.36,1) both;
  transform-origin: bottom;
}
.account-chart__bar.is-empty { background: var(--border); }
@keyframes acct-grow { from { transform: scaleY(0); } to { transform: scaleY(1); } }
@media (prefers-reduced-motion: reduce) { .account-chart__bar { animation: none; } }
.account-chart__label { font-size: var(--fs-xs); color: var(--text-faint); text-align: center; }
.account-orders { margin: 0; padding: 0; list-style: none; }
.account-order {
  display: grid;
  grid-template-columns: auto auto auto 1fr auto;
  align-items: center;
  gap: var(--sp-3);
  padding: var(--sp-3) var(--sp-4);
  font-size: var(--fs-sm);
}
.account-order + .account-order { border-top: 1px solid var(--border); }
.account-order__num { color: var(--text-faint); white-space: nowrap; }
.account-order__num strong { color: var(--text); font-weight: var(--fw-bold); margin-inline-start: 4px; }
.account-order__date { color: var(--text-faint); font-size: var(--fs-xs); white-space: nowrap; }
.account-order__total { text-align: end; font-weight: var(--fw-bold); color: var(--price); white-space: nowrap; }
.account-order__count { display: block; font-style: normal; font-size: var(--fs-xs); font-weight: var(--fw-regular); color: var(--text-faint); }
.account-order__actions { display: flex; align-items: center; gap: var(--sp-2); justify-content: flex-end; }
.account-order__view,
.account-order__act {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 6px var(--sp-3);
  border: 1px solid var(--border);
  font-size: var(--fs-xs);
  color: var(--text-muted);
  text-decoration: none;
  white-space: nowrap;
  transition: border-color .16s ease, color .16s ease, background .16s ease;
}
.account-order__view { border-color: var(--c-primary); color: var(--c-primary); }
.account-order__view:hover { background: var(--c-primary); color: #fff; }
.account-order__act:hover { border-color: var(--text); color: var(--text); }
.account-order__view .icon { width: 14px; height: 14px; }
.account-orders--full { border: 1px solid var(--border); background: var(--paper); }
.account-pager {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--sp-3);
  padding: var(--sp-4) 0 0;
}
.account-pager__btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: var(--sp-2) var(--sp-4);
  border: 1px solid var(--border);
  font-size: var(--fs-sm);
  color: var(--text);
  text-decoration: none;
}
.account-pager__btn:hover { border-color: var(--c-primary); color: var(--c-primary); }
.account-pager__btn .icon { width: 15px; height: 15px; }
.account-pager__pos { font-size: var(--fs-xs); color: var(--text-faint); }
.account-empty {
  padding: var(--sp-6) var(--sp-4);
  text-align: center;
  font-size: var(--fs-sm);
  color: var(--text-faint);
}
.account-empty--cta { display: grid; justify-items: center; gap: var(--sp-3); }
.account-empty--cta p { margin: 0; }
.account-empty__icon { display: grid; place-items: center; width: 52px; height: 52px; background: var(--bg-soft); color: var(--text-faint); }
.account-empty__icon .icon { width: 24px; height: 24px; }
@media (max-width: 1023px) {
  .account { grid-template-columns: minmax(0, 1fr); }
  .account__sidebar { position: static; }
  .account-nav { display: flex; overflow-x: auto; scrollbar-width: none; }
  .account-nav::-webkit-scrollbar { display: none; }
  .account-nav__item + .account-nav__item { border-top: 0; border-inline-start: 1px solid var(--border); }
  .account-nav__item a { border-inline-start: 0; border-bottom: 2px solid transparent; white-space: nowrap; }
  .account-nav__item.is-active a { border-inline-start: 0; border-bottom-color: var(--c-primary); }
  .account-dash__grid { grid-template-columns: minmax(0, 1fr); }
  .account-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
  .account { padding-inline: var(--content-pad); }
  .account-stat { flex-direction: column; align-items: flex-start; gap: var(--sp-2); padding: var(--sp-3); }
  .account-stat__icon { width: 34px; height: 34px; }
  .account-stat__value { font-size: var(--fs-sm); }
  .account-order {
    grid-template-columns: 1fr auto;
    gap: var(--sp-2) var(--sp-3);
    padding: var(--sp-4);
  }
  .account-order__num { grid-column: 1; }
  .account-order__badge { grid-column: 2; grid-row: 1; justify-self: end; }
  .account-order__date { grid-column: 1 / -1; }
  .account-order__total { grid-column: 1 / -1; text-align: start; }
  .account-order__count { display: inline; margin-inline-start: var(--sp-2); }
  .account-order__actions { grid-column: 1 / -1; justify-content: flex-start; flex-wrap: wrap; }
}
.woocommerce-account .account__sidebar,
.woocommerce-account .account__content,
.woocommerce-account .woocommerce-MyAccount-navigation,
.woocommerce-account .woocommerce-MyAccount-content { width: auto; float: none; margin: 0; }
.account__content form.woocommerce-EditAccountForm,
.account__content form.woocommerce-address-fields,
.account__content form.edit-account {
  border: 1px solid var(--border);
  background: var(--paper);
  padding: var(--sp-5);
}
.account__content .woocommerce-address-fields__field-wrapper,
.account__content form.woocommerce-EditAccountForm > .form-row,
.account__content fieldset .form-row {
  margin: 0;
}
.account__content form.woocommerce-EditAccountForm,
.account__content .woocommerce-address-fields__field-wrapper {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--sp-4);
  align-content: start;
}
.account__content form.woocommerce-EditAccountForm > fieldset,
.account__content form.woocommerce-EditAccountForm > p:last-of-type,
.account__content form.woocommerce-EditAccountForm > .clear,
.account__content .form-row-wide { grid-column: 1 / -1; }
body .account__content .form-row {
  display: grid;
  gap: var(--sp-2);
  margin: 0;
  padding: 0;
  float: none;
  width: auto;
  align-content: start;
}
body .account__content .form-row-first,
body .account__content .form-row-last { grid-column: span 1; }
.account__content label {
  font-size: var(--fs-sm);
  font-weight: var(--fw-medium);
  color: var(--text);
  line-height: 1.6;
}
.account__content .required { color: var(--c-error); text-decoration: none; }
body .account__content .form-row input.input-text,
body .account__content .form-row select,
body .account__content input[type="text"],
body .account__content input[type="email"],
body .account__content input[type="tel"],
body .account__content input[type="password"],
body .account__content select {
  width: 100%;
  min-width: 0;
  height: 48px;
  padding: 0 var(--sp-3);
  border: 1px solid var(--border);
  border-radius: 0;
  background: var(--paper);
  font: inherit;
  font-size: var(--fs-sm);
  color: var(--text);
  box-shadow: none;
}
body .account__content input:focus,
body .account__content select:focus { outline: none; border-color: var(--c-primary); box-shadow: inset 0 0 0 1px var(--c-primary); }
.account__content fieldset {
  margin: 0;
  padding: var(--sp-4) 0 0;
  border: 0;
  border-top: 1px solid var(--border);
  display: grid;
  gap: var(--sp-4);
}
.account__content legend {
  padding: 0 0 var(--sp-1);
  font-size: var(--fs-sm);
  font-weight: var(--fw-bold);
  color: var(--text);
}
.account__content .woocommerce-form__label-for-checkbox { display: flex; align-items: center; gap: var(--sp-2); }
body .account__content button.button,
body .account__content button.woocommerce-Button,
body .account__content a.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--sp-2);
  height: 48px;
  padding: 0 var(--sp-6);
  border: 0;
  border-radius: 0;
  background: var(--c-primary);
  color: #fff;
  font: inherit;
  font-size: var(--fs-sm);
  font-weight: var(--fw-medium);
  cursor: pointer;
  transition: background .18s ease;
}
body .account__content button.button:hover,
body .account__content a.button:hover { background: var(--c-primary-dark); color: #fff; }
.account__content .woocommerce-Addresses {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: var(--sp-4);
  margin: 0;
}
.account__content .woocommerce-Address {
  border: 1px solid var(--border);
  background: var(--paper);
  padding: var(--sp-5);
  width: auto;
  float: none;
}
.account__content .woocommerce-Address-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--sp-3);
  padding-bottom: var(--sp-3);
  margin-bottom: var(--sp-3);
  border-bottom: 1px solid var(--border);
}
.account__content .woocommerce-Address-title h2,
.account__content .woocommerce-Address-title h3 { margin: 0; font-size: var(--fs-sm); font-weight: var(--fw-bold); }
.account__content .woocommerce-Address-title .edit {
  font-size: var(--fs-xs);
  color: var(--c-primary);
  text-decoration: none;
}
.account__content .woocommerce-Address address {
  font-style: normal;
  font-size: var(--fs-sm);
  line-height: 2;
  color: var(--text-muted);
}
.account__content > p:first-child,
.account__content .woocommerce-Message + p { font-size: var(--fs-sm); color: var(--text-muted); line-height: 2; }
@media (max-width: 767px) {
  .account__content form.woocommerce-EditAccountForm,
  .account__content .woocommerce-address-fields__field-wrapper { grid-template-columns: 1fr; }
  body .account__content .form-row-first,
  body .account__content .form-row-last { grid-column: 1 / -1; }
  .account__content form.woocommerce-EditAccountForm,
  .account__content form.woocommerce-address-fields { padding: var(--sp-4); }
}
.orderview { display: grid; gap: var(--sp-4); }
.orderview__head {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--sp-3);
  padding: var(--sp-4);
  border: 1px solid var(--border);
  background: var(--paper);
}
.orderview__back {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: var(--fs-xs);
  color: var(--text-faint);
  text-decoration: none;
}
.orderview__back .icon { width: 15px; height: 15px; }
.orderview__back:hover { color: var(--c-primary); }
.orderview__title { margin: 0; font-size: var(--fs-md); font-weight: var(--fw-regular); color: var(--text-faint); }
.orderview__title strong { color: var(--text); font-weight: var(--fw-bold); margin-inline-start: 4px; }
.orderview__date { font-size: var(--fs-xs); color: var(--text-faint); }
.orderview__actions { margin-inline-start: auto; display: flex; gap: var(--sp-2); }
.orderview__pay {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: var(--sp-3);
  padding: var(--sp-4);
  border: 1px solid var(--c-primary);
  background: var(--c-primary-soft);
  font-size: var(--fs-sm);
}
.orderview__pay .btn .icon { width: 16px; height: 16px; }
.orderview__grid { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: var(--sp-4); align-items: start; }
.orderview__main { display: grid; gap: var(--sp-4); min-width: 0; }
.orderview__aside { display: grid; gap: var(--sp-4); }
.orderview__note { border-top: 1px solid var(--border); }
.orderview__note-label { display: block; font-size: var(--fs-xs); color: var(--text-faint); margin-bottom: var(--sp-2); }
.orderview__note p { margin: 0; font-size: var(--fs-sm); line-height: 2; }
.orderview .checkout-item__name a { color: inherit; text-decoration: none; }
.orderview .checkout-item__name a:hover { color: var(--c-primary); }
@media (max-width: 1023px) {
  .orderview__grid { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 767px) {
  .orderview__head { gap: var(--sp-2); }
  .orderview__back { flex: 1 0 100%; }
  .orderview__actions { margin-inline-start: 0; flex: 1 0 100%; }
}
.page-contact { padding-bottom: var(--sp-9); }
.contact-branches { padding-block: var(--sp-2) var(--sp-6); }
.contact-branches__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: var(--sp-4);
}
.contact-branch {
  display: grid;
  gap: var(--sp-3);
  align-content: start;
  padding: var(--sp-6);
  border: 1px solid var(--border);
  background: var(--paper);
  transition: border-color .2s ease;
}
.contact-branch:hover { border-color: var(--c-primary); }
.contact-branch__icon {
  display: grid;
  place-items: center;
  width: 44px; height: 44px;
  background: var(--c-primary-soft);
  color: var(--c-primary);
}
.contact-branch__icon .icon { width: 21px; height: 21px; }
.contact-branch__name { margin: 0; font-size: var(--fs-md); font-weight: var(--fw-bold); }
.contact-branch__addr { margin: 0; font-size: var(--fs-sm); color: var(--text-muted); line-height: 2; }
.contact-branch__foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: var(--sp-3);
  margin-top: var(--sp-1);
  padding-top: var(--sp-4);
  border-top: 1px solid var(--border);
}
.contact-branch__tel {
  display: inline-flex;
  align-items: center;
  gap: var(--sp-2);
  font-size: var(--fs-sm);
  font-weight: var(--fw-bold);
  color: var(--text);
  text-decoration: none;
}
.contact-branch__tel .icon { width: 17px; height: 17px; color: var(--c-primary); }
.contact-branch__tel:hover { color: var(--c-primary); }
.contact-branch__map {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: var(--fs-xs);
  color: var(--c-primary);
  text-decoration: none;
}
.contact-branch__map .icon { width: 15px; height: 15px; transition: transform var(--dur) var(--ease); }
.contact-branch__map:hover .icon { transform: translateX(-4px); }
.contact-channels { padding-bottom: var(--sp-7); }
.contact-channels__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 0;
  border: 1px solid var(--border);
  background: var(--paper);
}
.contact-channel {
  display: flex;
  align-items: center;
  gap: var(--sp-3);
  padding: var(--sp-5);
  color: inherit;
  text-decoration: none;
  transition: background .18s ease;
}
.contact-channel + .contact-channel { border-inline-start: 1px solid var(--border); }
.contact-channel:not(.contact-channel--static):hover { background: var(--bg-soft); }
.contact-channel__icon {
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  width: 40px; height: 40px;
  background: var(--bg-soft);
  color: var(--c-primary);
}
.contact-channel__icon .icon { width: 20px; height: 20px; }
.contact-channel__body { display: grid; gap: 2px; min-width: 0; }
.contact-channel__label { font-size: var(--fs-xs); color: var(--text-faint); }
.contact-channel__value {
  font-size: var(--fs-sm);
  font-weight: var(--fw-medium);
  color: var(--text);
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.contact-channel[href]:hover .contact-channel__value { color: var(--c-primary); }
.contact-form-wrap__inner {
  display: grid;
  grid-template-columns: 360px minmax(0, 1fr);
  gap: var(--sp-6);
  align-items: start;
}
.contact-form-wrap__lead { margin: 0 0 var(--sp-5); font-size: var(--fs-sm); color: var(--text-muted); line-height: 2; }
.contact-notes { display: grid; gap: var(--sp-3); margin: 0; padding: 0; list-style: none; }
.contact-notes li {
  display: flex;
  align-items: flex-start;
  gap: var(--sp-3);
  font-size: var(--fs-sm);
  color: var(--text-muted);
  line-height: 1.9;
}
.contact-notes .icon { flex: 0 0 auto; width: 18px; height: 18px; margin-top: 3px; color: var(--c-primary); }
.contact-form { border: 1px solid var(--border); background: var(--paper); padding: var(--sp-6); }
.contact-form__grid { display: grid; grid-template-columns: 1fr 1fr; gap: var(--sp-4); }
.contact-form .form-row { display: grid; gap: var(--sp-2); margin: 0; }
.contact-form .form-row--wide { grid-column: 1 / -1; }
.contact-form label { font-size: var(--fs-sm); font-weight: var(--fw-medium); color: var(--text); }
.contact-form input,
.contact-form textarea {
  width: 100%;
  min-width: 0;
  height: 48px;
  padding: 0 var(--sp-3);
  border: 1px solid var(--border);
  border-radius: 0;
  background: var(--paper);
  font: inherit;
  font-size: var(--fs-sm);
  color: var(--text);
}
.contact-form textarea { height: auto; padding: var(--sp-3); resize: vertical; min-height: 120px; line-height: 1.9; }
.contact-form input:focus,
.contact-form textarea:focus { outline: none; border-color: var(--c-primary); box-shadow: inset 0 0 0 1px var(--c-primary); }
.contact-form__submit { margin-top: var(--sp-5); }
.contact-form__submit .icon { width: 17px; height: 17px; }
@media (max-width: 1023px) {
  .contact-form-wrap__inner { grid-template-columns: minmax(0, 1fr); gap: var(--sp-5); }
  .contact-channel + .contact-channel { border-inline-start: 0; border-top: 1px solid var(--border); }
}
@media (max-width: 767px) {
  .contact-branch { padding: var(--sp-4); }
  .contact-form { padding: var(--sp-4); }
  .contact-form__grid { grid-template-columns: 1fr; }
  .contact-form__submit { width: 100%; justify-content: center; }
}
.contact-form__trap { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.contact-form .form-row__err { font-size: var(--fs-xs); color: var(--c-error); line-height: 1.8; }
.contact-form .form-row__err:empty { display: none; }
.contact-form .form-row.is-invalid input,
.contact-form .form-row.is-invalid textarea { border-color: var(--c-error); }
.contact-form__foot {
  display: flex;
  align-items: center;
  gap: var(--sp-4);
  flex-wrap: wrap;
  margin-top: var(--sp-5);
}
.contact-form__submit { margin-top: 0; }
.contact-form__submit:disabled { opacity: .6; cursor: progress; }
.contact-form__status { margin: 0; font-size: var(--fs-sm); line-height: 1.8; }
.contact-form__status.is-ok { color: var(--c-primary); }
.contact-form__status.is-bad { color: var(--c-error); }
.contact-form__custom p { font-size: var(--fs-sm); line-height: 2; color: var(--text-muted); }
.blog-wrap {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 320px;
  gap: var(--sp-6);
  align-items: start;
  padding-bottom: var(--sp-8);
}
.blog-main { min-width: 0; display: grid; gap: var(--sp-6); align-content: start; }
.blog-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: var(--sp-4);
}
.blog-lead {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
  border: 1px solid var(--border);
  background: var(--paper);
  overflow: hidden;
}
.blog-lead__media { display: block; position: relative; aspect-ratio: 4 / 3; background: var(--bg-soft); }
.blog-lead__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.blog-lead__ph { position: absolute; inset: 0; display: grid; place-items: center; color: var(--text-faint); }
.blog-lead__ph .icon { width: 44px; height: 44px; }
.blog-lead__body {
  display: grid;
  align-content: center;
  justify-items: start;
  gap: var(--sp-3);
  padding: var(--sp-6);
}
.blog-lead__badge {
  padding: 3px var(--sp-3);
  background: var(--c-primary-soft);
  color: var(--c-primary);
  font-size: var(--fs-xs);
  font-weight: var(--fw-medium);
}
.blog-lead__title { margin: 0; font-size: var(--fs-lg); font-weight: var(--fw-bold); line-height: 1.7; }
.blog-lead__title a { color: inherit; text-decoration: none; }
.blog-lead__title a:hover { color: var(--c-primary); }
.blog-lead__excerpt { margin: 0; font-size: var(--fs-sm); color: var(--text-muted); line-height: 2.1; }
.blog-lead__meta { display: flex; flex-wrap: wrap; gap: var(--sp-4); font-size: var(--fs-xs); color: var(--text-faint); }
.blog-lead__meta span { display: inline-flex; align-items: center; gap: 5px; }
.blog-lead__meta .icon { width: 14px; height: 14px; }
.blog-pager { display: flex; flex-wrap: wrap; justify-content: center; gap: var(--sp-2); }
.blog-pager .page-numbers {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  min-width: 42px;
  height: 42px;
  padding: 0 var(--sp-3);
  justify-content: center;
  border: 1px solid var(--border);
  background: var(--paper);
  font-size: var(--fs-sm);
  color: var(--text-muted);
  text-decoration: none;
  transition: border-color .16s ease, color .16s ease, background .16s ease;
}
.blog-pager .page-numbers:hover { border-color: var(--c-primary); color: var(--c-primary); }
.blog-pager .page-numbers.current { background: var(--c-primary); border-color: var(--c-primary); color: #fff; font-weight: var(--fw-bold); }
.blog-pager .page-numbers.dots { border-color: transparent; background: transparent; }
.blog-pager .icon { width: 15px; height: 15px; }
.blog-empty {
  display: grid;
  justify-items: center;
  gap: var(--sp-3);
  padding: var(--sp-8) var(--sp-4);
  border: 1px solid var(--border);
  background: var(--paper);
  text-align: center;
}
.blog-empty__icon { display: grid; place-items: center; width: 56px; height: 56px; background: var(--bg-soft); color: var(--text-faint); }
.blog-empty__icon .icon { width: 26px; height: 26px; }
.blog-empty p { margin: 0; font-size: var(--fs-sm); color: var(--text-muted); }
.blog-side { position: sticky; top: calc(var(--header-h) + var(--sp-4)); display: grid; gap: var(--sp-4); }
.blog-side__box { border: 1px solid var(--border); background: var(--paper); }
.blog-side__title {
  display: flex;
  align-items: center;
  gap: var(--sp-2);
  margin: 0;
  padding: var(--sp-4);
  border-bottom: 1px solid var(--border);
  font-size: var(--fs-sm);
  font-weight: var(--fw-bold);
}
.blog-side__title .icon { width: 17px; height: 17px; color: var(--c-primary); }
.blog-search { display: flex; padding: var(--sp-4); gap: var(--sp-2); }
.blog-search input {
  flex: 1 1 auto;
  min-width: 0;
  height: 44px;
  padding: 0 var(--sp-3);
  border: 1px solid var(--border);
  border-radius: 0;
  background: var(--paper);
  font: inherit;
  font-size: var(--fs-sm);
  color: var(--text);
}
.blog-search input:focus { outline: none; border-color: var(--c-primary); }
.blog-search button {
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  width: 44px; height: 44px;
  border: 0;
  border-radius: 0;
  background: var(--c-primary);
  color: #fff;
  cursor: pointer;
  transition: background .18s ease;
}
.blog-search button:hover { background: var(--c-primary-dark); }
.blog-search .icon { width: 18px; height: 18px; }
.blog-side__cats { margin: 0; padding: 0; list-style: none; }
.blog-side__cats li + li { border-top: 1px solid var(--border); }
.blog-side__cats a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--sp-3);
  padding: var(--sp-3) var(--sp-4);
  font-size: var(--fs-sm);
  color: var(--text-muted);
  text-decoration: none;
  border-inline-start: 2px solid transparent;
  transition: background .16s ease, color .16s ease, border-color .16s ease;
}
.blog-side__cats a:hover { background: var(--bg-soft); color: var(--text); }
.blog-side__cats li.is-active a { color: var(--c-primary); font-weight: var(--fw-bold); border-inline-start-color: var(--c-primary); }
.blog-side__cats em {
  font-style: normal;
  padding: 1px var(--sp-2);
  background: var(--bg-soft);
  font-size: var(--fs-xs);
  color: var(--text-faint);
}
.blog-side__list { margin: 0; padding: 0; list-style: none; }
.blog-side__list li + li { border-top: 1px solid var(--border); }
.blog-side__list a {
  display: flex;
  align-items: center;
  gap: var(--sp-3);
  padding: var(--sp-3) var(--sp-4);
  color: inherit;
  text-decoration: none;
  transition: background .16s ease;
}
.blog-side__list a:hover { background: var(--bg-soft); }
.blog-side__thumb { flex: 0 0 auto; width: 56px; height: 56px; background: var(--bg-soft); overflow: hidden; }
.blog-side__thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.blog-side__thumb-ph { display: grid; place-items: center; width: 100%; height: 100%; color: var(--text-faint); }
.blog-side__thumb-ph .icon { width: 22px; height: 22px; }
.blog-side__meta { display: grid; gap: 3px; min-width: 0; }
.blog-side__name {
  font-size: var(--fs-sm);
  font-weight: var(--fw-medium);
  line-height: 1.7;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.blog-side__list a:hover .blog-side__name { color: var(--c-primary); }
.blog-side__date { font-size: var(--fs-xs); color: var(--text-faint); }
.blog-side__cta {
  display: grid;
  justify-items: start;
  gap: var(--sp-3);
  padding: var(--sp-6) var(--sp-5);
  background: var(--c-primary-ink);
  color: var(--ivory);
}
.blog-side__cta-mark { color: var(--c-gold); }
.blog-side__cta-mark .icon { width: 15px; height: 15px; }
.blog-side__cta-title { margin: 0; font-size: var(--fs-md); font-weight: var(--fw-bold); color: var(--ivory); line-height: 1.7; }
.blog-side__cta-text { margin: 0; font-size: var(--fs-xs); color: rgba(255, 255, 255, .78); line-height: 2; }
.blog-side__cta .icon { width: 16px; height: 16px; }
.post-head { padding: var(--sp-6) 0 var(--sp-4); }
.post-head__inner { display: grid; gap: var(--sp-3); max-width: 900px; }
.post-crumbs { display: flex; align-items: center; flex-wrap: wrap; gap: var(--sp-2); font-size: var(--fs-xs); color: var(--text-faint); }
.post-crumbs a { color: inherit; text-decoration: none; }
.post-crumbs a:hover { color: var(--c-primary); }
.post-crumbs .icon { width: 13px; height: 13px; transform: rotate(90deg); opacity: .5; }
.post-head__title { margin: 0; font-size: var(--fs-2xl); font-weight: var(--fw-bold); line-height: 1.6; }
.post-meta { display: flex; flex-wrap: wrap; gap: var(--sp-4); margin: 0; padding: 0; list-style: none; }
.post-meta li { display: inline-flex; align-items: center; gap: 5px; font-size: var(--fs-xs); color: var(--text-faint); }
.post-meta a { display: inline-flex; align-items: center; gap: 5px; color: inherit; text-decoration: none; }
.post-meta a:hover { color: var(--c-primary); }
.post-meta .icon { width: 14px; height: 14px; }
.post-cover { margin-bottom: var(--sp-5); }
.post-cover__img { width: 100%; height: auto; max-height: 460px; object-fit: cover; display: block; background: var(--bg-soft); }
.post-body { font-size: var(--fs-base); line-height: 2.15; color: var(--text); }
.post-body > * { margin: 0; }
.post-body > * + * { margin-top: var(--sp-4); }
.post-body h2 { font-size: var(--fs-lg); font-weight: var(--fw-bold); margin-top: var(--sp-6); line-height: 1.7; }
.post-body h3 { font-size: var(--fs-md); font-weight: var(--fw-bold); margin-top: var(--sp-5); line-height: 1.7; }
.post-body h4 { font-size: var(--fs-sm); font-weight: var(--fw-bold); margin-top: var(--sp-4); }
.post-body p { line-height: 2.15; }
.post-body a { color: var(--c-primary); text-decoration: underline; text-underline-offset: 3px; }
.post-body img { max-width: 100%; height: auto; display: block; border-radius: 0; }
.post-body figure { margin: var(--sp-5) 0; }
.post-body figcaption { margin-top: var(--sp-2); font-size: var(--fs-xs); color: var(--text-faint); text-align: center; }
.post-body ul, .post-body ol { margin: 0; padding-inline-start: var(--sp-5); display: grid; gap: var(--sp-2); }
.post-body li { line-height: 2.15; }
.post-body blockquote {
  margin: var(--sp-5) 0;
  padding: var(--sp-4) var(--sp-5);
  border-inline-start: 3px solid var(--c-primary);
  background: var(--bg-soft);
  font-size: var(--fs-md);
  line-height: 2;
}
.post-body blockquote p { margin: 0; }
.post-body hr { border: 0; border-top: 1px solid var(--border); margin: var(--sp-6) 0; }
.post-body table { width: 100%; border-collapse: collapse; font-size: var(--fs-sm); }
.post-body th, .post-body td { padding: var(--sp-3); border: 1px solid var(--border); text-align: start; }
.post-body th { background: var(--bg-soft); font-weight: var(--fw-bold); }
.post-body code { padding: 2px 6px; background: var(--bg-soft); font-size: .92em; }
.post-tags { display: flex; align-items: center; flex-wrap: wrap; gap: var(--sp-2); }
.post-tags__label { display: inline-flex; align-items: center; gap: var(--sp-2); font-size: var(--fs-xs); color: var(--text-faint); }
.post-tags__label .icon { width: 15px; height: 15px; }
.post-tags a {
  padding: 5px var(--sp-3);
  border: 1px solid var(--border);
  font-size: var(--fs-xs);
  color: var(--text-muted);
  text-decoration: none;
}
.post-tags a:hover { border-color: var(--c-primary); color: var(--c-primary); }
.post-share {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: var(--sp-3);
  padding: var(--sp-4);
  border-block: 1px solid var(--border);
}
.post-share__label { font-size: var(--fs-sm); color: var(--text-muted); }
.post-share__btns { display: flex; gap: var(--sp-2); }
.post-share__btn {
  display: grid;
  place-items: center;
  width: 40px; height: 40px;
  border: 1px solid var(--border);
  border-radius: 0;
  background: var(--paper);
  color: var(--text-muted);
  cursor: pointer;
  transition: border-color .16s ease, color .16s ease, background .16s ease;
}
.post-share__btn:hover { border-color: var(--c-primary); color: var(--c-primary); }
.post-share__btn.is-copied { border-color: var(--c-primary); background: var(--c-primary); color: #fff; }
.post-share__btn .icon { width: 19px; height: 19px; }
.post-author {
  display: flex;
  align-items: center;
  gap: var(--sp-4);
  padding: var(--sp-5);
  border: 1px solid var(--border);
  background: var(--bg-soft);
}
.post-author__avatar {
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  width: 56px; height: 56px;
  background: var(--c-primary);
  color: #fff;
  font-size: var(--fs-lg);
  font-weight: var(--fw-bold);
}
.post-author__body { display: grid; gap: 3px; min-width: 0; flex: 1 1 auto; }
.post-author__kicker { font-size: var(--fs-xs); color: var(--text-faint); }
.post-author__name { font-size: var(--fs-sm); font-weight: var(--fw-bold); color: var(--text); text-decoration: none; }
.post-author__name:hover { color: var(--c-primary); }
.post-author__bio { margin: 0; font-size: var(--fs-xs); color: var(--text-muted); line-height: 1.9; }
.post-author__all {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: var(--fs-xs);
  color: var(--c-primary);
  text-decoration: none;
  white-space: nowrap;
}
.post-author__all .icon { width: 14px; height: 14px; }
.post-nav { display: grid; grid-template-columns: 1fr 1fr; gap: var(--sp-3); }
.post-nav__item {
  display: grid;
  gap: var(--sp-2);
  padding: var(--sp-4);
  border: 1px solid var(--border);
  background: var(--paper);
  color: inherit;
  text-decoration: none;
  transition: border-color .16s ease;
}
.post-nav__item:hover { border-color: var(--c-primary); }
.post-nav__item--next { text-align: end; }
.post-nav__dir { display: inline-flex; align-items: center; gap: 5px; font-size: var(--fs-xs); color: var(--text-faint); }
.post-nav__item--next .post-nav__dir { justify-content: flex-end; }
.post-nav__dir .icon { width: 14px; height: 14px; }
.post-nav__title {
  font-size: var(--fs-sm);
  font-weight: var(--fw-medium);
  line-height: 1.8;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.post-nav__item:hover .post-nav__title { color: var(--c-primary); }
.post-pages { display: flex; gap: var(--sp-2); font-size: var(--fs-sm); }
.post-related { padding: var(--sp-7) 0 var(--sp-8); background: var(--bg-soft); }
.author-head { display: flex; align-items: center; gap: var(--sp-5); }
.author-head__avatar {
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  width: 84px; height: 84px;
  background: var(--c-primary);
  color: #fff;
  font-size: var(--fs-2xl);
  font-weight: var(--fw-bold);
}
.author-head__body { display: grid; gap: var(--sp-2); min-width: 0; }
.author-head__stats { display: flex; flex-wrap: wrap; gap: var(--sp-4); margin: var(--sp-1) 0 0; padding: 0; list-style: none; }
.author-head__stats li { display: inline-flex; align-items: center; gap: 5px; font-size: var(--fs-xs); color: var(--text-faint); }
.author-head__stats a { display: inline-flex; align-items: center; gap: 5px; color: var(--c-primary); text-decoration: none; }
.author-head__stats .icon { width: 14px; height: 14px; }
@media (max-width: 1023px) {
  .blog-wrap { grid-template-columns: minmax(0, 1fr); }
  .blog-side { position: static; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); }
  .blog-lead { grid-template-columns: minmax(0, 1fr); }
  .blog-lead__media { aspect-ratio: 16 / 9; }
}
@media (max-width: 767px) {
  .blog-grid { grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: var(--sp-3); }
  .blog-lead__body { padding: var(--sp-4); }
  .post-head__title { font-size: var(--fs-lg); }
  .post-cover__img { max-height: 260px; }
  .post-nav { grid-template-columns: minmax(0, 1fr); }
  .post-nav__item--next { text-align: start; }
  .post-nav__item--next .post-nav__dir { justify-content: flex-start; }
  .post-author { flex-wrap: wrap; }
  .post-author__all { width: 100%; }
  .author-head { flex-direction: column; align-items: flex-start; gap: var(--sp-3); }
  .author-head__avatar { width: 64px; height: 64px; }
  .post-share { flex-direction: column; align-items: flex-start; }
}
.comments { display: grid; gap: var(--sp-4); }
.comments__title {
  display: flex;
  align-items: center;
  gap: var(--sp-2);
  margin: 0;
  font-size: var(--fs-md);
  font-weight: var(--fw-bold);
}
.comments__title .icon { width: 19px; height: 19px; color: var(--c-primary); }
.comments__closed { margin: 0; font-size: var(--fs-sm); color: var(--text-faint); }
.comments__list { margin: 0; padding: 0; list-style: none; display: grid; gap: var(--sp-3); }
.comments__list .children { list-style: none; margin: var(--sp-3) 0 0; padding-inline-start: var(--sp-5); display: grid; gap: var(--sp-3); }
.comment-item__inner {
  display: flex;
  gap: var(--sp-3);
  padding: var(--sp-4);
  border: 1px solid var(--border);
  background: var(--paper);
}
.comment-item__avatar {
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  width: 40px; height: 40px;
  background: var(--c-primary-soft);
  color: var(--c-primary);
  font-size: var(--fs-sm);
  font-weight: var(--fw-bold);
}
.comment-item__body { flex: 1 1 auto; min-width: 0; display: grid; gap: var(--sp-2); }
.comment-item__head { display: flex; align-items: center; flex-wrap: wrap; gap: var(--sp-3); }
.comment-item__author { font-size: var(--fs-sm); font-weight: var(--fw-bold); }
.comment-item__date { font-size: var(--fs-xs); color: var(--text-faint); }
.comment-item__pending {
  padding: 1px var(--sp-2);
  background: #FFF6E5;
  color: #9A6300;
  font-size: var(--fs-xs);
}
.comment-item__text { font-size: var(--fs-sm); line-height: 2.1; color: var(--text-muted); }
.comment-item__text p { margin: 0; }
.comment-item__text p + p { margin-top: var(--sp-2); }
.comment-item__reply a { font-size: var(--fs-xs); color: var(--c-primary); text-decoration: none; }
.comment-item__reply a:hover { text-decoration: underline; }
.comment-respond {
  padding: var(--sp-5);
  border: 1px solid var(--border);
  background: var(--paper);
}
.comment-reply-title { margin: 0 0 var(--sp-4); font-size: var(--fs-sm); font-weight: var(--fw-bold); }
.comment-reply-title small { margin-inline-start: var(--sp-2); font-weight: var(--fw-regular); }
.comment-reply-title small a { font-size: var(--fs-xs); color: var(--c-error); text-decoration: none; }
.comments__note { margin: 0 0 var(--sp-4); font-size: var(--fs-xs); color: var(--text-faint); }
.comment-form { display: grid; grid-template-columns: 1fr 1fr; gap: var(--sp-4); }
.comment-form .form-row { display: grid; gap: var(--sp-2); margin: 0; }
.comment-form .form-row--wide,
.comment-form .form-submit,
.comment-form .comment-form-cookies-consent { grid-column: 1 / -1; }
.comment-form label { font-size: var(--fs-sm); font-weight: var(--fw-medium); color: var(--text); }
.comment-form .required { color: var(--c-error); }
.comment-form input[type="text"],
.comment-form input[type="email"],
.comment-form input[type="url"],
.comment-form textarea {
  width: 100%;
  min-width: 0;
  height: 48px;
  padding: 0 var(--sp-3);
  border: 1px solid var(--border);
  border-radius: 0;
  background: var(--paper);
  font: inherit;
  font-size: var(--fs-sm);
  color: var(--text);
}
.comment-form textarea { height: auto; min-height: 120px; padding: var(--sp-3); resize: vertical; line-height: 2; }
.comment-form input:focus,
.comment-form textarea:focus { outline: none; border-color: var(--c-primary); box-shadow: inset 0 0 0 1px var(--c-primary); }
.comment-form .form-submit { margin: 0; }
.comment-form-cookies-consent { display: flex; align-items: center; gap: var(--sp-2); font-size: var(--fs-xs); color: var(--text-faint); }
.comment-form-cookies-consent label { font-size: var(--fs-xs); font-weight: var(--fw-regular); color: var(--text-faint); }
body .comments #respond input#submit,
body .comments .comments__submit {
  height: 48px;
  padding: 0 var(--sp-6);
  border: 0;
  border-radius: 0;
  background: var(--c-primary);
  color: #fff;
  font: inherit;
  font-size: var(--fs-sm);
  font-weight: var(--fw-medium);
  cursor: pointer;
  transition: background .18s ease;
}
body .comments #respond input#submit:hover { background: var(--c-primary-dark); }
@media (max-width: 767px) {
  .comment-form { grid-template-columns: 1fr; }
  .comments__list .children { padding-inline-start: var(--sp-3); }
  .comment-respond { padding: var(--sp-4); }
}
.product-card__sizes {
  position: absolute;
  inset-inline-start: var(--sp-3);   
  bottom: var(--sp-3);
  z-index: 2;
  display: flex;
  flex-wrap: wrap-reverse;
  gap: 4px;
  max-width: calc(100% - 38px - var(--sp-7));
  pointer-events: none;
}
.product-card__size {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 26px;
  padding: 3px 7px;
  background: rgba(255, 255, 255, 0.94);
  border: 1px solid rgba(0, 0, 0, 0.08);
  font-size: var(--fs-xs);
  font-weight: var(--fw-medium);
  line-height: 1.6;
  color: var(--text);
  white-space: nowrap;
  backdrop-filter: blur(2px);
}
.product-card__size--more { background: rgba(23, 82, 69, 0.92); border-color: transparent; color: #fff; }
.product-card__size--alpha { font-family: var(--font-latin); direction: ltr; unicode-bidi: isolate; }
@media (max-width: 767px) {
  .product-card__go { display: none; }
  .product-card__sizes { max-width: calc(100% - var(--sp-6)); }
}
.footer-col--trust { min-width: 0; }
.footer-trust__items {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: var(--sp-2);
}
.footer-trust__item {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 78px;
  height: 78px;
  padding: 6px;
  background: #fff;
  overflow: hidden;
  transition: transform var(--dur) var(--ease);
}
a.footer-trust__item:hover { transform: translateY(-2px); }
.footer-trust__item :is(img, iframe) {
  display: block;
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  object-fit: contain;
}
@media (max-width: 767px) {
  .footer-trust__item { width: 70px; height: 70px; }
  .site-footer__bar-inner { gap: var(--sp-2); }
}
.login-page {
  max-width: 560px;
  margin-inline: auto;
  padding: var(--sp-6) var(--content-pad) var(--sp-9);
}
.login-page__form { min-width: 0; }
.login-page__lead {
  display: flex;
  align-items: flex-start;
  gap: var(--sp-3);
  margin: 0 0 var(--sp-4);
  padding: var(--sp-4);
  border: 1px solid var(--c-primary);
  background: var(--c-primary-soft);
  font-size: var(--fs-sm);
  line-height: 2;
  color: var(--text);
}
.login-page__lead .icon { flex: 0 0 auto; width: 19px; height: 19px; margin-top: 4px; color: var(--c-primary); }
.login-page .payam-auth-page { margin: 0; }
.login-page .payam-auth,
.login-page .payam-auth-page > * { max-width: none; }
@media (max-width: 767px) {
  .login-page { padding-top: var(--sp-4); }
  .login-page__lead { padding: var(--sp-3); }
}
.notfound { border-bottom: 1px solid var(--border); }
.notfound__inner {
  display: grid;
  justify-items: center;
  gap: var(--sp-4);
  max-width: 640px;
  text-align: center;
  padding-block: var(--sp-9);
}
.notfound__code {
  margin: 0;
  font-size: clamp(72px, 16vw, 148px);
  font-weight: var(--fw-bold);
  line-height: 1;
  letter-spacing: -0.04em;
  color: transparent;
  -webkit-text-stroke: 1.5px var(--border);
  user-select: none;
}
.notfound__title { margin: 0; font-size: var(--fs-xl); font-weight: var(--fw-bold); }
.notfound__lead { margin: 0; font-size: var(--fs-sm); color: var(--text-muted); line-height: 2.1; max-width: 52ch; }
.notfound__search { display: flex; gap: var(--sp-2); width: 100%; max-width: 460px; margin-top: var(--sp-2); }
.notfound__search input {
  flex: 1 1 auto;
  min-width: 0;
  height: 50px;
  padding: 0 var(--sp-4);
  border: 1px solid var(--border);
  border-radius: 0;
  background: var(--paper);
  font: inherit;
  font-size: var(--fs-sm);
  color: var(--text);
}
.notfound__search input:focus { outline: none; border-color: var(--c-primary); box-shadow: inset 0 0 0 1px var(--c-primary); }
.notfound__search button {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  gap: var(--sp-2);
  height: 50px;
  padding: 0 var(--sp-5);
  border: 0;
  border-radius: 0;
  background: var(--c-primary);
  color: #fff;
  font: inherit;
  font-size: var(--fs-sm);
  font-weight: var(--fw-medium);
  cursor: pointer;
  transition: background .18s ease;
}
.notfound__search button:hover { background: var(--c-primary-dark); }
.notfound__search .icon { width: 18px; height: 18px; }
.notfound__actions { display: flex; flex-wrap: wrap; gap: var(--sp-3); justify-content: center; }
.notfound__actions .icon { width: 17px; height: 17px; }
.notfound__cats {
  display: flex;
  flex-wrap: wrap;
  gap: var(--sp-2);
  justify-content: center;
  padding-top: var(--sp-4);
  border-top: 1px solid var(--border);
  width: 100%;
}
.notfound__cats a {
  padding: var(--sp-2) var(--sp-4);
  border: 1px solid var(--border);
  font-size: var(--fs-xs);
  color: var(--text-muted);
  text-decoration: none;
  transition: border-color .16s ease, color .16s ease;
}
.notfound__cats a:hover { border-color: var(--c-primary); color: var(--c-primary); }
.notfound__help { margin: 0; font-size: var(--fs-xs); color: var(--text-faint); }
.notfound__help a { color: var(--c-primary); text-decoration: none; }
.notfound__help a:hover { text-decoration: underline; }
.notfound__picks { background: var(--bg-soft); }
@media (max-width: 767px) {
  .notfound__inner { padding-block: var(--sp-7); gap: var(--sp-3); }
  .notfound__search { flex-direction: column; }
  .notfound__search button { justify-content: center; }
  .notfound__actions { width: 100%; }
  .notfound__actions .btn { flex: 1 1 100%; justify-content: center; }
  .notfound__picks .product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.says__viewport { position: relative; }
.says__track {
  display: flex;
  gap: var(--sp-4);
  overflow-x: auto;
  scroll-snap-type: x proximity;
  scrollbar-width: none;
  padding-block: var(--sp-2) var(--sp-4);
  touch-action: pan-x pan-y;   
}
.says__track::-webkit-scrollbar { display: none; }
.says__track.is-dragging { cursor: grabbing; scroll-snap-type: none; }
.says__track.is-dragging * { pointer-events: none; }
@media (max-width: 767px) {
  .says__viewport { padding-inline: 0; }
  .says__track {
    padding-inline: var(--content-pad) 0;
    scroll-padding-inline-start: var(--content-pad);
  }
}
.says__card {
  flex: 0 0 clamp(280px, 30%, 400px);
  scroll-snap-align: start;
  display: grid;
  align-content: start;
  gap: var(--sp-3);
  margin: 0;
  padding: var(--sp-5);
  border: 1px solid var(--border);
  background: var(--paper);
  transition: border-color var(--dur) var(--ease);
}
.says__card:hover { border-color: var(--c-primary); }
.says__stars { display: flex; gap: 3px; }
.says__star .icon { width: 16px; height: 16px; color: var(--border); }
.says__star.is-on .icon { color: var(--c-gold); fill: var(--c-gold); }
.says__text {
  margin: 0;
  font-size: var(--fs-sm);
  line-height: 2.15;
  color: var(--text);
  display: -webkit-box;
  -webkit-line-clamp: 5;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.says__by {
  display: flex;
  align-items: center;
  gap: var(--sp-3);
  padding-top: var(--sp-3);
  border-top: 1px solid var(--border);
}
.says__avatar {
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  background: var(--c-primary-soft);
  color: var(--c-primary);
  font-size: var(--fs-sm);
  font-weight: var(--fw-bold);
}
.says__who { display: grid; gap: 1px; min-width: 0; }
.says__who strong { font-size: var(--fs-sm); font-weight: var(--fw-bold); }
.says__who span,
.says__who a {
  font-size: var(--fs-xs);
  color: var(--text-faint);
  text-decoration: none;
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.says__who a:hover { color: var(--c-primary); }
@media (max-width: 767px) {
  .says__card { flex-basis: 82%; padding: var(--sp-4); }
}
.tailor-hero { padding-block: var(--sp-7) var(--sp-6); }
.tailor-hero__inner {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
  gap: var(--sp-7);
  align-items: center;
}
.tailor-hero__text { display: grid; gap: var(--sp-4); align-content: center; }
.tailor-hero__title { margin: 0; font-size: var(--fs-3xl); font-weight: var(--fw-bold); line-height: 1.3; letter-spacing: -0.02em; }
.tailor-hero__lead { margin: 0; max-width: 54ch; font-size: var(--fs-md); color: var(--text-muted); line-height: 2.1; }
.tailor-hero__actions { display: flex; flex-wrap: wrap; gap: var(--sp-3); }
.tailor-hero__actions .icon { width: 17px; height: 17px; }
.tailor-hero__media { position: relative; justify-self: center; width: min(100%, 420px); }
.tailor-hero__media img { width: 100%; height: auto; display: block; position: relative; z-index: 1; }
.tailor-hero__frame {
  position: absolute;
  inset-block: 20px -20px;
  inset-inline: 20px -20px;
  border: 1px solid var(--c-gold);
  opacity: 0.55;
}
.tailor-steps__list {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
  border: 1px solid var(--border);
}
.tailor-step { padding: var(--sp-5) var(--sp-4); display: grid; gap: var(--sp-2); align-content: start; }
.tailor-step + .tailor-step { border-inline-start: 1px solid var(--border); }
.tailor-step__n {
  display: grid;
  place-items: center;
  width: 34px; height: 34px;
  background: var(--c-primary);
  color: var(--ivory);
  font-size: var(--fs-sm);
  font-weight: var(--fw-bold);
}
.tailor-step__title { margin: 0; font-size: var(--fs-sm); font-weight: var(--fw-bold); line-height: 1.7; }
.tailor-step__text { margin: 0; font-size: var(--fs-xs); color: var(--text-muted); line-height: 2; }
.tailor-why { background: var(--bg-soft); }
.tailor-why__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--sp-4); }
.tailor-why__item {
  display: grid;
  gap: var(--sp-3);
  align-content: start;
  padding: var(--sp-5);
  background: var(--paper);
  border: 1px solid var(--border);
}
.tailor-why__icon {
  display: grid;
  place-items: center;
  width: 42px; height: 42px;
  background: var(--c-primary-soft);
  color: var(--c-primary);
}
.tailor-why__icon .icon { width: 21px; height: 21px; }
.tailor-why__title { margin: 0; font-size: var(--fs-md); font-weight: var(--fw-bold); }
.tailor-why__text { margin: 0; font-size: var(--fs-sm); color: var(--text-muted); line-height: 2.1; }
.tailor-cost { background: var(--c-primary-ink); color: var(--ivory); }
.tailor-cost__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: var(--sp-5);
}
.tailor-cost__title { margin: 0 0 var(--sp-3); font-size: var(--fs-xl); font-weight: var(--fw-bold); color: var(--ivory); }
.tailor-cost__text { margin: 0; max-width: 62ch; font-size: var(--fs-sm); color: rgba(255, 255, 255, 0.78); line-height: 2.1; }
.tailor-cost .btn .icon { width: 17px; height: 17px; }
@media (max-width: 1023px) {
  .tailor-hero__inner { grid-template-columns: minmax(0, 1fr); gap: var(--sp-5); }
  .tailor-hero__media { order: -1; width: min(100%, 340px); }
  .tailor-steps__list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .tailor-step + .tailor-step { border-inline-start: 0; }
  .tailor-step:nth-child(odd) { border-inline-end: 1px solid var(--border); }
  .tailor-step:not(:nth-child(-n+2)) { border-top: 1px solid var(--border); }
  .tailor-why__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
  .tailor-hero__title { font-size: var(--fs-2xl); }
  .tailor-steps__list { grid-template-columns: minmax(0, 1fr); }
  .tailor-step:nth-child(odd) { border-inline-end: 0; }
  .tailor-step + .tailor-step { border-top: 1px solid var(--border); }
  .tailor-why__grid { grid-template-columns: minmax(0, 1fr); }
  .tailor-hero__actions .btn { flex: 1 1 100%; justify-content: center; }
}
