:root {
  --c-primary:          #8eb27a; 
  --c-primary-shade:    #0e4b4c; 
  --c-accent:           #df6921; 
  --c-accent-shade:     #fccf51; 
  --gray-0:             #fdfdfd;
  --gray-50:            #ebebeb;
  --gray-100:           #bababa;
  --gray-500:           #888888;
  --gray-600:           #565656;
  --gray-700:           #252525;
  --c-error-200:        #f3b8b4;
  --c-error-500:        #f44336;
  --c-error-800:        #69120b;
  --c-warning-200:      #f5d4a3;
  --c-warning-500:      #ff9800;
  --c-warning-800:      #613c05;
  --c-info-200:         #add3f2;
  --c-info-500:         #2196f3;
  --c-info-800:         #0a3c63;
  --bg:                 var(--gray-0);
  --bg-soft:            var(--gray-50);
  --text:               var(--gray-700);
  --text-muted:         var(--gray-600);
  --text-faint:         var(--gray-500);
  --border:             var(--gray-50);
  --link:               var(--c-primary-shade);
  --price:              var(--c-primary-shade);
  --sale:               var(--c-accent);
  --font-base: "Gian", "Vazirmatn", "IRANSans", Tahoma, system-ui, sans-serif;
  --font-heading: var(--font-base);
  --font-display: "Gian Display", "Gian", Tahoma, system-ui, sans-serif; 
  --font-latin: "Gian Latin", "Gian", Tahoma, system-ui, sans-serif;
  --font-latin-display: "Gian Latin Display", "Gian Display", Tahoma, system-ui, sans-serif;
  --fs-xs: calc(0.75rem * var(--fs-text-scale, 1));   
  --fs-sm: calc(0.875rem * var(--fs-text-scale, 1));  
  --fs-base: calc(1rem * var(--fs-text-scale, 1));      
  --fs-md: calc(1.125rem * var(--fs-text-scale, 1));  
  --fs-lg: 1.375rem;  
  --fs-xl: 1.75rem;   
  --fs-2xl: 2.25rem;   
  --fs-3xl: 3rem;      
  --lh-tight: 1.2;
  --lh-base:  1.7;
  --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;
  --shadow-sm: 0 1px 2px rgba(37, 37, 37, 0.06);
  --shadow:    0 6px 20px rgba(37, 37, 37, 0.08);
  --shadow-lg: 0 16px 40px rgba(37, 37, 37, 0.12);
  --container: 1280px;
  --container-wide: 1600px; 
  --gutter: var(--sp-5);
  --content-max: 1920px;
  --content-pad: 48px;
  --ease: cubic-bezier(0.4, 0, 0.2, 1);
  --dur: 0.25s;
}
@media (max-width: 1320px) {
  :root { --content-pad: 32px; }
}
@media (max-width: 1024px) {
  :root { --content-pad: 20px; }
}
@media (max-width: 767px) {
  :root {
    --content-pad: 16px;
    --fs-xs: calc(0.667rem * var(--fs-text-scale, 1));  
    --fs-sm: calc(0.778rem * var(--fs-text-scale, 1));  
    --fs-base: calc(0.889rem * var(--fs-text-scale, 1));  
    --fs-md: calc(1rem * var(--fs-text-scale, 1));      
    --fs-lg: 1.222rem;  
    --fs-xl: 1.556rem;  
    --fs-2xl: 2rem;      
    --fs-3xl: 2.667rem;  
  }
}
@font-face {
  font-family: "Gian";
  src: url("../fonts/AbarLowFaNum-Thin.woff2") format("woff2");
  font-weight: 100;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Gian";
  src: url("../fonts/AbarLowFaNum-ExtraLight.woff2") format("woff2");
  font-weight: 200;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Gian";
  src: url("../fonts/AbarLowFaNum-Light.woff2") format("woff2");
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Gian";
  src: url("../fonts/AbarLowFaNum-Regular.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Gian";
  src: url("../fonts/AbarLowFaNum-Medium.woff2") format("woff2");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Gian";
  src: url("../fonts/AbarLowFaNum-SemiBold.woff2") format("woff2");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Gian";
  src: url("../fonts/AbarLowFaNum-Bold.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Gian";
  src: url("../fonts/AbarLowFaNum-ExtraBold.woff2") format("woff2");
  font-weight: 800;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Gian";
  src: url("../fonts/AbarLowFaNum-Black.woff2") format("woff2");
  font-weight: 900;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Gian";
  src: url("../fonts/AbarLowFaNum-ExtraBlack.woff2") format("woff2");
  font-weight: 950;
  font-style: normal;
  font-display: swap;
}
@font-face { font-family: "Gian Display"; src: url("../fonts/AbarHighFaNum-Thin.woff2") format("woff2"); font-weight: 100; font-style: normal; font-display: swap; }
@font-face { font-family: "Gian Display"; src: url("../fonts/AbarHighFaNum-ExtraLight.woff2") format("woff2"); font-weight: 200; font-style: normal; font-display: swap; }
@font-face { font-family: "Gian Display"; src: url("../fonts/AbarHighFaNum-Light.woff2") format("woff2"); font-weight: 300; font-style: normal; font-display: swap; }
@font-face { font-family: "Gian Display"; src: url("../fonts/AbarHighFaNum-Regular.woff2") format("woff2"); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: "Gian Display"; src: url("../fonts/AbarHighFaNum-Medium.woff2") format("woff2"); font-weight: 500; font-style: normal; font-display: swap; }
@font-face { font-family: "Gian Display"; src: url("../fonts/AbarHighFaNum-SemiBold.woff2") format("woff2"); font-weight: 600; font-style: normal; font-display: swap; }
@font-face { font-family: "Gian Display"; src: url("../fonts/AbarHighFaNum-Bold.woff2") format("woff2"); font-weight: 700; font-style: normal; font-display: swap; }
@font-face { font-family: "Gian Display"; src: url("../fonts/AbarHighFaNum-ExtraBold.woff2") format("woff2"); font-weight: 800; font-style: normal; font-display: swap; }
@font-face { font-family: "Gian Display"; src: url("../fonts/AbarHighFaNum-Black.woff2") format("woff2"); font-weight: 900; font-style: normal; font-display: swap; }
@font-face { font-family: "Gian Display"; src: url("../fonts/AbarHighFaNum-ExtraBlack.woff2") format("woff2"); font-weight: 950; font-style: normal; font-display: swap; }
@font-face { font-family: "Gian Latin"; src: url("../fonts/AbarLow-Light.woff2") format("woff2"); font-weight: 300; font-style: normal; font-display: swap; }
@font-face { font-family: "Gian Latin"; src: url("../fonts/AbarLow-Regular.woff2") format("woff2"); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: "Gian Latin Display"; src: url("../fonts/AbarHigh-Light.woff2") format("woff2"); font-weight: 300; font-style: normal; font-display: swap; }
@font-face { font-family: "Gian 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; }
a {
  color: var(--link);
  text-decoration: none;
  transition: color var(--dur) var(--ease), opacity var(--dur) var(--ease);
}
a:hover { opacity: 0.8; }
h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-heading);
  font-weight: var(--fw-bold);
  line-height: var(--lh-tight);
  color: var(--gray-700);
}
h1 { font-size: var(--fs-3xl); }
h2 { font-size: var(--fs-2xl); }
h3 { font-size: var(--fs-xl); }
h4 { font-size: var(--fs-lg); }
p { line-height: var(--lh-base); }
ul, ol { list-style: none; padding: 0; }
.container,
.container-wide {
  width: 100%;
  max-width: var(--content-max);
  margin-inline: auto;
  padding-inline: var(--content-pad);
}
.section { padding-block: var(--sp-8); }
.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;
}
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--sp-2);
  padding: var(--sp-3) var(--sp-6);
  border: 1px solid transparent;
  font-weight: var(--fw-medium);
  font-size: var(--fs-sm);
  line-height: 1;
  transition: background var(--dur) var(--ease), color var(--dur) var(--ease),
              border-color var(--dur) var(--ease), transform var(--dur) var(--ease);
}
.btn:hover { opacity: 1; transform: translateY(-1px); }
.btn--primary { background: var(--c-primary-shade); color: var(--gray-0); }
.btn--primary:hover { background: #0a3a3b; }
.btn--accent { background: var(--c-accent); color: var(--gray-0); }
.btn--accent:hover { background: #c85c1a; }
.btn--outline {
  background: transparent;
  border-color: var(--c-primary-shade);
  color: var(--c-primary-shade);
}
.btn--outline:hover { background: var(--c-primary-shade); color: var(--gray-0); }
.site-header {
  position: fixed;
  inset-block-start: 0;
  inset-inline: 0;
  z-index: 100;
  height: 64px;
  background: transparent;
  color: var(--gray-700);
  border-bottom: 1px solid rgba(37, 37, 37, 0.15);
  transition: background var(--dur) var(--ease), color var(--dur) var(--ease),
              border-color var(--dur) var(--ease), box-shadow var(--dur) var(--ease);
}
.site-header__inner {
  height: 100%;
  max-width: var(--content-max);
  margin-inline: auto;
  padding-inline: var(--content-pad);
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: var(--sp-5);
}
.site-header a { color: inherit; }
.site-header a:hover { opacity: 0.7; }
.site-logo {
  justify-self: center;
  display: inline-flex;
  align-items: center;
}
.site-logo img { max-height: 40px; width: auto; max-width: none; }
.site-logo .site-logo__text { font-weight: var(--fw-bold); font-size: var(--fs-lg); }
.site-header--solid .site-logo__img,
.site-header.is-scrolled .site-logo__img { content: url("../img/logo-green.svg"); }
.header-start { display: none; }
.header-nav { justify-self: start; }
.header-icon--mobile-only { display: none; } 
.header-nav > ul { display: flex; align-items: center; }
.header-nav li { display: flex; align-items: center; }
.header-nav a {
  display: block;
  padding-inline: var(--sp-5);
  font-size: var(--fs-sm);
  font-weight: var(--fw-regular);
  white-space: nowrap;
}
.header-nav li { border-inline-start: 1px solid; }
.header-nav > ul { border-inline-end: 1px solid; }
.header-icons {
  justify-self: end;
  display: flex;
  align-items: center;
  border-inline-end: 1px solid; 
}
.header-icons a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding-inline: var(--sp-4);
  border-inline-start: 1px solid;
}
.header-icon svg { width: 20px; height: 20px; max-width: none; display: block; }
.header-icons .cart-count,
.header-icons .wish-count {
  font-size: var(--fs-xs);
  margin-inline-start: 2px;
  font-weight: var(--fw-regular);
}
.header-icons .wish-count[hidden] { display: none; }
.header-nav li,
.header-nav > ul,
.header-icons a,
.header-icons { border-color: color-mix(in srgb, currentColor 22%, transparent); }
.site-header.is-scrolled,
.site-header--solid {
  background: var(--gray-0);
  color: var(--gray-700);
  border-bottom-color: rgba(37, 37, 37, 0.12);
  box-shadow: var(--shadow-sm);
}
body:not(.gian-overlay-header) .site-main { padding-block-start: 64px; }
.header-burger { display: none; }        
.header-nav__scrim { display: none; }
.header-nav__tagline { display: none; }   
.header-nav .menu-item--wish-mobile { display: none; } 
body.nav-open .site-header {
  background: var(--gray-0);
  color: var(--gray-700);
  border-bottom-color: rgba(37, 37, 37, 0.12);
  box-shadow: var(--shadow-sm);
}
body.nav-open .site-header .site-logo__img { content: url("../img/logo-green.svg"); }
@media (max-width: 1024px) {
  .header-start {
    justify-self: start;
    display: flex;
    align-items: center;
    gap: var(--sp-2);
  }
  .header-start .header-icon--mobile-only { display: inline-flex; }
  .header-icons .header-icon--desktop-only { display: none; }
  .header-nav li,
  .header-nav > ul,
  .header-icons a,
  .header-icons { border: none; }
  .header-icons a { padding-inline: var(--sp-3); }
  .header-burger {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    margin-inline-start: calc(-1 * var(--sp-2)); 
    border: none;
    background: none;
    color: inherit;
    cursor: pointer;
  }
  .header-burger svg { width: 22px; height: 22px; max-width: none; display: block; }
  .header-burger__close { display: none; }
  .header-burger[aria-expanded="true"] .header-burger__open { display: none; }
  .header-burger[aria-expanded="true"] .header-burger__close { display: inline-flex; }
  .header-nav {
    position: fixed;
    inset-block: 64px 0;   
    inset-inline: 0;
    justify-self: stretch; 
    z-index: 90;
    display: flex;
    flex-direction: column;
    padding: var(--sp-7) var(--content-pad) var(--sp-8);
    background-color: var(--c-primary-shade);
    background-image:
      linear-gradient(180deg, rgba(14, 75, 76, 0.82), rgba(14, 75, 76, 0.92)),
      var(--menu-bg, none);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    color: var(--gray-0);
    overflow-y: auto;
    transform: translateX(100%); 
    visibility: hidden;
    transition: transform var(--dur) var(--ease), visibility var(--dur) var(--ease);
  }
  .header-nav.is-open { transform: translateX(0); visibility: visible; } 
  .header-nav > ul {
    flex: 1;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: var(--sp-6);
    border: none;
  }
  .header-nav li { border: none; }
  .header-nav .menu-item--wish-mobile { display: block; } 
  .header-nav a {
    padding: var(--sp-2) var(--sp-4);
    font-size: var(--fs-lg);
    color: var(--gray-0);
  }
  .header-nav a:hover { opacity: 0.75; }
  .header-nav__tagline {
    display: block;
    margin: var(--sp-6) 0 var(--sp-4);
    direction: ltr; 
    text-align: center;
    color: rgba(255, 255, 255, 0.9);
    font-family: Georgia, "Times New Roman", serif;
    font-style: italic;
    font-size: var(--fs-xl);
    letter-spacing: 0.01em;
  }
  .header-nav__scrim { display: none; } 
}
.site-footer {
  background: var(--gray-0);
  border-top: 1px solid var(--gray-100);
}
.footer__main {
  display: grid;
  grid-template-columns: auto 1fr auto; 
  align-items: stretch;
}
.footer__brand {
  display: flex;
  align-items: center;
  justify-content: center;
  padding-inline: var(--sp-8);
  border-inline-end: 1px solid var(--gray-100);
}
.footer__logo img { width: 174px; height: auto; }
.footer__center {
  display: flex;
  flex-direction: column;
}
.footer__slogan {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: var(--fs-lg);
  color: var(--gray-600);
  border-bottom: 1px solid var(--gray-100);
  padding-block: var(--sp-7);
}
.footer__row {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: var(--sp-6);
  padding: var(--sp-6) var(--sp-7);
}
.footer__social { justify-self: start; } 
.footer__support { justify-self: end; }
.footer__links {
  justify-self: center;
  display: flex;
  align-items: center;
  gap: var(--sp-5);
  font-size: var(--fs-sm);
}
.footer__links a { color: var(--gray-700); }
.footer__links a:hover { color: var(--c-primary-shade); }
.footer__links li + li { border-inline-start: 1px solid var(--gray-100); padding-inline-start: var(--sp-5); }
.footer__support { font-size: var(--fs-sm); color: var(--gray-700); white-space: nowrap; }
.footer__support a { color: inherit; }
.footer__social { display: flex; gap: var(--sp-3); }
.footer__slogan,
.footer__copy,
.footer__credit { direction: ltr; }
.footer__copy,
.footer__credit { font-family: var(--font-latin); }
.footer__slogan { font-family: var(--font-latin-display); }
.footer__social a {
  width: 36px;
  height: 36px;
  border: 1px solid var(--gray-100);
  border-radius: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--gray-500);
  transition: color var(--dur) var(--ease), border-color var(--dur) var(--ease);
}
.footer__social a:hover { color: var(--c-primary-shade); border-color: var(--c-primary-shade); opacity: 1; }
.footer__social svg { width: 16px; height: 16px; max-width: none; }
.footer__trust {
  display: flex;
  align-items: center;
  justify-content: center;
  padding-inline: var(--sp-8);
  border-inline-start: 1px solid var(--gray-100);
}
.footer__trust img { width: 124px; height: auto; }
.footer__bar {
  direction: ltr;
  background: var(--c-primary-shade);
  color: var(--gray-50);
  font-size: var(--fs-xs);
  display: grid;
  grid-template-columns: 1fr auto 1fr; 
  align-items: center;
  gap: var(--sp-5);
  padding: var(--sp-4) var(--sp-7);
}
.footer__copy   { margin: 0; justify-self: start; }
.footer__credit { margin: 0; justify-self: center; }
.footer__dev    { margin: 0; justify-self: end; text-align: end; color: color-mix(in srgb, var(--gray-50) 80%, transparent); }
.footer__dev-link {
  position: relative;
  color: var(--c-primary);
  font-family: var(--font-latin);
  font-weight: var(--fw-medium);
  text-decoration: none;
  transition: color var(--dur) var(--ease);
}
.footer__dev-link::after {
  content: "";
  position: absolute;
  inset-inline: 0;
  bottom: -2px;
  height: 1px;
  background: var(--c-accent-shade);
  transform: scaleX(0);
  transform-origin: right;
  transition: transform var(--dur) var(--ease);
}
.footer__dev-link:hover { color: var(--c-accent-shade); opacity: 1; }
.footer__dev-link:hover::after { transform: scaleX(1); transform-origin: left; }
@media (max-width: 767px) {
  .footer__main { grid-template-columns: 1fr; }
  .footer__brand,
  .footer__center,
  .footer__trust,
  .footer__bar { padding-inline: var(--content-pad); }
  .footer__brand {
    border-inline-end: none;
    border-bottom: 1px solid var(--gray-100);
    padding-block: var(--sp-6); 
  }
  .footer__logo img { width: 132px; } 
  .footer__trust { border-inline-start: none; border-top: 1px solid var(--gray-100); }
  .footer__row {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: var(--sp-4);
    padding-inline: 0;
  }
  .footer__social,
  .footer__support,
  .footer__links { justify-self: auto; }
  .footer__links { flex-wrap: wrap; justify-content: center; }
  .footer__slogan { padding-block: var(--sp-5); }
  .footer__bar { grid-template-columns: 1fr; justify-items: center; text-align: center; gap: var(--sp-2); }
  .footer__copy, .footer__credit, .footer__dev { justify-self: center; text-align: center; }
}
.product-card {
  position: relative;
  display: block;
  color: inherit;
  --card-body-h: 4.5rem;
}
.product-card:hover { color: inherit; opacity: 1; }
.product-card::before {
  content: "";
  display: block;
  aspect-ratio: 437 / 600;
}
.product-card__media {
  position: absolute;
  top: 0;
  inset-inline: 0;
  bottom: var(--card-body-h); 
  display: block;
  background: var(--gray-50);
  overflow: hidden;
  border-radius: 0;
  z-index: 2;
  transition: bottom 0.55s var(--ease);
}
.product-card:hover .product-card__media { bottom: 0; } 
.product-card__media .product-card__img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.product-card__badges {
  position: absolute;
  top: var(--sp-3);
  left: var(--sp-3);
  display: flex;
  gap: var(--sp-2);
  z-index: 2;
}
.product-card__wish {
  position: absolute;
  top: var(--sp-3);
  right: var(--sp-3); 
  z-index: 3;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 0;
  background: color-mix(in srgb, var(--gray-0) 85%, transparent);
  color: var(--gray-700);
  cursor: pointer;
  -webkit-backdrop-filter: blur(2px);
  backdrop-filter: blur(2px);
  transition: color var(--dur) var(--ease), transform var(--dur) var(--ease);
}
.product-card__wish svg { width: 17px; height: 17px; max-width: none; display: block; }
.product-card__wish:hover { color: var(--c-primary-shade); transform: scale(1.08); }
.product-card__wish.is-active { color: var(--c-primary-shade); }
.product-card__wish.is-active svg { fill: currentColor; }
.badge {
  font-size: var(--fs-xs);
  font-weight: var(--fw-medium);
  color: var(--gray-0);
  padding: 3px 10px;
  border-radius: 0;
  line-height: 1.5;
  white-space: nowrap;
}
.badge--new  { background: var(--c-primary); }
.badge--sale { background: var(--c-error-800); }
.badge--out  { background: var(--gray-700); }
.product-card.is-out .product-card__img {
  filter: grayscale(0.55) opacity(0.72);
  transition: filter var(--dur) var(--ease);
}
.product-card.is-out:hover .product-card__img { filter: grayscale(0.25) opacity(0.9); }
.product-card.is-out .product-card__price { opacity: 0.65; }
@media (max-width: 767px) {
  .badge { font-size: 10px; padding: 2px 7px; }
  .product-card__badges { top: var(--sp-2); left: var(--sp-2); }
  .product-card__wish {
    top: var(--sp-2);
    right: var(--sp-2);
    width: 26px;
    height: 26px;
  }
  .product-card__wish svg { width: 14px; height: 14px; }
}
.product-card__sizes {
  position: absolute;
  bottom: var(--sp-3);
  left: var(--sp-3);
  display: flex;
  gap: var(--sp-1);
  z-index: 2;
}
.size-chip {
  min-width: 22px;
  height: 22px;
  padding: 0 4px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: var(--fs-xs);
  color: var(--gray-700);
  background: rgba(255, 255, 255, 0.9);
  border: 1px solid var(--gray-100);
  border-radius: 0;
}
.product-card__body {
  height: var(--card-body-h);
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-align: right;
}
.product-card__title {
  display: block;
  font-size: var(--fs-sm);
  font-weight: var(--fw-medium);
  color: var(--gray-700);
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.product-card:hover .product-card__title { color: var(--c-primary-shade); }
.product-card__price { display: block; margin-top: var(--sp-2); }
.product-card__price .price {
  display: inline-flex;
  gap: var(--sp-2);
  align-items: baseline;
}
.price__sale,
.price__current {
  color: var(--price);
  font-weight: var(--fw-bold);
  font-size: var(--fs-sm);
  text-decoration: none;
}
.price__original {
  color: var(--text-faint);
  text-decoration: line-through;
  font-size: var(--fs-xs);
}
.products-row { padding-block: var(--sp-8); }
.titr {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--sp-4);
  margin-bottom: var(--sp-5);
}
.titr__name {
  display: inline-flex;
  align-items: stretch;
  font-size: 1.5rem;          
  font-weight: var(--fw-regular);
  line-height: 1.7;
  color: var(--c-primary);
}
.titr__en {
  border-inline-start: 1px solid var(--gray-100);
  padding-inline-start: var(--sp-2);
  margin-inline-start: var(--sp-2);
}
.titr__more {
  display: inline-flex;
  align-items: center;
  gap: var(--sp-1);
  font-size: var(--fs-base);
  color: var(--gray-700);
  white-space: nowrap;
}
.titr__more svg { width: 20px; height: 20px; max-width: none; }
.titr__more span { border-bottom: 1px solid transparent; transition: border-color var(--dur) var(--ease); }
.titr__more:hover span { border-bottom-color: var(--c-primary-shade); }
@media (max-width: 767px) {
  .titr .titr__name,
  .story .story__title,
  .brand .brand__title,
  .site-footer .footer__slogan { font-size: 1.25rem; }
  .titr:not(:has(.titr__more)) {
    justify-content: center;
    text-align: center;
  }
}
.products-row { --hscroll-arrow-top: 38%; }
.products-row__track {
  gap: var(--row-gap);
  padding-block: var(--sp-2);
}
.products-row {
  --cards-per-view: 4;
  --row-gap: var(--sp-5);
}
.products-row__track > .product-card {
  flex: 0 0 calc(
    (100% - (var(--cards-per-view) - 1) * var(--row-gap)) / var(--cards-per-view)
  );
  scroll-snap-align: start;
}
@media (max-width: 1320px) { .products-row { --cards-per-view: 3; } }
@media (max-width: 1024px) { .products-row { --cards-per-view: 2; } }
@media (max-width: 767px) {
  .products-row { --row-gap: var(--sp-4); } 
  .products-row .products-row__track {
    display: grid;
    grid-auto-flow: column;
    grid-template-rows: repeat(2, auto);
    grid-auto-columns: calc((100% - var(--row-gap)) / 2); 
  }
  .products-row .products-row__track > .product-card { flex: none; }
}
.products-row__foot { text-align: center; margin-top: var(--sp-6); }
.c-arrow {
  width: 48px;
  height: 48px;
  border: none;
  border-radius: 0;
  background: var(--gray-0);
  color: var(--gray-700);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-shadow: var(--shadow);
  cursor: pointer;
  transition: background var(--dur) var(--ease), color var(--dur) var(--ease);
}
.c-arrow:hover { background: var(--c-primary-shade); color: var(--gray-0); }
.c-arrow svg { width: 22px; height: 22px; }
.js [data-reveal] > * {
  opacity: 0;
  transform: translateY(28px);
  transition: opacity 0.6s var(--ease), transform 0.6s var(--ease);
  transition-delay: calc(var(--i, 0) * 90ms);
}
.js [data-reveal].is-revealed > * {
  opacity: 1;
  transform: none;
}
@media (prefers-reduced-motion: reduce) {
  .js [data-reveal] > * {
    opacity: 1;
    transform: none;
    transition: none;
  }
}
[data-hscroll] { position: relative; }
[data-hscroll-track] {
  display: flex;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-behavior: smooth;
  scroll-snap-type: x proximity;
  scrollbar-width: none;
  cursor: grab;
}
[data-hscroll-track]::-webkit-scrollbar { display: none; }
[data-hscroll-track].is-dragging {
  cursor: grabbing;
  scroll-behavior: auto;   
  scroll-snap-type: none;
  user-select: none;
}
[data-hscroll-track] img { -webkit-user-drag: none; user-select: none; }
[data-hscroll-prev],
[data-hscroll-next] {
  position: absolute;
  top: var(--hscroll-arrow-top, 50%);
  z-index: 5;
}
[data-hscroll-prev] {
  right: var(--content-pad);
  transform: translate(50%, -50%);
}
[data-hscroll-next] {
  left: var(--content-pad);
  transform: translate(-50%, -50%);
}
.hscroll-bar {
  display: none;
  position: relative;
  height: 6px;
  margin-top: var(--sp-4);
}
.hscroll-bar::before { 
  content: "";
  position: absolute;
  inset-inline: 0;
  top: 50%;
  height: 1px;
  background: var(--gray-100);
}
.hscroll-bar__thumb {
  position: absolute;
  top: 0;
  height: 6px;
  border-radius: 0;
  background: var(--gray-500);
  inset-inline-start: 0;
}
@media (max-width: 767px) {
  [data-hscroll-bar] .hscroll-bar { display: block; }
  [data-hscroll-bar] [data-hscroll-prev],
  [data-hscroll-bar] [data-hscroll-next] { display: none; }
}
.brand {
  background: var(--c-primary-shade);
  color: var(--gray-50);
  text-align: center;
  padding-block: var(--sp-7);
}
.brand__titr {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--sp-4);
}
.brand__line {
  flex: 1 1 auto;
  height: 1px;
  background: var(--c-primary);
  opacity: 0.8;
}
.brand__title {
  flex: 0 0 auto;
  font-family: var(--font-display);
  font-weight: 200;
  font-size: clamp(1.5rem, 3vw, 2.1rem);
  color: var(--c-primary);
  white-space: nowrap;
}
.brand__text {
  max-width: 820px;
  margin: var(--sp-5) auto 0;
  font-size: var(--fs-md);
  line-height: 1.9;
  color: var(--gray-50);
}
.collection {
  --hscroll-arrow-top: 42%;
  --cards-per-view: 3;
}
@media (max-width: 1320px) { .collection { --cards-per-view: 2; } }
@media (max-width: 767px) {
  .collection .collection__track {
    display: flex;
    flex-direction: column;
    overflow-x: visible;
    cursor: default;
  }
  .collection .collection__track > .collection-card {
    flex: none;
    padding: var(--sp-4);
  }
  .collection [data-hscroll-prev],
  .collection [data-hscroll-next] { display: none; }
  .collection .collection-card + .collection-card::before {
    inset-block: 0 auto;
    inset-inline: 0;
    width: auto;
    height: 1px;
  }
}
.collection-card {
  position: relative;
  flex: 0 0 calc(100% / var(--cards-per-view));
  scroll-snap-align: start;
  display: block;
  color: inherit;
  padding: var(--sp-7);
}
.collection-card:hover { color: inherit; opacity: 1; }
.collection-card + .collection-card::before {
  content: "";
  position: absolute;
  inset-block: 0;
  inset-inline-start: 0;
  width: 1px;
  background: var(--gray-100);
}
.collection-card__media {
  position: relative;
  display: block;
  aspect-ratio: 542 / 750;
  overflow: hidden;
  background: var(--gray-50);
}
.collection-card__img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 1;
}
.collection-card__media::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  background: var(--c-primary);
  mix-blend-mode: multiply;
  transform: translateX(-100%);
  transition: transform 0.55s var(--ease);
}
.collection-card__img--hover {
  z-index: 3;
  transform: translateX(-100%);
  transition: transform 0.55s var(--ease) 0.18s; 
}
.collection-card:hover .collection-card__media::after,
.collection-card:hover .collection-card__img--hover { transform: translateX(0); }
.collection-card__name {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-block-start: var(--sp-4);
}
.collection-card__fa { font-size: var(--fs-lg); color: var(--gray-700); }
.collection-card__en { font-size: var(--fs-md); color: var(--gray-700); }
@media (max-width: 767px) {
  .collection .collection-card__fa,
  .collection .collection-card__en { font-size: 1rem; }
}
.cat-hero {
  position: relative;
  width: 100%;
  height: 400px;
  overflow: hidden;
  background: var(--gray-50);
}
.cat-hero__bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  min-height: 100%;
  object-fit: cover;
  object-position: center;
}
.cat-hero__inner {
  position: relative;
  height: 100%;
  max-width: var(--content-max);
  margin-inline: auto;
  padding-inline: var(--content-pad);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  text-align: right;
  padding-inline-start: 42%;
}
.cat-hero__overline {
  font-size: var(--fs-md);
  color: var(--gray-700);
  margin-bottom: var(--sp-4);
  padding-bottom: var(--sp-3);
  border-bottom: 1px solid var(--gray-100); 
}
.cat-hero__title {
  font-family: var(--font-latin-display); 
  direction: ltr;
  font-weight: 300;
  font-size: clamp(2.5rem, 5vw, 5rem);
  line-height: 1.05;
  color: var(--c-primary-shade);
}
@media (max-width: 767px) {
  .cat-hero { height: 320px; }
  .cat-hero__inner {
    align-items: center;
    justify-content: center;
    text-align: center;
    padding-inline: var(--content-pad);
  }
  .cat-hero__overline { border-bottom-color: rgba(255, 255, 255, 0.4); }
  .cat-hero__overline,
  .cat-hero__title { color: var(--gray-0); } 
}
.product-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--sp-6) var(--sp-5);
}
@media (max-width: 1320px) { .product-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 1024px) { .product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 767px)  { .product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--sp-5) var(--sp-4); } }
.shop { padding-block: 0 var(--sp-9); }
.shop__crumbs {
  display: flex;
  align-items: center;
  gap: var(--sp-4);
  padding-block: var(--sp-4);
  border-bottom: 1px solid var(--gray-100);
  font-size: var(--fs-sm);
  color: var(--gray-500);
}
.shop__crumbs .woocommerce-breadcrumb { margin: 0; color: var(--gray-500); }
.shop__crumbs .woocommerce-breadcrumb a { color: var(--gray-500); }
.shop__crumbs .woocommerce-breadcrumb a:hover { color: var(--c-primary-shade); }
.shop__crumb-sep { margin-inline: var(--sp-2); color: var(--gray-100); }
.shop__crumbs .woocommerce-result-count {
  margin: 0 auto 0 0; 
  color: var(--gray-500);
  font-size: var(--fs-sm);
}
.shop__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--sp-6);
  padding-block: var(--sp-5);
  border-bottom: 1px solid var(--gray-100);
  margin-bottom: var(--sp-7);
}
.shop__title { font-size: var(--fs-lg); font-weight: var(--fw-regular); color: var(--gray-700); }
.shop-filters {
  display: flex;
  align-items: center;
  gap: var(--sp-4);
}
.shop-filters__controls {
  display: flex;
  align-items: center;
  gap: var(--sp-3);
}
.shop-filters__field { position: relative; display: inline-flex; }
.shop-filters__select {
  appearance: none;
  -webkit-appearance: none;
  direction: rtl;
  text-align: right;
  font-family: inherit;
  font-size: var(--fs-sm);
  color: var(--gray-700);
  padding-block: var(--sp-2);
  padding-inline: var(--sp-5) var(--sp-7);
  min-width: 108px;
  border: 1px solid var(--gray-100);
  border-radius: 0;
  background: var(--gray-0);
  cursor: pointer;
  transition: border-color var(--dur) var(--ease), color var(--dur) var(--ease);
}
.shop-filters__field::after {
  content: "";
  position: absolute;
  inset-inline-end: var(--sp-4);
  top: 50%;
  width: 8px;
  height: 8px;
  border-right: 1.5px solid var(--gray-500);
  border-bottom: 1.5px solid var(--gray-500);
  transform: translateY(-70%) rotate(45deg);
  pointer-events: none;
}
.shop-filters__field.is-active .shop-filters__select {
  border-color: var(--c-primary-shade);
  color: var(--c-primary-shade);
}
.shop-filters__field.is-active::after { display: none; } 
.shop-filters__clear {
  display: none;
  position: absolute;
  inset-inline-end: var(--sp-3);
  top: 50%;
  transform: translateY(-50%);
  width: 18px;
  height: 18px;
  padding: 0;
  border: none;
  border-radius: 0;
  background: var(--c-primary-shade);
  color: var(--gray-0);
  font-size: 13px;
  line-height: 1;
  cursor: pointer;
  z-index: 2;
}
.shop-filters__field.is-active .shop-filters__clear { display: inline-flex; align-items: center; justify-content: center; }
.shop-filters__toggle {
  display: inline-flex;
  align-items: center;
  gap: var(--sp-3);
  font-size: var(--fs-sm);
  color: var(--gray-700);
  cursor: pointer;
  order: 2; 
}
.shop-filters__toggle input { position: absolute; opacity: 0; pointer-events: none; }
.shop-filters__switch {
  position: relative;
  width: 40px;
  height: 22px;
  border-radius: 0;
  background: var(--gray-100);
  transition: background var(--dur) var(--ease);
  flex: none;
}
.shop-filters__switch::after {
  content: "";
  position: absolute;
  top: 2px;
  inset-inline-start: 2px;
  width: 18px;
  height: 18px;
  border-radius: 0;
  background: var(--gray-0);
  transition: transform var(--dur) var(--ease);
}
.shop-filters__toggle input:checked + .shop-filters__switch { background: var(--c-primary); }
.shop-filters__toggle input:checked + .shop-filters__switch::after { transform: translateX(-18px); } 
.product-grid.is-loading { pointer-events: none; }
.skeleton-card { display: block; }
.skeleton-card__media {
  aspect-ratio: 437 / 600;
  border-radius: 0;
  margin-bottom: var(--sp-4);
}
.skeleton-card__line { height: 0.85em; border-radius: 0; }
.skeleton-card__line--title { width: 60%; margin-bottom: var(--sp-3); }
.skeleton-card__line--price { width: 40%; }
.skeleton-card__media,
.skeleton-card__line {
  background: linear-gradient(
    100deg,
    var(--gray-50) 30%,
    color-mix(in srgb, var(--gray-50) 55%, var(--gray-0)) 50%,
    var(--gray-50) 70%
  );
  background-size: 220% 100%;
  animation: gian-shimmer 1.3s ease-in-out infinite;
}
@keyframes gian-shimmer {
  from { background-position: 100% 0; }  
  to   { background-position: -120% 0; }
}
@media (prefers-reduced-motion: reduce) {
  .skeleton-card__media,
  .skeleton-card__line { animation: none; }
}
.shop__empty { padding-block: var(--sp-8); color: var(--gray-500); text-align: center; }
.shop__more { display: flex; justify-content: center; margin-top: var(--sp-8); }
.shop__more-btn[hidden] { display: none; }
.shop__more-btn svg { width: 18px; height: 18px; max-width: none; }
.shop__more-btn.is-loading { opacity: 0.6; pointer-events: none; }
@media (max-width: 767px) {
  .shop__head {
    flex-direction: column;
    align-items: stretch;
    gap: var(--sp-5);
    padding-block: var(--sp-5);
    margin-bottom: var(--sp-6);
  }
  .shop__title { font-size: var(--fs-md); }
  .shop-filters { flex-wrap: wrap; gap: var(--sp-3); }
  .shop-filters__toggle { flex-basis: 100%; }
  .shop-filters__controls { flex: 1; gap: var(--sp-2); }
  .shop-filters__field { flex: 1; min-width: 0; }
  .shop-filters__select { width: 100%; min-width: 0; padding-inline: var(--sp-3) var(--sp-6); }
  .shop__crumbs { font-size: var(--fs-xs); }
}
.pdp { padding-block: var(--sp-6) var(--sp-9); }
.pdp__crumbs.woocommerce-breadcrumb,
.pdp__crumbs {
  margin-bottom: var(--sp-5);
  padding-bottom: var(--sp-4);
  border-bottom: 1px solid var(--gray-100);
  font-size: var(--fs-sm);
  color: var(--gray-500);
  text-align: start;
}
.pdp__crumbs a { color: var(--gray-500); }
.pdp__crumbs a:hover { color: var(--c-primary-shade); }
.pdp__main {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--sp-6);
  align-items: start;
}
.product-media { display: contents; }
.pdp-dots { display: none; } 
.pdp__summary {
  position: sticky;
  top: calc(64px + var(--sp-5));
  max-height: calc(100vh - 64px - var(--sp-5) * 2);
  overflow-y: auto;
  overscroll-behavior: contain;
  padding-inline-end: var(--sp-2);
  scrollbar-width: thin;
  scrollbar-color: var(--gray-200, #e0e0e0) transparent;
}
.pdp__summary::-webkit-scrollbar { width: 6px; }
.pdp__summary::-webkit-scrollbar-track { background: transparent; }
.pdp__summary::-webkit-scrollbar-thumb { background: var(--gray-200, #e0e0e0); }
@media (max-width: 1024px) {
  .pdp__summary {
    max-height: none;
    overflow: visible;
    padding-inline-end: 0;
  }
}
.product-media__img { width: 100%; height: 100%; object-fit: cover; display: block; }
.product-media__featured {
  position: sticky;
  top: calc(64px + var(--sp-5)); 
  aspect-ratio: 3 / 4;
  overflow: hidden;
  background: var(--gray-50);
  border-radius: 0;
}
.product-media__gallery {
  display: flex;
  flex-direction: column;
  gap: var(--sp-4);
}
.product-media__slide {
  aspect-ratio: 3 / 4;
  overflow: hidden;
  background: var(--gray-50);
  border-radius: 0;
}
.pdp__head { display: flex; align-items: center; justify-content: space-between; gap: var(--sp-4); }
.pdp__title {
  font-size: var(--fs-xl);
  font-weight: var(--fw-regular);
  color: var(--gray-700);
  line-height: var(--lh-tight);
}
.pdp__title-en { display: block; font-size: var(--fs-md); color: var(--c-primary); margin-top: var(--sp-1); }
.pdp__wish {
  flex: 0 0 auto;
  width: 40px; height: 40px;
  display: inline-flex; align-items: center; justify-content: center;
  border: 1px solid var(--gray-100);
  border-radius: 0;
  background: var(--gray-0);
  color: var(--gray-500);
  cursor: pointer;
  transition: color var(--dur) var(--ease), border-color var(--dur) var(--ease);
}
.pdp__wish svg { width: 20px; height: 20px; max-width: none; }
.pdp__wish.is-active,
.pdp__wish:hover { color: var(--c-primary-shade); border-color: var(--c-primary-shade); }
.pdp__wish.is-active svg { fill: currentColor; }
.pdp__subtitle { margin-top: var(--sp-3); color: var(--gray-500); font-size: var(--fs-md); }
.pdp__price {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: var(--sp-3);
  margin-top: var(--sp-5);
  padding-block: var(--sp-4);
  border-block: 1px solid var(--gray-100);
}
.pdp__price .price { display: inline-flex; align-items: baseline; gap: var(--sp-3); }
.pdp__price .price__sale,
.pdp__price .price__current { font-size: var(--fs-lg); font-weight: var(--fw-bold); color: var(--price); }
.pdp__price .price__original { font-size: var(--fs-md); color: var(--text-faint); text-decoration: line-through; }
.pdp__cashback {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 3px 9px;
  border-radius: 0;
  background: rgba(142, 178, 122, 0.18);
  color: var(--c-primary-shade);
  font-size: var(--fs-xs);
  font-weight: var(--fw-medium);
  line-height: 1.7;
  white-space: nowrap;
}
.pdp__cashback svg {
  width: 13px;
  height: 13px;
  max-width: none;
  flex: 0 0 auto;
  opacity: 0.85;
}
.pdp__cashback b { font-weight: var(--fw-bold); }
.pdp__cashback .woocommerce-Price-amount { font-weight: var(--fw-bold); }
@media (max-width: 767px) {
  .pdp__price { justify-content: flex-start; }
  .pdp__cashback { padding: 3px 8px; }
  .pdp__cashback { white-space: normal; }
}
.pdp__lead { margin-top: var(--sp-5); color: var(--gray-700); line-height: var(--lh-base); }
.pdp-acc { margin-top: var(--sp-5); border-top: 1px solid var(--gray-100); }
.pdp-acc__item { border-bottom: 1px solid var(--gray-100); }
.pdp-acc__head {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--sp-4);
  padding-block: var(--sp-4);
  background: none;
  border: none;
  cursor: pointer;
  font-family: inherit;
  font-size: var(--fs-md);
  color: var(--gray-700);
  text-align: start;
}
.pdp-acc__label { display: inline-flex; align-items: center; gap: var(--sp-3); }
.pdp-acc__label svg { width: 20px; height: 20px; max-width: none; color: var(--gray-500); }
.pdp-acc__chevron {
  width: 9px; height: 9px;
  border-right: 1.5px solid var(--gray-500);
  border-bottom: 1.5px solid var(--gray-500);
  transform: rotate(45deg);
  transition: transform var(--dur) var(--ease);
}
.pdp-acc__head[aria-expanded="true"] .pdp-acc__chevron { transform: rotate(-135deg); }
.pdp-acc__panel { overflow: hidden; }
.pdp-acc__body {
  padding-bottom: var(--sp-5);
  color: var(--gray-600);
  font-size: var(--fs-sm);
  line-height: var(--lh-base);
}
.pdp-acc__body a { color: var(--c-primary-shade); text-decoration: underline; }
.pdp-spec { display: flex; flex-direction: column; gap: var(--sp-2); }
.pdp-spec__row { color: var(--gray-700); }
.pdp-spec__k { color: var(--gray-500); }
.pdp-spec__v { color: var(--gray-700); }
.pdp-spec__intro { margin-top: var(--sp-2); }
.pdp-spec__intro .pdp-spec__k { display: block; margin-bottom: var(--sp-1); }
.pdp-spec__desc { color: var(--gray-700); line-height: 2; }
.pdp-spec__desc p { margin: 0 0 var(--sp-4); }
.pdp-spec__desc > :last-child { margin-bottom: 0; }
.pdp-spec__desc :is(h1, h2, h3, h4, h5, h6) {
  color: var(--gray-700);
  font-weight: var(--fw-bold);
  line-height: 1.5;
  margin: var(--sp-6) 0 var(--sp-3);
}
.pdp-spec__desc :is(h1, h2) {
  font-size: var(--fs-md);
  padding-inline-start: var(--sp-3);
  border-inline-start: 3px solid var(--c-primary);
}
.pdp-spec__desc h1 { font-size: calc(var(--fs-md) * 1.1); }
.pdp-spec__desc h3 { font-size: var(--fs-base); color: var(--c-primary-shade); }
.pdp-spec__desc li::marker { color: var(--c-primary); }
.pdp-spec__desc :is(h4, h5, h6) { font-size: var(--fs-sm); }
.pdp-spec__desc > :is(h1, h2, h3, h4, h5, h6):first-child { margin-top: 0; }
.pdp-spec__desc strong { color: var(--gray-700); font-weight: var(--fw-bold); }
.pdp-spec__desc a { color: var(--c-primary-shade); text-decoration: underline; text-underline-offset: 4px; }
.pdp-spec__desc :is(ul, ol) { margin: 0 0 var(--sp-4); padding-inline-start: var(--sp-5); }
.pdp-spec__desc li { margin-bottom: var(--sp-1); }
.pdp-spec__desc ul li { list-style: disc; }
.pdp-spec__desc ol li { list-style: decimal; }
.pdp-spec__desc img { display: block; max-width: 100%; height: auto; margin: var(--sp-4) auto; }
.pdp-spec__desc blockquote {
  margin: var(--sp-5) 0;
  padding: var(--sp-4) var(--sp-5);
  border-inline-start: 3px solid var(--c-primary);
  background: var(--gray-50);
}
.pdp-spec__model { margin: var(--sp-3) 0 0; color: var(--c-error-500); }
.care-guide {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--sp-3);
  padding-top: var(--sp-2);
}
.care-guide__item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--sp-3);
  text-align: center;
  padding: var(--sp-5) var(--sp-2);
  background: var(--gray-50);
  border-radius: 0;
}
.care-guide__icon {
  width: 24px;
  height: auto;
  max-width: none;
  opacity: 0.85;
}
.care-guide__label {
  font-size: var(--fs-xs);
  line-height: var(--lh-tight);
  color: var(--gray-600);
}
.notfound__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  max-width: 560px;
  margin-inline: auto;
  padding-block: var(--sp-6) var(--sp-8);
}
.notfound__code {
  font-size: clamp(72px, 18vw, 132px);
  font-weight: var(--fw-bold);
  line-height: 1;
  color: var(--c-primary);
  margin: 0 0 var(--sp-3);
  letter-spacing: 0.02em;
}
.notfound__title {
  font-size: var(--fs-xl);
  font-weight: var(--fw-regular);
  color: var(--gray-700);
  margin: 0 0 var(--sp-3);
}
.notfound__text {
  color: var(--gray-600);
  line-height: var(--lh-base);
  margin: 0 0 var(--sp-6);
}
.notfound__search {
  display: flex;
  width: 100%;
  max-width: 420px;
  margin: 0 auto var(--sp-5);
  border: 1px solid var(--gray-100);
  border-radius: 0;
  overflow: hidden;
  background: var(--gray-0);
}
.notfound__search-input {
  flex: 1;
  min-width: 0;
  border: 0;
  background: none;
  padding: var(--sp-3) var(--sp-4);
  font: inherit;
  color: var(--gray-700);
}
.notfound__search-input:focus { outline: none; }
.notfound__search-btn {
  flex: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  border: 0;
  background: var(--c-primary-shade);
  color: var(--gray-0);
  cursor: pointer;
}
.notfound__search-btn svg { width: 20px; height: 20px; max-width: none; }
.notfound__actions { display: flex; flex-wrap: wrap; gap: var(--sp-3); justify-content: center; }
.notfound__suggest { margin-top: var(--sp-9); }
.wishlist__head {
  display: flex;
  align-items: baseline;
  gap: var(--sp-3);
  margin-bottom: var(--sp-6);
}
.wishlist__title { font-size: var(--fs-xl); font-weight: var(--fw-regular); color: var(--gray-700); margin: 0; }
.wishlist__count { color: var(--gray-500); font-size: var(--fs-sm); }
.wishlist-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: var(--sp-9) var(--content-pad);
  color: var(--gray-600);
}
.wishlist-empty svg { width: 46px; height: 46px; max-width: none; color: var(--gray-100); margin-bottom: var(--sp-4); }
.wishlist-empty__title { font-size: var(--fs-lg); color: var(--gray-700); margin: 0 0 var(--sp-2); }
.wishlist-empty__hint { margin: 0 0 var(--sp-6); }
.pdp__related { margin-top: var(--sp-9); }
@media (max-width: 767px) {
  .pdp__related { margin-top: var(--sp-5); }
  .pdp__related.section { padding-block-start: 0; }
}
.pdp__summary form.cart { margin-top: var(--sp-5); }
.pdp__summary .variations { width: 100%; margin-bottom: var(--sp-4); border-collapse: collapse; }
.pdp__summary .variations th,
.pdp__summary .variations td { padding-block: var(--sp-2); text-align: start; vertical-align: middle; }
.pdp__summary .variations tr:has(.pdp-color-swatches) .label { vertical-align: top; padding-top: var(--sp-3); }
.pdp__summary .variations .label { color: var(--gray-600); font-size: var(--fs-sm); width: 1%; white-space: nowrap; padding-inline-end: var(--sp-4); }
.pdp__summary .variations select {
  appearance: none; -webkit-appearance: none;
  font-family: inherit; font-size: var(--fs-sm); color: var(--gray-700);
  padding: var(--sp-2) var(--sp-5);
  border: 1px solid var(--gray-100); border-radius: 0;
  background: var(--gray-0); cursor: pointer; min-width: 140px;
}
.woocommerce .pdp__summary button.single_add_to_cart_button.alt {
  width: 100%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--sp-3);
  padding-block: var(--sp-4);
  font-family: inherit;
  font-size: var(--fs-md);
  font-weight: var(--fw-medium);
  color: var(--gray-0);
  background: var(--c-primary-shade);
  border: none;
  border-radius: 0;
  cursor: pointer;
  transition: background var(--dur) var(--ease);
}
.woocommerce .pdp__summary button.single_add_to_cart_button.alt:hover { background: #0a3a3b; }
.woocommerce .pdp__summary button.single_add_to_cart_button.alt.disabled { opacity: 0.5; }
.pdp-cart-icon { display: inline-flex; }
.pdp-cart-icon svg { width: 20px; height: 20px; max-width: none; }
.pdp__summary .woocommerce-variation-add-to-cart,
.pdp__summary form.cart:not(.variations_form) {
  display: flex;
  align-items: stretch;
  gap: var(--sp-3);
}
.woocommerce .pdp__summary button.single_add_to_cart_button.alt { flex: 1 1 auto; }
.pdp__summary .quantity.qty--stepper {
  margin-bottom: 0;
  display: inline-flex;
  align-items: stretch;
  border: 1px solid var(--gray-100);
  border-radius: 0;
  overflow: hidden;
  flex: 0 0 auto;
}
.pdp__summary .qty--stepper .qty-step {
  width: 40px;
  border: none;
  background: var(--gray-0);
  color: var(--gray-700);
  font-size: var(--fs-lg);
  line-height: 1;
  cursor: pointer;
  transition: background var(--dur) var(--ease), color var(--dur) var(--ease);
}
.pdp__summary .qty--stepper .qty-step:hover { background: var(--gray-50); color: var(--c-primary-shade); }
.pdp__summary .qty--stepper input.qty {
  width: 48px;
  padding: var(--sp-3) 0;
  border: none;
  border-inline: 1px solid var(--gray-100);
  border-radius: 0;
  font-family: inherit;
  text-align: center;
  -moz-appearance: textfield;
  appearance: textfield;
}
.pdp__summary .qty--stepper input.qty::-webkit-outer-spin-button,
.pdp__summary .qty--stepper input.qty::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.pdp__summary .quantity:not(.qty--stepper) { margin-bottom: var(--sp-4); }
.pdp__summary .quantity:not(.qty--stepper) input {
  width: 72px; padding: var(--sp-3);
  border: 1px solid var(--gray-100); border-radius: 0;
  font-family: inherit; text-align: center;
}
.pdp__summary .reset_variations { display: none !important; }
.woocommerce .pdp__summary button.single_add_to_cart_button.is-loading {
  position: relative;
  color: transparent;
  pointer-events: none;
}
.single_add_to_cart_button.is-loading::after {
  content: "";
  position: absolute;
  inset: 0;
  margin: auto;
  width: 20px;
  height: 20px;
  border: 2px solid rgba(255, 255, 255, 0.45);
  border-top-color: var(--gray-0);
  border-radius: 50%;              
  animation: gian-spin 0.7s linear infinite;
}
@keyframes gian-spin { to { transform: rotate(360deg); } }
.pdp-cart-hint {
  margin-top: var(--sp-3);
  color: var(--c-danger, #b23b3b);
  font-size: var(--fs-sm);
  opacity: 0;
  transform: translateY(-4px);
  transition: opacity var(--dur) var(--ease), transform var(--dur) var(--ease);
}
.pdp-cart-hint.is-shown { opacity: 1; transform: none; }
.variations select.is-chip-driven { display: none; }
.pdp-size-chips { display: flex; gap: var(--sp-2); flex-wrap: wrap; }
.pdp__summary .variations.has-size-guide,
.pdp__summary .variations.has-size-guide tbody,
.pdp__summary .variations.has-size-guide tr,
.pdp__summary .variations.has-size-guide td { display: block; }
.pdp__summary .variations.has-size-guide .label {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: auto;
  white-space: normal;
  padding: 0 0 var(--sp-3);
}
.pdp__summary .variations.has-size-guide .label .pdp-size-guide { margin: 0; }
.pdp__summary .variations.has-size-guide td { padding: 0; }
.pdp__summary .variations.has-size-guide tr + tr { margin-top: var(--sp-5); }
.pdp-size-chip {
  min-width: 56px;
  padding: var(--sp-3) var(--sp-4);
  font-family: inherit;
  font-size: var(--fs-sm);
  color: var(--gray-700);
  background: var(--gray-0);
  border: 1px solid var(--gray-100);
  border-radius: 0;
  cursor: pointer;
  transition: border-color var(--dur) var(--ease), background-color var(--dur) var(--ease),
    color var(--dur) var(--ease);
}
.pdp-size-chip { display: inline-flex; align-items: center; justify-content: center; gap: var(--sp-2); }
.pdp-size-chip:hover { border-color: var(--c-primary-shade); }
.pdp-size-chip.is-active {
  background: var(--c-primary-shade);
  border-color: var(--c-primary-shade);
  color: var(--gray-0);
  font-weight: var(--fw-medium);
}
.pdp-size-chip.is-unavailable {
  color: var(--gray-400, #9a9a9a);
  background: var(--gray-50);
  border-style: dashed;
  cursor: not-allowed;
  opacity: 0.7;
}
.pdp-size-chip.is-unavailable:hover { border-color: var(--gray-100); }
.pdp-size-chip.is-unavailable > span:first-child { text-decoration: line-through; }
.pdp-size-chip__badge {
  font-size: var(--fs-xs);
  line-height: 1;
  padding: 2px 6px;
  border-radius: 0;
  color: var(--c-danger, #b23b3b);
  background: color-mix(in srgb, var(--c-danger, #b23b3b) 12%, var(--gray-0));
  text-decoration: none;
}
.pdp__summary .woocommerce-variation-price { margin-bottom: var(--sp-4); }
@media (max-width: 1320px) {
  .pdp__main { gap: var(--sp-4); }
  .pdp__title { font-size: var(--fs-lg); }
}
@media (max-width: 1024px) {
  .pdp__main { grid-template-columns: 1fr; gap: var(--sp-6); }
  .product-media {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--sp-4);
    align-items: start;
    max-width: 620px;
    margin-inline: auto;
  }
  .product-media__gallery { display: contents; }
  .product-media__featured { position: static; }
  .pdp__summary { position: static; }
}
@media (max-width: 767px) {
  .pdp { padding-block: 0 var(--sp-8); }
  .pdp__main { display: block; position: relative; }
  .product-media {
    display: flex;
    flex-wrap: nowrap;
    gap: var(--sp-2);
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    position: sticky;
    top: 64px;                                    
    max-width: none;                              
    margin-inline: calc(-1 * var(--content-pad)); 
  }
  .product-media::-webkit-scrollbar { display: none; }
  .product-media__gallery { display: contents; } 
  .product-media__featured,
  .product-media__slide {
    position: static;
    flex: 0 0 87%;                 
    scroll-snap-align: start;
    border-radius: 0;
  }
  .pdp-dots {
    position: sticky;
    inset-inline-start: 0;
    align-self: flex-end;
    z-index: 3;
    flex: 0 0 100%;
    width: 100%;
    margin-inline-end: -100%;
    margin-bottom: calc(var(--sp-5) + var(--sp-4)); 
    display: flex;
    justify-content: center;
    gap: 6px;
    pointer-events: none;
  }
  .pdp-dot {
    width: 6px;
    height: 6px;
    border-radius: 0;
    background: rgba(255, 255, 255, 0.55);
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
    transition: width var(--dur) var(--ease), background var(--dur) var(--ease);
  }
  .pdp-dot.is-active { width: 18px; background: var(--gray-0); }
  .woocommerce .pdp__summary button.single_add_to_cart_button.alt {
    font-size: var(--fs-sm);
    gap: var(--sp-2);
  }
  .pdp__summary {
    position: relative;
    top: 0; 
    z-index: 2;
    margin-top: calc(-1 * var(--sp-5));
    margin-inline: calc(-1 * var(--content-pad));
    padding: var(--sp-6) var(--content-pad) 0;
    background: var(--gray-0);
    border-radius: 0;
    box-shadow: 0 -8px 24px rgba(0, 0, 0, 0.06);
  }
}
.hero {
  position: relative;
  width: 100%;
  overflow: hidden;
  background: var(--gray-50);
  touch-action: pan-y; 
  cursor: grab;
}
.hero__track { -webkit-user-drag: none; user-select: none; }
.hero__viewport { overflow: hidden; }
.hero__track {
  display: flex;
  direction: ltr; 
  transition: transform 0.6s var(--ease);
  will-change: transform;
}
.hero__slide {
  position: relative;
  flex: 0 0 100%;
  direction: rtl; 
  height: clamp(600px, 62vw, 880px);
}
.hero__bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.hero__inner {
  position: relative;
  height: 100%;
  max-width: var(--content-max);
  margin-inline: auto;
  padding-inline: var(--content-pad);
  display: flex;
  align-items: center;
}
.hero__text {
  max-width: 560px;
  margin-inline-start: auto;
  margin-inline-end: var(--sp-7);
  text-align: right;
}
.hero__text { --hero-text: var(--hero-text-d); }
@media (max-width: 767px) {
  .hero__text {
    margin-inline-end: 0;
    --hero-text: var(--hero-text-m, var(--hero-text-d));
  }
}
.hero__overline {
  font-weight: 300;
  font-size: var(--fs-md);
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--hero-text, var(--gray-600));
}
.hero__title {
  font-family: var(--font-display);
  font-weight: 300;
  font-size: clamp(3.5rem, 8vw, 8rem);
  line-height: 1.1;
  color: var(--hero-text, var(--c-primary-shade));
  margin-block: var(--sp-3);
}
.hero__subtitle {
  font-size: var(--fs-md);
  color: var(--hero-text, var(--text));
  line-height: var(--lh-base);
}
.hero__cta { margin-top: var(--sp-5); }
.hero__dots {
  display: none;
  position: absolute;
  inset-inline: 0;
  bottom: var(--sp-6);
  justify-content: center;
  gap: var(--sp-3);
  z-index: 6;
}
.hero__dot {
  width: 9px;
  height: 9px;
  padding: 0;
  border: none;
  border-radius: 0;
  background: rgba(255, 255, 255, 0.55);
  cursor: pointer;
  transition: background var(--dur) var(--ease), transform var(--dur) var(--ease);
}
.hero__dot.is-active { background: var(--gray-0); transform: scale(1.25); }
@media (max-width: 767px) {
  .hero__dots { display: flex; }
  .hero .hero__arrow { display: none; } 
  .hero__inner { align-items: flex-end; }
  .hero .hero__text {
    max-width: none;
    margin-inline: auto;
    padding-bottom: calc(var(--sp-6) + var(--sp-6));
    text-align: center;
  }
  .hero__overline,
  .hero__title,
  .hero__subtitle { color: var(--hero-text, var(--gray-0)); }
  .hero__cta { display: inline-flex; }
}
.hero__arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 48px;
  height: 48px;
  border: none;
  border-radius: 0;
  background: rgba(255, 255, 255, 0.8);
  color: var(--gray-700);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 5;
  box-shadow: var(--shadow-sm);
  transition: background var(--dur) var(--ease);
}
.hero__arrow:hover { background: var(--gray-0); }
.hero__arrow svg { width: 22px; height: 22px; }
.hero__arrow--prev { right: var(--sp-6); } 
.hero__arrow--next { left: var(--sp-6); }  
.story {
  max-width: var(--content-max);
  margin-inline: auto;
  padding-inline-start: var(--content-pad);
  padding-block: calc(var(--sp-7) - 1px);
  display: grid;
  grid-template-columns: 900fr 924fr; 
  gap: var(--sp-7);
  background: var(--gray-0);
  border-block: 1px solid var(--gray-100);
}
.story__media {
  display: flex;
  align-items: center;
}
.story__media img {
  width: 100%;
  height: 100%;
  aspect-ratio: 900 / 683;
  object-fit: cover;
}
.story__text {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: var(--sp-7);
  text-align: right;
}
.story__text::before {
  content: "";
  position: absolute;
  top: calc(-1 * (var(--sp-7) - 1px));
  bottom: calc(-1 * (var(--sp-7) - 1px));
  inset-inline-start: 0;
  width: 1px;
  background: var(--gray-100);
}
.story__title {
  font-weight: var(--fw-regular);
  font-size: 1.875rem; 
  line-height: var(--lh-base); 
  color: var(--gray-700);
  margin: 0;
  padding-block: 0 calc(var(--sp-4) - 2px);
  padding-inline: var(--sp-7);
  border-bottom: 1px solid var(--gray-100);
}
.story__lead {
  font-family: var(--font-base);
  font-weight: var(--fw-bold);
  font-size: clamp(2rem, 4vw, 3rem); 
  line-height: 1.7;
  color: var(--c-primary);
  margin: 0;
  padding-inline: var(--sp-7);
}
.story__body {
  flex: 1; 
  font-size: var(--fs-md);
  line-height: var(--lh-base);
  color: var(--gray-700);
  margin: 0;
  padding-inline: var(--sp-7);
}
.story__actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--sp-5);
  padding-block: var(--sp-7) 0;
  padding-inline: var(--sp-7);
  border-top: 1px solid var(--gray-100);
}
.story__social { display: flex; gap: var(--sp-3); }
.story__social a {
  width: 40px;
  height: 40px;
  border: 1px solid var(--gray-100);
  border-radius: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--gray-500);
  transition: color var(--dur) var(--ease), border-color var(--dur) var(--ease);
}
.story__social a:hover { color: var(--c-primary-shade); border-color: var(--c-primary-shade); opacity: 1; }
.story__social svg { width: 18px; height: 18px; }
@media (max-width: 767px) {
  .story {
    grid-template-columns: 1fr;
    padding-inline: var(--content-pad);
  }
  .story__text::before { content: none; }
  .story__text { gap: var(--sp-5); }   
  .story__lead { font-size: 1.375rem; } 
  .story__title,
  .story__lead,
  .story__body,
  .story__actions { padding-inline: 0; }
}
.journal {
  padding-block: var(--sp-7);
  --hscroll-arrow-top: 36%;
  --cards-per-view: 4;
}
.journal__track { gap: var(--sp-5); }
.journal__track > .journal-card {
  flex: 0 0 calc(
    (100% - (var(--cards-per-view) - 1) * var(--sp-5)) / var(--cards-per-view)
  );
  scroll-snap-align: start;
}
@media (max-width: 1320px) { .journal { --cards-per-view: 3; } }
@media (max-width: 1024px) { .journal { --cards-per-view: 2; } }
@media (max-width: 767px)  { .journal { --cards-per-view: 1; } }
.journal-card {
  display: flex;
  flex-direction: column;
  color: inherit;
}
.journal-card:hover { opacity: 1; }
.journal-card__media {
  display: block;
  aspect-ratio: 438 / 500;
  overflow: hidden;
}
.journal-card__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform var(--dur) var(--ease);
}
.journal-card:hover .journal-card__img { transform: scale(1.04); }
.journal-card__content {
  display: flex;
  flex-direction: column;
  gap: var(--sp-5);
  padding-block: var(--sp-5);
}
.journal-card__info {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--sp-5);
  font-size: var(--fs-base);
  color: var(--gray-600);
}
.journal-card__date { white-space: nowrap; }
.journal-card__cat {
  min-width: 0;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.journal-card__title {
  font-size: var(--fs-md);
  line-height: var(--lh-base);
  color: var(--gray-700);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.page-article.section { padding-block: var(--sp-6) var(--sp-8); }
.page-article__head { margin-bottom: var(--sp-6); }
.page-article__title {
  font-size: var(--fs-xl);
  font-weight: var(--fw-regular);
  color: var(--gray-700);
  line-height: var(--lh-tight);
}
.wp-block-woocommerce-cart { color: var(--gray-700); }
.wc-block-cart { font-family: inherit; }
.wp-block-woocommerce-empty-cart-block { margin-inline: auto; text-align: center; padding-block: var(--sp-6); }
.wc-block-cart__empty-cart__title { font-size: var(--fs-lg); font-weight: var(--fw-bold); color: var(--gray-700); }
.wc-block-cart__empty-cart__title.with-empty-cart-icon::before { color: var(--c-primary-shade); opacity: 0.9; }
.wp-block-woocommerce-empty-cart-block .wp-block-separator.is-style-dots { margin-block: var(--sp-5); color: var(--gray-200, #e0e0e0); }
.wp-block-woocommerce-empty-cart-block > h2:not(.wc-block-cart__empty-cart__title) {
  font-size: var(--fs-md); font-weight: var(--fw-bold); color: var(--gray-700); margin-bottom: var(--sp-5);
}
.wp-block-woocommerce-empty-cart-block .wc-block-grid__products,
.wp-block-woocommerce-empty-cart-block .wp-block-woocommerce-product-new { gap: var(--sp-4); }
.wc-block-cart .wc-block-cart__main { margin-inline-end: 0; }
.wc-block-cart .wc-block-cart__sidebar { }
.wc-block-cart-items { border: none; }
.wc-block-cart-items__header {
  color: var(--gray-500);
  font-size: var(--fs-sm);
  font-weight: var(--fw-regular);
  border-bottom: 1px solid var(--gray-100);
  text-transform: none;
}
.wc-block-cart-items__row {
  border-top: none;
  border-bottom: 1px solid var(--gray-100);
  padding-block: var(--sp-5);
}
.wc-block-cart-items__row td { padding-top: 0; }
table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__image { width: 96px; }
table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__image img {
  width: 96px;
  max-width: none;
  aspect-ratio: 3 / 4;
  object-fit: cover;
  border-radius: 0;
  background: var(--gray-50);
}
.wc-block-cart.is-mobile .wc-block-cart-items__row .wc-block-cart-item__image,
.wc-block-cart.is-small .wc-block-cart-items__row .wc-block-cart-item__image,
.wc-block-cart.is-medium .wc-block-cart-items__row .wc-block-cart-item__image,
.wc-block-cart.is-mobile .wc-block-cart-items__row .wc-block-cart-item__image img,
.wc-block-cart.is-small .wc-block-cart-items__row .wc-block-cart-item__image img,
.wc-block-cart.is-medium .wc-block-cart-items__row .wc-block-cart-item__image img {
  width: 100%;
}
.wc-block-cart.is-mobile .wc-block-cart-items__row .wc-block-cart-item__image,
.wc-block-cart.is-small .wc-block-cart-items__row .wc-block-cart-item__image,
.wc-block-cart.is-medium .wc-block-cart-items__row .wc-block-cart-item__image {
  padding-inline-end: 0 !important;
}
.wc-block-cart.is-mobile .wc-block-cart-items__row .wc-block-cart-item__product,
.wc-block-cart.is-small .wc-block-cart-items__row .wc-block-cart-item__product,
.wc-block-cart.is-medium .wc-block-cart-items__row .wc-block-cart-item__product {
  padding-inline-start: var(--sp-4) !important;
}
.wc-block-cart.is-mobile table.wc-block-cart-items .wc-block-cart-items__row,
.wc-block-cart.is-small table.wc-block-cart-items .wc-block-cart-items__row {
  grid-template-columns: 80px minmax(0, 1fr) auto;
}
.wc-block-cart.is-mobile table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__product,
.wc-block-cart.is-small table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__product {
  grid-column: 2 / 3;
}
.wc-block-cart.is-mobile table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__total,
.wc-block-cart.is-small table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__total {
  grid-column: 3 / 4;
}
.wc-block-checkout__sidebar .wc-block-components-checkout-order-summary__title,
.wc-block-cart__sidebar .wc-block-components-checkout-order-summary__title {
  border-top: 0;
}
.wc-block-cart.is-mobile .wc-block-cart__sidebar,
.wc-block-cart.is-small .wc-block-cart__sidebar,
.wc-block-cart.is-medium .wc-block-cart__sidebar,
.wc-block-checkout.is-mobile .wc-block-checkout__sidebar,
.wc-block-checkout.is-small .wc-block-checkout__sidebar,
.wc-block-checkout.is-medium .wc-block-checkout__sidebar {
  position: static;
  top: auto;
}
.wc-block-cart.is-mobile .wc-block-cart__sidebar,
.wc-block-cart.is-small .wc-block-cart__sidebar,
.wc-block-cart.is-medium .wc-block-cart__sidebar,
.wc-block-checkout.is-mobile .wc-block-checkout__sidebar,
.wc-block-checkout.is-small .wc-block-checkout__sidebar,
.wc-block-checkout.is-medium .wc-block-checkout__sidebar {
  padding: 0 var(--sp-4) var(--sp-4);
}
.wc-block-cart.is-mobile .wc-block-cart-items__row:last-child,
.wc-block-cart.is-small .wc-block-cart-items__row:last-child,
.wc-block-cart.is-medium .wc-block-cart-items__row:last-child {
  border-bottom: 0;
}
.wc-block-cart.is-mobile .wc-block-cart__sidebar,
.wc-block-cart.is-small .wc-block-cart__sidebar,
.wc-block-cart.is-medium .wc-block-cart__sidebar {
  margin-top: var(--sp-5);
}
.wc-block-components-product-name {
  color: var(--gray-700);
  font-size: var(--fs-md);
  font-weight: var(--fw-medium);
  text-decoration: none;
}
.wc-block-components-product-name:hover { color: var(--c-primary-shade); }
.wc-block-cart-item__product .wc-block-components-product-details,
.wc-block-cart-item__product .wc-block-components-product-metadata {
  color: var(--gray-500);
  font-size: var(--fs-sm);
}
.wc-block-components-product-price__value { color: var(--gray-700); font-weight: var(--fw-medium); }
.wc-block-components-product-price__regular { color: var(--text-faint); text-decoration: line-through; }
.wc-block-cart-item__prices { color: var(--gray-700); }
.wc-block-components-sale-badge {
  background: color-mix(in srgb, var(--c-primary-shade) 10%, var(--gray-0));
  color: var(--c-primary-shade);
  border-radius: 0;
  font-size: var(--fs-xs);
}
.wc-block-components-quantity-selector {
  border: 1px solid var(--gray-100);
  border-radius: 0;
  overflow: hidden;
  max-width: 120px;
}
.wc-block-components-quantity-selector__input {
  color: var(--gray-700);
  font-family: inherit;
  font-weight: var(--fw-medium);
}
.wc-block-components-quantity-selector__button {
  color: var(--gray-700);
  transition: background var(--dur) var(--ease), color var(--dur) var(--ease);
}
.wc-block-components-quantity-selector__button:hover {
  background: var(--gray-50);
  color: var(--c-primary-shade);
}
.wc-block-cart-item__remove-link {
  color: var(--gray-500);
  font-size: var(--fs-xs);
  text-decoration: none;
  transition: color var(--dur) var(--ease);
}
.wc-block-cart-item__remove-link:hover { color: var(--c-danger, #b23b3b); }
.wc-block-cart__sidebar {
  background: var(--gray-0);
  border: 1px solid var(--gray-100);
  border-radius: 0;
  padding: var(--sp-6);
  position: sticky;
  top: calc(64px + var(--sp-5));
  align-self: start;
}
.wc-block-cart__totals-title {
  color: var(--gray-700);
  font-weight: var(--fw-bold);
  font-size: var(--fs-md);
}
.wc-block-components-totals-wrapper { border-top-color: var(--gray-100); }
.wp-block-woocommerce-cart-order-summary-heading-block + .wc-block-components-totals-wrapper,
.wc-block-components-checkout-order-summary__content > .wc-block-components-totals-wrapper:first-child,
.wc-block-cart__sidebar .wc-block-components-totals-wrapper:first-child,
.wc-block-checkout__sidebar .wc-block-components-totals-wrapper:first-child {
  border-top: 0;
}
.wc-block-cart__sidebar .wc-block-components-panel__button { color: var(--gray-700); font-family: inherit; }
.wc-block-components-totals-item {
  color: var(--gray-700);
  font-size: var(--fs-base);
}
.wc-block-components-totals-item__label { color: var(--gray-600); }
.wc-block-components-totals-footer-item { font-weight: var(--fw-bold); }
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
  color: var(--price);
  font-weight: var(--fw-bold);
}
.wp-block-woocommerce-cart,
.wp-block-woocommerce-checkout { --wp-admin-theme-color: var(--c-primary-shade); }
.wc-block-components-totals-coupon .wc-block-components-text-input input {
  border: 1px solid var(--gray-100);
  border-radius: 0;
  font-family: inherit;
  color: var(--gray-700);
}
.wc-block-components-totals-coupon .wc-block-components-text-input input:focus {
  border-color: var(--c-primary-shade);
  box-shadow: 0 0 0 1px var(--c-primary-shade);
  outline: none;
}
.wc-block-components-totals-coupon label { font-family: inherit; color: var(--gray-500); font-size: var(--fs-sm); }
.wc-block-components-totals-coupon .wc-block-components-totals-coupon__content { display: flex; align-items: stretch; gap: var(--sp-2); }
.wc-block-components-totals-coupon .wc-block-components-totals-coupon__input { flex: 1 1 auto; margin: 0; }
.wc-block-components-totals-coupon .wc-block-components-totals-coupon__input input {
  height: 44px;
  min-height: 0;
}
.wc-block-components-totals-coupon button.wc-block-components-totals-coupon__button.wp-element-button {
  height: 44px;
  min-height: 0;
  margin: 0;
  padding-block: 0;
  padding-inline: var(--sp-4);
  border-radius: 0;
  font-size: var(--fs-sm);
  font-family: inherit;
  align-self: center;
}
.wc-block-components-button.wp-element-button.contained:disabled {
  background: var(--gray-100);
  color: var(--gray-500);
  opacity: 1;
}
.wc-block-cart__submit-button.wc-block-components-button.contained,
.wc-block-components-button.wp-element-button.contained {
  background: var(--c-primary-shade);
  color: var(--gray-0);
  border-radius: 0;
  font-family: inherit;
  font-weight: var(--fw-medium);
  font-size: var(--fs-md);
  transition: background var(--dur) var(--ease);
}
.wc-block-cart__submit-button.wc-block-components-button.contained:hover,
.wc-block-components-button.wp-element-button.contained:hover {
  background: #0a3a3b;
}
.wc-block-cart__empty-cart__title { color: var(--gray-700); font-weight: var(--fw-medium); }
.is-large.wc-block-cart .wc-block-cart-items__row { padding-block: var(--sp-5); }
.is-gian-toasted { display: none !important; }
.gian-toasts {
  position: fixed;
  bottom: var(--sp-5);
  right: var(--sp-5);
  z-index: 1200;               
  display: flex;
  flex-direction: column-reverse; 
  gap: var(--sp-3);
  width: min(360px, calc(100vw - 2 * var(--sp-5)));
  pointer-events: none;         
}
.gian-toast {
  position: relative;
  display: flex;
  align-items: flex-start;
  gap: var(--sp-3);
  padding: var(--sp-4);
  padding-inline-end: var(--sp-6); 
  background: var(--gray-0);
  border: 1px solid var(--gray-100);
  border-radius: 0;
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.12);
  overflow: hidden;
  pointer-events: auto;
  opacity: 0;
  transform: translateY(12px);
  transition: opacity var(--dur) var(--ease), transform var(--dur) var(--ease);
}
.gian-toast.is-in { opacity: 1; transform: none; }
.gian-toast__icon {
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  border-radius: 0;
}
.gian-toast__icon svg { width: 18px; height: 18px; max-width: none; }
.gian-toast__body {
  flex: 1 1 auto;
  min-width: 0;
}
.gian-toast__msg {
  margin: 0;
  padding-top: 5px;             
  color: var(--gray-700);
  font-size: var(--fs-sm);
  line-height: var(--lh-base);
}
.gian-toast__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--sp-2);
  margin-top: var(--sp-3);
}
.gian-toast__action {
  display: inline-flex;
  align-items: center;
  padding: 6px var(--sp-3);
  font-size: var(--fs-sm);
  line-height: 1.4;
  color: var(--c-primary-shade);
  border: 1px solid var(--gray-100);
  transition: border-color var(--dur) var(--ease), background-color var(--dur) var(--ease),
    color var(--dur) var(--ease);
}
.gian-toast__action:hover { border-color: var(--c-primary-shade); }
.gian-toast__action.is-primary {
  background: var(--c-primary-shade);
  border-color: var(--c-primary-shade);
  color: var(--gray-0);
}
.gian-toast__action.is-primary:hover { opacity: 0.92; }
.gian-toast__close {
  position: absolute;
  top: var(--sp-2);
  inset-inline-end: var(--sp-2);
  width: 24px;
  height: 24px;
  display: grid;
  place-items: center;
  border: none;
  background: none;
  color: var(--gray-500);
  font-size: var(--fs-md);
  line-height: 1;
  cursor: pointer;
}
.gian-toast__close:hover { color: var(--gray-700); }
.gian-toast__bar {
  position: absolute;
  bottom: 0;
  inset-inline-start: 0;
  height: 2px;
  width: 100%;
  transform-origin: 100% 50%;   
  animation: gian-toast-bar 5s linear forwards;
}
@keyframes gian-toast-bar { to { transform: scaleX(0); } }
.gian-toast--success .gian-toast__icon {
  color: var(--c-primary-shade);
  background: color-mix(in srgb, var(--c-primary-shade) 12%, var(--gray-0));
}
.gian-toast--success .gian-toast__bar { background: var(--c-primary-shade); }
.gian-toast--error .gian-toast__icon {
  color: var(--c-danger, #b23b3b);
  background: color-mix(in srgb, var(--c-danger, #b23b3b) 12%, var(--gray-0));
}
.gian-toast--error .gian-toast__bar { background: var(--c-danger, #b23b3b); }
.gian-toast--info .gian-toast__icon {
  color: var(--gray-600);
  background: var(--gray-50);
}
.gian-toast--info .gian-toast__bar { background: var(--gray-300, #bababa); }
.sr-only {
  position: absolute;
  width: 1px; height: 1px;
  margin: -1px; padding: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
  border: 0;
}
.checkout-steps { margin: 0 auto var(--sp-7); max-width: 560px; }
.checkout-steps__list {
  display: flex;
  list-style: none;
  margin: 0;
  padding: 0;
}
.checkout-steps__step {
  flex: 1;
  position: relative;
}
.checkout-steps__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--sp-3);
  text-decoration: none;
  color: inherit;
}
a.checkout-steps__inner { cursor: pointer; }
a.checkout-steps__inner:hover .checkout-steps__dot { border-color: var(--c-primary-shade); }
a.checkout-steps__inner:hover .checkout-steps__label { color: var(--c-primary-shade); }
a.checkout-steps__inner:focus-visible {
  outline: 2px solid var(--c-primary-shade);
  outline-offset: 4px;
}
.checkout-steps__step + .checkout-steps__step::before {
  content: "";
  position: absolute;
  top: 24px;                      
  inset-inline-start: -50%;
  width: 100%;
  height: 2px;
  background: var(--gray-100);
  z-index: 0;
  transition: background var(--dur) var(--ease);
}
.checkout-steps__step.is-done::before,
.checkout-steps__step.is-current::before { background: var(--c-primary-shade); }
.checkout-steps__dot {
  position: relative;
  z-index: 1;
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  border-radius: 0;
  background: var(--gray-0);
  border: 1px dashed var(--gray-100);  
  color: var(--gray-400, #9a9a9a);
  transition: background var(--dur) var(--ease), border-color var(--dur) var(--ease),
              color var(--dur) var(--ease), box-shadow var(--dur) var(--ease);
}
.checkout-steps__dot svg { width: 20px; height: 20px; max-width: none; }
.checkout-steps__label {
  font-size: var(--fs-sm);
  color: var(--gray-500);
  transition: color var(--dur) var(--ease);
}
.checkout-steps__step.is-current .checkout-steps__dot {
  border: 1px solid var(--c-primary-shade);
  color: var(--c-primary-shade);
  box-shadow: 0 0 0 6px color-mix(in srgb, var(--c-primary-shade) 10%, transparent);
}
.checkout-steps__step.is-current .checkout-steps__label {
  color: var(--c-primary-shade);
  font-weight: var(--fw-medium);
}
.checkout-steps__step.is-done .checkout-steps__dot {
  background: var(--c-primary-shade);
  border: 1px solid var(--c-primary-shade);
  color: var(--gray-0);
}
.checkout-steps__step.is-done .checkout-steps__label { color: var(--gray-700); }
@media (max-width: 767px) {
  .checkout-steps { margin-bottom: var(--sp-6); }
  .checkout-steps__dot { width: 40px; height: 40px; }
  .checkout-steps__dot svg { width: 18px; height: 18px; }
  .checkout-steps__step + .checkout-steps__step::before { top: 20px; }
  .checkout-steps__label { font-size: var(--fs-xs); }
}
.wc-block-checkout__main .wc-block-components-checkout-step {
  background: var(--gray-0);
  border: 1px solid var(--gray-100);
  border-radius: 0;
  padding: var(--sp-5);
  margin-bottom: var(--sp-4);
}
.wc-block-components-checkout-step__heading { margin-bottom: var(--sp-2); }
.wc-block-components-checkout-step__title {
  font-size: var(--fs-md);
  font-weight: var(--fw-medium);
  color: var(--gray-700);
}
.wc-block-components-checkout-step__description {
  color: var(--gray-500);
  font-size: var(--fs-sm);
  margin-bottom: var(--sp-4);
}
.wc-block-components-form .wc-block-components-text-input.wc-block-components-text-input input,
.wc-block-components-text-input.wc-block-components-text-input input,
.wp-block-woocommerce-checkout .wc-block-components-combobox input,
.wp-block-woocommerce-checkout .wc-blocks-components-select__select,
.wp-block-woocommerce-checkout select {
  height: 48px;
  border: 1px solid var(--gray-100);
  border-radius: 0;
  font-family: inherit;
  font-size: var(--fs-base);
  color: var(--gray-700);
  background-color: var(--gray-0);
  box-shadow: none;
}
.wc-block-components-form .wc-block-components-text-input.wc-block-components-text-input input:focus,
.wc-block-components-text-input.wc-block-components-text-input input:focus,
.wp-block-woocommerce-checkout .wc-block-components-combobox input:focus,
.wp-block-woocommerce-checkout .wc-blocks-components-select__select:focus,
.wp-block-woocommerce-checkout select:focus {
  border-color: var(--c-primary-shade);
  box-shadow: 0 0 0 1px var(--c-primary-shade);
  outline: none;
}
.wp-block-woocommerce-checkout .wc-block-components-text-input label,
.wp-block-woocommerce-checkout .wc-block-components-combobox label,
.wp-block-woocommerce-checkout .wc-blocks-components-select__label {
  font-family: inherit;
  color: var(--gray-500);
}
.wp-block-woocommerce-checkout .wc-blocks-components-select__container {
  border: none;
  box-shadow: none;
  background: none;
}
.wc-block-components-address-form__address_2-toggle {
  color: var(--c-primary-shade);
  font-size: var(--fs-sm);
  cursor: pointer;
}
.wc-block-components-address-form__address_2-hidden-input {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: -1px;
  padding: 0;
  border: 0 !important;
  overflow: hidden;
  clip: rect(0 0 0 0);
}
.wc-block-components-radio-control__option {
  border-color: var(--gray-100);
  font-size: var(--fs-base);
  color: var(--gray-700);
}
.wp-block-woocommerce-checkout input[type="radio"],
.wp-block-woocommerce-checkout input[type="checkbox"] {
  accent-color: var(--c-primary-shade);
}
.wc-block-components-radio-control__secondary-label { color: var(--gray-500); }
.wc-block-checkout__sidebar .wp-block-woocommerce-checkout-order-summary-block {
  border: none;
  border-radius: 0;
}
.wc-block-checkout__sidebar {
  background: var(--gray-0);
  border: 1px solid var(--gray-100);
  border-radius: 0;
  padding: var(--sp-6);
  position: sticky;
  top: calc(64px + var(--sp-5));
  align-self: start;
}
.wc-block-components-order-summary .wc-block-components-order-summary-item {
  color: var(--gray-700);
}
.wc-block-components-order-summary-item__description { color: var(--gray-500); }
.wc-block-components-order-summary-item__quantity {
  background: var(--c-primary-shade);
  border: none;
  color: var(--gray-0);
}
.wc-block-checkout__actions_row .wc-block-components-checkout-place-order-button {
  border-radius: 0;
  font-size: var(--fs-md);
  font-family: inherit;
  padding-block: var(--sp-4);
}
.wc-block-components-checkout-return-to-cart-button { color: var(--c-primary-shade); }
.wc-block-components-address-form__country { display: none; }
.side-cart { position: fixed; inset: 0; z-index: 1100; }
.side-cart[hidden] { display: none; }
.side-cart__scrim {
  position: absolute;
  inset: 0;
  background: rgba(37, 37, 37, 0.45);
  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(400px, 92vw);
  display: flex;
  flex-direction: column;
  background: var(--gray-0);
  box-shadow: 0 0 48px rgba(0, 0, 0, 0.18);
  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(--gray-100);
}
.side-cart__title {
  display: inline-flex;
  align-items: center;
  gap: var(--sp-2);
  font-size: var(--fs-md);
  font-weight: var(--fw-medium);
  color: var(--gray-700);
}
.side-cart__count {
  min-width: 22px;
  height: 22px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding-inline: 6px;
  background: var(--c-primary-shade);
  color: var(--gray-0);
  border-radius: 0;
  font-size: var(--fs-xs);
}
.side-cart__close {
  width: 36px; height: 36px;
  display: grid; place-items: center;
  border: none; background: none;
  color: var(--gray-500);
  cursor: pointer;
  transition: color var(--dur) var(--ease);
}
.side-cart__close:hover { color: var(--gray-700); }
.side-cart__close svg { 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(--gray-50);
  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: 0;
  background: var(--gray-50);
  display: block;
}
.side-cart__info { flex: 1 1 auto; min-width: 0; }
.side-cart__name {
  display: block;
  color: var(--gray-700);
  font-size: var(--fs-sm);
  font-weight: var(--fw-medium);
  line-height: var(--lh-base);
}
.side-cart__name:hover { color: var(--c-primary-shade); }
.side-cart__meta { display: block; color: var(--gray-500); 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(--gray-100);
  border-radius: 0;
  overflow: hidden;
}
.side-cart__step {
  width: 28px; height: 32px;
  border: none; background: var(--gray-0);
  color: var(--gray-700);
  font-size: var(--fs-base);
  line-height: 1;
  cursor: pointer;
  transition: background var(--dur) var(--ease), color var(--dur) var(--ease);
}
.side-cart__step:hover { background: var(--gray-50); color: var(--c-primary-shade); }
.side-cart__qty-num {
  min-width: 28px;
  text-align: center;
  font-size: var(--fs-sm);
  border-inline: 1px solid var(--gray-100);
  padding-block: 5px;
}
.side-cart__price { color: var(--gray-700); 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(--gray-500); }
.side-cart__remove {
  flex: 0 0 auto;
  width: 32px; height: 32px;
  display: grid; place-items: center;
  border: none; background: none;
  color: var(--gray-400, #9a9a9a);
  cursor: pointer;
  transition: color var(--dur) var(--ease);
}
.side-cart__remove:hover { color: var(--c-danger, #b23b3b); }
.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(--gray-100);
  border-top-color: var(--c-primary-shade);
  border-radius: 50%;              
  animation: gian-spin 0.7s linear infinite;
}
.side-cart__empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--sp-5);
  padding-block: var(--sp-8);
  color: var(--gray-500);
}
.side-cart__foot {
  border-top: 1px solid var(--gray-100);
  padding: var(--sp-5);
  background: var(--gray-0);
}
.side-cart__subtotal {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: var(--sp-4);
  color: var(--gray-700);
  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: 0;
  white-space: nowrap;
  transition: background var(--dur) var(--ease), border-color var(--dur) var(--ease);
}
.side-cart__btn--solid { background: var(--c-primary-shade); color: var(--gray-0) !important; border: 1px solid var(--c-primary-shade); }
.side-cart__btn--solid:hover { background: #0a3a3b; }
.side-cart__btn--ghost { background: var(--gray-0); color: var(--c-primary-shade); border: 1px solid color-mix(in srgb, var(--c-primary-shade) 40%, var(--gray-0)); }
.side-cart__btn--ghost:hover { border-color: var(--c-primary-shade); }
@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(--gray-100);
    border-radius: 0;
  }
  .side-cart__head { padding-block: var(--sp-3) var(--sp-4); border-bottom-color: var(--gray-50); }
}
.journal-archive.section { padding-block: var(--sp-6) var(--sp-8); }
.journal-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--sp-7) var(--sp-5);
  margin-top: var(--sp-6);
}
@media (max-width: 1320px) { .journal-grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 1024px) { .journal-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 767px)  { .journal-grid { grid-template-columns: 1fr; gap: var(--sp-6); } }
.journal-archive__empty { color: var(--gray-500); padding-block: var(--sp-8); text-align: center; }
.journal-archive .navigation.pagination { margin-top: var(--sp-8); }
.journal-archive .nav-links {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: var(--sp-2);
}
.journal-archive .page-numbers {
  min-width: 40px; height: 40px;
  display: inline-flex; align-items: center; justify-content: center;
  padding-inline: var(--sp-2);
  border: 1px solid var(--gray-100);
  border-radius: 0;
  color: var(--gray-700);
  font-size: var(--fs-sm);
  transition: border-color var(--dur) var(--ease), color var(--dur) var(--ease),
              background var(--dur) var(--ease);
}
.journal-archive .page-numbers:hover { border-color: var(--c-primary-shade); color: var(--c-primary-shade); }
.journal-archive .page-numbers.current {
  background: var(--c-primary-shade);
  border-color: var(--c-primary-shade);
  color: var(--gray-0);
}
.journal-archive .page-numbers.dots { border: none; }
.journal-archive .page-numbers svg { width: 18px; height: 18px; max-width: none; }
.article__wrap { max-width: calc(1180px + 2 * var(--content-pad)); }
.article__wrap.section { padding-block: var(--sp-6) var(--sp-7); }
.article__head,
.article__hero { max-width: 820px; margin-inline: auto; }
.article__layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 300px;
  gap: var(--sp-7);
  align-items: start;
  direction: rtl;
}
.article__main { min-width: 0; grid-column: 1; }
.article-side { grid-column: 2; }
@media (max-width: 1024px) {
  .article__layout { grid-template-columns: 1fr; }
}
.article__head { text-align: center; margin-bottom: var(--sp-6); }
.article__meta {
  display: inline-flex;
  align-items: center;
  gap: var(--sp-3);
  color: var(--gray-500);
  font-size: var(--fs-sm);
  margin-bottom: var(--sp-4);
}
.article__cat { color: var(--c-primary-shade); }
.article__cat:hover { text-decoration: underline; text-underline-offset: 4px; }
.article__meta-sep { color: var(--gray-300, #bababa); }
.article__title {
  font-size: var(--fs-xl);
  font-weight: var(--fw-medium);
  color: var(--gray-700);
  line-height: var(--lh-tight);
}
.article__hero { margin-bottom: var(--sp-7); }
.article__hero-img {
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  border-radius: 0;
  background: var(--gray-50);
}
.article__prose {
  color: var(--gray-700);
  font-size: var(--fs-md);
  line-height: 1.9;
  text-align: justify;
  text-justify: inter-word;
}
.article__prose p { margin-bottom: var(--sp-5); }
.article__prose :is(h1, h2, h3, h4, h5, h6) {
  color: var(--gray-700);
  font-weight: var(--fw-bold);
  margin-block: var(--sp-7) var(--sp-4);
  line-height: var(--lh-tight);
}
.article__prose :is(h1, h2) {
  font-size: var(--fs-md);
  padding-inline-start: var(--sp-3);
  border-inline-start: 3px solid var(--c-primary);
}
.article__prose h1 { font-size: calc(var(--fs-md) * 1.1); }
.article__prose h3 { font-size: var(--fs-base); color: var(--c-primary-shade); }
.article__prose li::marker { color: var(--c-primary); }
.article__prose :is(h4, h5, h6) { font-size: var(--fs-sm); }
.article__prose strong { color: var(--gray-700); }
.article__prose img {
  display: block;
  margin-inline: auto;
  margin-block: var(--sp-6);
  border-radius: 0;
  max-width: 100%;
  height: auto;
}
.article__prose figure { margin: var(--sp-6) 0; text-align: center; }
.article__prose figcaption {
  margin-top: var(--sp-2);
  font-size: var(--fs-sm);
  color: var(--gray-500);
  text-align: center;
}
.article__prose a { color: var(--c-primary-shade); text-decoration: underline; text-underline-offset: 4px; }
.article__prose ul,
.article__prose ol { margin: 0 0 var(--sp-5); padding-inline-start: var(--sp-6); }
.article__prose li { margin-bottom: var(--sp-2); list-style: inherit; }
.article__prose ul li { list-style: disc; }
.article__prose ol li { list-style: decimal; }
.article__prose blockquote {
  margin-block: var(--sp-6);
  padding: var(--sp-5) var(--sp-6);
  border-inline-start: 3px solid var(--c-primary);
  background: var(--gray-50);
  border-radius: 0;
  color: var(--gray-600);
}
.article__prose blockquote p:last-child { margin-bottom: 0; }
.article__related.section { padding-block-start: 0; }
@media (max-width: 767px) {
  .article__title { font-size: var(--fs-lg); }
  .article__prose { font-size: var(--fs-base); }
}
.article__crumbs { margin-bottom: var(--sp-6); }
.article__crumb-current { color: var(--gray-700); }
.article__foot {
  margin-top: var(--sp-7);
  padding-top: var(--sp-6);
  border-top: 1px solid var(--gray-100);
  display: flex;
  flex-direction: column;
  gap: var(--sp-6);
}
.share { display: flex; align-items: center; gap: var(--sp-3); }
.share__label { color: var(--gray-500); font-size: var(--fs-sm); margin-inline-end: var(--sp-2); }
.share__btn {
  width: 40px; height: 40px;
  display: inline-flex; align-items: center; justify-content: center;
  border: 1px solid var(--gray-100);
  border-radius: 0;
  color: var(--gray-600);
  transition: color var(--dur) var(--ease), border-color var(--dur) var(--ease),
              background var(--dur) var(--ease);
}
.share__btn:hover {
  color: var(--c-primary-shade);
  border-color: var(--c-primary-shade);
  background: color-mix(in srgb, var(--c-primary-shade) 6%, var(--gray-0));
}
.share__btn svg { width: 18px; height: 18px; max-width: none; }
.author-box {
  display: flex;
  align-items: flex-start;
  gap: var(--sp-5);
  padding: var(--sp-5);
  background: var(--gray-50);
  border: 1px solid var(--gray-100);
  border-radius: 0;
}
.author-box__avatar { flex: 0 0 auto; }
.author-box__img {
  width: 72px; height: 72px;
  border-radius: 0;
  object-fit: cover;
  display: block;
  background: var(--gray-100);
}
.author-box__eyebrow { display: block; color: var(--gray-500); font-size: var(--fs-xs); margin-bottom: var(--sp-1); }
.author-box__name {
  display: inline-block;
  color: var(--gray-700);
  font-size: var(--fs-md);
  font-weight: var(--fw-bold);
  margin-bottom: var(--sp-2);
}
.author-box__name:hover { color: var(--c-primary-shade); }
.author-box__bio { color: var(--gray-600); font-size: var(--fs-sm); line-height: var(--lh-base); margin-bottom: var(--sp-3); }
.author-box__all {
  display: inline-flex;
  align-items: center;
  gap: var(--sp-2);
  color: var(--c-primary-shade);
  font-size: var(--fs-sm);
}
.author-box__all svg { width: 16px; height: 16px; max-width: none; }
.author-box__all:hover { text-decoration: underline; text-underline-offset: 4px; }
@media (max-width: 767px) {
  .author-box { flex-direction: column; align-items: center; text-align: center; }
}
.article-side {
  position: sticky;
  top: calc(64px + var(--sp-4));
  display: flex;
  flex-direction: column;
  gap: var(--sp-5);
  align-self: start;
}
.side-widget {
  border: 1px solid var(--gray-100);
  border-radius: 0;
  padding: var(--sp-5);
  background: var(--gray-0, #fff);
}
.side-widget__title {
  font-size: var(--fs-sm);
  font-weight: var(--fw-bold);
  color: var(--gray-700);
  margin-bottom: var(--sp-4);
  padding-bottom: var(--sp-3);
  border-bottom: 1px solid var(--gray-100);
}
.side-toc__list { list-style: none; margin: 0; padding: 0; }
.side-toc__item { line-height: var(--lh-base); }
.side-toc__item--h3 { padding-inline-start: var(--sp-4); }
.side-toc__link {
  display: block;
  padding: var(--sp-2) 0 var(--sp-2) 0;
  padding-inline-start: var(--sp-3);
  border-inline-start: 2px solid var(--gray-100);
  color: var(--gray-500);
  font-size: var(--fs-sm);
  line-height: 1.7;
  transition: color var(--dur) var(--ease), border-color var(--dur) var(--ease);
}
.side-toc__link:hover { color: var(--c-primary-shade); }
.side-toc__link.is-active {
  color: var(--c-primary-shade);
  border-inline-start-color: var(--c-primary-shade);
  font-weight: var(--fw-medium);
}
.side-recent__list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: var(--sp-4); }
.side-recent__link { display: flex; gap: var(--sp-3); align-items: center; }
.side-recent__thumb {
  flex: 0 0 auto;
  width: 60px; height: 60px;
  border-radius: 0;
  overflow: hidden;
  background: var(--gray-50);
}
.side-recent__thumb img { width: 100%; height: 100%; object-fit: cover; }
.side-recent__body { min-width: 0; display: flex; flex-direction: column; gap: var(--sp-1); }
.side-recent__ttl {
  color: var(--gray-700);
  font-size: var(--fs-sm);
  line-height: 1.6;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  transition: color var(--dur) var(--ease);
}
.side-recent__link:hover .side-recent__ttl { color: var(--c-primary-shade); }
.side-recent__date { color: var(--gray-400, #bababa); font-size: var(--fs-xs); }
.side-cats__list { list-style: none; margin: 0; padding: 0; }
.side-cats__link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--sp-3);
  padding: var(--sp-2) 0;
  color: var(--gray-600);
  font-size: var(--fs-sm);
  border-bottom: 1px solid var(--gray-100);
  transition: color var(--dur) var(--ease);
}
.side-cats__list li:last-child .side-cats__link { border-bottom: 0; }
.side-cats__link:hover { color: var(--c-primary-shade); }
.side-cats__count {
  flex: 0 0 auto;
  min-width: 24px;
  text-align: center;
  padding: 2px var(--sp-2);
  border-radius: 0;
  background: var(--gray-50);
  color: var(--gray-500);
  font-size: var(--fs-xs);
}
.side-cta {
  background: var(--c-primary-shade);
  border: 0;
  color: var(--gray-0, #fff);
  text-align: center;
}
.side-cta__title { font-size: var(--fs-md); font-weight: var(--fw-bold); margin-bottom: var(--sp-2); }
.side-cta__text { font-size: var(--fs-sm); line-height: 1.8; color: rgb(255 255 255 / 0.8); margin-bottom: var(--sp-4); }
.side-cta__btn { width: 100%; justify-content: center; }
@media (max-width: 1024px) {
  .article-side {
    position: static;
    margin-top: var(--sp-7);
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--sp-5);
  }
  .side-toc { grid-column: 1 / -1; }
}
@media (max-width: 767px) {
  .article-side { grid-template-columns: 1fr; }
}
.contact__head { text-align: center; max-width: 640px; margin: 0 auto var(--sp-8); }
.contact__eyebrow {
  display: inline-block;
  color: var(--c-primary-shade);
  font-size: var(--fs-xs);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  margin-bottom: var(--sp-3);
}
.contact__title { font-size: var(--fs-xl); font-weight: var(--fw-medium); color: var(--gray-700); line-height: var(--lh-tight); }
.contact__lead { margin-top: var(--sp-4); color: var(--gray-500); font-size: var(--fs-md); line-height: 1.9; }
.contact__intro { max-width: 720px; margin: 0 auto var(--sp-7); color: var(--gray-600); line-height: 1.9; }
.contact__grid {
  display: grid;
  grid-template-columns: 340px minmax(0, 1fr);
  gap: var(--sp-7);
  align-items: start;
  max-width: 1060px;
  margin-inline: auto;
}
@media (max-width: 900px) {
  .contact__grid { grid-template-columns: 1fr; }
}
.contact-cards { list-style: none; margin: 0 0 var(--sp-6); padding: 0; display: flex; flex-direction: column; gap: var(--sp-4); }
.contact-card {
  display: flex;
  align-items: flex-start;
  gap: var(--sp-4);
  padding: var(--sp-4);
  border: 1px solid var(--gray-100);
  border-radius: 0;
  transition: border-color var(--dur) var(--ease), box-shadow var(--dur) var(--ease);
}
.contact-card:hover { border-color: var(--gray-200, #e0e0e0); box-shadow: 0 6px 20px rgb(16 40 48 / 0.05); }
.contact-card__icon {
  flex: 0 0 auto;
  width: 44px; height: 44px;
  display: grid; place-items: center;
  border-radius: 0;
  background: color-mix(in srgb, var(--c-primary-shade) 8%, transparent);
  color: var(--c-primary-shade);
}
.contact-card__icon svg { width: 20px; height: 20px; max-width: none; }
.contact-card__body { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.contact-card__label { color: var(--gray-500); font-size: var(--fs-xs); }
.contact-card__value { color: var(--gray-700); font-size: var(--fs-sm); line-height: 1.7; word-break: break-word; }
a.contact-card__value:hover { color: var(--c-primary-shade); }
.contact__social-label { display: block; color: var(--gray-500); font-size: var(--fs-sm); margin-bottom: var(--sp-3); }
.contact__social-row { display: flex; gap: var(--sp-3); }
.contact__social-btn {
  width: 44px; height: 44px;
  display: inline-flex; align-items: center; justify-content: center;
  border: 1px solid var(--gray-100);
  border-radius: 0;
  color: var(--gray-600);
  transition: color var(--dur) var(--ease), border-color var(--dur) var(--ease), background var(--dur) var(--ease);
}
.contact__social-btn svg { width: 20px; height: 20px; max-width: none; }
.contact__social-btn:hover { color: var(--gray-0, #fff); background: var(--c-primary-shade); border-color: var(--c-primary-shade); }
.contact__form-wrap {
  border: 1px solid var(--gray-100);
  border-radius: 0;
  padding: var(--sp-6);
  background: var(--gray-0, #fff);
}
.contact-form__row { display: grid; grid-template-columns: 1fr 1fr; gap: var(--sp-4); margin-bottom: var(--sp-4); }
.contact-form > .contact-form__field { display: block; margin-bottom: var(--sp-4); }
.contact-form__field { display: flex; flex-direction: column; gap: var(--sp-2); }
.contact-form__label { color: var(--gray-600); font-size: var(--fs-sm); }
.contact-form__label b { color: var(--c-error, #c0392b); font-weight: inherit; }
.contact-form input,
.contact-form textarea {
  width: 100%;
  border: 1px solid var(--gray-100);
  border-radius: 0;
  padding: 0 var(--sp-3);
  height: 48px;
  font: inherit;
  font-size: var(--fs-sm);
  color: var(--gray-700);
  background: var(--gray-0, #fff);
  transition: border-color var(--dur) var(--ease), box-shadow var(--dur) var(--ease);
}
.contact-form textarea { height: auto; padding: var(--sp-3); line-height: 1.8; resize: vertical; }
.contact-form input:focus,
.contact-form textarea:focus {
  outline: none;
  border-color: var(--c-primary-shade);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--c-primary-shade) 10%, transparent);
}
.contact-form__hp {
  position: absolute;
  width: 1px; height: 1px;
  padding: 0; margin: -1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}
.contact-form__submit {
  position: relative;
  margin-top: var(--sp-2);
  min-width: 180px;
}
.contact-form__submit.is-loading { color: transparent; pointer-events: none; }
.contact-form__submit.is-loading::after {
  content: "";
  position: absolute; inset: 0; margin: auto;
  width: 18px; height: 18px;
  border: 2px solid rgb(255 255 255 / 0.4);
  border-top-color: #fff;
  border-radius: 50%;              
  animation: gian-btn-spin 0.65s linear infinite;
}
@keyframes gian-btn-spin { to { transform: rotate(360deg); } }
.contact-form__note { margin-top: var(--sp-3); color: var(--gray-400, #bababa); font-size: var(--fs-xs); }
@media (max-width: 480px) {
  .contact-form__row { grid-template-columns: 1fr; }
}
.contact__map {
  margin: var(--sp-8) auto 0;
  max-width: 1060px;
  border-radius: 0;
  overflow: hidden;
}
.contact__map iframe,
.contact__map-el {
  display: block;
  width: 100%;
  height: 380px;
  border: 0;
}
.contact__map iframe {
  filter: grayscale(1) contrast(0.9);
  transition: filter var(--dur) var(--ease);
}
.contact__map:hover iframe { filter: none; }
.faq__inner { max-width: 800px; }
.faq__head { text-align: center; margin-bottom: var(--sp-8); }
.faq__eyebrow {
  display: inline-block;
  color: var(--c-primary-shade);
  font-size: var(--fs-xs);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  margin-bottom: var(--sp-3);
}
.faq__title { font-size: var(--fs-xl); font-weight: var(--fw-medium); color: var(--gray-700); line-height: var(--lh-tight); }
.faq__lead { max-width: 560px; margin: var(--sp-4) auto 0; color: var(--gray-500); font-size: var(--fs-md); line-height: 1.9; }
.faq__intro { margin-bottom: var(--sp-7); color: var(--gray-600); line-height: 1.9; }
.faq-group { margin-bottom: var(--sp-7); }
.faq-group__title {
  font-size: var(--fs-md);
  font-weight: var(--fw-bold);
  color: var(--gray-700);
  margin-bottom: var(--sp-4);
  padding-inline-start: var(--sp-3);
  border-inline-start: 3px solid var(--c-primary);
}
.faq-acc { border-top: 1px solid var(--gray-100); }
.faq-acc__item { border-bottom: 1px solid var(--gray-100); }
.faq-acc__head {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--sp-4);
  padding: var(--sp-4) var(--sp-2);
  background: none;
  border: 0;
  cursor: pointer;
  text-align: start;
  font: inherit;
  color: var(--gray-700);
  transition: color var(--dur) var(--ease);
}
.faq-acc__head:hover { color: var(--c-primary-shade); }
.faq-acc__q { font-size: var(--fs-base); font-weight: var(--fw-medium); line-height: 1.7; }
.faq-acc__chevron {
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  width: 28px; height: 28px;
  color: var(--gray-400, #bababa);
  transition: transform var(--dur) var(--ease), color var(--dur) var(--ease);
}
.faq-acc__chevron svg { width: 18px; height: 18px; max-width: none; }
.faq-acc__head[aria-expanded="true"] { color: var(--c-primary-shade); }
.faq-acc__head[aria-expanded="true"] .faq-acc__chevron { transform: rotate(180deg); color: var(--c-primary-shade); }
.faq-acc__panel { overflow: hidden; }
.faq-acc__panel[hidden] { display: none; }
.faq-acc__a {
  padding: 0 var(--sp-2) var(--sp-5);
  color: var(--gray-600);
  font-size: var(--fs-sm);
  line-height: 2;
  animation: faq-reveal var(--dur) var(--ease) both;
}
@keyframes faq-reveal {
  from { opacity: 0; transform: translateY(-6px); }
  to   { opacity: 1; transform: none; }
}
.faq__cta {
  margin-top: var(--sp-8);
  padding: var(--sp-7);
  text-align: center;
  background: var(--gray-50);
  border-radius: 0;
}
.faq__cta-text { color: var(--gray-600); font-size: var(--fs-md); margin-bottom: var(--sp-4); }
.account {
  display: grid;
  grid-template-columns: 260px minmax(0, 1fr);
  gap: var(--sp-6);
  align-items: start;
  max-width: 1200px;
  margin-inline: auto;
}
.account .woocommerce-MyAccount-navigation,
.account .woocommerce-MyAccount-content {
  float: none;
  width: auto;
  margin: 0;
}
.account__sidebar {
  border: 1px solid var(--gray-100);
  border-radius: 0;
  overflow: hidden;
  position: sticky;
  top: calc(64px + var(--sp-4));
  background: var(--gray-0, #fff);
}
.account-card__user {
  display: flex;
  align-items: center;
  gap: var(--sp-3);
  padding: var(--sp-5);
  border-bottom: 1px solid var(--gray-100);
  background: linear-gradient(160deg, color-mix(in srgb, var(--c-primary-shade) 6%, transparent), transparent);
}
.account-card__avatar {
  flex: 0 0 auto;
  width: 48px; height: 48px;
  display: grid; place-items: center;
  border-radius: 0;
  background: linear-gradient(135deg, var(--c-primary-shade), var(--c-primary));
  color: #fff;
  font-size: var(--fs-lg);
  font-weight: var(--fw-bold);
}
.account-card__meta { min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.account-card__name { color: var(--gray-700); font-size: var(--fs-sm); font-weight: var(--fw-bold); }
.account-card__sub { color: var(--gray-500); font-size: var(--fs-xs); overflow: hidden; text-overflow: ellipsis; }
.account-nav { list-style: none; margin: 0; padding: var(--sp-2); }
.account-nav__item { margin-bottom: 2px; }
.account-nav__item a {
  display: flex;
  align-items: center;
  gap: var(--sp-3);
  padding: var(--sp-3) var(--sp-3);
  border-radius: 0;
  color: var(--gray-600);
  font-size: var(--fs-sm);
  transition: background var(--dur) var(--ease), color var(--dur) var(--ease);
}
.account-nav__icon { display: grid; place-items: center; }
.account-nav__icon svg { width: 18px; height: 18px; max-width: none; opacity: 0.8; }
.account-nav__item a:hover { background: var(--gray-50); color: var(--c-primary-shade); }
.account-nav__item.is-active a {
  background: color-mix(in srgb, var(--c-primary-shade) 10%, transparent);
  color: var(--c-primary-shade);
  font-weight: var(--fw-medium);
}
.account-nav__item.is-active .account-nav__icon svg { opacity: 1; }
.account-nav__item--logout { margin-top: var(--sp-2); padding-top: var(--sp-2); border-top: 1px solid var(--gray-100); }
.account-nav__item--logout a { color: var(--c-error-500, #f44336); }
.account-nav__item--logout a:hover { background: color-mix(in srgb, var(--c-error-500, #f44336) 8%, transparent); color: var(--c-error-500, #f44336); }
.account__content {
  border: 1px solid var(--gray-100);
  border-radius: 0;
  padding: var(--sp-6);
  background: var(--gray-0, #fff);
  min-width: 0;
}
.account-dash__welcome { margin-bottom: var(--sp-5); }
.account-dash__hi { font-size: var(--fs-lg); font-weight: var(--fw-bold); color: var(--gray-700); }
.account-dash__sub { margin-top: var(--sp-2); color: var(--gray-500); font-size: var(--fs-sm); }
.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);
  min-width: 0;
  padding: var(--sp-4);
  border: 1px solid var(--gray-100);
  border-radius: 0;
  transition: transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease);
}
.account-stat__value { overflow-wrap: anywhere; }
.account-stat:hover { transform: translateY(-3px); box-shadow: 0 8px 24px rgb(16 40 48 / 0.06); }
.account-stat__icon {
  flex: 0 0 auto;
  width: 42px; height: 42px;
  display: grid; place-items: center;
  border-radius: 0;
}
.account-stat__icon svg { width: 20px; height: 20px; max-width: none; }
.account-stat__icon--green { background: color-mix(in srgb, var(--c-primary) 16%, transparent); color: #3d6428; }
.account-stat__icon--teal  { background: color-mix(in srgb, var(--c-primary-shade) 12%, transparent); color: var(--c-primary-shade); }
.account-stat__icon--gold  { background: color-mix(in srgb, var(--c-accent-shade) 24%, transparent); color: #8a6d1a; }
.account-stat__icon--orange{ background: color-mix(in srgb, var(--c-accent) 14%, transparent); color: var(--c-accent); }
.account-stat__body { min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.account-stat__label { color: var(--gray-500); font-size: var(--fs-xs); }
.account-stat__value { color: var(--gray-700); font-size: var(--fs-md); font-weight: var(--fw-bold); }
.account-stat__value--price .amount { font-weight: var(--fw-bold); }
.account-dash__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--sp-4);
  margin-top: var(--sp-4);
}
.account-panel {
  border: 1px solid var(--gray-100);
  border-radius: 0;
  padding: var(--sp-5);
}
.account-panel__head { display: flex; align-items: center; justify-content: space-between; margin-bottom: var(--sp-4); }
.account-panel__title { font-size: var(--fs-sm); font-weight: var(--fw-bold); color: var(--gray-700); }
.account-panel__head .account-panel__title { margin: 0; }
.account-panel__all { color: var(--c-primary-shade); font-size: var(--fs-sm); }
.account-panel__all:hover { text-decoration: underline; text-underline-offset: 4px; }
.account-chart {
  display: flex;
  align-items: flex-end;
  gap: var(--sp-3);
  height: 150px;
  padding-top: var(--sp-3);
}
.account-chart__col { flex: 1 1 0; display: flex; flex-direction: column; align-items: center; gap: var(--sp-2); height: 100%; justify-content: flex-end; }
.account-chart__bar {
  width: 100%;
  max-width: 32px;
  border-radius: 0;
  background: linear-gradient(180deg, var(--c-primary), var(--c-primary-shade));
  transition: height 0.6s var(--ease), opacity var(--dur) var(--ease);
  opacity: 0.85;
}
.account-chart__col:hover .account-chart__bar { opacity: 1; }
.account-chart__label { color: var(--gray-500); font-size: var(--fs-xs); }
.account-orders { list-style: none; margin: 0; padding: 0; }
.account-order {
  display: grid;
  grid-template-columns: auto 1fr auto auto auto;
  align-items: center;
  gap: var(--sp-3);
  padding: var(--sp-3) 0;
  border-bottom: 1px solid var(--gray-100);
}
.account-order:last-child { border-bottom: 0; }
.account-order__num { color: var(--gray-700); font-weight: var(--fw-bold); font-size: var(--fs-sm); }
.account-order__date { color: var(--gray-500); font-size: var(--fs-xs); }
.account-order__badge { padding: 3px 10px; border-radius: 0; font-size: var(--fs-xs); white-space: nowrap; }
.account-order__badge.is-ok   { background: color-mix(in srgb, var(--c-primary) 18%, transparent); color: #3d6428; }
.account-order__badge.is-info { background: color-mix(in srgb, var(--c-primary-shade) 12%, transparent); color: var(--c-primary-shade); }
.account-order__badge.is-warn { background: color-mix(in srgb, var(--c-accent-shade) 30%, transparent); color: #8a6d1a; }
.account-order__badge.is-bad  { background: color-mix(in srgb, var(--c-error-500, #f44336) 12%, transparent); color: var(--c-error-800, #69120b); }
.account-order__total { color: var(--gray-700); font-size: var(--fs-sm); white-space: nowrap; }
.account-order__view {
  display: grid; place-items: center;
  width: 30px; height: 30px;
  border-radius: 0;
  color: var(--gray-500);
  transition: background var(--dur) var(--ease), color var(--dur) var(--ease);
}
.account-order__view svg { width: 16px; height: 16px; max-width: none; }
.account-order__view:hover { background: var(--c-primary-shade); color: #fff; }
.account-empty { color: var(--gray-500); font-size: var(--fs-sm); padding: var(--sp-4) 0; }
.wp-block-woocommerce-empty-cart-block > .wp-block-heading,
.wp-block-woocommerce-empty-cart-block > .wp-block-separator {
  max-width: 620px;
  margin-inline: auto;
}
.gian-block-products { margin-top: var(--sp-6); }
.woocommerce-cart .page-article,
.woocommerce-checkout .page-article {
  max-width: 1440px;
  margin-inline: auto;
}
@media (min-width: 783px) {
  .woocommerce-cart .wc-block-components-sidebar-layout .wc-block-components-main,
  .woocommerce-checkout .wc-block-components-sidebar-layout .wc-block-components-main {
    padding-inline-end: var(--sp-5);
  }
}
.gian-combo-native { display: none !important; }
.gian-locked input { background: var(--gray-50) !important; color: var(--gray-500) !important; cursor: not-allowed; }
.gian-combo { position: relative; margin-bottom: var(--sp-3); }
.gian-combo__label {
  display: block;
  font-size: var(--fs-xs);
  color: var(--gray-500);
  margin-bottom: var(--sp-1);
}
.gian-combo__control { position: relative; }
.gian-combo__input {
  width: 100%;
  height: 48px;
  padding: 0 var(--sp-3);
  padding-inline-end: 38px;
  border: 1px solid var(--gray-200, #e0e0e0);
  border-radius: 0;
  background: var(--gray-0, #fff);
  font: inherit;
  font-size: var(--fs-sm);
  color: var(--gray-700);
  transition: border-color var(--dur) var(--ease), box-shadow var(--dur) var(--ease);
}
.gian-combo__input:focus {
  outline: none;
  border-color: var(--c-primary-shade);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--c-primary-shade) 10%, transparent);
}
.gian-combo__caret {
  position: absolute;
  inset-inline-end: 10px;
  top: 50%;
  transform: translateY(-50%);
  color: var(--gray-400, #bababa);
  pointer-events: auto;
  cursor: pointer;
  display: grid;
  place-items: center;
}
.gian-combo__caret svg { width: 18px; height: 18px; max-width: none; }
.gian-combo__input[aria-expanded="true"] + .gian-combo__caret { color: var(--c-primary-shade); }
.gian-combo__list {
  position: absolute;
  inset-inline: 0;
  top: calc(100% + 4px);
  z-index: 30;
  max-height: 260px;
  overflow-y: auto;
  margin: 0;
  padding: var(--sp-1);
  list-style: none;
  background: var(--gray-0, #fff);
  border: 1px solid var(--gray-100);
  border-radius: 0;
  box-shadow: 0 12px 32px rgb(16 40 48 / 0.12);
}
.gian-combo__opt {
  padding: var(--sp-2) var(--sp-3);
  border-radius: 0;
  font-size: var(--fs-sm);
  color: var(--gray-700);
  cursor: pointer;
}
.gian-combo__opt:hover { background: color-mix(in srgb, var(--c-primary-shade) 8%, transparent); color: var(--c-primary-shade); }
.orderview__head {
  display: flex; align-items: flex-start; justify-content: space-between; gap: var(--sp-4);
  padding-bottom: var(--sp-4); margin-bottom: var(--sp-5);
  border-bottom: 1px solid var(--gray-100);
}
.orderview__back {
  display: inline-flex; align-items: center; gap: var(--sp-2);
  color: var(--gray-500); font-size: var(--fs-sm); margin-bottom: var(--sp-3);
}
.orderview__back svg { width: 16px; height: 16px; max-width: none; }
.orderview__back:hover { color: var(--c-primary-shade); }
.orderview__title { font-size: var(--fs-lg); font-weight: var(--fw-bold); color: var(--gray-700); }
.orderview__date { display: block; margin-top: var(--sp-2); color: var(--gray-500); font-size: var(--fs-xs); }
.orderview__grid { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: var(--sp-4); align-items: start; }
.orderview__side { display: flex; flex-direction: column; gap: var(--sp-4); }
.orderview__totals { margin: var(--sp-5) 0 0; padding-top: var(--sp-4); border-top: 1px solid var(--gray-100); }
.orderview__totals-row { display: flex; justify-content: space-between; gap: var(--sp-4); padding: var(--sp-2) 0; font-size: var(--fs-sm); color: var(--gray-600); }
.orderview__totals-row dt { font-weight: inherit; }
.orderview__totals-row.is-total { margin-top: var(--sp-2); padding-top: var(--sp-3); border-top: 1px solid var(--gray-100); font-weight: var(--fw-bold); color: var(--gray-700); font-size: var(--fs-md); }
.orderview__note {
  margin-top: var(--sp-4); padding: var(--sp-4);
  background: var(--gray-50); border-radius: 0;
  display: flex; flex-direction: column; gap: var(--sp-2);
  font-size: var(--fs-sm); color: var(--gray-600); line-height: 1.9;
}
.orderview__note-label { color: var(--gray-500); font-size: var(--fs-xs); }
.orderview__actions { margin-top: var(--sp-5); display: flex; gap: var(--sp-3); flex-wrap: wrap; }
.orderview__kv { display: flex; justify-content: space-between; gap: var(--sp-3); padding: var(--sp-2) 0; font-size: var(--fs-sm); }
.orderview__kv span:first-child { color: var(--gray-500); }
.orderview__kv span:last-child { color: var(--gray-700); }
.orderview__addr address { font-style: normal; color: var(--gray-600); font-size: var(--fs-sm); line-height: 2; }
.orderview__phone { margin-top: var(--sp-2); color: var(--gray-600); font-size: var(--fs-sm); }
@media (max-width: 900px) {
  .orderview__grid { grid-template-columns: 1fr; }
}
.account__content > .woocommerce-notices-wrapper { margin-bottom: var(--sp-4); }
.account__content p { color: var(--gray-600); line-height: 1.9; }
.account__content a:not(.btn):not(.account-panel__all):not(.account-order__view) { color: var(--c-primary-shade); }
.account__content .woocommerce-orders-table,
.account__content .woocommerce-table,
.account__content table.shop_table {
  width: 100%;
  border-collapse: collapse;
  font-size: var(--fs-sm);
  border: 1px solid var(--gray-100);
  border-radius: 0;
  overflow: hidden;
}
.account__content table.shop_table th,
.account__content table.shop_table td {
  padding: var(--sp-3) var(--sp-4);
  text-align: start;
  border-bottom: 1px solid var(--gray-100);
}
.account__content table.shop_table th { background: var(--gray-50); color: var(--gray-500); font-weight: var(--fw-medium); }
.account__content table.shop_table tbody tr:last-child td { border-bottom: 0; }
.account__content .woocommerce-button,
.account__content .button {
  display: inline-block;
  background: var(--c-primary-shade);
  color: #fff;
  border: 0;
  border-radius: 0;
  padding: var(--sp-2) var(--sp-4);
  font: inherit;
  font-size: var(--fs-sm);
  cursor: pointer;
  transition: background var(--dur) var(--ease), transform var(--dur) var(--ease);
}
.account__content .woocommerce-button:hover,
.account__content .button:hover { background: #0a3839; transform: translateY(-1px); }
.account__content form .form-row { margin-bottom: var(--sp-4); display: flex; flex-direction: column; gap: var(--sp-2); }
.account__content label { color: var(--gray-600); font-size: var(--fs-sm); }
.account__content input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
.account__content select,
.account__content textarea {
  width: 100%;
  height: 46px;
  border: 1px solid var(--gray-100);
  border-radius: 0;
  padding: 0 var(--sp-3);
  font: inherit;
  font-size: var(--fs-sm);
  color: var(--gray-700);
  background: var(--gray-0, #fff);
  transition: border-color var(--dur) var(--ease), box-shadow var(--dur) var(--ease);
}
.account__content textarea { height: auto; padding: var(--sp-3); }
.account__content input:focus,
.account__content select:focus,
.account__content textarea:focus {
  outline: none;
  border-color: var(--c-primary-shade);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--c-primary-shade) 10%, transparent);
}
.account__content fieldset { border: 1px solid var(--gray-100); border-radius: 0; padding: var(--sp-4); margin-top: var(--sp-4); }
.account__content fieldset legend { padding: 0 var(--sp-2); color: var(--gray-700); font-weight: var(--fw-bold); }
.account__content .woocommerce-Addresses { display: grid; grid-template-columns: 1fr 1fr; gap: var(--sp-4); margin-top: var(--sp-3); }
.account__content .woocommerce-Address { border: 1px solid var(--gray-100); border-radius: 0; padding: var(--sp-5); }
.account__content .woocommerce-Address address { font-style: normal; color: var(--gray-600); line-height: 1.9; margin-top: var(--sp-2); }
@media (max-width: 1024px) {
  .account { grid-template-columns: 1fr; }
  .account__sidebar { position: static; }
  .account-card__user { padding: var(--sp-4); }
  .account-nav { display: flex; flex-wrap: wrap; gap: var(--sp-2); }
  .account-nav__item { margin-bottom: 0; }
  .account-nav__item--logout { border-top: 0; padding-top: 0; margin-top: 0; }
}
@media (max-width: 767px) {
  .account-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .account-dash__grid { grid-template-columns: 1fr; }
  .account__content { padding: var(--sp-4); }
  .account-order { grid-template-columns: auto 1fr auto; row-gap: var(--sp-2); }
  .account-order__date { display: none; }
  .account__content .woocommerce-Addresses { grid-template-columns: 1fr; }
  .account-stat { flex-direction: column; align-items: flex-start; gap: var(--sp-2); padding: var(--sp-3); }
  .account-stat__value { font-size: var(--fs-sm); }
  .account-stat__icon { width: 36px; height: 36px; }
}
.legal__inner { max-width: 1000px; }
.legal__head { text-align: center; margin-bottom: var(--sp-7); }
.legal__title { font-size: var(--fs-xl); font-weight: var(--fw-medium); color: var(--gray-700); line-height: var(--lh-tight); }
.legal__updated { margin-top: var(--sp-3); color: var(--gray-400, #bababa); font-size: var(--fs-sm); }
.legal__layout {
  display: grid;
  grid-template-columns: 220px minmax(0, 1fr);
  gap: var(--sp-7);
  align-items: start;
}
.legal__nav {
  position: sticky;
  top: calc(64px + var(--sp-4));
  border-inline-start: 1px solid var(--gray-100);
  padding-inline-start: var(--sp-4);
}
.legal__nav-title { display: block; color: var(--gray-500); font-size: var(--fs-xs); margin-bottom: var(--sp-3); }
.legal__nav-list { list-style: none; margin: 0; padding: 0; counter-reset: legalnav; }
.legal__nav-list li { counter-increment: legalnav; margin-bottom: var(--sp-2); }
.legal__nav-list a {
  display: block;
  color: var(--gray-500);
  font-size: var(--fs-sm);
  line-height: 1.7;
  transition: color var(--dur) var(--ease);
}
.legal__nav-list a::before { content: counter(legalnav) ". "; color: var(--gray-300, #bababa); }
.legal__nav-list a:hover { color: var(--c-primary-shade); }
.legal__intro { margin-bottom: var(--sp-6); color: var(--gray-600); line-height: 1.9; }
.legal__section { scroll-margin-top: 88px; padding-bottom: var(--sp-6); margin-bottom: var(--sp-6); border-bottom: 1px solid var(--gray-100); }
.legal__section:last-child { border-bottom: 0; margin-bottom: 0; }
.legal__section-title {
  display: flex; align-items: center; gap: var(--sp-3);
  font-size: var(--fs-lg); font-weight: var(--fw-bold); color: var(--gray-700);
  margin-bottom: var(--sp-4); line-height: var(--lh-tight);
}
.legal__section-num {
  flex: 0 0 auto;
  width: 30px; height: 30px;
  display: grid; place-items: center;
  border-radius: 0;
  background: color-mix(in srgb, var(--c-primary-shade) 8%, transparent);
  color: var(--c-primary-shade);
  font-size: var(--fs-sm);
}
.legal__section-body { color: var(--gray-600); font-size: var(--fs-md); line-height: 2; }
.legal__section-body a { color: var(--c-primary-shade); text-decoration: underline; text-underline-offset: 4px; }
@media (max-width: 1024px) {
  .legal__layout { grid-template-columns: 1fr; }
  .legal__nav { position: static; border-inline-start: 0; padding-inline-start: 0; border-bottom: 1px solid var(--gray-100); padding-bottom: var(--sp-4); margin-bottom: var(--sp-2); }
  .legal__nav-list { columns: 2; }
}
@media (max-width: 767px) {
  .legal__nav-list { columns: 1; }
}
.site-search { position: fixed; inset: 0; z-index: 1300; }
.site-search[hidden] { display: none !important; }
.gian-search-lock { overflow: hidden; }
.site-search__scrim {
  position: absolute;
  inset: 0;
  background: rgb(14 75 76 / 0.35);
  backdrop-filter: blur(4px);
  opacity: 0;
  transition: opacity var(--dur) var(--ease);
}
.site-search.is-open .site-search__scrim { opacity: 1; }
.site-search__panel {
  position: absolute;
  inset-inline: 0;
  top: 0;
  background: var(--gray-0, #fff);
  padding: var(--sp-5) var(--content-pad) var(--sp-6);
  box-shadow: 0 20px 50px rgb(14 75 76 / 0.18);
  transform: translateY(-24px);
  opacity: 0;
  transition: transform var(--dur) var(--ease), opacity var(--dur) var(--ease);
  max-height: 92vh;
  display: flex;
  flex-direction: column;
}
.site-search.is-open .site-search__panel { transform: none; opacity: 1; }
.site-search__form {
  display: flex;
  align-items: center;
  gap: var(--sp-3);
  max-width: 1180px;
  margin-inline: auto;
  width: 100%;
  padding-bottom: var(--sp-4);
  border-bottom: 1px solid var(--gray-100);
}
.site-search__field-icon { flex: 0 0 auto; color: var(--gray-400, #bababa); display: grid; place-items: center; }
.site-search__field-icon svg { width: 24px; height: 24px; max-width: none; }
.site-search__input {
  flex: 1 1 auto;
  min-width: 0;
  border: 0;
  background: none;
  font: inherit;
  font-size: var(--fs-lg);
  color: var(--gray-700);
  padding: var(--sp-2) 0;
}
.site-search__input:focus { outline: none; }
.site-search__input::placeholder { color: var(--gray-300, #bababa); }
.site-search__input::-webkit-search-cancel-button { display: none; }
.site-search__close {
  flex: 0 0 auto;
  width: 40px; height: 40px;
  display: grid; place-items: center;
  border: 0;
  border-radius: 0;
  background: var(--gray-50);
  color: var(--gray-600);
  cursor: pointer;
  transition: background var(--dur) var(--ease), color var(--dur) var(--ease), transform var(--dur) var(--ease);
}
.site-search__close svg { width: 18px; height: 18px; max-width: none; }
.site-search__close:hover { background: var(--c-primary-shade); color: #fff; transform: rotate(90deg); }
.site-search__body {
  max-width: 1180px;
  margin-inline: auto;
  width: 100%;
  padding-top: var(--sp-5);
  overflow-y: auto;
}
.site-search__status { color: var(--gray-500); font-size: var(--fs-sm); text-align: center; padding: var(--sp-5) 0; }
.site-search__status[hidden] { display: none; }
.site-search__hint { display: block; margin-top: var(--sp-2); color: var(--gray-400, #9a9a9a); font-size: var(--fs-xs); }
.site-search__results > .site-search__status:first-of-type:not([hidden]) + .site-search__grid:not(:empty) { margin-top: 0; }
.site-search__clear {
  flex: 0 0 auto;
  border: 0;
  background: none;
  color: var(--gray-500);
  font: inherit;
  font-size: var(--fs-sm);
  padding: var(--sp-2);
  cursor: pointer;
}
.site-search__clear:hover { color: var(--c-primary-shade); }
.site-search__clear[hidden] { display: none; }
.site-search__block + .site-search__block { margin-top: var(--sp-6); }
.site-search__block[hidden] { display: none; }
.site-search__block-head { display: flex; align-items: baseline; justify-content: space-between; gap: var(--sp-3); }
.site-search__label {
  margin: 0 0 var(--sp-3);
  font-size: var(--fs-sm);
  font-weight: var(--fw-medium);
  color: var(--gray-500);
}
.site-search__link {
  border: 0; background: none; padding: 0; cursor: pointer;
  font: inherit; font-size: var(--fs-xs); color: var(--gray-500);
  text-decoration: underline; text-underline-offset: 3px;
}
.site-search__link:hover { color: var(--c-primary-shade); }
.site-search__chips { display: flex; flex-wrap: wrap; gap: var(--sp-2); }
.site-search__chips[hidden] { display: none; }
.site-search__chips--cats { margin-bottom: var(--sp-5); }
.site-search__results { display: flex; flex-direction: column; }
.site-search__results[hidden] { display: none; }
.site-search__results.is-empty .site-search__status { order: -1; padding-bottom: var(--sp-4); }
.site-search__results.is-empty .site-search__chips--cats { justify-content: center; }
.site-search__chip {
  display: inline-flex;
  align-items: center;
  gap: var(--sp-2);
  padding: 6px var(--sp-3);
  border: 1px solid var(--gray-100);
  background: #fff;
  color: var(--gray-700);
  font: inherit;
  font-size: var(--fs-xs);
  line-height: 1.5;
  cursor: pointer;
  text-decoration: none;
  transition: border-color var(--dur) var(--ease), color var(--dur) var(--ease), background var(--dur) var(--ease);
}
.site-search__chip:hover { border-color: var(--c-primary); color: var(--c-primary-shade); opacity: 1; }
.site-search__chip--cat { background: rgb(142 178 122 / 0.1); border-color: transparent; color: var(--c-primary-shade); }
.site-search__chip--cat:hover { background: var(--c-primary); color: #fff; }
.site-search__body { max-width: 860px; }
.site-search__form { max-width: 860px; }
.site-search__list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--sp-2) var(--sp-5);
  transition: opacity var(--dur) var(--ease);
}
.site-search__list.is-loading { opacity: 0.45; }
.site-search__list:empty { display: none; }
.search-row {
  display: flex;
  align-items: center;
  gap: var(--sp-3);
  padding: var(--sp-2);
  color: var(--gray-700);
  text-decoration: none;
  border-bottom: 1px solid var(--gray-50);
  transition: background var(--dur) var(--ease);
}
.search-row:hover { background: rgb(142 178 122 / 0.08); opacity: 1; }
.search-row__img { flex: 0 0 64px; width: 64px; height: 64px; overflow: hidden; background: var(--gray-50); }
.search-row__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.search-row.is-out .search-row__img img { opacity: 0.5; }
.search-row__body { min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.search-row__name {
  font-size: var(--fs-sm);
  font-weight: var(--fw-medium);
  line-height: 1.5;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.search-row__cat { font-size: var(--fs-xs); color: var(--gray-500); }
.search-row__price { font-size: var(--fs-xs); font-weight: var(--fw-bold); color: var(--price, var(--c-primary-shade)); }
.search-row__price del { color: var(--gray-400, #9a9a9a); font-weight: var(--fw-regular); margin-inline-start: var(--sp-1); }
.search-row__price ins { text-decoration: none; }
.search-row__out { color: var(--gray-500); font-weight: var(--fw-regular); }
.site-search.is-open .site-search__body { animation: gian-search-in 0.25s var(--ease) both; }
@keyframes gian-search-in { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
@media (max-width: 767px) {
  .site-search__list { grid-template-columns: minmax(0, 1fr); }
  .search-row__img { flex-basis: 56px; width: 56px; height: 56px; }
}
.site-search__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--sp-5) var(--sp-4);
  transition: opacity var(--dur) var(--ease);
}
.site-search__grid.is-loading { opacity: 0.5; }
.site-search__foot { margin-top: var(--sp-6); text-align: center; }
.site-search__all { display: inline-flex; align-items: center; gap: var(--sp-2); }
.site-search__all-count { opacity: 0.85; font-variant-numeric: tabular-nums; }
@media (max-width: 1024px) {
  .site-search__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
  .site-search__panel { padding: var(--sp-4) var(--content-pad) var(--sp-5); }
  .site-search__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .site-search__input { font-size: var(--fs-md); }
}
.gian-lightbox-lock { overflow: hidden; }
.gian-lightbox {
  position: fixed;
  inset: 0;
  z-index: 1400;
  background: rgb(20 24 24 / 0.94);
  opacity: 0;
  transition: opacity var(--dur) var(--ease);
}
.gian-lightbox[hidden] { display: none !important; }
.gian-lightbox.is-open { opacity: 1; }
.gian-lightbox__scroll {
  position: absolute;
  inset: 0;
  overflow-y: auto;
  overflow-x: hidden;
  overscroll-behavior: contain;
  padding: var(--sp-6) var(--content-pad);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--sp-4);
}
.gian-lightbox__item {
  margin: 0;
  width: min(720px, 100%);
  flex: 0 0 auto;
  background: rgb(255 255 255 / 0.04);
  border-radius: 0;
  overflow: hidden;
}
.gian-lightbox__item img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.gian-lightbox__close {
  position: fixed;
  top: var(--sp-4);
  inset-inline-start: var(--sp-4);
  z-index: 2;
  width: 46px; height: 46px;
  display: grid; place-items: center;
  border: 0;
  border-radius: 0;
  background: rgb(255 255 255 / 0.12);
  color: #fff;
  cursor: pointer;
  transition: background var(--dur) var(--ease), transform var(--dur) var(--ease);
}
.gian-lightbox__close svg { width: 22px; height: 22px; max-width: none; }
.gian-lightbox__close:hover { background: rgb(255 255 255 / 0.22); transform: rotate(90deg); }
.gian-lightbox__counter {
  position: fixed;
  top: var(--sp-4);
  inset-inline-end: var(--sp-5);
  z-index: 2;
  color: rgb(255 255 255 / 0.75);
  font-size: var(--fs-sm);
  font-variant-numeric: tabular-nums;
  background: rgb(255 255 255 / 0.1);
  padding: var(--sp-2) var(--sp-3);
  border-radius: 0;
}
@media (max-width: 767px) {
  .gian-lightbox__scroll { padding: 64px var(--sp-3) var(--sp-4); }
  .gian-lightbox__close { width: 40px; height: 40px; }
}
.pdp-size-guide {
  display: inline-flex;
  align-items: center;
  gap: var(--sp-2);
  margin-top: var(--sp-4);
  padding: 0;
  background: none;
  border: 0;
  color: var(--c-primary-shade);
  font: inherit;
  font-size: var(--fs-sm);
  cursor: pointer;
  transition: opacity var(--dur) var(--ease);
}
.pdp-size-guide svg { width: 18px; height: 18px; max-width: none; }
.pdp-size-guide span { text-decoration: underline; text-underline-offset: 4px; }
.pdp-size-guide:hover { opacity: 0.75; }
.pdp__maxqty {
  display: inline-flex;
  align-items: center;
  gap: var(--sp-2);
  margin: var(--sp-3) 0 0;
  color: var(--gray-500);
  font-size: var(--fs-xs);
}
.pdp__maxqty::before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 0;
  background: var(--c-primary);
  flex: none;
}
.sizeguide { position: fixed; inset: 0; z-index: 1300; }
.sizeguide[hidden] { display: none !important; }
.sizeguide__scrim {
  position: absolute; inset: 0;
  background: rgb(14 75 76 / 0.5);
  backdrop-filter: blur(3px);
  opacity: 0; transition: opacity var(--dur) var(--ease);
}
.sizeguide.is-open .sizeguide__scrim { opacity: 1; }
.sizeguide__dialog {
  position: absolute;
  inset-inline: 0;
  top: 50%;
  margin-inline: auto;
  width: min(680px, calc(100% - 32px));
  max-height: 88vh;
  background: var(--gray-0, #fff);
  border-radius: 0;
  box-shadow: 0 24px 60px rgb(14 75 76 / 0.24);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  transform: translateY(-50%) translateY(16px);
  opacity: 0;
  transition: transform var(--dur) var(--ease), opacity var(--dur) var(--ease);
}
.sizeguide.is-open .sizeguide__dialog { transform: translateY(-50%); opacity: 1; }
.sizeguide__bar {
  display: flex; align-items: center; justify-content: space-between;
  padding: var(--sp-4) var(--sp-5);
  background: var(--c-primary);
  color: var(--gray-0, #fff);
  flex: 0 0 auto;
}
.sizeguide__title { display: inline-flex; align-items: center; gap: var(--sp-2); font-size: var(--fs-md); font-weight: var(--fw-bold); color: #fff; }
.sizeguide__title svg { width: 20px; height: 20px; max-width: none; }
.sizeguide__close {
  width: 36px; height: 36px;
  display: grid; place-items: center;
  border: 0; border-radius: 0;
  background: rgb(255 255 255 / 0.18); color: #fff;
  cursor: pointer;
  transition: background var(--dur) var(--ease), transform var(--dur) var(--ease);
}
.sizeguide__close svg { width: 16px; height: 16px; max-width: none; }
.sizeguide__close:hover { background: rgb(255 255 255 / 0.3); transform: rotate(90deg); }
.sizeguide__scroll { overflow: auto; padding: 0; }
.sizeguide__scroll img { display: block; width: 100%; height: auto; }
.size-chart {
  width: 100%;
  border-collapse: collapse;
  direction: rtl;
  font-size: var(--fs-sm);
  color: var(--gray-700);
}
.size-chart th,
.size-chart td {
  padding: var(--sp-4) var(--sp-4);
  min-width: 76px;
  white-space: nowrap;
  text-align: center;
  border-bottom: 1px solid var(--gray-100);
}
.size-chart td.size-chart__note { white-space: normal; min-width: 0; } 
.size-chart thead th { background: var(--gray-50); font-weight: var(--fw-bold); color: var(--gray-600); }
.size-chart__corner,
.size-chart__row-label { text-align: start; font-weight: var(--fw-bold); color: var(--gray-700); }
.size-chart tbody tr:hover { background: color-mix(in srgb, var(--c-primary) 5%, transparent); }
.size-chart__note {
  text-align: center;
  padding: var(--sp-4);
  background: var(--c-info-100, #dbeafe);
  color: var(--c-info-800, #1e40af);
  border-bottom: 0;
  font-size: var(--fs-sm);
}
@media (max-width: 767px) {
  .sizeguide__dialog {
    top: auto; bottom: 0;
    width: 100%;
    max-height: 92vh;
    border-radius: 0;
    transform: translateY(100%);
  }
  .sizeguide.is-open .sizeguide__dialog { transform: translateY(0); }
}
.thankyou {
  max-width: 640px;
  margin-inline: auto;
  text-align: center;
  padding-block: var(--sp-4) var(--sp-6);
}
.thankyou__icon { width: 84px; height: 84px; margin: 0 auto var(--sp-5); }
.thankyou__icon svg { width: 100%; height: 100%; display: block; }
.thankyou__icon--ok { color: var(--c-primary); }
.thankyou__icon--fail { color: var(--c-error, #c0392b); }
.thankyou__ring {
  stroke-dasharray: 151; stroke-dashoffset: 151;
  animation: thankyou-draw 0.6s var(--ease) 0.1s forwards;
}
.thankyou__mark {
  stroke-dasharray: 48; stroke-dashoffset: 48;
  animation: thankyou-draw 0.4s var(--ease) 0.55s forwards;
}
@keyframes thankyou-draw { to { stroke-dashoffset: 0; } }
.thankyou__title { font-size: var(--fs-xl); font-weight: var(--fw-medium); color: var(--gray-700); line-height: var(--lh-tight); margin-bottom: var(--sp-3); }
.thankyou__lead { color: var(--gray-500); font-size: var(--fs-md); line-height: 1.9; max-width: 500px; margin-inline: auto; }
.thankyou__meta {
  list-style: none; margin: var(--sp-7) 0 0; padding: 0;
  display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--sp-3);
}
.thankyou__meta-item {
  display: flex; flex-direction: column; gap: 4px;
  padding: var(--sp-4) var(--sp-3);
  border: 1px solid var(--gray-100); border-radius: 0;
  text-align: center;
}
.thankyou__meta-label { color: var(--gray-500); font-size: var(--fs-xs); }
.thankyou__meta-value { color: var(--gray-700); font-size: var(--fs-sm); font-weight: var(--fw-medium); }
.thankyou__meta-value .amount { font-weight: var(--fw-bold); }
.thankyou__panel {
  margin-top: var(--sp-6);
  border: 1px solid var(--gray-100); border-radius: 0;
  padding: var(--sp-5); text-align: start;
}
.thankyou__panel-title { font-size: var(--fs-sm); font-weight: var(--fw-bold); color: var(--gray-700); margin-bottom: var(--sp-4); }
.thankyou__items { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: var(--sp-4); }
.thankyou__item { display: flex; align-items: center; gap: var(--sp-3); }
.thankyou__item-thumb { flex: 0 0 auto; width: 56px; height: 56px; border-radius: 0; overflow: hidden; background: var(--gray-50); }
.thankyou__item-thumb img { width: 100%; height: 100%; object-fit: cover; }
.thankyou__item-body { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.thankyou__item-name { color: var(--gray-700); font-size: var(--fs-sm); line-height: 1.6; }
.thankyou__item-qty { color: var(--gray-400, #bababa); font-size: var(--fs-xs); }
.thankyou__item-total { flex: 0 0 auto; color: var(--gray-700); font-size: var(--fs-sm); font-weight: var(--fw-medium); }
.thankyou__addr {
  margin-top: var(--sp-5); padding-top: var(--sp-4);
  border-top: 1px solid var(--gray-100);
  display: flex; flex-direction: column; gap: var(--sp-2);
}
.thankyou__addr-label { color: var(--gray-500); font-size: var(--fs-xs); }
.thankyou__addr-value { color: var(--gray-600); font-size: var(--fs-sm); line-height: 1.9; }
.thankyou__actions {
  margin-top: var(--sp-7);
  display: flex; gap: var(--sp-3); justify-content: center; flex-wrap: wrap;
}
.thankyou--bare { padding-block: var(--sp-7); }
@media (max-width: 767px) {
  .thankyou__meta { grid-template-columns: 1fr 1fr; }
  .thankyou__actions .btn { flex: 1 1 auto; text-align: center; }
}
.order-pay { margin-top: var(--sp-6); }
.order-pay__grid {
  display: grid;
  grid-template-columns: 1.15fr 1fr;
  gap: var(--sp-5);
  align-items: start;
}
@media (max-width: 900px) { .order-pay__grid { grid-template-columns: 1fr; } }
.order-pay__panel {
  background: var(--gray-0);
  border: 1px solid var(--gray-100);
  border-radius: 0;
  padding: var(--sp-6);
}
.order-pay__title {
  margin: 0 0 var(--sp-4);
  font-size: var(--fs-md);
  font-weight: var(--fw-bold);
  color: var(--gray-700);
}
.order-pay__list { list-style: none; margin: 0; padding: 0; }
.order-pay__row {
  display: flex;
  align-items: center;
  gap: var(--sp-4);
  padding-block: var(--sp-3);
  border-bottom: 1px solid var(--gray-100);
}
.order-pay__row:last-child { border-bottom: 0; }
.order-pay__thumb { flex: 0 0 auto; width: 64px; }
.order-pay__thumb img {
  width: 64px; height: auto; display: block;
  aspect-ratio: 3 / 4; object-fit: cover;
  border-radius: 0; background: var(--gray-50);
}
.order-pay__info { flex: 1 1 auto; display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.order-pay__name { color: var(--gray-700); font-weight: var(--fw-medium); }
.order-pay__qty { font-size: var(--fs-sm); color: var(--gray-500); }
.order-pay__price { flex: 0 0 auto; color: var(--gray-700); font-weight: var(--fw-medium); white-space: nowrap; }
.order-pay__totals { margin: var(--sp-4) 0 0; padding-top: var(--sp-4); border-top: 1px solid var(--gray-100); }
.order-pay__total-row {
  display: flex; align-items: center; justify-content: space-between;
  gap: var(--sp-4); padding-block: var(--sp-2);
}
.order-pay__total-row dt { color: var(--gray-600); }
.order-pay__total-row dd { margin: 0; color: var(--gray-700); font-weight: var(--fw-medium); }
.order-pay__total-row:last-child dt,
.order-pay__total-row:last-child dd { font-weight: var(--fw-bold); color: var(--price); }
.order-pay__methods { list-style: none; margin: 0; padding: 0; }
.order-pay__methods > li {
  border: 1px solid var(--gray-100);
  border-radius: 0;
  padding: var(--sp-4);
  margin-bottom: var(--sp-3);
  background: var(--gray-0);
  transition: border-color var(--dur) var(--ease);
}
.order-pay__methods > li:hover { border-color: var(--c-primary-shade); }
.order-pay__methods label { display: inline-flex; align-items: center; gap: var(--sp-2); cursor: pointer; color: var(--gray-700); }
.order-pay__methods input[type="radio"] { accent-color: var(--c-primary-shade); width: 1.05rem; height: 1.05rem; }
.order-pay #payment div.payment_box {
  margin: var(--sp-3) 0 0;
  padding: var(--sp-3);
  background: var(--gray-50);
  border-radius: 0;
  font-size: var(--fs-sm);
  color: var(--gray-600);
}
.order-pay #payment div.payment_box::before {
  border-block-end-color: var(--gray-50);
}
.order-pay__methods .payment_box p:last-child { margin-bottom: 0; }
.order-pay__submit { margin-top: var(--sp-5); }
.order-pay__btn { width: 100%; }
.order-pay .woocommerce-privacy-policy-text { font-size: var(--fs-sm); color: var(--gray-500); line-height: var(--lh-base); }
.pdp-color-swatches { display: flex; gap: var(--sp-3); flex-wrap: wrap; }
.pdp-color-swatch {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  padding: 3px;
  background: none;
  border: 2px solid transparent;
  border-radius: 0;
  cursor: pointer;
  transition: border-color var(--dur) var(--ease), transform var(--dur) var(--ease);
}
.pdp-color-swatch__dot {
  width: 100%;
  height: 100%;
  border-radius: 0;
  border: 1px solid rgba(0, 0, 0, 0.14);
}
.pdp-color-swatch__dot.is-unset {
  background:
    linear-gradient(45deg, transparent 45%, var(--gray-400, #9a9a9a) 45%, var(--gray-400, #9a9a9a) 55%, transparent 55%),
    var(--gray-50);
}
.pdp-color-swatch:hover { border-color: var(--gray-200, #e0e0e0); transform: scale(1.06); }
.pdp-color-swatch.is-active { border-color: var(--c-primary-shade); }
.pdp-color-swatch.is-unavailable { cursor: not-allowed; opacity: 0.45; }
.pdp-color-swatch.is-unavailable:hover { border-color: transparent; transform: none; }
.pdp-color-swatch.is-unavailable .pdp-color-swatch__dot {
  background-image: linear-gradient(45deg, transparent 46%, var(--c-danger, #b23b3b) 46%, var(--c-danger, #b23b3b) 54%, transparent 54%);
}
.product-card__colors {
  position: absolute;
  bottom: var(--sp-3);
  right: var(--sp-3);
  z-index: 2;
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 4px 6px;
  border-radius: 0;
  background: rgba(255, 255, 255, 0.85);
  backdrop-filter: blur(4px);
}
.product-card__color {
  width: 12px;
  height: 12px;
  border-radius: 0;
  border: 1px solid rgba(0, 0, 0, 0.18);
  flex: 0 0 auto;
}
.product-card__color--more {
  font-size: var(--fs-xs);
  line-height: 1;
  color: var(--gray-600);
}
@media (max-width: 767px) {
  .product-card__colors { bottom: var(--sp-2); right: var(--sp-2); padding: 3px 5px; }
  .product-card__color { width: 10px; height: 10px; }
}
.quantity:has(input.gian-qty-single) { display: none !important; }
@media (max-width: 600px) {
  .wc-block-cart.is-mobile .wc-block-components-totals-item,
  .wc-block-checkout.is-mobile .wc-block-components-totals-item {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 2px;
  }
  .wc-block-cart.is-mobile .wc-block-components-totals-item__label,
  .wc-block-checkout.is-mobile .wc-block-components-totals-item__label {
    font-size: var(--fs-sm);
    color: var(--gray-500);
  }
  .wc-block-cart.is-mobile .wc-block-components-totals-item__value,
  .wc-block-checkout.is-mobile .wc-block-components-totals-item__value {
    font-weight: var(--fw-medium);
  }
  .wc-block-cart.is-mobile .wc-block-components-totals-item__description,
  .wc-block-checkout.is-mobile .wc-block-components-totals-item__description {
    grid-column: auto;
  }
}
.side-toc__summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--sp-3);
  cursor: pointer;
  list-style: none;
}
.side-toc__summary::-webkit-details-marker { display: none; }
.side-toc__caret {
  display: inline-flex;
  transition: transform var(--dur) var(--ease);
  color: var(--gray-500);
}
.side-toc__caret svg { width: 18px; height: 18px; }
.side-toc[open] .side-toc__caret { transform: rotate(180deg); }
.side-cta--image { padding: 0; overflow: hidden; }
.side-cta__media { display: block; }
.side-cta__media img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 3 / 2;
  object-fit: cover;
}
.side-cta--image .side-cta__title,
.side-cta--image .side-cta__text { padding-inline: var(--sp-5); }
.side-cta--image .side-cta__title { margin-top: var(--sp-5); }
.side-cta--image .side-cta__btn { margin: var(--sp-4) var(--sp-5) var(--sp-5); width: calc(100% - var(--sp-5) * 2); }
.woocommerce-cart .wp-block-woocommerce-cart-order-summary-shipping-block { display: none; }
.pswp__share-tooltip,
.pswp__share-modal,
.pswp__button { border-radius: 0; }
.torobpay-widget.torobpay-widget--compact {
  display: flex;
  justify-content: center;
}
.pdp__summary .stock.out-of-stock { display: none; }
.pdp__summary .stock { margin: 12px 0; }
.pdp-oos {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--sp-3);
  margin: 0;
  padding-block: var(--sp-4);
  padding-inline: var(--sp-4);
  font-size: var(--fs-md);
  font-weight: var(--fw-medium);
  color: var(--c-primary-shade);
  background: color-mix(in srgb, var(--c-primary-shade) 4%, var(--gray-0));
  border: 1px solid color-mix(in srgb, var(--c-primary-shade) 22%, var(--gray-0));
  border-radius: 0;
}
.pdp-oos__icon {
  display: inline-flex;
  flex: 0 0 auto;
  opacity: 0.65;
}
.pdp-oos__icon svg { width: 18px; height: 18px; max-width: none; }
.pdp-oos-note {
  margin: var(--sp-3) 0 0;
  color: var(--gray-500);
  font-size: var(--fs-xs);
  line-height: var(--lh-base);
}
.wc-block-checkout .gian-pm-label {
  display: inline-flex;
  align-items: center;
  gap: var(--sp-2);
}
.wc-block-checkout .wc-block-components-radio-control__option img,
.wc-block-checkout .gian-pm-logo {
  display: inline-block !important;
  height: 20px !important;
  width: auto !important;
  max-width: 64px;
  object-fit: contain;
  vertical-align: middle;
  flex: 0 0 auto;
}
.wp-block-woocommerce-checkout-payment-block .wc-block-components-radio-control {
  box-shadow: none !important;
}
.wp-block-woocommerce-checkout-payment-block .wc-block-components-radio-control-accordion-option {
  border: 1px solid var(--gray-100);
  border-radius: 0 !important;
  box-shadow: none !important;
}
.wp-block-woocommerce-checkout-payment-block
  .wc-block-components-radio-control-accordion-option:has(input:checked) {
  border-color: var(--c-primary-shade);
}
.wp-block-woocommerce-checkout-payment-block
  .wc-block-components-radio-control-accordion-option
  + .wc-block-components-radio-control-accordion-option {
  margin-top: var(--sp-3);
}
.gian-installment {
  margin-top: var(--sp-4);
  border: 1px solid var(--gray-100);
  border-radius: 0;
}
.gian-installment__head {
  display: flex;
  align-items: center;
  gap: var(--sp-2);
  margin: 0;
  padding: var(--sp-3) var(--sp-4);
  border-bottom: 1px solid var(--gray-100);
  color: var(--c-primary-shade);
  font-size: var(--fs-sm);
  font-weight: var(--fw-medium);
}
.gian-installment__head svg { width: 18px; height: 18px; max-width: none; flex: 0 0 auto; }
.gian-installment__body { padding: var(--sp-4); }
.gian-installment__logos {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--sp-3);
  margin: 0 0 var(--sp-3);
  padding: 0;
  list-style: none;
}
.gian-installment__logos li { display: inline-flex; }
.gian-installment__logos img {
  height: 32px;
  width: auto;
  max-width: 72px;
  object-fit: contain;
}
.gian-installment__name {
  font-size: var(--fs-xs);
  color: var(--gray-500);
}
.gian-installment__price {
  margin: 0;
  color: var(--c-primary-shade);
  font-size: var(--fs-base);
}
.gian-installment__price strong { font-weight: var(--fw-bold); }
.gian-installment__note {
  margin: var(--sp-1) 0 0;
  color: var(--gray-500);
  font-size: var(--fs-xs);
}
.about__title {
  margin: 0 0 var(--sp-4);
  color: var(--c-primary-shade);
  font-size: var(--fs-lg);
  font-weight: var(--fw-bold);
  line-height: 1.6;
}
.about__body p {
  margin: 0 0 var(--sp-2);
  color: var(--gray-700);
  font-size: var(--fs-sm);
  line-height: 2;
  text-align: justify;
}
.about__body p:last-child { margin-bottom: 0; }
.about-hero__inner {
  max-width: 1000px;
  container-type: inline-size;
}
.about-hero__row {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 2cqi;
  direction: ltr;
}
.about-hero__word {
  margin: 0;
  direction: ltr;
  text-align: left;
  font-family: "Gian", sans-serif;
  font-weight: 500;
  font-size: 37.6cqi;
  line-height: 1;
  letter-spacing: -0.015em;
  color: var(--c-primary);
}
.about-hero__media {
  margin: 0;
  flex: 0 1 26cqi;
  min-width: 0;
}
.about-hero__img { display: block; width: 100%; height: auto; aspect-ratio: 1 / 1; object-fit: cover; }
.about-hero__text { margin-top: var(--sp-6); }
.about-split { padding-block: var(--sp-6); }
.about-split--tint { background: var(--gray-50); }
.about-split__inner {
  max-width: 1000px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--sp-5);
  align-items: end;
}
.about-split--flip .about-split__media { order: 2; }
.about-split--no-media .about-split__inner { grid-template-columns: 1fr; }
.about-split__media { margin: 0; }
.about-split__img { display: block; width: 100%; height: auto; aspect-ratio: 1 / 1; object-fit: cover; }
.about-band {
  background: var(--c-primary);
  color: var(--gray-0);
  padding-block: var(--sp-7, 3rem);
  text-align: center;
}
.about-band__inner { max-width: 760px; }
.about-band__mark {
  display: block;
  width: auto;
  height: 40px;
  margin: 0 auto var(--sp-4);
  object-fit: contain;
  filter: brightness(0) invert(1);
}
.about-band__text p {
  margin: 0;
  font-size: var(--fs-md);
  line-height: 2;
  color: var(--gray-0);
}
@media (max-width: 767px) {
  .about-split__inner { grid-template-columns: 1fr; }
  .about-split--flip .about-split__media { order: 0; }
  .about-hero__text { margin-top: var(--sp-5); }
}
