/* manrope-cyrillic-ext-wght-normal */
@font-face {
  font-family: Manrope;
  font-style: normal;
  font-display: block;
  font-weight: 200 800;
  src: url(/assets/fonts/manrope-cyrillic-ext-wght-normal.woff2)
    format("woff2-variations");
  unicode-range:
    U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

/* manrope-cyrillic-wght-normal */
@font-face {
  font-family: Manrope;
  font-style: normal;
  font-display: block;
  font-weight: 200 800;
  src: url(/assets/fonts/manrope-cyrillic-wght-normal.woff2)
    format("woff2-variations");
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

/* manrope-greek-wght-normal */
@font-face {
  font-family: Manrope;
  font-style: normal;
  font-display: block;
  font-weight: 200 800;
  src: url(/assets/fonts/manrope-greek-wght-normal.woff2)
    format("woff2-variations");
  unicode-range:
    U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}

/* manrope-vietnamese-wght-normal */
@font-face {
  font-family: Manrope;
  font-style: normal;
  font-display: block;
  font-weight: 200 800;
  src: url(/assets/fonts/manrope-vietnamese-wght-normal.woff2)
    format("woff2-variations");
  unicode-range:
    U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1,
    U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329,
    U+1EA0-1EF9, U+20AB;
}

/* manrope-latin-ext-wght-normal */
@font-face {
  font-family: Manrope;
  font-style: normal;
  font-display: block;
  font-weight: 200 800;
  src: url(/assets/fonts/manrope-latin-ext-wght-normal.woff2)
    format("woff2-variations");
  unicode-range:
    U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304,
    U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB,
    U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* manrope-latin-wght-normal */
@font-face {
  font-family: Manrope;
  font-style: normal;
  font-display: block;
  font-weight: 200 800;
  src: url(/assets/fonts/manrope-latin-wght-normal.woff2)
    format("woff2-variations");
  unicode-range:
    U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC,
    U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212,
    U+2215, U+FEFF, U+FFFD;
}
:root {
  color-scheme: light;
  /* One small palette for the whole storefront: deep green, warm stone neutrals and
     a gold accent, as on the emblem. Everything else refers to these. */
  --green: #103d31;
  --green-hover: #164d3b;
  --green-deep: #022e24;
  --stone-50: #faf9f6;
  --stone-100: #f6f4ef;
  --stone-200: #efece4;
  --stone-300: #e6e2d8;
  --stone-400: #d8d3c7;
  --gold: #b89b62;
  --error: #a33a2b;
  --gold-ink: #86693a;
  --gold-soft: #cdb47a;
  --cream: #ece6d6;
  --bg: #fff;
  --surface: var(--stone-100);
  --text: #111;
  --muted: #111;
  --accent: var(--green);
  --line: var(--stone-300);
  --max: 1280px;
  --ease: cubic-bezier(0.22, 1, 0.36, 1);
  font-family: Manrope, Arial, sans-serif;
  color: var(--text);
  background: var(--bg);
  font-synthesis: none;
}
* {
  box-sizing: border-box;
}
body {
  margin: 0;
}
a {
  color: inherit;
  text-decoration: none;
}
button,
input,
select,
textarea {
  font: inherit;
}
button,
a {
  touch-action: manipulation;
}
button {
  cursor: pointer;
}
button:disabled {
  cursor: default;
  opacity: 0.55;
}
img {
  max-width: 100%;
  display: block;
}
button:focus-visible,
a:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: 3px solid #bc8e39;
  outline-offset: 3px;
}
[hidden] {
  display: none !important;
}
.container {
  width: min(var(--max), calc(100% - 80px));
  margin: auto;
}
.skip-link {
  position: absolute;
  left: 12px;
  top: -100px;
  z-index: 60;
  background: white;
  padding: 12px;
}
.skip-link:focus {
  top: 10px;
}
.shop-strip {
  background: #103d31;
  color: var(--stone-100);
  text-align: center;
  padding: 9px 20px;
  font-size: 12px;
  letter-spacing: 0.02em;
}
.shop-strip span {
  margin-left: 25px;
  color: var(--stone-300);
}
.header {
  position: sticky;
  top: 0;
  z-index: 30;
  background: #fff;
  border-bottom: 1px solid var(--line);
}
.header-inner {
  height: 94px;
  display: flex;
  align-items: center;
  gap: 32px;
}
.brand {
  display: flex;
  gap: 12px;
  align-items: center;
  flex-shrink: 0;
}
.brand img {
  width: 58px;
  height: 58px;
  object-fit: cover;
  border-radius: 0;
}
.brand > span {
  font-family: Georgia, serif;
  letter-spacing: 0.09em;
  font-size: 28px;
  line-height: 1.15;
}
.brand small {
  display: block;
  font-family: Manrope, sans-serif;
  font-size: 10px;
  letter-spacing: 0.35em;
  margin-top: 3px;
}
.header-search {
  margin-left: auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 90px;
  background: var(--surface);
  padding: 13px 18px;
  font-size: 13px;
  border: 1px solid var(--line);
}
.header-search span {
  font-size: 22px;
  line-height: 1;
}
.account-link {
  font-size: 13px;
}
.cart-toggle {
  display: flex;
  gap: 12px;
  align-items: center;
  min-height: 44px;
  border: 0;
  background: transparent;
  color: var(--accent);
  font-weight: 650;
  font-size: 14px;
}
.cart-count {
  background: var(--accent);
  color: white;
  min-width: 23px;
  height: 23px;
  border-radius: 50%;
  display: grid;
  place-content: center;
  font-size: 11px;
}
.navigation {
  display: flex;
  gap: 29px;
  align-items: center;
  min-height: 52px;
  overflow: auto;
  scrollbar-width: none;
  font-size: 13px;
  white-space: nowrap;
}
.navigation a {
  padding: 16px 0;
  border-bottom: 2px solid transparent;
}
.navigation a[aria-current],
.navigation a:hover {
  border-color: var(--accent);
  color: var(--accent);
}
.mobile-account,
.menu-toggle {
  display: none;
}
/* Home hero: one statement panel and three large bottles; the header already leads to the catalog. */
.store-intro {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 2fr);
  gap: 10px;
  height: clamp(420px, 38vw, 540px);
  margin: 20px 0 0;
}
.intro-statement {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 28px;
  min-width: 0;
  padding: clamp(24px, 2.8vw, 40px);
  border-radius: 12px;
  color: #f6f2e7;
  background:
    radial-gradient(90% 70% at 0% 0%, #1f6450 0%, transparent 70%),
    linear-gradient(165deg, var(--green) 0%, #0d3328 100%);
}
.intro-statement h1 {
  margin: 0;
  color: inherit;
  font-size: clamp(28px, 3.1vw, 45px);
  line-height: 1.04;
  letter-spacing: -0.05em;
  overflow-wrap: normal;
}
.intro-statement h1::before {
  content: "";
  display: block;
  width: 44px;
  height: 2px;
  margin-bottom: clamp(18px, 2vw, 28px);
  background: #b49b58;
}
/* Four vials, 5 to 30 ml, picture the volume choice instead of a line of copy. */
.intro-volumes {
  display: flex;
  align-items: flex-end;
  gap: clamp(14px, 1.6vw, 22px);
  margin: 0;
  padding: 0;
  list-style: none;
  color: #cdb47a;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.04em;
  white-space: nowrap;
}
.intro-volumes li {
  display: grid;
  justify-items: center;
  gap: 9px;
}
.intro-volumes span {
  position: relative;
  width: 10px;
  height: 22px;
  border: 1px solid currentColor;
  border-radius: 2px 2px 4px 4px;
  background: linear-gradient(to top, #cdb47a66 60%, transparent 60%);
}
.intro-volumes span::before {
  content: "";
  position: absolute;
  bottom: calc(100% + 2px);
  left: 50%;
  width: 50%;
  height: 5px;
  border-radius: 1px;
  background: currentColor;
  transform: translateX(-50%);
}
.intro-volumes li:nth-child(2) span {
  width: 12px;
  height: 30px;
}
.intro-volumes li:nth-child(3) span {
  width: 14px;
  height: 40px;
}
.intro-volumes li:nth-child(4) span {
  width: 16px;
  height: 50px;
}
.intro-volumes li:nth-child(5) span {
  width: 18px;
  height: 62px;
}
.intro-stage {
  display: flex;
  gap: 10px;
  min-width: 0;
}
.intro-bottle {
  position: relative;
  isolation: isolate;
  flex: 1 1 0;
  min-width: 0;
  overflow: hidden;
  border-radius: 12px;
  background: var(--tone);
  color: #111;
  transition: flex-grow 600ms cubic-bezier(0.2, 0.75, 0.2, 1);
}
/* Three steps of one warm tone: the bottles bring the colour, not the tiles. */
/* Each bottle on the first screen keeps a backdrop of its own: cream, rose and sage. */
.intro-bottle:nth-child(1) {
  --tone: #f1e9d6;
}
.intro-bottle:nth-child(2) {
  --tone: #f3e3df;
}
.intro-bottle:nth-child(3) {
  --tone: #e3e9df;
}
/* White photo backgrounds multiply into the panel tone, so the crop never shows. */
.intro-bottle img {
  position: absolute;
  inset: 0;
  width: auto;
  max-width: 88%;
  height: 76%;
  margin: auto;
  object-fit: contain;
  mix-blend-mode: multiply;
  transform: translateY(-4%);
  transition: transform 600ms cubic-bezier(0.2, 0.75, 0.2, 1);
}
.intro-bottle-name {
  position: absolute;
  right: 20px;
  bottom: 18px;
  left: 20px;
  display: grid;
  gap: 3px;
  font-size: 17px;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: -0.02em;
  transition:
    opacity 300ms,
    transform 400ms cubic-bezier(0.2, 0.75, 0.2, 1);
}
.intro-bottle-name small {
  font-size: 10px;
  letter-spacing: 0.14em;
  opacity: 0.6;
}
.intro-bottle:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 3px;
}
@media (hover: hover) and (pointer: fine) {
  .intro-bottle:hover {
    flex-grow: 1.45;
  }
  .intro-bottle:hover img {
    transform: translateY(-5%) scale(1.04);
  }
  .intro-bottle:not(:hover):not(:focus-visible) .intro-bottle-name {
    opacity: 0;
    transform: translateY(8px);
  }
}
@media (max-width: 980px) {
  .store-intro {
    grid-template-columns: 1fr;
    height: auto;
  }
  .intro-statement {
    flex-direction: row;
    align-items: flex-end;
  }
  .intro-stage {
    height: clamp(320px, 50vw, 440px);
  }
}
@media (max-width: 760px) {
  .store-intro {
    gap: 8px;
    margin-top: 16px;
  }
  .intro-statement {
    flex-direction: column;
    align-items: stretch;
    gap: 22px;
    padding: 24px 20px 22px;
  }
  .intro-statement h1 {
    font-size: clamp(28px, 8.4vw, 38px);
  }
  /* Bottles become a swipeable row that bleeds to the screen edges. */
  .intro-stage {
    height: clamp(280px, 82vw, 340px);
    margin: 0 -16px;
    padding: 0 16px;
    gap: 8px;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    scroll-snap-type: x mandatory;
    scroll-padding-inline: 16px;
    scrollbar-width: none;
  }
  .intro-stage::-webkit-scrollbar {
    display: none;
  }
  .intro-bottle {
    flex: 0 0 64%;
    scroll-snap-align: start;
  }
  .intro-bottle-name {
    right: 16px;
    bottom: 14px;
    left: 16px;
    font-size: 15px;
  }
}
@media (max-width: 360px) {
  .intro-stage {
    margin: 0 -12px;
    padding: 0 12px;
    scroll-padding-inline: 12px;
  }
}
.kicker {
  font-size: 10px;
  letter-spacing: 0.16em;
  font-weight: 650;
  margin: 0 0 15px;
  color: #111;
}
h1,
h2,
h3,
p {
  overflow-wrap: anywhere;
}
h1 {
  font-size: clamp(30px, 3.5vw, 48px);
  font-weight: 500;
  line-height: 1.16;
  letter-spacing: -0.045em;
  margin: 0 0 20px;
}
h2 {
  font-size: 27px;
  font-weight: 550;
  line-height: 1.25;
  letter-spacing: -0.035em;
  margin: 0 0 18px;
}
h3 {
  font-size: 17px;
  font-weight: 600;
  margin: 0;
}
.button,
.add-cart {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  background: var(--accent);
  border: 1px solid var(--accent);
  color: white;
  padding: 12px 20px;
  font-size: 13px;
  font-weight: 600;
  border-radius: 2px;
  transition:
    background 150ms,
    border-color 150ms;
}
.button:hover,
.add-cart:hover {
  background: #1d604c;
  border-color: #1d604c;
}
.button:active,
.add-cart:active {
  transform: translateY(1px);
}
.button-glass {
  color: var(--accent);
  background: white;
  border-color: var(--line);
}
.button-glass:hover {
  background: var(--stone-100);
  color: var(--accent);
}
.plain-link {
  display: block;
  margin-top: 17px;
  color: var(--accent);
  font-size: 13px;
  background: none;
  border: 0;
  padding: 0;
  text-align: left;
  text-decoration: underline;
  text-underline-offset: 4px;
}
.shopping-paths {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border: 1px solid var(--line);
}
.shopping-paths a {
  padding: 22px 25px;
  display: grid;
  gap: 7px;
}
.shopping-paths a + a {
  border-left: 1px solid var(--line);
}
.shopping-paths strong {
  font-size: 15px;
  font-weight: 600;
}
.shopping-paths span {
  font-size: 12px;
  color: var(--muted);
}
.product-section {
  padding: 60px 0;
}
.section-heading {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 20px;
  margin-bottom: 27px;
}
.section-heading h2 {
  margin: 0;
}
.section-heading > a {
  font-size: 13px;
  white-space: nowrap;
}
.product-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 28px 22px;
}
.product-card {
  min-width: 0;
  display: flex;
  flex-direction: column;
  border: 0;
  background: white;
}
.product-visual {
  height: 250px;
  display: grid;
  place-items: center;
  background: var(--stone-100);
  padding: 17px;
  overflow: hidden;
}
.product-visual img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  mix-blend-mode: multiply;
  transition: transform 180ms;
}
.product-visual:hover img {
  transform: scale(1.025);
}
.product-copy {
  padding: 17px 0 0;
  display: flex;
  flex-direction: column;
  flex: 1;
}
.type-label {
  color: var(--green);
  background: var(--stone-100);
  padding: 4px 7px;
  align-self: start;
  font-size: 10px;
}
.type-label.razliv {
  background: #faf1d5;
  color: #725b20;
}
.product-brand {
  font-size: 10px;
  font-weight: 650;
  letter-spacing: 0.07em;
  color: var(--muted);
  margin: 12px 0 5px;
}
.product-card h3 {
  font-size: 16px;
  line-height: 1.4;
}
.product-notes {
  font-size: 12px;
  color: var(--muted);
  line-height: 1.6;
  margin: 9px 0;
}
.decant-note {
  font-size: 10px;
  color: var(--muted);
  line-height: 1.5;
  margin: 0 0 13px;
}
.purchase-controls {
  margin-top: auto;
  display: grid;
  gap: 8px;
}
.purchase-controls label {
  display: grid;
  gap: 5px;
  font-size: 11px;
}
.volume-select {
  width: 100%;
  min-height: 42px;
  padding: 8px;
  border: 1px solid var(--line);
  background: white;
  border-radius: 2px;
  color: var(--text);
  font-size: 12px;
}
.product-availability {
  font-size: 11px;
  color: var(--muted);
}
.photo-pending {
  font-family: Georgia, serif;
  line-height: 1.5;
  letter-spacing: 0.12em;
  text-align: center;
  color: #111;
}
.shop-note {
  border-top: 1px solid var(--line);
  padding: 40px 0 60px;
  max-width: 750px;
}
.shop-note p {
  font-size: 14px;
  color: var(--muted);
  line-height: 1.8;
}
.page-heading {
  padding: 45px 0 30px;
  max-width: 820px;
}
.page-heading > p:last-child {
  color: var(--muted);
  font-size: 14px;
  line-height: 1.8;
  margin: 0;
}
.empty-state {
  padding: 45px 32px;
  background: var(--surface);
  margin: 0 0 55px;
}
.empty-state h2 {
  font-size: 23px;
}
.empty-state p {
  max-width: 620px;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.8;
}
.catalog-search {
  max-width: 650px;
  margin: 0 0 24px;
}
.catalog-search label {
  font-size: 12px;
  display: block;
  margin-bottom: 8px;
}
.search-field {
  display: flex;
  align-items: center;
  border: 1px solid var(--line);
}
.search-field input {
  min-width: 0;
  width: 100%;
  border: 0;
  padding: 13px;
  background: none;
  font-size: 14px;
}
.search-field button {
  background: none;
  border: 0;
  padding: 12px;
}
.catalog-context {
  display: flex;
  justify-content: space-between;
  font-size: 12px;
  color: var(--muted);
  gap: 20px;
  margin: 8px 0 23px;
}
.catalog-context p {
  margin: 0;
}
.catalog-pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 25px;
  margin: 30px 0 50px;
}
.catalog-pagination button,
.filter-reset {
  padding: 11px 17px;
  border: 1px solid var(--line);
  background: white;
  min-height: 44px;
  border-radius: 2px;
}
.filter-reset {
  margin-top: 20px;
}
.prose {
  max-width: 760px;
  padding: 5px 0 65px;
}
.prose h2 {
  font-size: 23px;
  margin-top: 30px;
}
.prose p,
.prose li {
  font-size: 15px;
  line-height: 1.9;
  color: var(--muted);
}
.prose li {
  margin-bottom: 12px;
}
.contact-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 50px;
  border-block: 1px solid var(--line);
  padding: 35px 0;
  margin-bottom: 30px;
}
.contact-grid h2 {
  font-size: 18px;
}
.large-text {
  font-size: 24px;
}
.set-card {
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  gap: 55px;
  margin: 10px 0 70px;
  align-items: center;
}
.set-images {
  display: flex;
  background: var(--surface);
  align-items: center;
  padding: 25px 10px;
  min-height: 350px;
}
.set-images img {
  width: 33.33%;
  height: 260px;
  object-fit: contain;
  mix-blend-mode: multiply;
}
.set-card ul {
  padding-left: 20px;
  font-size: 14px;
  line-height: 2;
}
.set-card p {
  font-size: 14px;
  color: var(--muted);
  line-height: 1.8;
}
.set-card .set-price {
  font-size: 28px;
  color: var(--text);
  font-weight: 600;
}
.detail-page {
  margin: 40px 0 60px;
}
.detail-product {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 55px;
}
.detail-product .product-visual {
  height: 480px;
}
.detail-product h1 {
  font-size: 35px;
}
.detail-product .product-copy {
  padding: 0;
}
.detail-product .purchase-controls {
  max-width: 350px;
  margin-top: 20px;
}
.metrics {
  display: flex;
  gap: 25px;
  margin: 20px 0;
}
.metrics strong {
  width: 65px;
  height: 65px;
  border: 4px solid var(--stone-300);
  border-radius: 50%;
  display: grid;
  place-content: center;
}
.account-form {
  display: grid;
  gap: 18px;
  max-width: 420px;
  margin: 25px 0 70px;
}
.account-form label {
  display: grid;
  gap: 8px;
  font-size: 13px;
}
.account-form input {
  padding: 13px;
  border: 1px solid var(--line);
  border-radius: 2px;
  min-height: 46px;
}
.account-tabs {
  display: flex;
  gap: 8px;
}
.field-hint {
  font-size: 12px;
  line-height: 1.6;
  color: var(--muted);
}
#account-message {
  margin-bottom: 50px;
}
footer {
  background: var(--stone-100);
  border-top: 1px solid var(--line);
  margin-top: 35px;
  padding: 40px 0 20px;
}
.footer-grid {
  display: grid;
  grid-template-columns: 1.3fr 1fr 1fr;
  gap: 40px;
}
.footer-grid p {
  line-height: 1.8;
  color: var(--muted);
  font-size: 13px;
}
.footer-grid a {
  font-size: 13px;
}
.footer-grid > div:last-child {
  display: grid;
  align-content: start;
  gap: 16px;
}
.footer-brand {
  font-size: 20px;
  font-family: Georgia, serif;
  font-weight: 400;
}
.footer-bottom {
  display: flex;
  gap: 7px;
  border-top: 1px solid var(--line);
  padding-top: 20px;
  margin-top: 28px;
  font-size: 11px;
  color: var(--muted);
}
.footer-bottom > span:last-child {
  margin-left: auto;
}
.contact-link {
  position: fixed;
  bottom: 18px;
  right: 20px;
  z-index: 20;
  background: #103d31;
  color: white;
  padding: 12px 17px;
  border-radius: 3px;
  font-size: 12px;
  box-shadow: 0 3px 14px #103d3118;
}
main {
  min-height: 45vh;
}
.contact-link:hover {
  background: var(--green-hover);
}
.sku {
  font-size: 11px;
  color: var(--muted);
}
@media (max-width: 1050px) {
  .header-inner {
    gap: 20px;
  }
  .header-search {
    gap: 30px;
  }
  .navigation {
    gap: 22px;
  }
  .container {
    width: calc(100% - 48px);
  }
  .account-link {
    font-size: 12px;
  }
  .product-grid {
    gap: 24px 18px;
  }
  .product-visual {
    height: 215px;
  }
}
@media (max-width: 760px) {
  .container {
    width: calc(100% - 32px);
  }
  .shop-strip {
    font-size: 10px;
    padding: 8px;
  }
  .shop-strip span {
    margin-left: 12px;
  }
  .header-inner {
    height: 75px;
    gap: 12px;
    flex-wrap: wrap;
  }
  .brand img {
    width: 42px;
    height: 42px;
  }
  .brand {
    gap: 8px;
  }
  .brand > span {
    font-size: 21px;
  }
  .brand small {
    font-size: 8px;
  }
  .header-search,
  .account-link {
    display: none;
  }
  .cart-toggle {
    margin-left: auto;
    font-size: 12px;
    gap: 6px;
  }
  .menu-toggle {
    display: flex;
    gap: 7px;
    align-items: center;
    border: 0;
    background: none;
    min-height: 44px;
    padding: 4px;
    font-size: 12px;
    color: var(--text);
  }
  .navigation {
    display: none;
    white-space: normal;
    max-height: 70dvh;
    overflow: auto;
    padding-block: 12px;
    grid-template-columns: 1fr 1fr;
    gap: 0 15px;
  }
  .navigation.is-open {
    display: grid;
  }
  .navigation a {
    padding: 14px 0;
    font-size: 13px;
  }
  .mobile-account {
    display: block;
  }
  .shopping-paths {
    grid-template-columns: 1fr;
  }
  .shopping-paths a {
    padding: 14px 17px;
    gap: 5px;
  }
  .shopping-paths a + a {
    border-left: 0;
    border-top: 1px solid var(--line);
  }
  .shopping-paths strong {
    font-size: 14px;
  }
  .shopping-paths span {
    font-size: 11px;
  }
  .product-section {
    padding: 35px 0;
  }
  .section-heading {
    align-items: start;
    gap: 15px;
  }
  .section-heading h2 {
    font-size: 23px;
  }
  .section-heading > a {
    font-size: 11px;
    padding-top: 23px;
  }
  .product-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 27px 13px;
  }
  .product-visual {
    height: 190px;
    padding: 12px;
  }
  .product-copy {
    padding-top: 12px;
  }
  .product-card h3 {
    font-size: 14px;
  }
  .product-brand {
    font-size: 9px;
    letter-spacing: 0.02em;
  }
  .product-notes {
    font-size: 11px;
  }
  .type-label {
    font-size: 9px;
    padding: 4px 5px;
  }
  .decant-note {
    font-size: 9px;
  }
  .volume-select {
    font-size: 11px;
    padding: 8px 5px;
  }
  .add-cart {
    font-size: 12px;
    min-height: 44px;
    padding: 10px;
  }
  .product-availability {
    font-size: 10px;
  }
  .page-heading {
    padding: 30px 0 25px;
  }
  .page-heading h1 {
    font-size: 30px;
  }
  .page-heading > p:last-child {
    font-size: 13px;
  }
  .catalog-context {
    display: block;
    font-size: 11px;
  }
  .catalog-context p + p {
    margin-top: 7px;
  }
  .empty-state {
    padding: 28px 20px;
  }
  .empty-state h2 {
    font-size: 21px;
  }
  .contact-grid {
    grid-template-columns: 1fr;
    gap: 25px;
  }
  .large-text {
    font-size: 21px;
  }
  .set-card {
    grid-template-columns: 1fr;
    gap: 25px;
  }
  .set-images {
    min-height: 230px;
    padding: 10px;
  }
  .set-images img {
    height: 200px;
  }
  .detail-product {
    grid-template-columns: 1fr;
    gap: 25px;
  }
  .detail-product .product-visual {
    height: 300px;
  }
  .detail-product h1 {
    font-size: 28px;
  }
  .footer-grid {
    grid-template-columns: 1fr 1fr;
    gap: 28px 20px;
  }
  .footer-grid > div:first-child {
    grid-column: 1/-1;
  }
  .footer-grid a {
    font-size: 12px;
  }
  .footer-bottom {
    font-size: 10px;
    flex-wrap: wrap;
  }
  .contact-link {
    bottom: 12px;
    right: 12px;
    font-size: 11px;
    padding: 11px 14px;
  }
  footer {
    padding-bottom: 65px;
  }
  .shop-note {
    padding: 30px 0;
  }
  .catalog-search input {
    font-size: 16px;
  }
}
@media (max-width: 360px) {
  .container {
    width: calc(100% - 24px);
  }
  .brand > span {
    font-size: 18px;
  }
  .brand img {
    width: 36px;
    height: 36px;
  }
  .brand small {
    font-size: 7px;
  }
  .cart-toggle {
    font-size: 11px;
  }
  .menu-toggle {
    font-size: 11px;
  }
  .header-inner {
    gap: 8px;
  }
  .product-visual {
    height: 160px;
  }
  .shopping-paths span {
    font-size: 10px;
  }
}
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation: none !important;
    transition: none !important;
    scroll-behavior: auto !important;
  }
  .product-visual:hover img {
    transform: none;
  }
}
/* Product-first home: do not repeat the header navigation in oversized panels. */
@media (min-width: 761px) {
  .header-inner {
    height: 78px;
  }
  .navigation {
    min-height: 44px;
  }
  .navigation a {
    padding: 12px 0;
  }
  .product-section {
    padding-top: 30px;
  }
  .product-section .product-visual {
    height: 210px;
  }
  .product-section .section-heading {
    margin-bottom: 20px;
  }
  .product-section .section-heading h2 {
    font-size: 25px;
  }
}
.shopping-paths {
  display: none;
}
.contact-link {
  position: static;
  display: block;
  width: max-content;
  margin: 0 auto 25px;
  box-shadow: none;
}
.sku {
  margin: 7px 0 0;
}
.page-heading h1 {
  overflow-wrap: normal;
}
html {
  scroll-padding-top: 155px;
}
.prose h2[id] {
  scroll-margin-top: 170px;
}
@media (max-width: 760px) {
  html {
    scroll-padding-top: 110px;
  }
  .page-heading {
    padding: 25px 0 22px;
  }
  .page-heading h1 {
    font-size: 27px;
  }
  .contact-link {
    margin-bottom: 20px;
  }
  footer {
    padding-bottom: 20px;
  }
}
/* A restrained retail finish: clear prices, tactile controls and quiet brand detail. */
.button,
.add-cart {
  border-radius: 6px;
  transition:
    background 160ms var(--ease),
    border-color 160ms var(--ease),
    box-shadow 160ms var(--ease),
    transform 100ms var(--ease);
}
.button:hover,
.add-cart:hover {
  box-shadow: 0 3px 8px #123d3114;
}
.button:active,
.add-cart:active {
  transform: scale(0.985);
  box-shadow: none;
}
.button:disabled,
.add-cart:disabled {
  transform: none;
  box-shadow: none;
}
.current-price {
  font-size: 20px;
  font-weight: 650;
  letter-spacing: -0.025em;
  margin: 0 0 2px;
}
.product-card {
  padding-bottom: 4px;
}
.product-visual {
  border-radius: 7px;
  background: var(--stone-100);
}
.product-copy h3 a:hover {
  text-decoration: underline;
  text-underline-offset: 4px;
}
.product-brand {
  color: #111;
}
.purchase-controls label {
  color: #111;
}
.volume-select {
  border-radius: 5px;
  transition: border-color 150ms;
}
.volume-select:hover {
  border-color: #8b9e89;
}
.navigation a {
  transition:
    color 140ms,
    border-color 140ms;
}
.header {
  box-shadow: 0 1px 0 #213a2110;
}
.search-field {
  border-radius: 6px;
  background: var(--stone-50);
}
.page-heading .kicker {
  color: #111;
}
.brand small {
  color: #111;
}
.contact-widget {
  position: fixed;
  right: 22px;
  bottom: 22px;
  z-index: 35;
}
.contact-toggle {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 48px;
  padding: 12px 17px;
  border: 1px solid #ffffff30;
  background: var(--green);
  color: #fff;
  border-radius: 30px;
  box-shadow: 0 5px 20px #0f332329;
  font-size: 12px;
  transition:
    background 150ms,
    transform 100ms;
}
.contact-toggle:hover {
  background: var(--green-hover);
}
.contact-toggle:active {
  transform: scale(0.97);
}
.contact-toggle svg {
  width: 24px;
  height: 24px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.5;
}
.contact-panel {
  position: absolute;
  right: 0;
  bottom: 62px;
  width: 340px;
  max-width: calc(100vw - 28px);
  background: #fff;
  border-radius: 14px;
  box-shadow: 0 12px 45px #0a2b2433;
  border: 1px solid var(--stone-300);
  overflow: hidden;
  animation: contact-open 160ms var(--ease);
  transform-origin: bottom right;
}
.contact-panel-heading {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 19px 20px;
  background: var(--green);
  color: #fff;
}
.contact-panel-heading strong {
  display: block;
  font-size: 16px;
  font-weight: 600;
}
.contact-panel-heading span {
  font-size: 11px;
  color: var(--stone-300);
  display: block;
  margin-top: 4px;
}
.contact-close {
  border: 0;
  background: none;
  color: #fff;
  font-size: 25px;
  width: 36px;
  height: 36px;
}
.contact-panel-body {
  padding: 20px;
}
.contact-panel-body > p:first-child {
  font-size: 17px;
  line-height: 1.5;
  margin: 0 0 12px;
}
.contact-panel .field-hint {
  font-size: 11px;
}
.contact-panel form {
  display: grid;
  gap: 9px;
  margin-top: 18px;
}
.contact-panel label {
  font-size: 11px;
}
.contact-panel textarea {
  resize: vertical;
  max-height: 140px;
  padding: 11px;
  border: 1px solid var(--stone-400);
  border-radius: 6px;
  font-size: 13px;
  line-height: 1.5;
}
.contact-panel .button {
  gap: 14px;
  font-size: 12px;
}
.contact-hours {
  font-size: 10px;
  color: var(--muted);
  display: block;
  margin-top: 16px;
}
.product-grid {
  padding-bottom: 12px;
}
.metrics {
  padding-block: 15px;
}
.metrics > div {
  display: grid;
  justify-items: center;
  gap: 7px;
}
.metrics span {
  font-size: 11px;
  color: var(--muted);
}
@keyframes contact-open {
  from {
    opacity: 0;
    transform: translateY(8px) scale(0.98);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
@media (max-width: 760px) {
  .contact-widget {
    bottom: 14px;
    right: 14px;
  }
  .contact-toggle {
    width: 48px;
    height: 48px;
    padding: 12px;
    justify-content: center;
  }
  .contact-toggle > span {
    display: none;
  }
  .contact-panel {
    bottom: 62px;
    width: 330px;
  }
  .contact-panel textarea {
    font-size: 16px;
  }
  .current-price {
    font-size: 18px;
  }
  footer {
    padding-bottom: 75px;
  }
  .button,
  .add-cart {
    border-radius: 5px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .contact-panel {
    animation: none;
  }
  .button,
  .add-cart,
  .contact-toggle {
    transition: none;
  }
  .button:active,
  .add-cart:active,
  .contact-toggle:active {
    transform: none;
  }
}
.contact-panel {
  max-height: min(560px, calc(100dvh - 100px));
  overflow: auto;
}
.cart-dialog {
  scrollbar-gutter: stable;
}
/* Explicit image bounds keep tall bottle photography inside its frame. */
.product-visual {
  position: relative;
}
.product-visual img {
  position: absolute;
  inset: 17px;
  width: calc(100% - 34px);
  height: calc(100% - 34px);
  max-height: none;
  object-fit: contain;
}
.product-section .product-notes,
.product-section .decant-note {
  display: none;
}
.product-section .product-copy h3 {
  margin-bottom: 12px;
}
.product-section .current-price {
  margin-bottom: 8px;
}
@media (max-width: 760px) {
  .product-visual img {
    inset: 12px;
    width: calc(100% - 24px);
    height: calc(100% - 24px);
  }
}
/* Compact conversation surface. Real conversation continues in WhatsApp. */
.contact-panel {
  width: 310px;
  border-radius: 14px;
  animation: none;
  transform-origin: bottom right;
}
.contact-panel-heading {
  padding: 14px 15px;
  gap: 10px;
}
.contact-panel-heading img {
  width: 36px;
  height: 36px;
  object-fit: cover;
  border: 1px solid #bdab7040;
  border-radius: 50%;
  flex-shrink: 0;
}
.contact-panel-heading > div {
  flex: 1;
}
.contact-panel-heading strong {
  font-size: 14px;
}
.contact-panel-heading span {
  font-size: 10px;
}
.contact-panel-heading .contact-close {
  width: 28px;
  height: 28px;
  font-size: 22px;
  flex-shrink: 0;
}
.contact-conversation {
  background: var(--stone-200);
  padding: 18px 15px 13px;
  min-height: 126px;
}
.contact-greeting {
  position: relative;
  background: #fff;
  border-radius: 0 9px 9px 9px;
  width: max-content;
  max-width: 95%;
  padding: 12px 14px;
  box-shadow: 0 1px 2px #164d3b0d;
}
.contact-greeting::before {
  content: "";
  position: absolute;
  left: -7px;
  top: 0;
  border-top: 7px solid #fff;
  border-left: 7px solid transparent;
}
.contact-greeting p {
  font-size: 13px;
  line-height: 1.65;
  margin: 0 0 7px;
}
.contact-greeting span {
  font-size: 9px;
  color: #111;
}
.contact-context {
  font-size: 10px;
  color: #111;
  margin: 12px 0 0;
}
.contact-panel .contact-composer {
  display: flex;
  gap: 8px;
  align-items: center;
  margin: 0;
  padding: 12px 12px 7px;
  background: #fff;
}
.contact-composer input {
  width: 100%;
  min-width: 0;
  border: 1px solid var(--stone-400);
  border-radius: 24px;
  padding: 12px 13px;
  font-size: 13px;
  min-height: 44px;
  color: var(--text);
  background: var(--stone-50);
}
.contact-composer button {
  border: 0;
  background: var(--green);
  color: white;
  border-radius: 50%;
  width: 42px;
  height: 42px;
  display: grid;
  place-content: center;
  flex-shrink: 0;
  transition:
    background 150ms,
    transform 100ms;
}
.contact-composer button:hover {
  background: var(--green-hover);
}
.contact-composer button:active {
  transform: scale(0.94);
}
.contact-composer button svg {
  width: 20px;
  height: 20px;
  stroke: currentColor;
  fill: none;
  stroke-width: 1.5;
}
.contact-disclosure {
  font-size: 9px;
  text-align: center;
  color: #111;
  background: white;
  margin: 0;
  padding: 1px 10px 12px;
}
.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
@media (max-width: 760px) {
  .contact-panel {
    width: 300px;
    max-width: calc(100vw - 28px);
    bottom: 60px;
  }
  .contact-conversation {
    min-height: 112px;
    padding: 15px;
  }
  .contact-composer input {
    font-size: 16px;
    max-height: 44px;
  }
  .contact-disclosure {
    font-size: 9px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .contact-composer button {
    transition: none;
  }
  .contact-composer button:active {
    transform: none;
  }
}
.add-cart.is-added {
  background: var(--stone-200);
  color: var(--green);
  border-color: #b4c9ae;
  box-shadow: none;
}
@media (max-width: 760px) {
  .header .navigation {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    width: 100%;
    margin: 0;
    padding: 12px 20px;
    background: #fff;
    border-bottom: 1px solid var(--line);
    box-shadow: 0 12px 18px #163b3010;
  }
  .navigation.is-open {
    animation: menu-arrive 220ms var(--ease);
  }
}
@keyframes menu-arrive {
  from {
    opacity: 0;
    transform: translateY(-5px);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
@media (prefers-reduced-motion: reduce) {
  .navigation.is-open {
    animation: none;
  }
}
.product-navigation {
  display: flex;
  align-items: center;
  gap: 20px;
  margin: 0 0 30px;
}
.detail-back {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 42px;
  border: 1px solid var(--stone-300);
  border-radius: 6px;
  padding: 10px 16px;
  flex-shrink: 0;
  font-size: 12px;
  transition: background 150ms;
}
.detail-back:hover {
  background: var(--stone-100);
}
.breadcrumbs {
  display: flex;
  align-items: center;
  gap: 9px;
  flex-wrap: wrap;
  font-size: 11px;
  color: #111;
  line-height: 1.7;
}
.breadcrumbs a:hover {
  color: var(--green);
  text-decoration: underline;
}
.breadcrumbs [aria-current] {
  color: #111;
}
.detail-product {
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
  gap: 65px;
}
.detail-gallery .product-visual {
  height: 530px;
  border-radius: 10px;
}
.detail-gallery .product-visual img {
  inset: 35px;
  width: calc(100% - 70px);
  height: calc(100% - 70px);
}
.gallery-caption {
  font-size: 11px;
  color: #111;
  line-height: 1.7;
  margin: 14px 0 0;
  max-width: 460px;
}
.detail-buy .detail-meta {
  display: flex;
  gap: 12px;
  align-items: center;
}
.detail-meta .sku {
  margin: 0;
  font-size: 10px;
}
.detail-buy .product-brand {
  margin: 24px 0 10px;
  font-size: 12px;
  letter-spacing: 0.06em;
}
.detail-buy h1 {
  font-size: clamp(29px, 3vw, 44px);
  line-height: 1.12;
  margin: 0 0 12px;
  font-weight: 500;
}
.detail-audience {
  font-size: 13px;
  color: #111;
  margin: 0 0 17px;
}
.detail-buy > .product-availability {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  color: var(--green);
  margin-bottom: 26px;
}
.detail-buy > .product-availability::before {
  content: "";
  width: 7px;
  height: 7px;
  background: currentColor;
  border-radius: 50%;
}
.detail-buy .purchase-controls {
  max-width: none;
  margin: 0;
  gap: 12px;
}
.detail-buy .current-price {
  font-size: 34px;
  font-weight: 650;
  letter-spacing: -0.035em;
  margin-bottom: 7px;
}
.detail-buy .volume-select {
  height: 46px;
  font-size: 14px;
  max-width: 100%;
}
.detail-buy .purchase-controls label {
  font-size: 12px;
  gap: 8px;
}
.unit-price {
  font-size: 11px;
  color: #111;
  margin: 0 0 5px;
}
.detail-actions {
  display: flex;
  gap: 10px;
}
.detail-actions .add-cart {
  flex: 1;
  min-height: 52px;
  font-size: 14px;
}
.favorite-toggle {
  border: 1px solid var(--stone-400);
  min-width: 52px;
  height: 52px;
  background: #fff;
  border-radius: 6px;
  font-size: 30px;
  color: var(--green);
  transition:
    background 150ms,
    transform 100ms;
}
.favorite-toggle:hover,
.favorite-toggle[aria-pressed="true"] {
  background: var(--stone-100);
}
.favorite-toggle:active {
  transform: scale(0.94);
}
.detail-buy .buy-now {
  min-height: 46px;
}
.product-question {
  display: flex;
  gap: 10px;
  align-items: center;
  justify-content: center;
  border-top: 1px solid var(--stone-300);
  padding: 20px 0 10px;
  margin-top: 23px;
  font-size: 12px;
  color: var(--green);
}
.product-question:hover {
  text-decoration: underline;
}
.product-question > span {
  font-size: 18px;
}
.detail-delivery {
  font-size: 11px;
  line-height: 1.8;
  color: #111;
  margin: 4px 0;
}
.fragrance-information {
  display: grid;
  grid-template-columns: 1.15fr 1fr;
  gap: 80px;
  border-top: 1px solid var(--stone-300);
  margin-top: 55px;
  padding: 38px 0 20px;
}
.fragrance-information h2 {
  font-size: 24px;
}
.fragrance-description > p:not(.kicker) {
  font-size: 15px;
  line-height: 1.9;
  color: #111;
}
.note-list {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  margin: 23px 0;
}
.note-list span {
  font-size: 12px;
  background: var(--stone-100);
  border: 1px solid var(--stone-300);
  padding: 9px 13px;
  border-radius: 4px;
}
.fragrance-description .direction-explainer {
  font-size: 12px !important;
  color: #111 !important;
}
.fragrance-facts dl {
  margin: 0;
}
.fragrance-facts dl > div {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 20px;
  border-bottom: 1px solid var(--stone-300);
  padding: 13px 0;
  font-size: 13px;
}
.fragrance-facts dt {
  color: #111;
  flex-shrink: 0;
}
.fragrance-facts dd {
  text-align: right;
  margin: 0;
  color: #111;
}
.rating-item {
  display: grid;
  justify-items: center;
  gap: 8px;
  font-size: 11px;
}
.rating-circle {
  background: conic-gradient(var(--green) var(--score), var(--stone-300) 0);
  width: 70px;
  height: 70px;
  border-radius: 50%;
  display: grid;
  place-items: center;
}
.rating-circle > span {
  display: flex;
  align-items: baseline;
  justify-content: center;
  gap: 2px;
  width: 62px;
  height: 62px;
  background: white;
  border-radius: 50%;
  padding-top: 18px;
  font-size: 20px;
}
.rating-circle small {
  font-size: 10px;
  color: #111;
}
.promotion-product img {
  object-fit: contain;
  background: var(--stone-100);
  width: 100%;
  height: 240px;
  padding: 20px;
}
.promotion-product h2 {
  font-size: 20px;
}
.promotion-product .type-label {
  display: inline-block;
  margin-top: 15px;
}
.promotion-product del {
  font-size: 12px;
  color: #111;
  margin-right: 8px;
}
@media (max-width: 760px) {
  .product-navigation {
    align-items: start;
    gap: 12px;
    margin-bottom: 20px;
  }
  .detail-back {
    font-size: 11px;
    padding: 8px 11px;
    min-height: 38px;
  }
  .breadcrumbs {
    gap: 5px;
    font-size: 10px;
  }
  .detail-product {
    grid-template-columns: 1fr;
    gap: 24px;
  }
  .detail-gallery .product-visual {
    height: 310px;
  }
  .gallery-caption {
    font-size: 10px;
  }
  .detail-buy h1 {
    font-size: 31px;
  }
  .detail-buy .product-brand {
    margin-top: 15px;
  }
  .detail-buy .current-price {
    font-size: 30px;
  }
  .detail-buy .purchase-controls {
    max-width: none;
  }
  .detail-actions .add-cart {
    min-height: 50px;
  }
  .detail-buy > .product-availability {
    margin-bottom: 20px;
  }
  .fragrance-information {
    grid-template-columns: 1fr;
    gap: 35px;
    margin-top: 35px;
    padding-top: 28px;
  }
  .fragrance-description > p:not(.kicker) {
    font-size: 14px;
  }
  .fragrance-facts dl > div {
    font-size: 12px;
  }
  .detail-page {
    margin-top: 25px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .favorite-toggle:active {
    transform: none;
  }
  .detail-back,
  .favorite-toggle {
    transition: none;
  }
}
.certificate-gallery {
  margin: 45px 0 35px;
  border-top: 1px solid var(--stone-300);
  padding-top: 28px;
}
.certificate-heading {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
}
.certificate-heading h2 {
  margin: 0;
}
.certificate-heading > span {
  font-size: 11px;
  color: var(--muted);
}
.prose .certificate-hint {
  font-size: 12px;
  line-height: 1.7;
}
.certificate-track {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 15px;
  margin-top: 20px;
}
.certificate-thumb {
  padding: 9px;
  background: var(--stone-100);
  border: 1px solid var(--stone-300);
  border-radius: 6px;
  min-width: 0;
  text-align: left;
  transition:
    border-color 150ms,
    background 150ms;
}
.certificate-thumb:hover {
  border-color: var(--green);
  background: var(--stone-200);
}
.certificate-thumb img {
  width: 100%;
  height: 270px;
  object-fit: contain;
  background: white;
}
.certificate-thumb span {
  display: block;
  font-size: 11px;
  margin: 10px 3px 3px;
  color: #111;
}
.certificate-controls {
  display: none;
}
.certificate-lightbox {
  padding: 0;
  width: min(950px, calc(100% - 24px));
  max-width: none;
  height: min(95dvh, 1150px);
  max-height: 95dvh;
  border: 1px solid var(--stone-400);
  border-radius: 10px;
  background: var(--stone-100);
  color: var(--text);
  overflow: hidden;
}
.certificate-lightbox[open] {
  display: flex;
  flex-direction: column;
}
.certificate-lightbox::backdrop {
  background: #0b211bd1;
}
.certificate-toolbar {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 12px 18px;
  border-bottom: 1px solid var(--stone-400);
  background: white;
  flex-shrink: 0;
}
.certificate-toolbar strong {
  font-size: 13px;
  font-weight: 550;
  margin-right: auto;
}
.certificate-toolbar button,
.certificate-view-controls button {
  border: 1px solid var(--stone-400);
  background: white;
  color: var(--green);
  min-height: 40px;
  padding: 8px 13px;
  border-radius: 5px;
  font-size: 12px;
}
.certificate-toolbar #certificate-close {
  font-size: 23px;
  line-height: 1;
  width: 40px;
  padding: 4px;
}
.certificate-view {
  flex: 1;
  overflow: auto;
  padding: 16px;
  min-height: 0;
  display: flex;
  justify-content: center;
}
.certificate-view img {
  height: 100%;
  width: 100%;
  object-fit: contain;
  max-width: 100%;
}
.certificate-view.is-zoomed {
  display: block;
}
.certificate-view.is-zoomed img {
  width: 1273px;
  max-width: none;
  height: auto;
  object-fit: initial;
}
.certificate-view-controls {
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-top: 1px solid var(--stone-400);
  padding: 11px 18px;
  background: white;
  font-size: 12px;
  flex-shrink: 0;
}
@media (max-width: 760px) {
  .certificate-track {
    display: flex;
    overflow: auto;
    scroll-snap-type: x mandatory;
    gap: 12px;
    padding-bottom: 10px;
  }
  .certificate-thumb {
    flex: 0 0 78%;
    scroll-snap-align: start;
  }
  .certificate-thumb img {
    height: 270px;
  }
  .certificate-controls {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    font-size: 10px;
    color: #111;
  }
  .certificate-controls button {
    width: 40px;
    height: 40px;
    border: 1px solid var(--stone-400);
    background: white;
    border-radius: 5px;
    color: var(--green);
  }
  .certificate-heading {
    gap: 15px;
  }
  .certificate-toolbar {
    padding: 10px;
    gap: 7px;
  }
  .certificate-toolbar strong {
    font-size: 11px;
  }
  .certificate-toolbar button {
    font-size: 10px;
    padding: 7px;
  }
  .certificate-view {
    padding: 8px;
  }
  .certificate-view.is-zoomed img {
    width: 950px;
  }
  .certificate-lightbox {
    height: 92dvh;
  }
  .certificate-gallery {
    margin-top: 35px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .certificate-thumb {
    transition: none;
  }
}
/* Keyboard access stays visible without covering the logo or navigation. */
.skip-link {
  position: fixed;
  left: 16px;
  top: -100px;
  padding: 6px 10px;
  background: var(--green);
  color: #fff;
  border-radius: 3px;
  font-size: 11px;
  line-height: 1.45;
  z-index: 60;
  max-width: calc(100% - 32px);
  width: max-content;
}
.skip-link:focus {
  top: 4px;
  outline: 1px solid var(--stone-300);
  outline-offset: 1px;
  box-shadow: none;
}
button:focus-visible,
a:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: 2px solid var(--green);
  outline-offset: 2px;
}
main[tabindex="-1"]:focus {
  outline: none;
}
@media (max-width: 760px) {
  .skip-link {
    left: 12px;
    font-size: 10px;
    padding: 4px 8px;
  }
  .skip-link:focus {
    top: 3px;
  }
}
/* Compact, light consultation popover. */
.contact-panel {
  width: 280px;
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.97);
  border: 1px solid #fff;
  box-shadow:
    0 12px 42px #123d3124,
    0 1px 5px #123d3110;
  backdrop-filter: blur(16px);
}
.contact-panel-heading {
  padding: 11px 12px;
  background: var(--stone-50);
  color: #193f2e;
  gap: 8px;
  border-bottom: 1px solid var(--stone-200);
}
.contact-panel-heading img {
  width: 28px;
  height: 28px;
  border: 0;
}
.contact-panel-heading strong {
  font-size: 12px;
  letter-spacing: -0.01em;
}
.contact-panel-heading span {
  font-size: 9px;
  color: #111;
  margin-top: 3px;
}
.contact-panel-heading .contact-close {
  width: 25px;
  height: 25px;
  border-radius: 50%;
  background: var(--stone-200);
  color: #111;
  font-size: 18px;
}
.contact-conversation {
  min-height: 0;
  padding: 13px 12px;
  background: var(--stone-100);
}
.contact-greeting {
  padding: 9px 11px;
  border-radius: 0 11px 11px 11px;
  box-shadow: 0 1px 2px #173f2a08;
}
.contact-greeting p {
  font-size: 12px;
  line-height: 1.6;
  margin: 0;
}
.contact-panel .contact-composer {
  padding: 10px 10px 6px;
  gap: 7px;
  background: #fff;
}
.contact-composer input {
  font-size: 12px;
  padding: 8px 11px;
  min-height: 38px;
  border-radius: 20px;
  background: var(--stone-50);
  border-color: var(--stone-300);
}
.contact-composer button {
  width: 36px;
  height: 36px;
}
.contact-composer button svg {
  width: 18px;
  height: 18px;
}
.contact-disclosure {
  font-size: 9px;
  padding-bottom: 10px;
  color: #111;
}
.contact-toggle {
  min-height: 43px;
  padding: 10px 14px;
  font-size: 11px;
  border-radius: 24px;
}
.contact-toggle svg {
  width: 21px;
  height: 21px;
}
@media (max-width: 760px) {
  .contact-panel {
    width: 280px;
    bottom: 54px;
    max-width: calc(100vw - 24px);
  }
  .contact-widget {
    right: 12px;
    bottom: 12px;
  }
  .contact-toggle {
    width: 44px;
    height: 44px;
    padding: 10px;
  }
  .contact-composer input {
    font-size: 16px;
    min-height: 38px;
    padding: 7px 11px;
  }
  .contact-panel-heading {
    padding: 10px 12px;
  }
  .contact-greeting p {
    font-size: 12px;
  }
}
/* Detail information stays beside the bottle, directly after purchase controls. */
.product-tabs {
  margin-top: 25px;
  border-top: 1px solid var(--stone-300);
  padding-top: 5px;
}
.product-tablist {
  display: flex;
  gap: 20px;
  overflow: auto;
  scrollbar-width: none;
  border-bottom: 1px solid var(--stone-300);
}
.product-tablist button {
  position: relative;
  border: 0;
  background: none;
  padding: 14px 0 15px;
  color: #111;
  white-space: nowrap;
  font-size: 12px;
  min-height: 44px;
  font-weight: 550;
}
.product-tablist button::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 2px;
  border-radius: 3px;
  background: var(--green);
  transform: scaleX(0);
  transform-origin: center;
  transition: transform 180ms var(--ease);
}
.product-tablist button[aria-selected="true"] {
  color: var(--green);
}
.product-tablist button[aria-selected="true"]::after {
  transform: scaleX(1);
}
.product-tabpanel {
  padding-top: 19px;
  min-height: 220px;
  font-size: 13px;
  line-height: 1.8;
  color: #111;
}
.product-tabpanel > p {
  margin: 0 0 15px;
}
.product-tabpanel .direction-explainer {
  font-size: 11px;
  color: #111;
  line-height: 1.7;
}
.product-tabpanel .note-list {
  margin: 0;
  gap: 8px;
}
.product-tabpanel .note-list span {
  font-size: 11px;
  padding: 7px 10px;
}
.product-tabpanel dl {
  margin: 0;
}
.product-tabpanel dl > div {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  align-items: baseline;
  border-bottom: 1px solid var(--stone-300);
  padding: 10px 0;
  font-size: 12px;
}
.product-tabpanel dt {
  color: #111;
  flex-shrink: 0;
}
.product-tabpanel dd {
  margin: 0;
  text-align: right;
  color: #111;
}
.product-tabpanel .metrics {
  display: flex;
  justify-content: flex-start;
  gap: 40px;
  padding: 5px 0 20px;
  margin: 0;
}
.product-tabpanel .rating-item {
  gap: 12px;
  font-size: 12px;
}
.product-tabpanel .rating-circle {
  width: 112px;
  height: 112px;
}
.product-tabpanel .rating-circle > span {
  width: 100px;
  height: 100px;
  font-size: 33px;
  padding-top: 28px;
}
.product-tabpanel .rating-circle small {
  font-size: 12px;
}
.product-tabpanel .field-hint {
  font-size: 11px;
  max-width: 350px;
}
.detail-gallery {
  align-self: start;
  position: sticky;
  top: 170px;
}
.gallery-caption {
  font-size: 10px;
  line-height: 1.6;
  max-width: 420px;
}
.detail-gallery .product-visual {
  height: min(640px, calc(100dvh - 210px));
  min-height: 400px;
}
.detail-product {
  align-items: start;
}
.panel-intro {
  font-size: 12px;
  color: #111;
}
@media (max-width: 1100px) {
  .product-tablist {
    gap: 15px;
  }
  .product-tablist button {
    font-size: 11px;
  }
}
@media (max-width: 760px) {
  .detail-gallery {
    position: static;
  }
  .detail-gallery .product-visual {
    height: 310px;
    min-height: 0;
  }
  .product-tabs {
    margin-top: 22px;
  }
  .product-tablist {
    gap: 20px;
  }
  .product-tablist button {
    font-size: 12px;
  }
  .product-tabpanel {
    font-size: 13px;
    min-height: 220px;
  }
  .product-tabpanel .metrics {
    gap: 35px;
    justify-content: center;
  }
  .product-tabpanel .rating-circle {
    width: 118px;
    height: 118px;
  }
  .product-tabpanel .rating-circle > span {
    width: 106px;
    height: 106px;
    font-size: 36px;
    padding-top: 29px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .product-tablist button::after {
    transition: none;
  }
}
.header .header-icon {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-width: 42px;
  min-height: 42px;
  padding: 8px;
  border-radius: 10px;
  border: 0;
  background: var(--stone-100);
  transition:
    background 170ms,
    box-shadow 170ms,
    color 170ms;
}
.header-icon > svg {
  width: 23px;
  height: 23px;
  stroke: #2c4434;
  stroke-width: 1.6;
  fill: none;
  transition:
    stroke 170ms,
    fill 170ms;
}
.header .cart-toggle {
  margin-left: 0;
}
.header .cart-toggle:hover {
  background: var(--stone-200);
  box-shadow: 0 0 0 3px #103d3112;
}
.header .cart-toggle:hover > svg {
  stroke: var(--green);
}
.header-favorites:hover {
  background: var(--stone-200) !important;
}
.header-favorites:hover > svg {
  stroke: var(--green);
  fill: var(--green);
}
.favorites-count {
  background: var(--green);
  color: white;
  border-radius: 50%;
  font-size: 9px;
  min-width: 18px;
  height: 18px;
  display: grid;
  place-items: center;
  position: absolute;
  right: -3px;
  top: -3px;
}
.header-favorites {
  margin-left: 0;
}
.header .cart-count {
  min-width: 19px;
  height: 19px;
  font-size: 10px;
}
.detail-actions .icon-cart-button {
  background: var(--stone-100);
  color: var(--green);
  border-color: var(--stone-300);
  min-height: 52px;
}
.icon-cart-button > svg {
  width: 23px;
  height: 23px;
  stroke: currentColor;
  fill: none;
  stroke-width: 1.65;
}
.detail-actions .icon-cart-button:hover {
  background: var(--stone-200);
  color: var(--green);
  border-color: #a6c8a1;
  box-shadow: 0 0 0 3px #103d3112;
}
.favorite-toggle {
  display: grid;
  place-items: center;
}
.favorite-toggle svg {
  width: 25px;
  height: 25px;
  stroke: #344839;
  stroke-width: 1.6;
  fill: transparent;
  transition:
    fill 170ms,
    stroke 170ms;
}
.favorite-toggle:hover svg,
.favorite-toggle[aria-pressed="true"] svg {
  fill: var(--green);
  stroke: var(--green);
}
.favorite-toggle:hover,
.favorite-toggle[aria-pressed="true"] {
  background: var(--stone-200);
  border-color: var(--stone-400);
}
.icon-cart-button.is-added {
  background: var(--green) !important;
  color: white !important;
  border-color: var(--green) !important;
}
@media (max-width: 760px) {
  .header-favorites {
    margin-left: auto !important;
  }
  .header .header-icon {
    min-width: 36px;
    min-height: 40px;
    padding: 6px;
    background: transparent;
  }
  .header-icon > svg {
    width: 21px;
    height: 21px;
  }
  .header-inner {
    gap: 9px;
  }
  .header .cart-toggle {
    gap: 4px;
  }
  .header .cart-count {
    min-width: 17px;
    height: 17px;
    font-size: 9px;
  }
  .brand {
    margin-right: auto;
  }
}
@media (max-width: 360px) {
  .header-inner {
    gap: 5px;
  }
  .header .header-icon {
    min-width: 30px;
    padding: 4px;
  }
  .header-icon > svg {
    width: 20px;
    height: 20px;
  }
  .header .cart-toggle {
    gap: 2px;
  }
  .header-favorites {
    margin-left: 0 !important;
  }
}
@media (prefers-reduced-motion: reduce) {
  .header-icon,
  .header-icon > svg,
  .favorite-toggle svg {
    transition: none !important;
  }
}
/* ARAFAN mega navigation, adapted from the supplied navbar2 interaction. */
.header-inner {
  height: auto;
  min-height: 84px;
  flex-wrap: wrap;
  gap: 0 28px;
  padding-top: 16px;
}
.header-inner > .navigation {
  order: 10;
  flex-basis: 100%;
  width: 100%;
  margin: 8px 0 0;
  min-height: 46px;
}
.header-search {
  margin-left: auto;
}
.header-search svg {
  width: 20px;
  height: 20px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.5;
}
.header-search-label {
  font-size: 12px;
}
.mega-catalog {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  z-index: 32;
  background: white;
  border: 1px solid var(--stone-300);
  border-top: 0;
  border-radius: 0 0 18px 18px;
  box-shadow: 0 20px 45px #102f211c;
  transform-origin: top center;
  overflow: visible;
}
.mega-layout {
  display: grid;
  grid-template-columns: 230px 1fr;
  gap: 38px;
  position: relative;
  padding: 28px 35px 30px;
  max-width: 1280px;
  margin: auto;
}
.mega-groups {
  display: flex;
  flex-direction: column;
  gap: 7px;
  border-right: 1px solid var(--stone-300);
  padding-right: 25px;
}
.mega-groups a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 15px;
  padding: 13px 14px;
  border-radius: 9px;
  font-size: 14px;
  color: #111;
  transition:
    background 180ms,
    color 180ms;
}
.mega-groups a small {
  font-size: 10px;
  color: #111;
}
.mega-groups a.is-active,
.mega-groups a:hover {
  background: var(--stone-200);
  color: var(--green);
}
.mega-groups a.is-active small {
  color: #111;
}
.mega-content {
  display: grid;
  grid-template-columns: 1fr 320px;
  gap: 30px;
  min-height: 235px;
}
.mega-brands .kicker,
.mega-preview .kicker {
  font-size: 9px;
  margin-bottom: 17px;
  color: #111;
}
.mega-brands > div {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 15px 20px;
}
.mega-brands a {
  font-size: 11px;
  line-height: 1.5;
  color: #111;
  min-height: 22px;
}
.mega-brands a:hover {
  color: var(--green);
  text-decoration: underline;
  text-underline-offset: 4px;
}
.mega-view-all {
  display: inline-block;
  margin-top: 22px;
  padding-bottom: 4px;
  border-bottom: 1px solid #b9c9aa;
  font-weight: 650;
}
.mega-preview > div {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 15px;
}
.mega-perfume {
  display: grid;
  justify-items: center;
  font-size: 11px;
  text-align: center;
  gap: 7px;
}
.mega-perfume img {
  width: 100%;
  height: 145px;
  object-fit: contain;
  background: var(--stone-100);
  padding: 12px;
  border-radius: 10px;
  mix-blend-mode: multiply;
  transition: transform 220ms var(--ease);
}
.mega-perfume:hover img {
  transform: translateY(-3px);
}
.mega-perfume small {
  font-size: 9px;
  color: #111;
}
.mega-close {
  position: absolute;
  right: 12px;
  top: 8px;
  width: 28px;
  height: 28px;
  border: 0;
  background: none;
  color: #111;
  font-size: 22px;
}
.mega-catalog::before {
  content: "";
  position: absolute;
  top: -12px;
  height: 12px;
  left: 0;
  right: 0;
}
#main-catalog-link::after {
  content: "";
  width: 5px;
  height: 5px;
  border-right: 1.3px solid currentColor;
  border-bottom: 1.3px solid currentColor;
  display: inline-block;
  transform: translateY(-2px) rotate(45deg);
  margin-left: 8px;
  transition: transform 180ms;
}
#main-catalog-link[aria-expanded="true"]::after {
  transform: translateY(1px) rotate(225deg);
}
@media (min-width: 1200px) {
  .header {
    width: min(1320px, calc(100% - 48px));
    margin: 12px auto 0;
    top: 12px;
    background: transparent;
    border: 0;
    border-radius: 24px;
    box-shadow: none;
  }
  .header-inner.container {
    width: 100%;
    height: 82px;
    min-height: 0;
    flex-wrap: nowrap;
    gap: 16px;
    padding: 0 22px;
    background: rgba(255, 255, 255, 0.98);
    border: 1px solid var(--stone-300);
    border-radius: 24px;
    box-shadow: 0 7px 22px #153b2d0c;
  }
  .brand img {
    width: 43px;
    height: 43px;
  }
  .brand > span {
    font-size: 23px;
  }
  .brand small {
    font-size: 8px;
  }
  .header-inner > .navigation {
    order: 0;
    flex-basis: auto;
    flex: 1;
    width: auto;
    margin: 0;
    gap: 16px;
    min-height: 0;
    overflow: visible;
    justify-content: center;
    font-size: 12px;
  }
  .navigation a {
    padding: 13px 0;
    white-space: nowrap;
  }
  .header-search {
    background: transparent;
    border: 0;
    padding: 9px;
    min-width: 36px;
    min-height: 40px;
    margin-left: 0;
    gap: 0;
  }
  .header-search-label {
    display: none;
  }
  .header .account-link {
    font-size: 11px;
    white-space: nowrap;
  }
  .header .header-icon {
    min-width: 36px;
    padding: 7px;
  }
  .header .header-favorites {
    margin-left: 0;
  }
  .mega-catalog {
    top: calc(100% + 8px);
    border: 1px solid var(--stone-300);
    border-radius: 22px;
    overflow: visible;
  }
  .mega-layout {
    padding: 28px 34px 30px;
  }
  .store-intro {
    margin-top: 24px;
  }
  .detail-gallery {
    top: 120px;
  }
  html {
    scroll-padding-top: 120px;
  }
}
@media (min-width: 761px) and (max-width: 1050px) {
  .mega-layout {
    grid-template-columns: 170px 1fr;
    gap: 22px;
    padding: 24px;
  }
  .mega-content {
    grid-template-columns: 1fr 230px;
    gap: 20px;
  }
  .mega-groups {
    padding-right: 15px;
  }
  .mega-preview img {
    height: 120px;
  }
  .mega-brands > div {
    gap: 10px;
  }
  .mega-groups a {
    font-size: 12px;
  }
}
@media (max-width: 760px) {
  .header-inner {
    min-height: 75px;
    padding-top: 0;
    flex-wrap: nowrap;
  }
  .header-inner > .navigation {
    margin: 0;
    flex-basis: auto;
  }
  .mega-catalog {
    display: none !important;
  }
  #main-catalog-link::after {
    display: none;
  }
  .header-search {
    display: none;
  }
  .header .navigation {
    top: 100%;
    left: 0;
    right: 0;
  }
  .brand img {
    width: 42px;
    height: 42px;
  }
  .brand > span {
    font-size: 21px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .mega-perfume img,
  .mega-groups a,
  #main-catalog-link::after {
    transition: none;
  }
  .mega-perfume:hover img {
    transform: none;
  }
}

/* Equal controls on catalog cards and the fragrance page. */
.card-actions {
  display: flex;
  gap: 8px;
  align-items: stretch;
  width: 100%;
}
.card-actions .add-cart {
  flex: 1;
  min-width: 0;
  display: grid;
  place-items: center;
  min-height: 46px;
}
.card-actions .favorite-toggle {
  height: 46px;
  min-width: 46px;
}
.icon-cart-button {
  display: grid;
  place-items: center;
  background: var(--stone-100);
  color: #244b38;
  border: 1px solid var(--stone-300);
  transition:
    background 170ms,
    color 170ms,
    border-color 170ms,
    box-shadow 170ms,
    transform 120ms;
}
.icon-cart-button:hover {
  background: var(--stone-200);
  color: var(--green);
  border-color: #a6c8a1;
  box-shadow: 0 0 0 3px #103d3112;
}
.icon-cart-button:active {
  transform: scale(0.98);
}
.icon-cart-button:disabled {
  box-shadow: none;
  opacity: 0.45;
  cursor: not-allowed;
}
.icon-cart-button svg {
  pointer-events: none;
}
.detail-actions .icon-cart-button {
  display: grid;
  place-items: center;
}
.favorite-toggle {
  flex-shrink: 0;
}
.favorite-toggle svg {
  pointer-events: none;
}
@media (prefers-reduced-motion: reduce) {
  .icon-cart-button {
    transition: none;
  }
  .icon-cart-button:active {
    transform: none;
  }
}

.menu-toggle svg {
  width: 22px;
  height: 22px;
  stroke: currentColor;
  stroke-width: 1.6;
  fill: none;
  flex-shrink: 0;
}
@media (max-width: 760px) {
  .header-inner {
    gap: 9px;
  }
  .header .menu-toggle {
    flex-shrink: 0;
    padding: 6px;
    min-width: 36px;
  }
  .header-inner > .navigation {
    position: absolute;
    width: 100%;
    background: #fff;
    border-bottom: 1px solid var(--stone-300);
    box-shadow: 0 14px 18px #183e2410;
    padding: 12px 22px;
  }
  .menu-label {
    display: none;
  }
}
@media (max-width: 360px) {
  .header-inner {
    gap: 5px;
  }
  .header .brand img {
    width: 34px;
    height: 34px;
  }
  .header .brand > span {
    font-size: 18px;
  }
  .header .brand {
    gap: 6px;
  }
  .header .menu-toggle {
    min-width: 32px;
    padding: 4px;
  }
}
.metrics {
  display: flex;
  justify-content: center;
  gap: 42px;
  margin: 25px 0 20px;
}
.rating-item {
  font-size: 13px;
  font-weight: 500;
  gap: 12px;
}
.rating-circle {
  position: relative;
  width: 154px;
  height: 154px;
  background: none;
  display: grid;
  place-items: center;
}
.rating-circle > svg {
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0;
  transform: rotate(-90deg);
  fill: none;
  stroke-width: 5;
}
.rating-track {
  stroke: var(--stone-200);
}
.rating-arc {
  stroke: var(--green);
  stroke-linecap: round;
}
.rating-item:nth-child(2) .rating-arc {
  stroke: var(--gold);
}
.rating-circle > span {
  width: auto;
  height: auto;
  padding: 0;
  border-radius: 0;
  background: none;
  font-size: 40px;
  gap: 4px;
  align-items: baseline;
  line-height: 1;
  letter-spacing: -0.04em;
}
.rating-circle small {
  font-size: 14px;
  color: #111;
  font-weight: 400;
  letter-spacing: 0;
}
.performance-hint {
  font-size: 11px !important;
  text-align: center;
  color: #111 !important;
  line-height: 1.7 !important;
  max-width: 370px;
  margin: 0 auto !important;
}
@media (max-width: 400px) {
  .metrics {
    gap: 20px;
  }
  .rating-circle {
    width: 122px;
    height: 122px;
  }
  .rating-circle > span {
    font-size: 34px;
  }
}

.navigation.is-open {
  animation: none;
}
.product-tabpanel .rating-circle {
  width: 156px;
  height: 156px;
  background: none;
}
.product-tabpanel .rating-circle > span {
  width: auto;
  height: auto;
  padding: 0;
  font-size: 42px;
  background: none;
}
.product-tabpanel .rating-circle small {
  font-size: 14px;
}
.product-tabpanel .metrics {
  justify-content: center;
  gap: 42px;
}
.product-tabpanel .rating-item {
  font-size: 13px;
}
.product-tabpanel .rating-circle svg {
  stroke-width: 5;
}
@media (max-width: 400px) {
  .product-tabpanel .rating-circle {
    width: 122px;
    height: 122px;
  }
  .product-tabpanel .rating-circle > span {
    font-size: 34px;
  }
  .product-tabpanel .metrics {
    gap: 20px;
  }
}

/* Compact navigation: shopping first, secondary information in one popover. */
.header .navigation > a {
  font-weight: 700;
  font-size: 16px;
}
.header .navigation > a[aria-current="page"] {
  font-weight: 750;
  border-bottom-width: 3px;
}
.store-info-menu {
  position: absolute;
  top: calc(100% + 9px);
  right: 80px;
  width: 250px;
  padding: 10px;
  border: 1px solid var(--stone-300);
  border-radius: 15px;
  background: #fff;
  box-shadow: 0 14px 32px #153b2d16;
  z-index: 33;
}
.store-info-menu::before {
  content: "";
  position: absolute;
  top: -12px;
  height: 12px;
  left: 0;
  right: 0;
}
.store-info-menu a {
  display: flex;
  align-items: center;
  min-height: 43px;
  padding: 11px 14px;
  font-size: 14px;
  font-weight: 500;
  border-radius: 8px;
  color: #284c39;
  transition: background 150ms;
}
.store-info-menu a:hover {
  background: var(--stone-100);
}
@media (min-width: 1081px) {
  .header {
    width: min(1160px, calc(100% - 64px));
    margin: 12px auto 0;
    top: 12px;
    background: transparent;
    border: 0;
    border-radius: 20px;
  }
  .header-inner.container {
    width: 100%;
    height: 76px;
    min-height: 0;
    flex-wrap: nowrap;
    gap: 14px;
    padding: 0 20px;
    background: #fff;
    border: 1px solid var(--stone-300);
    border-radius: 20px;
    box-shadow: 0 6px 22px #153b2d09;
  }
  .header .brand {
    gap: 9px;
    margin: 0;
    flex-shrink: 0;
  }
  .header .brand img {
    width: 36px;
    height: 36px;
  }
  .header .brand > span {
    font-size: 21px;
  }
  .header .brand small {
    font-size: 7px;
  }
  .header-inner > .navigation {
    order: 0;
    flex: 1 1 auto;
    flex-basis: auto;
    width: auto;
    min-height: 0;
    margin: 0;
    padding: 0;
    display: flex;
    justify-content: center;
    gap: 25px;
    overflow: visible;
    border: 0;
    font-size: 16px;
  }
  .header .navigation > a {
    padding: 15px 0;
    min-height: 48px;
    white-space: nowrap;
    flex-shrink: 0;
  }
  .header .navigation .nav-secondary,
  .header .navigation .mobile-account {
    display: none;
  }
  .header .header-search {
    display: flex;
    justify-content: center;
    align-items: center;
    min-width: 34px;
    min-height: 40px;
    margin: 0;
    padding: 7px;
    background: transparent;
    border: 0;
    gap: 0;
  }
  .header-search-label {
    display: none;
  }
  .header .header-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 36px;
    min-height: 40px;
    margin: 0;
    padding: 7px;
    border-radius: 10px;
  }
  .header .account-link svg {
    width: 22px;
    height: 22px;
  }
  .header .cart-toggle {
    gap: 6px;
  }
  .header .menu-toggle {
    display: none;
  }
  #store-info-link::after {
    content: "";
    display: inline-block;
    width: 5px;
    height: 5px;
    border-right: 1.3px solid currentColor;
    border-bottom: 1.3px solid currentColor;
    transform: translateY(-2px) rotate(45deg);
    margin-left: 7px;
  }
  .mega-catalog {
    top: calc(100% + 9px);
    border: 1px solid var(--stone-300);
    border-radius: 20px;
  }
  .detail-gallery {
    top: 114px;
  }
  html {
    scroll-padding-top: 114px;
  }
}
@media (min-width: 1081px) and (max-width: 1199px) {
  .header-inner.container {
    gap: 10px;
    padding-inline: 16px;
  }
  .header-inner > .navigation {
    gap: 19px;
  }
  .header .brand > span {
    font-size: 20px;
  }
  .header .brand img {
    width: 33px;
    height: 33px;
  }
  .header .header-icon {
    min-width: 32px;
    padding: 5px;
  }
  .header .header-search {
    min-width: 30px;
    padding: 5px;
  }
}
@media (max-width: 1080px) {
  .header .store-info-menu,
  .header .mega-catalog {
    display: none !important;
  }
  #store-info-link::after,
  #main-catalog-link::after {
    display: none;
  }
}
@media (min-width: 761px) and (max-width: 1080px) {
  .header {
    width: 100%;
    margin: 0;
    top: 0;
    border-radius: 0;
    background: #fff;
    border-bottom: 1px solid var(--stone-300);
  }
  .header-inner.container {
    width: calc(100% - 40px);
    min-height: 76px;
    height: auto;
    padding: 0;
    flex-wrap: nowrap;
    gap: 14px;
    border: 0;
    box-shadow: none;
  }
  .header .brand {
    margin-right: auto;
  }
  .header .header-search {
    display: none;
  }
  .header .header-icon {
    display: flex;
    margin-left: 0;
    min-width: 38px;
    min-height: 42px;
  }
  .header .account-link {
    display: none;
  }
  .header .menu-toggle {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 40px;
    min-height: 44px;
    border: 0;
    background: transparent;
    padding: 8px;
    color: #193f2e;
  }
  .header .menu-label {
    display: none;
  }
  .header-inner > .navigation {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    width: 100%;
    margin: 0;
    min-height: 0;
    max-height: 70dvh;
    overflow: auto;
    padding: 15px 25px;
    background: #fff;
    border-bottom: 1px solid var(--stone-300);
    box-shadow: 0 14px 18px #183e2410;
    grid-template-columns: 1fr 1fr;
    gap: 0 24px;
    font-size: 16px;
  }
  .header .navigation.is-open {
    display: grid;
  }
  .header .navigation > a {
    padding: 16px 5px;
    justify-content: flex-start;
    min-height: 52px;
  }
  .header .navigation .mobile-account {
    display: flex;
  }
}
@media (max-width: 760px) {
  .header .account-link {
    display: none;
  }
  .header .navigation > a {
    font-size: 16px;
    padding: 16px 5px;
    min-height: 52px;
    font-weight: 700;
  }
  .header .navigation .mobile-account {
    display: flex;
  }
}
@media (prefers-reduced-motion: reduce) {
  .store-info-menu a {
    transition: none;
  }
}

/* A broad, usable search row above compact shopping navigation. */
.shop-strip {
  padding: 0 24px;
  background: #fff;
  color: #111;
  border-bottom: 1px solid var(--stone-200);
  font-size: 11px;
  letter-spacing: 0;
}
.utility-inner {
  max-width: 1160px;
  margin: auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  min-height: 31px;
}
.shop-location,
.utility-links {
  display: flex;
  align-items: center;
  gap: 22px;
}
.shop-strip span {
  margin: 0;
  color: inherit;
}
.utility-links a {
  font-size: 11px;
  font-weight: 500;
  white-space: nowrap;
}
.utility-links a:hover,
.shop-location a:hover {
  color: var(--green);
  text-decoration: underline;
  text-underline-offset: 3px;
}
.header .header-search {
  display: flex;
  align-items: center;
  position: relative;
  min-width: 0;
  min-height: 44px;
  height: 44px;
  padding: 0 5px;
  gap: 0;
  background: var(--stone-100);
  border: 1px solid var(--stone-200);
  border-radius: 10px;
  transition:
    border-color 160ms,
    box-shadow 160ms;
}
.header .header-search:focus-within {
  border-color: var(--green);
  box-shadow: 0 0 0 3px #103d310f;
}
.header .header-search input {
  width: 100%;
  min-width: 0;
  flex: 1;
  height: 100%;
  padding: 10px 6px;
  font-size: 14px;
  line-height: 1.4;
  font-weight: 400;
  background: none;
  border: 0;
  outline: none;
  margin: 0;
  box-shadow: none;
  color: #244633;
  border-radius: 0;
}
.header-search input::placeholder {
  color: #111;
}
.header .search-submit,
.header .search-clear {
  position: static;
  display: grid;
  place-items: center;
  border: 0;
  background: none;
  color: #3e6248;
  padding: 8px;
  width: 36px;
  height: 40px;
  min-height: 0;
  flex-shrink: 0;
  border-radius: 7px;
  margin: 0;
}
.header .search-submit:hover,
.header .search-clear:hover {
  background: var(--stone-200);
}
.header .search-submit svg {
  width: 20px;
  height: 20px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.6;
}
.header .search-clear {
  font-size: 22px;
}
.header .header-search input::-webkit-search-cancel-button {
  appearance: none;
}
@media (min-width: 1081px) {
  .header-inner.container {
    height: auto;
    min-height: 0;
    flex-wrap: wrap;
    gap: 0 14px;
    padding: 12px 20px 0;
  }
  .header .brand {
    margin-right: 10px;
  }
  .header .header-search {
    flex: 1 1 300px;
    margin: 0 5px 0 12px;
  }
  .header .header-icon {
    min-height: 42px;
    height: 42px;
  }
  .header-inner > .navigation {
    order: 10;
    flex: 0 0 100%;
    width: 100%;
    margin: 10px 0 0;
    padding: 0;
    border-top: 1px solid var(--stone-200);
    justify-content: center;
    gap: 44px;
    min-height: 48px;
  }
  .header .navigation > a {
    min-height: 48px;
    padding: 13px 0;
    font-size: 16px;
    font-weight: 700;
  }
  .header .navigation .nav-secondary,
  .header .navigation .mobile-account {
    display: none;
  }
  .mega-catalog {
    top: calc(100% + 9px);
  }
  .detail-gallery {
    top: 160px;
  }
  html {
    scroll-padding-top: 160px;
  }
}
@media (min-width: 1081px) and (max-width: 1199px) {
  .header .header-search {
    flex-basis: 220px;
    margin-left: 7px;
  }
  .header-inner > .navigation {
    gap: 37px;
  }
  .shop-phone {
    display: none;
  }
}
@media (max-width: 1080px) {
  .header .header-inner.container {
    height: auto;
    min-height: 0;
    flex-wrap: wrap;
    gap: 0 10px;
    padding: 12px 0 10px;
    width: calc(100% - 32px);
  }
  .header .brand {
    margin-right: auto;
  }
  .header .header-search {
    display: flex;
    flex: 0 0 100%;
    order: 10;
    height: 42px;
    min-height: 42px;
    margin: 10px 0 0;
  }
  .header .header-search input {
    font-size: 16px;
  }
  .header .account-link {
    display: none;
  }
  .header-inner > .navigation {
    order: 20;
  }
  .header .navigation > a {
    font-size: 16px;
    font-weight: 700;
  }
  .header .navigation .nav-secondary,
  .header .navigation .mobile-account {
    display: flex;
  }
  .header .navigation.is-open {
    display: grid;
  }
  .shop-phone {
    display: none;
  }
  .utility-inner {
    max-width: none;
  }
  .shop-location {
    gap: 14px;
  }
  .utility-links {
    gap: 16px;
  }
  .utility-links a {
    font-size: 10px;
  }
  .shop-strip {
    padding-inline: 16px;
  }
  .shop-strip .shop-hours {
    font-size: 10px;
  }
}
@media (max-width: 600px) {
  .shop-hours,
  .utility-links a:not(:first-child) {
    display: none;
  }
  .utility-inner {
    min-height: 28px;
  }
  .shop-location a {
    font-size: 10px;
  }
  .utility-links a {
    font-size: 10px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .header .header-search {
    transition: none;
  }
}

/* The header scrolls naturally with the page. */
body > .header {
  position: relative;
  top: auto;
}
html {
  scroll-padding-top: 24px;
}
#catalog-results {
  scroll-margin-top: 24px;
}
.detail-gallery {
  top: 24px;
}

/* onest-cyrillic-ext-wght-normal */
@font-face {
  font-family: Onest;
  font-style: normal;
  font-display: block;
  font-weight: 100 900;
  src: url(/assets/fonts/onest-cyrillic-ext-wght-normal.woff2)
    format("woff2-variations");
  unicode-range:
    U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* onest-cyrillic-wght-normal */
@font-face {
  font-family: Onest;
  font-style: normal;
  font-display: block;
  font-weight: 100 900;
  src: url(/assets/fonts/onest-cyrillic-wght-normal.woff2)
    format("woff2-variations");
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* onest-latin-ext-wght-normal */
@font-face {
  font-family: Onest;
  font-style: normal;
  font-display: block;
  font-weight: 100 900;
  src: url(/assets/fonts/onest-latin-ext-wght-normal.woff2)
    format("woff2-variations");
  unicode-range:
    U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304,
    U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB,
    U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* onest-latin-wght-normal */
@font-face {
  font-family: Onest;
  font-style: normal;
  font-display: block;
  font-weight: 100 900;
  src: url(/assets/fonts/onest-latin-wght-normal.woff2)
    format("woff2-variations");
  unicode-range:
    U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC,
    U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212,
    U+2215, U+FEFF, U+FFFD;
}
/* Text link: no container, restrained weight and a responsive underline. */
.section-heading > .catalog-view-all {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  min-height: 44px;
  padding: 8px 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #19382b;
  font-family: Onest, Manrope, sans-serif;
  font-size: 18px;
  line-height: 1.4;
  font-weight: 550;
  letter-spacing: -0.015em;
  text-decoration: none;
  transition:
    color 180ms var(--ease),
    transform 180ms var(--ease);
}
.catalog-view-all::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 7px;
  height: 1.5px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 200ms var(--ease);
}
@media (hover: hover) and (pointer: fine) {
  .section-heading > .catalog-view-all:hover {
    color: var(--green-hover);
    background: transparent;
    transform: translateY(-1px);
  }
  .catalog-view-all:hover::after {
    transform: scaleX(1);
  }
  .section-heading > .catalog-view-all:active {
    transform: none;
  }
}
.catalog-view-all:focus-visible::after {
  transform: scaleX(1);
  transition: none;
}
@media (max-width: 760px) {
  .section-heading > .catalog-view-all {
    font-size: 15px;
    padding: 8px 0;
  }
}
@media (max-width: 360px) {
  .section-heading > .catalog-view-all {
    font-size: 14px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .section-heading > .catalog-view-all,
  .catalog-view-all::after {
    transition: none;
  }
  .section-heading > .catalog-view-all:hover,
  .section-heading > .catalog-view-all:active {
    transform: none;
  }
}
/* A clean humanist face for store information, with stronger utility contrast. */
footer {
  font-family: Onest, Manrope, sans-serif;
}
.footer-brand {
  font-family: Onest, Manrope, sans-serif;
  font-size: 23px;
  line-height: 1.3;
  font-weight: 600;
  letter-spacing: -0.025em;
}
.footer-grid p {
  font-size: 14px;
  line-height: 1.75;
  color: #111;
}
.footer-grid a {
  font-size: 14px;
  font-weight: 450;
}
.footer-bottom {
  font-size: 12px;
  color: #111;
}
.footer-grid a:hover {
  text-decoration: underline;
  text-underline-offset: 4px;
  text-decoration-thickness: 1px;
}
.shop-strip,
.shop-strip a,
.shop-strip span {
  color: #111;
  opacity: 1;
}
.shop-strip {
  font-size: 13px;
  font-weight: 500;
}
.shop-strip .utility-links a {
  font-size: 13px;
  font-weight: 500;
}
.shop-strip a:hover {
  color: #111;
}
.utility-inner {
  min-height: 34px;
}
@media (max-width: 1080px) {
  .shop-strip .shop-hours {
    font-size: 12px;
  }
  .shop-strip .shop-location a {
    font-size: 12px;
  }
  .shop-strip .utility-links a {
    font-size: 12px;
  }
}
@media (max-width: 800px) {
  .shop-strip .shop-hours,
  .utility-links a:not(:first-child) {
    display: none;
  }
  .utility-inner {
    min-height: 31px;
  }
  .shop-strip .shop-location a,
  .shop-strip .utility-links a {
    font-size: 12px;
  }
}
@media (max-width: 760px) {
  .footer-brand {
    font-size: 22px;
  }
  .footer-grid p,
  .footer-grid a {
    font-size: 13px;
  }
  .footer-bottom {
    font-size: 11px;
  }
}
.catalog-view-all {
  gap: 8px;
}
.catalog-view-all > svg {
  width: 17px;
  height: 17px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
  flex-shrink: 0;
  transition: transform 180ms var(--ease);
}
.catalog-view-all::after {
  right: 25px;
}
@media (hover: hover) and (pointer: fine) {
  .catalog-view-all:hover > svg {
    transform: translateX(3px);
  }
}
@media (max-width: 760px) {
  .catalog-view-all > svg {
    width: 15px;
    height: 15px;
  }
  .catalog-view-all::after {
    right: 23px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .catalog-view-all > svg {
    transition: none;
  }
  .catalog-view-all:hover > svg {
    transform: none;
  }
}
.shop-location > .shop-address,
.shop-location > .shop-hours,
.shop-location > .shop-phone {
  align-items: center;
  gap: 6px;
}
.shop-location > .shop-address {
  display: inline-flex;
}
.shop-location > .shop-hours,
.shop-location > .shop-phone {
  display: inline-flex;
}
.shop-location svg {
  width: 15px;
  height: 15px;
  flex-shrink: 0;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.6;
  stroke-linecap: round;
  stroke-linejoin: round;
}
@media (max-width: 1199px) {
  .shop-location > .shop-phone {
    display: none;
  }
}
@media (max-width: 800px) {
  .shop-location > .shop-hours {
    display: none;
  }
  .shop-location svg {
    width: 14px;
    height: 14px;
  }
}

/* Readable secondary copy; opacity stays full for text, not disabled controls. */
input::placeholder,
textarea::placeholder {
  color: #111;
  opacity: 1;
}
.product-tabpanel .rating-circle > span {
  font-size: 56px;
  font-weight: 600;
  color: #111;
  opacity: 1;
}
.product-tabpanel .rating-circle small {
  font-size: 20px;
  font-weight: 450;
  color: #111;
  opacity: 1;
}
.product-tabpanel .rating-item {
  font-size: 18px;
  font-weight: 550;
  color: #111;
  opacity: 1;
  gap: 14px;
}
.product-tabpanel .rating-item > span {
  color: #111;
  opacity: 1;
}
.performance-hint {
  font-size: 13px !important;
  color: #111 !important;
  opacity: 1;
  line-height: 1.7 !important;
}
@media (max-width: 400px) {
  .product-tabpanel .rating-circle > span {
    font-size: 42px;
  }
  .product-tabpanel .rating-circle small {
    font-size: 16px;
  }
  .product-tabpanel .rating-item {
    font-size: 16px;
    gap: 12px;
  }
}
.product-tabpanel .rating-item > span {
  font-size: 18px;
  font-weight: 550;
}
@media (max-width: 400px) {
  .product-tabpanel .rating-item > span {
    font-size: 16px;
  }
}
.detail-gallery,
.detail-buy,
.product-tabs {
  min-width: 0;
}
@media (max-width: 760px) {
  .detail-product {
    grid-template-columns: minmax(0, 1fr);
  }
}

body[data-page="about"] .page-heading {
  max-width: 1060px;
  margin-inline: auto;
  text-align: center;
  padding-top: 45px;
  padding-bottom: 35px;
  font-family: Onest, Manrope, sans-serif;
}
body[data-page="about"] .page-heading h1 {
  font-family: Onest, Manrope, sans-serif;
  font-size: clamp(34px, 4vw, 48px);
  font-weight: 600;
  letter-spacing: -0.035em;
}
body[data-page="about"] .page-heading > p:last-child {
  font-size: 18px;
  line-height: 1.7;
  max-width: 850px;
  margin-inline: auto;
}
body[data-page="about"] .prose {
  max-width: 1060px;
  margin-inline: auto;
  font-family: Onest, Manrope, sans-serif;
  padding-top: 0;
}
body[data-page="about"] .prose > p {
  font-size: 18px;
  line-height: 1.8;
  margin: 0 0 25px;
  color: #111;
}
body[data-page="about"] .prose > p:first-child {
  font-size: 20px;
  line-height: 1.7;
  font-weight: 450;
  margin-bottom: 30px;
}
body[data-page="about"] .certificate-gallery {
  margin-top: 36px;
}
body[data-page="about"] .certificate-heading h2 {
  font-family: Onest, Manrope, sans-serif;
  font-size: 28px;
  font-weight: 600;
}
.certificate-toolbar {
  gap: 8px;
}
.certificate-toolbar .certificate-zoom-button,
.certificate-toolbar #certificate-close {
  width: 42px;
  height: 42px;
  min-height: 42px;
  padding: 9px;
  border-radius: 9px;
  display: grid;
  place-items: center;
  color: #193e2b;
  background: #fff;
  border: 1px solid var(--stone-400);
  flex-shrink: 0;
}
.certificate-toolbar button svg {
  width: 22px;
  height: 22px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.certificate-toolbar button:hover:enabled {
  background: var(--stone-200);
  border-color: #aac39a;
}
.certificate-toolbar strong {
  font-family: Onest, Manrope, sans-serif;
  font-weight: 550;
  font-size: 14px;
}
.certificate-view {
  display: block;
}
.certificate-view img {
  max-width: none;
  max-height: none;
  object-fit: contain;
  margin-inline: auto;
  flex-shrink: 0;
}
@media (max-width: 760px) {
  body[data-page="about"] .page-heading {
    padding-top: 30px;
    padding-bottom: 26px;
  }
  body[data-page="about"] .page-heading > p:last-child {
    font-size: 17px;
  }
  body[data-page="about"] .prose > p {
    font-size: 17px;
    line-height: 1.75;
    margin-bottom: 22px;
  }
  body[data-page="about"] .prose > p:first-child {
    font-size: 18px;
  }
  .certificate-toolbar {
    padding: 10px;
    gap: 6px;
  }
  .certificate-toolbar strong {
    font-size: 12px;
  }
  .certificate-toolbar .certificate-zoom-button,
  .certificate-toolbar #certificate-close {
    width: 40px;
    height: 40px;
    min-height: 40px;
    padding: 8px;
  }
}
.about-avatar {
  width: 140px;
  height: 140px;
  object-fit: cover;
  border-radius: 50%;
  border: 1px solid var(--stone-300);
  margin: 18px auto 23px;
}
@media (max-width: 760px) {
  .about-avatar {
    width: 116px;
    height: 116px;
    margin: 16px auto 20px;
  }
}

/* Keep the content origin stable between short and long routes. */
html {
  scrollbar-gutter: stable;
}
.current-price,
.set-price {
  min-height: 1.5em;
}

/* Researched information: a readable text column and an ordered note composition. */
.product-tabpanel {
  font-size: 17px;
  line-height: 1.8;
  color: #111;
}
.product-tabpanel > p {
  margin-bottom: 18px;
}
.product-tabpanel .direction-explainer {
  font-size: 12px;
  line-height: 1.75;
  border-top: 1px solid var(--stone-300);
  padding-top: 16px;
  margin-top: 20px;
}
.scent-profile {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin: 0 0 20px;
}
.scent-profile span {
  font-size: 12px;
  line-height: 1.4;
  background: var(--stone-100);
  color: var(--green);
  padding: 7px 11px;
  border-radius: 20px;
  font-weight: 600;
}
.note-pyramid {
  display: grid;
  gap: 0;
}
.note-stage {
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr);
  gap: 14px;
  padding: 17px 0;
  border-bottom: 1px solid var(--stone-300);
}
.note-stage:first-child {
  padding-top: 3px;
}
.note-stage-number {
  font-family: Onest, Manrope, sans-serif;
  font-size: 12px;
  font-weight: 600;
  color: var(--green);
  padding-top: 3px;
}
.note-stage h3 {
  font-size: 15px;
  margin: 0 0 9px;
  font-weight: 700;
}
.note-stage ul {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  list-style: none;
  padding: 0;
  margin: 0;
}
.note-stage li {
  font-size: 13px;
  line-height: 1.5;
  padding: 6px 10px;
  background: var(--stone-100);
  border-radius: 6px;
}
.product-tabpanel dl > div {
  font-size: 14px;
  padding: 13px 0;
}
.product-tabpanel .note-list span {
  font-size: 14px;
  padding: 10px 12px;
}
@media (max-width: 600px) {
  .product-tabpanel {
    font-size: 16px;
    line-height: 1.8;
  }
  .note-stage {
    grid-template-columns: 25px minmax(0, 1fr);
    gap: 10px;
  }
  .product-tabpanel dl > div {
    font-size: 13px;
  }
}

.product-tabpanel {
  display: flow-root;
}
/* Tab selection is immediate; retain motion only for pointer hover controls. */
.product-tablist button::after { transition: none; }

/* Stage 58: richer homepage, readable controls, labelled cart buttons and footer. */
.button {
  font-size: 14px;
  min-height: 46px;
  padding: 12px 20px;
}
.kicker {
  font-size: 11px;
  letter-spacing: 0.14em;
}
.icon-cart-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  background: var(--accent);
  color: #fff;
  border: 1px solid var(--accent);
  border-radius: 6px;
  font-size: 14px;
  font-weight: 600;
  white-space: nowrap;
}
.icon-cart-button:hover,
.detail-actions .icon-cart-button:hover {
  background: #0c3a2c;
  color: #fff;
  border-color: #0c3a2c;
  box-shadow: 0 6px 16px #124d3b26;
}
.detail-actions .icon-cart-button {
  background: var(--accent);
  color: #fff;
  border-color: var(--accent);
  font-size: 15px;
}
.icon-cart-button:disabled {
  background: var(--stone-200);
  color: #3d4a43;
  border-color: var(--stone-200);
}
.icon-cart-button > svg {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
}
.card-actions .icon-cart-button,
.detail-actions .icon-cart-button {
  display: inline-flex;
}
.cart-label {
  overflow: hidden;
  text-overflow: ellipsis;
}
.icon-cart-button:focus-visible,
.volume-pills button:focus-visible,
.catalog-sort select:focus-visible,
.home-faq summary:focus-visible,
.home-category:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 3px;
}
@media (max-width: 520px) {
  .card-actions .cart-label {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
  }
}

/* Homepage sections */
.home-section {
  margin-top: 64px;
}
.home-categories {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}
.home-category {
  position: relative;
  display: grid;
  grid-template-columns: 112px minmax(0, 1fr) 20px;
  align-items: center;
  gap: 18px;
  padding: 14px 20px 14px 14px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #fff;
  transition:
    border-color 180ms,
    box-shadow 180ms,
    transform 180ms var(--ease);
}
.home-category:hover {
  border-color: #a9c4ad;
  box-shadow: 0 10px 26px #103d3114;
  transform: translateY(-2px);
}
.home-category-image {
  display: grid;
  place-items: center;
  aspect-ratio: 1;
  border-radius: 8px;
  background: var(--surface);
  overflow: hidden;
}
.home-category-image img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  mix-blend-mode: multiply;
}
.home-category-trio {
  grid-template-columns: repeat(3, 1fr);
  padding: 0 4px;
}
.home-category-copy {
  display: grid;
  gap: 4px;
  min-width: 0;
}
.home-category-copy strong {
  font-size: 19px;
  font-weight: 650;
  letter-spacing: -0.02em;
}
.home-category-copy span {
  font-size: 14px;
}
.home-category-copy small {
  margin-top: 4px;
  font-size: 13px;
  color: var(--accent);
  font-weight: 600;
}
.home-category > svg {
  width: 20px;
  height: 20px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  transition: transform 180ms var(--ease);
}
.home-category:hover > svg {
  transform: translateX(3px);
}
.home-steps ol,
.home-perks ul {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  list-style: none;
  margin: 0;
  padding: 0;
}
.home-steps li {
  padding: 24px 22px;
  border-radius: 10px;
  background: var(--surface);
}
.home-step-number {
  display: grid;
  place-items: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: var(--accent);
  color: #fff;
  font-weight: 650;
}
.home-steps h3,
.home-perks h3 {
  margin: 18px 0 6px;
  font-size: 17px;
  font-weight: 650;
  letter-spacing: -0.01em;
}
.home-steps p,
.home-perks p {
  margin: 0;
  font-size: 14px;
  line-height: 1.55;
}
.home-perks ul {
  padding: 30px 0;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}
.home-perks li {
  padding-right: 10px;
}
.home-perks li > svg {
  width: 30px;
  height: 30px;
  fill: none;
  stroke: var(--accent);
  stroke-width: 1.5;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.home-perks h3 {
  margin-top: 12px;
}
.home-faq {
  display: grid;
  grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
  gap: 48px;
  align-items: start;
}
.home-faq h2 {
  margin: 6px 0 12px;
  font-size: 30px;
  font-weight: 550;
  letter-spacing: -0.03em;
}
.home-faq > div:first-child p {
  margin: 0 0 22px;
  font-size: 15px;
  line-height: 1.6;
}
.home-faq-list {
  border-top: 1px solid var(--line);
}
.home-faq details {
  border-bottom: 1px solid var(--line);
}
.home-faq summary {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  padding: 20px 0;
  font-size: 17px;
  font-weight: 600;
  cursor: pointer;
  list-style: none;
}
.home-faq summary::-webkit-details-marker {
  display: none;
}
.home-faq summary::after {
  content: "";
  flex-shrink: 0;
  width: 10px;
  height: 10px;
  margin-right: 4px;
  border-right: 1.8px solid currentColor;
  border-bottom: 1.8px solid currentColor;
  transform: rotate(45deg) translateY(-3px);
  transition: transform 200ms var(--ease);
}
.home-faq details[open] summary::after {
  transform: rotate(225deg) translateY(-3px);
}
.home-faq details p {
  margin: 0 0 22px;
  max-width: 640px;
  font-size: 15px;
  line-height: 1.65;
}
.home-store {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 32px;
  margin: 64px 0 72px;
  padding: 36px 40px;
  border-radius: 12px;
  background: #103d31;
  color: #fff;
}
.home-store .kicker {
  color: #b9d3c1;
}
.home-store h2 {
  margin: 6px 0 10px;
  font-size: 30px;
  font-weight: 550;
  letter-spacing: -0.03em;
}
.home-store p {
  margin: 0 0 18px;
  font-size: 15px;
}
.home-store ul {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 26px;
  list-style: none;
  margin: 0;
  padding: 0;
  font-size: 15px;
}
.home-store li {
  display: flex;
  align-items: center;
  gap: 8px;
}
.home-store li svg {
  width: 18px;
  height: 18px;
  fill: none;
  stroke: #b9d3c1;
  stroke-width: 1.7;
}
.home-store a {
  color: inherit;
}
.home-store-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  flex-shrink: 0;
}
.home-store .button {
  background: #fff;
  color: #103d31;
  border-color: #fff;
}
.home-store .button.button-glass {
  background: transparent;
  color: #fff;
  border: 1px solid #ffffff66;
}
.home-store .button:hover {
  background: var(--stone-200);
  color: #103d31;
}

/* Catalog sorting */
.catalog-tools {
  display: flex;
  align-items: center;
  gap: 18px;
  flex-shrink: 0;
}
.catalog-sort {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
}
.catalog-sort select {
  min-height: 38px;
  padding: 6px 30px 6px 12px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #fff
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23111' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")
    no-repeat right 9px center / 14px;
  color: var(--text);
  font-size: 13px;
  appearance: none;
  cursor: pointer;
}
.catalog-context {
  align-items: center;
}
#catalog-count {
  white-space: nowrap;
}

/* Product page volume buttons */
.volume-picker {
  display: grid;
  gap: 8px;
}
.volume-picker-label {
  font-size: 13px;
}
.volume-pills {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 8px;
}
.volume-pills button {
  display: grid;
  gap: 2px;
  min-height: 58px;
  padding: 8px 6px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  color: var(--text);
  text-align: center;
  transition:
    border-color 150ms,
    background 150ms;
}
.volume-pills button:hover {
  border-color: #9fbfa6;
}
.volume-pills strong {
  font-size: 15px;
  font-weight: 650;
}
.volume-pills span {
  font-size: 12px;
}
.volume-pills button[aria-checked="true"] {
  border: 2px solid var(--accent);
  padding: 7px 5px;
  background: var(--stone-100);
}
.similar-fragrances {
  margin-top: 72px;
}

/* Footer */
.site-footer {
  /* Leave room for the fixed consultation button at the end of the page. */
  padding: 56px 0 88px;
}
.footer-columns {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) repeat(3, minmax(0, 1fr));
  gap: 40px;
  padding-bottom: 36px;
}
.footer-columns h2 {
  margin: 0 0 14px;
  font-size: 13px;
  font-weight: 650;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.footer-columns nav,
.footer-contacts {
  display: grid;
  align-content: start;
  gap: 10px;
  font-size: 15px;
}
.footer-columns nav a:hover,
.footer-contacts a:hover {
  text-decoration: underline;
  text-underline-offset: 4px;
}
.footer-contacts a,
.footer-contacts p {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0;
}
.footer-contacts svg,
.footer-whatsapp svg {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
  fill: none;
  stroke: var(--accent);
  stroke-width: 1.7;
}
.footer-logo {
  display: inline-flex;
  align-items: center;
  gap: 12px;
}
.footer-logo img {
  border-radius: 8px;
}
.footer-logo span {
  display: grid;
  font-size: 20px;
  font-weight: 650;
  letter-spacing: 0.08em;
}
.footer-logo small {
  font-size: 10px;
  letter-spacing: 0.3em;
  font-weight: 500;
}
.footer-about p {
  max-width: 320px;
  margin: 16px 0 18px;
  font-size: 15px;
  line-height: 1.6;
}
.footer-whatsapp {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 44px;
  padding: 10px 16px;
  border: 1px solid var(--stone-400);
  border-radius: 6px;
  background: #fff;
  font-size: 14px;
  font-weight: 600;
}
.footer-whatsapp:hover {
  border-color: var(--accent);
}
.site-footer .footer-bottom {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding-top: 20px;
  border-top: 1px solid var(--stone-300);
  font-size: 13px;
}

@media (max-width: 1080px) {
  .home-categories {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .home-steps ol,
  .home-perks ul {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .home-perks ul {
    row-gap: 28px;
  }
  .home-store {
    flex-direction: column;
    align-items: flex-start;
  }
  .footer-columns {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .footer-about {
    grid-column: 1 / -1;
  }
}
@media (max-width: 760px) {
  .home-section {
    margin-top: 44px;
  }
  .home-section .section-heading {
    flex-wrap: wrap;
    gap: 10px 20px;
  }
  .home-categories {
    grid-template-columns: 1fr;
    gap: 10px;
  }
  .home-category {
    grid-template-columns: 84px minmax(0, 1fr) 18px;
    gap: 14px;
    padding: 10px 14px 10px 10px;
  }
  .home-category-copy strong {
    font-size: 17px;
  }
  .home-category-copy span,
  .home-category-copy small {
    font-size: 13px;
  }
  .home-faq {
    grid-template-columns: 1fr;
    gap: 22px;
  }
  .home-faq h2,
  .home-store h2 {
    font-size: 25px;
  }
  .home-faq summary {
    font-size: 16px;
    padding: 17px 0;
  }
  .home-store {
    margin: 44px 0 56px;
    padding: 26px 20px;
  }
  .home-store-actions,
  .home-store-actions .button {
    width: 100%;
  }
  .catalog-context {
    display: grid;
    gap: 10px;
  }
  .catalog-tools {
    justify-content: space-between;
  }
  .footer-columns {
    grid-template-columns: 1fr 1fr;
    gap: 30px 20px;
  }
  .footer-contacts {
    grid-column: 1 / -1;
  }
  .site-footer .footer-bottom {
    flex-wrap: wrap;
    font-size: 12px;
  }
}
@media (max-width: 480px) {
  .home-steps ol,
  .home-perks ul {
    grid-template-columns: 1fr;
  }
  .home-steps li {
    display: grid;
    grid-template-columns: 36px minmax(0, 1fr);
    column-gap: 14px;
    padding: 18px;
  }
  .home-steps h3 {
    margin: 6px 0 4px;
  }
  .home-steps p {
    grid-column: 2;
  }
  .volume-pills {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .catalog-tools {
    flex-wrap: wrap;
    gap: 8px;
  }
  .catalog-sort {
    flex-basis: 100%;
  }
  .catalog-sort select {
    flex: 1;
    min-width: 0;
  }
}
@media (prefers-reduced-motion: reduce) {
  .home-category,
  .home-category > svg,
  .home-faq summary::after {
    transition: none;
  }
  .home-category:hover,
  .home-category:hover > svg {
    transform: none;
  }
}

/* Customer account: sign-in beside a photo panel; members get a green profile
   column with the menu beside the open section. */
.acc {
  min-height: 420px;
  margin: 8px 0 72px;
}
.acc-loading {
  padding: 80px 0;
  color: #5d6a62;
  font-size: 16px;
  text-align: center;
}
main:has(.acc-dashboard:not([hidden])) .page-heading > p {
  display: none;
}

/* Guests */
.acc-auth:not([hidden]) {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
  align-items: stretch;
  gap: 16px;
}
.acc-auth-card {
  display: grid;
  align-content: start;
  gap: 22px;
  padding: clamp(24px, 3.4vw, 44px);
  border: 1px solid var(--line);
  border-radius: 18px;
  background: #fff;
}
.acc-switch {
  display: grid;
  grid-template-columns: 1fr 1fr;
  padding: 4px;
  border-radius: 999px;
  background: var(--stone-100);
}
.acc-switch button {
  min-height: 44px;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: #3e4c44;
  font: inherit;
  font-size: 15px;
  font-weight: 600;
  cursor: pointer;
  transition:
    background-color 180ms,
    color 180ms,
    box-shadow 180ms;
}
.acc-switch button[aria-selected="true"] {
  background: #fff;
  color: var(--accent);
  box-shadow: 0 2px 8px #0d33281a;
}
.acc-switch button:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 2px;
}
.acc-form {
  display: grid;
  gap: 16px;
}
.acc-form label {
  display: grid;
  gap: 8px;
  color: #26332d;
  font-size: 14px;
  font-weight: 600;
}
.acc-form label[hidden] {
  display: none;
}
.acc-form input {
  width: 100%;
  min-height: 50px;
  padding: 0 16px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #fff;
  color: #1d2a24;
  font: inherit;
  font-size: 16px;
  font-weight: 400;
  transition:
    border-color 160ms,
    box-shadow 160ms;
}
.acc-form input:focus-visible {
  border-color: var(--green);
  outline: none;
  box-shadow: 0 0 0 3px #103d3114;
}
.acc-form input:disabled {
  background: var(--stone-100);
  color: #5d6a62;
}
.acc-form .button {
  min-height: 50px;
  border-radius: 12px;
  font-size: 16px;
}
.acc-hint {
  color: #5d6a62;
  font-size: 13px;
  font-weight: 400;
}
.acc-link {
  justify-self: center;
  padding: 4px 2px;
  border: 0;
  background: none;
  color: var(--accent);
  font: inherit;
  font-size: 15px;
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 4px;
  cursor: pointer;
}
.acc-link[hidden] {
  display: none;
}
.acc-link:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 2px;
}
.acc-message {
  margin: 0;
  color: var(--green);
  font-size: 15px;
  line-height: 1.5;
}
.acc-message:empty {
  display: none;
}
.acc-message.is-error {
  color: var(--error);
}
.acc-benefits {
  display: grid;
  align-content: end;
  gap: 22px;
  min-height: 460px;
  padding: clamp(24px, 3.4vw, 44px);
  border-radius: 18px;
  color: #f6f2e7;
  background:
    linear-gradient(180deg, #0d332833 0%, #0d3328e6 58%, #0d3328 100%),
    url("/assets/arafan-perfume-introduction.webp") center 30% / cover;
}
.acc-benefits h2 {
  margin: 0;
  color: inherit;
  font-size: clamp(26px, 2.6vw, 34px);
}
.acc-benefits ul {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px 24px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.acc-benefits li {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr);
  align-items: start;
  gap: 12px;
}
.acc-benefits li > svg {
  width: 28px;
  height: 28px;
  padding: 6px;
  border-radius: 50%;
  background: #cdb47a;
  fill: none;
  stroke: #103d31;
  stroke-width: 2.4;
}
.acc-benefits strong {
  display: block;
  margin-bottom: 3px;
  font-size: 16px;
}
.acc-benefits span {
  color: #ece6d6;
  font-size: 14px;
  line-height: 1.5;
}

/* Members: profile column */
.acc-dashboard:not([hidden]) {
  display: grid;
  grid-template-columns: 320px minmax(0, 1fr);
  align-items: start;
  gap: 24px;
}
.acc-side {
  position: sticky;
  top: 24px;
  display: grid;
  gap: 22px;
  padding: 26px 20px 14px;
  border-radius: 18px;
  color: #f6f2e7;
  background:
    radial-gradient(90% 60% at 0% 0%, #1f6450 0%, transparent 70%),
    linear-gradient(165deg, var(--green) 0%, #0d3328 100%);
}
.acc-hero {
  display: grid;
  justify-items: start;
  gap: 14px;
  padding: 0 6px;
}
.acc-avatar {
  display: grid;
  place-items: center;
  width: 64px;
  height: 64px;
  border-radius: 50%;
  background: #cdb47a;
  color: #103d31;
  font-size: 26px;
  font-weight: 700;
}
.acc-hero-copy {
  min-width: 0;
}
.acc-greeting {
  margin: 0 0 4px;
  color: inherit;
  font-size: 22px;
  line-height: 1.25;
}
.acc-hero p {
  margin: 0;
  overflow: hidden;
  color: #ece6d6b3;
  font-size: 14px;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.acc-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6px;
}
.acc-stat {
  display: grid;
  gap: 2px;
  min-width: 0;
  padding: 12px 3px;
  border: 0;
  border-radius: 12px;
  background: #ffffff14;
  color: inherit;
  font: inherit;
  text-align: center;
  cursor: pointer;
  transition: background-color 180ms;
}
.acc-stat:hover {
  background: #ffffff26;
}
.acc-stat strong {
  font-size: 22px;
  line-height: 1.1;
}
.acc-stat span {
  color: #ece6d6b3;
  font-size: 12px;
  line-height: 1.3;
  letter-spacing: -0.01em;
  overflow-wrap: anywhere;
}
.acc-tabs {
  display: grid;
  gap: 4px;
}
.acc-tabs button,
.acc-logout {
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 48px;
  padding: 0 14px;
  border: 0;
  border-radius: 12px;
  background: transparent;
  color: #ece6d6;
  font: inherit;
  font-size: 16px;
  font-weight: 600;
  text-align: left;
  cursor: pointer;
  transition:
    background-color 180ms,
    color 180ms;
}
.acc-tabs button:hover,
.acc-logout:hover {
  background: #ffffff14;
  color: #fff;
}
.acc-tabs button[aria-selected="true"] {
  background: #f6f2e7;
  color: #103d31;
}
.acc-logout {
  color: #ece6d6b3;
  font-weight: 500;
}
.acc-tabs button:focus-visible,
.acc-stat:focus-visible,
.acc-logout:focus-visible {
  outline: 2px solid #cdb47a;
  outline-offset: 2px;
}
.acc-icon {
  display: inline-grid;
  flex: none;
}
.acc-icon svg {
  width: 22px;
  height: 22px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.acc-panel {
  min-width: 0;
}
.acc-panel:focus-visible {
  border-radius: 12px;
  outline: 2px solid var(--accent);
  outline-offset: 6px;
}
.acc-panel-title {
  margin: 6px 0 18px;
  font-size: 28px;
}

/* Orders */
.acc-orders {
  display: grid;
  gap: 14px;
}
.acc-order {
  display: grid;
  gap: 20px;
  padding: 24px;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: #fff;
}
.acc-order-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
}
.acc-order-code {
  margin: 0;
  font-size: 18px;
  font-weight: 700;
}
.acc-order-date {
  margin: 4px 0 0;
  color: #5d6a62;
  font-size: 14px;
}
.acc-status {
  flex: none;
  padding: 6px 12px;
  border-radius: 999px;
  background: var(--stone-200);
  color: var(--accent);
  font-size: 13px;
  font-weight: 650;
}
.acc-status[data-status="awaiting_payment"],
.acc-status[data-status="preparing"] {
  background: #f6ecd6;
  color: #7a5a14;
}
.acc-status[data-status="ready"] {
  background: var(--stone-200);
  color: var(--green);
}
.acc-status[data-status="completed"] {
  background: var(--stone-100);
  color: #4b5850;
}
.acc-status[data-status="cancelled"] {
  background: #f8e3e0;
  color: var(--error);
}
.acc-progress {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  margin: 0;
  padding: 0;
  list-style: none;
}
.acc-progress li {
  position: relative;
  display: grid;
  justify-items: center;
  gap: 8px;
  color: #8a958e;
  font-size: 13px;
  text-align: center;
}
.acc-progress li::before {
  content: "";
  position: absolute;
  top: 7px;
  right: 50%;
  left: -50%;
  height: 2px;
  background: var(--stone-300);
}
.acc-progress li:first-child::before {
  display: none;
}
.acc-progress li.is-done::before,
.acc-progress li.is-current::before {
  background: var(--accent);
}
.acc-progress-dot {
  position: relative;
  z-index: 1;
  width: 16px;
  height: 16px;
  border: 2px solid var(--stone-400);
  border-radius: 50%;
  background: #fff;
}
.acc-progress .is-done {
  color: #26332d;
}
.acc-progress .is-done .acc-progress-dot {
  border-color: var(--accent);
  background: var(--accent);
}
.acc-progress .is-current {
  color: var(--accent);
  font-weight: 650;
}
.acc-progress .is-current .acc-progress-dot {
  border-color: var(--accent);
  box-shadow: 0 0 0 4px #124d3b26;
}
.acc-payment-note {
  margin: 0;
  padding: 12px 14px;
  border-radius: 12px;
  background: var(--stone-200);
  color: #103d31;
  font-size: 15px;
}
.acc-cancelled {
  margin: 0;
  padding: 12px 14px;
  border-radius: 12px;
  background: #f8e3e0;
  color: var(--error);
  font-size: 15px;
}
.acc-fulfillment {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 10px;
  margin: 0;
  padding: 12px 14px;
  border-radius: 12px;
  background: var(--stone-100);
  font-size: 15px;
}
.acc-fulfillment span {
  color: #3e4c44;
}
.acc-items {
  display: grid;
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.acc-items li {
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr) auto;
  align-items: center;
  gap: 14px;
}
.acc-item-photo {
  display: grid;
  place-items: center;
  width: 72px;
  height: 72px;
  overflow: hidden;
  border-radius: 12px;
  background: var(--stone-100);
}
.acc-item-photo img {
  width: 100%;
  height: 100%;
  padding: 6px;
  object-fit: contain;
  mix-blend-mode: multiply;
}
.acc-item-copy {
  display: grid;
  gap: 3px;
  min-width: 0;
}
.acc-item-copy a {
  color: #1d2a24;
  font-size: 16px;
  font-weight: 600;
}
.acc-item-copy a:hover {
  color: var(--accent);
  text-decoration: underline;
  text-underline-offset: 3px;
}
.acc-item-copy span {
  color: #5d6a62;
  font-size: 14px;
}
.acc-items strong {
  font-size: 16px;
  white-space: nowrap;
}
.acc-order-foot {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding-top: 18px;
  border-top: 1px solid var(--line);
}
.acc-order-total {
  display: grid;
  gap: 2px;
  margin: 0;
}
.acc-order-total span {
  color: #5d6a62;
  font-size: 14px;
}
.acc-order-total strong {
  font-size: 24px;
}
.acc-order-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.acc-order-actions .button {
  min-height: 46px;
  border-radius: 12px;
  font-size: 15px;
}

/* Empty sections */
.acc-empty {
  display: grid;
  justify-items: center;
  gap: 10px;
  padding: 56px 24px;
  border-radius: 18px;
  background: var(--stone-100);
  text-align: center;
}
.acc-empty h3 {
  margin: 0;
  font-size: 22px;
}
.acc-empty p {
  max-width: 420px;
  margin: 0 0 8px;
  color: #3e4c44;
  font-size: 16px;
  line-height: 1.55;
}

/* Favourites: photo tiles like the catalog */
.acc-favorites {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(190px, 1fr));
  gap: 14px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.acc-favorites a {
  display: grid;
  gap: 4px;
  color: inherit;
}
.acc-favorite-photo {
  display: grid;
  place-items: center;
  height: 200px;
  margin-bottom: 8px;
  overflow: hidden;
  border-radius: 14px;
  background: var(--stone-100);
  transition: transform 200ms var(--ease);
}
.acc-favorite-photo img {
  width: 100%;
  height: 100%;
  padding: 14px;
  object-fit: contain;
  mix-blend-mode: multiply;
}
.acc-favorites a:hover .acc-favorite-photo {
  transform: translateY(-3px);
}
.acc-favorites small {
  color: #5d6a62;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.1em;
}
.acc-favorites strong {
  font-size: 17px;
}
.acc-favorites a > span:last-child {
  color: #3e4c44;
  font-size: 14px;
}
.acc-more {
  display: inline-flex;
  margin-top: 18px;
  color: var(--accent);
  font-size: 15px;
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 4px;
}

/* Profile */
.acc-profile-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: start;
  gap: 14px;
}
.acc-card {
  display: grid;
  gap: 16px;
  padding: 24px;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: #fff;
}
.acc-card h3 {
  margin: 0;
  font-size: 20px;
}
.acc-contact {
  display: grid;
  gap: 12px;
  margin: 0;
}
.acc-contact div {
  display: grid;
  gap: 2px;
}
.acc-contact dt {
  color: #5d6a62;
  font-size: 13px;
}
.acc-contact dd {
  margin: 0;
  font-size: 16px;
  font-weight: 600;
}
.acc-profile-grid > form:last-child {
  grid-column: 1 / -1;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: start;
}
.acc-profile-grid > form:last-child > h3,
.acc-profile-grid > form:last-child > .acc-message {
  grid-column: 1 / -1;
}
.acc-card .button {
  justify-self: start;
  padding-inline: 24px;
}

@media (max-width: 980px) {
  .acc-auth:not([hidden]) {
    grid-template-columns: minmax(0, 1fr);
  }
  .acc-benefits {
    min-height: 0;
    padding-top: 160px;
  }
}
@media (max-width: 860px) {
  .acc-dashboard:not([hidden]) {
    grid-template-columns: minmax(0, 1fr);
  }
  .acc-side {
    position: relative;
    top: auto;
    gap: 16px;
    padding: 18px 16px 16px;
  }
  .acc-hero {
    grid-template-columns: 56px minmax(0, 1fr);
    align-items: center;
    justify-items: stretch;
    padding: 0 44px 0 0;
  }
  .acc-avatar {
    width: 56px;
    height: 56px;
    font-size: 22px;
  }
  .acc-greeting {
    font-size: 19px;
  }
  .acc-tabs {
    grid-auto-columns: minmax(0, 1fr);
    grid-auto-flow: column;
    padding: 4px;
    border-radius: 14px;
    background: #ffffff14;
  }
  .acc-tabs button {
    flex-direction: column;
    justify-content: center;
    gap: 3px;
    min-width: 0;
    min-height: 56px;
    padding: 6px 4px;
    font-size: 13px;
    text-align: center;
  }
  .acc-tabs button > span:last-child {
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .acc-tabs .acc-icon svg {
    width: 18px;
    height: 18px;
  }
  .acc-logout {
    position: absolute;
    top: 14px;
    right: 10px;
    justify-content: center;
    width: 40px;
    min-height: 40px;
    padding: 0;
    border-radius: 50%;
    background: #ffffff14;
  }
  .acc-logout > span:not(.acc-icon) {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
  }
  .acc-profile-grid,
  .acc-profile-grid > form:last-child {
    grid-template-columns: minmax(0, 1fr);
  }
}
@media (max-width: 600px) {
  .acc-benefits ul {
    grid-template-columns: minmax(0, 1fr);
  }
  .acc-panel-title {
    font-size: 24px;
  }
  .acc-order {
    gap: 16px;
    padding: 18px;
  }
  .acc-progress li {
    font-size: 12px;
  }
  .acc-progress li:not(.is-current) > span:last-child {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
  }
  .acc-items li {
    grid-template-columns: 60px minmax(0, 1fr);
  }
  .acc-items strong {
    grid-column: 2;
  }
  .acc-item-photo {
    width: 60px;
    height: 60px;
  }
  .acc-favorites {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }
  .acc-favorite-photo {
    height: 150px;
  }
  .acc-order-actions,
  .acc-order-actions .button {
    width: 100%;
  }
}
@media (prefers-reduced-motion: reduce) {
  .acc-stat,
  .acc-favorite-photo,
  .acc-tabs button,
  .acc-switch button {
    transition: none;
  }
}

/* Stage 59: sale prices and countdowns. */
/* Sales speak in the brand's own colours: a gold mark on deep green, no red. */
:root {
  --sale: var(--green);
  --sale-soft: var(--stone-200);
}
.product-visual {
  position: relative;
}
.sale-badge {
  position: absolute;
  top: 12px;
  left: 12px;
  z-index: 1;
  padding: 6px 10px;
  border-radius: 999px;
  background: var(--sale);
  color: #fff;
  font-size: 14px;
  font-weight: 750;
  letter-spacing: 0.01em;
  box-shadow: 0 6px 16px #d23f3140;
  animation: sale-badge-pop 2.8s var(--ease) infinite;
}
@keyframes sale-badge-pop {
  0%,
  86%,
  100% {
    transform: scale(1);
  }
  92% {
    transform: scale(1.1);
  }
}
.price-row {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 4px 10px;
}
.is-on-sale .current-price {
  color: var(--sale);
}
.sale-old-price {
  font-size: 15px;
  font-weight: 500;
  color: #5b665f;
  text-decoration-thickness: 1.5px;
}
.detail-product .sale-old-price {
  font-size: 22px;
}
.sale-save {
  padding: 4px 10px;
  border-radius: 999px;
  background: var(--sale-soft);
  color: #a52a1f;
  font-size: 14px;
  font-weight: 650;
}
.volume-pills del {
  font-size: 11px;
  color: #5b665f;
}
.is-on-sale .volume-pills span,
.volume-pills button:has(del) span {
  color: var(--sale);
  font-weight: 650;
}
.countdown[hidden] {
  display: none;
}
.countdown-compact {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  justify-self: start;
  margin: 0;
  padding: 5px 10px;
  border-radius: 999px;
  background: var(--sale-soft);
  color: #a52a1f;
  font-size: 13px;
  font-weight: 650;
  font-variant-numeric: tabular-nums;
}
.countdown-compact svg {
  width: 15px;
  height: 15px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  animation: countdown-swing 1s ease-in-out infinite;
}
@keyframes countdown-swing {
  0%,
  100% {
    transform: rotate(-8deg);
  }
  50% {
    transform: rotate(8deg);
  }
}
.countdown-tiles {
  position: relative;
  overflow: hidden;
  margin: 6px 0 4px;
  padding: 16px 18px 18px;
  border-radius: 12px;
  background:
    radial-gradient(circle at 100% 0, #d23f3166, transparent 55%),
    linear-gradient(135deg, #0b2f25, var(--green));
  color: #fff;
  isolation: isolate;
}
.countdown-tiles::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(
    110deg,
    transparent 30%,
    #ffffff1f 45%,
    transparent 60%
  );
  transform: translateX(-100%);
  animation: countdown-shine 3.6s ease-in-out infinite;
}
@keyframes countdown-shine {
  0%,
  55% {
    transform: translateX(-100%);
  }
  100% {
    transform: translateX(100%);
  }
}
.countdown-title {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 12px;
  font-size: 13px;
  font-weight: 650;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.countdown-title svg {
  width: 18px;
  height: 18px;
  fill: #ffb547;
  stroke: none;
  animation: countdown-flash 1.6s ease-in-out infinite;
}
@keyframes countdown-flash {
  0%,
  100% {
    opacity: 1;
  }
  50% {
    opacity: 0.45;
  }
}
.countdown-units {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}
.countdown-unit {
  display: grid;
  justify-items: center;
  gap: 2px;
  padding: 10px 4px 8px;
  border: 1px solid #ffffff2e;
  border-radius: 10px;
  background: #ffffff14;
  backdrop-filter: blur(4px);
}
.countdown-unit b {
  display: block;
  font-size: 30px;
  font-weight: 700;
  line-height: 1.1;
  font-variant-numeric: tabular-nums;
}
.countdown-unit small {
  font-size: 11px;
  color: var(--stone-400);
}
.countdown-unit[data-unit="s"] {
  border-color: #ff8a7a80;
  background: #d23f3133;
}
.countdown-unit.is-ticking b {
  animation: countdown-tick 420ms var(--ease);
}
@keyframes countdown-tick {
  0% {
    opacity: 0;
    transform: translateY(-40%) scale(0.9);
  }
  100% {
    opacity: 1;
    transform: none;
  }
}

/* Promotions page */
.promo-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 460px);
  gap: 28px;
  align-items: center;
  margin: 8px 0 32px;
  padding: 30px 32px;
  border-radius: 14px;
  background: linear-gradient(120deg, #fdecea, var(--stone-100) 70%);
}
.promo-hero[hidden] {
  display: none;
}
.promo-hero-kicker {
  display: inline-block;
  margin: 0 0 10px;
  padding: 5px 12px;
  border-radius: 999px;
  background: var(--sale);
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.promo-hero h2 {
  margin: 0 0 8px;
  font-size: 40px;
  font-weight: 650;
  letter-spacing: -0.035em;
  color: var(--sale);
}
.promo-hero-copy > p:last-child {
  margin: 0;
  font-size: 16px;
  line-height: 1.55;
}
.promo-hero .countdown-tiles {
  margin: 0;
}
.promotions-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: 18px;
  margin-bottom: 40px;
}
.promotion-product {
  display: grid;
  grid-template-rows: auto 1fr;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #fff;
  overflow: hidden;
  transition:
    box-shadow 180ms,
    transform 180ms var(--ease);
}
.promotion-product:hover {
  box-shadow: 0 12px 28px #103d3117;
  transform: translateY(-2px);
}
.promotion-visual {
  position: relative;
  display: block;
  background: var(--surface);
}
.promotion-product .promotion-visual img {
  display: block;
  width: 100%;
  height: 230px;
  padding: 20px;
  object-fit: contain;
  background: none;
  mix-blend-mode: multiply;
}
.promotion-copy {
  display: grid;
  align-content: start;
  gap: 8px;
  padding: 16px 18px 18px;
}
.promotion-copy .product-brand {
  margin: 0;
}
.promotion-product h2 {
  margin: 0;
  font-size: 19px;
  font-weight: 650;
}
.promotion-prices {
  display: flex;
  align-items: baseline;
  gap: 10px;
  margin: 0;
}
.promotion-prices strong {
  font-size: 22px;
  color: var(--sale);
}
.promotion-product .promotion-prices del {
  margin: 0;
  font-size: 15px;
  color: #5b665f;
}
.promotion-from,
.promotion-open {
  margin: 0;
  font-size: 13px;
}
.promotion-open {
  font-weight: 650;
  color: #a52a1f;
}
.promotion-copy .button {
  margin-top: 6px;
}
@media (max-width: 860px) {
  .promo-hero {
    grid-template-columns: 1fr;
    padding: 22px 20px;
  }
  .promo-hero h2 {
    font-size: 30px;
  }
}
@media (max-width: 480px) {
  .countdown-unit b {
    font-size: 24px;
  }
  .countdown-unit small {
    font-size: 10px;
  }
  .countdown-units {
    gap: 6px;
  }
  .countdown-tiles {
    padding: 14px;
  }
  .sale-badge {
    top: 8px;
    left: 8px;
    font-size: 12px;
    padding: 4px 8px;
  }
  .card-actions + .countdown,
  .price-row + .countdown-compact {
    font-size: 12px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .sale-badge,
  .countdown-compact svg,
  .countdown-tiles::after,
  .countdown-title svg,
  .countdown-unit.is-ticking b {
    animation: none;
  }
  .promotion-product {
    transition: none;
  }
  .promotion-product:hover {
    transform: none;
  }
}

/* Catalog tabs: no colour animation while the URL selection is applied on load. */

/* Stage 60: seller-managed sets and promotion banners. */
.sets-list {
  display: grid;
  gap: 24px;
  margin-bottom: 56px;
}
.sets-list[hidden] {
  display: none;
}
.sets-list[aria-busy="true"] {
  min-height: 420px;
}
.sets-skeleton {
  height: 420px;
  border-radius: 14px;
  background: linear-gradient(90deg, var(--surface), var(--stone-50), var(--surface));
  background-size: 200% 100%;
  animation: sets-skeleton 1.4s ease-in-out infinite;
}
@keyframes sets-skeleton {
  to {
    background-position: -200% 0;
  }
}
.sets-list .set-card {
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
  gap: 40px;
  margin: 0;
  padding: 22px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: #fff;
  align-items: stretch;
  scroll-margin-top: 20px;
}
.sets-list .set-images {
  position: relative;
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(0, 1fr);
  align-items: center;
  min-height: 320px;
  padding: 24px 12px;
  border-radius: 10px;
}
.sets-list .set-images a {
  display: block;
}
.sets-list .set-images img {
  width: 100%;
  height: 240px;
}
.set-copy {
  display: grid;
  align-content: start;
  gap: 12px;
}
.set-copy .type-label {
  justify-self: start;
}
.set-copy h2 {
  margin: 0;
  font-size: 28px;
  font-weight: 600;
  letter-spacing: -0.025em;
}
.set-card .set-copy p {
  margin: 0;
  font-size: 15px;
  line-height: 1.6;
  color: var(--text);
}
.set-card .set-items {
  display: grid;
  gap: 0;
  margin: 4px 0;
  padding: 0;
  list-style: none;
  border-top: 1px solid var(--line);
  line-height: 1.4;
}
.set-items li {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding: 10px 0;
  border-bottom: 1px solid var(--line);
  font-size: 15px;
}
.set-items a {
  display: grid;
  font-weight: 600;
}
.set-items a:hover {
  text-decoration: underline;
  text-underline-offset: 3px;
}
.set-items small {
  font-size: 11px;
  font-weight: 650;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.set-items span {
  flex-shrink: 0;
  padding: 4px 10px;
  border-radius: 999px;
  background: var(--surface);
  font-size: 13px;
  font-weight: 600;
}
.set-card .set-price {
  font-size: 30px;
  font-weight: 700;
}
.set-card.is-on-sale .set-price {
  color: var(--sale);
}
.set-card .set-separate {
  font-size: 14px;
}
.set-copy .button {
  justify-self: start;
  min-width: 260px;
}
.set-copy .countdown-tiles {
  margin: 0;
}
.promo-banners {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 16px;
  margin-bottom: 32px;
}
.promo-banners[hidden] {
  display: none;
}
.promo-banner {
  position: relative;
  display: grid;
  align-content: start;
  gap: 12px;
  padding: 22px;
  border-radius: 14px;
  background: linear-gradient(135deg, #0b2f25, var(--green));
  color: #fff;
  overflow: hidden;
}
.promo-banner .sale-badge {
  position: static;
  justify-self: start;
  font-size: 18px;
  padding: 6px 12px;
}
.promo-banner-scope {
  margin: 0 0 4px;
  font-size: 13px;
  color: var(--stone-400);
  text-transform: uppercase;
  letter-spacing: 0.06em;
}
.promo-banner h2 {
  margin: 0 0 4px;
  font-size: 24px;
  font-weight: 650;
}
.promo-banner p {
  margin: 0;
  font-size: 14px;
}
.promo-banner .countdown-compact {
  background: #ffffff1f;
  color: #fff;
}
.promo-banner .button {
  justify-self: start;
  background: #fff;
  color: #103d31;
  border-color: #fff;
}
/* commerce.css loads later and sets .cart-item-art to block. */
.cart-item-art.cart-set-art {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: 1fr;
  align-items: center;
  gap: 2px;
  padding: 4px;
}
.cart-set-art {
  width: 88px;
  height: 116px;
  box-sizing: border-box;
}
.cart-page-content .cart-set-art img,
.cart-set-art img {
  width: 100%;
  height: 72px;
  object-fit: contain;
}
@media (max-width: 860px) {
  .sets-list .set-card {
    grid-template-columns: 1fr;
    gap: 20px;
    padding: 14px;
  }
  .sets-list .set-images {
    min-height: 200px;
  }
  .sets-list .set-images img {
    height: 170px;
  }
  .set-copy h2 {
    font-size: 23px;
  }
  .set-copy .button {
    justify-self: stretch;
    min-width: 0;
  }
}
@media (prefers-reduced-motion: reduce) {
  .sets-skeleton {
    animation: none;
  }
}

/* Stage 61: bottom navigation, catalog filters, product page helpers, homepage deals. */
.bottom-nav,
.buy-bar {
  display: none;
}
.catalog-filter-open {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 42px;
  padding: 0 14px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #fff;
  color: var(--text, #1b1f1d);
  font: inherit;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
}
.catalog-filter-open[hidden] {
  display: none;
}
.catalog-filter-open:hover {
  border-color: #103d31;
}
.catalog-filter-open svg {
  width: 18px;
  height: 18px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
}
.catalog-filter-open b {
  min-width: 20px;
  padding: 2px 6px;
  border-radius: 999px;
  background: #103d31;
  color: #fff;
  font-size: 12px;
  line-height: 16px;
  text-align: center;
}
.catalog-active {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 16px;
}
.catalog-active[hidden] {
  display: none;
}
.catalog-active button {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 7px 12px;
  border: 0;
  border-radius: 999px;
  background: var(--stone-200);
  color: #103d31;
  font: inherit;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
}
.catalog-active button::after {
  content: "×";
  font-size: 16px;
  line-height: 1;
}
#catalog-results.is-waiting .product-grid {
  visibility: hidden;
}
.catalog-layout {
  display: block;
}
.catalog-main {
  min-width: 0;
}
.catalog-filters {
  position: fixed;
  inset: auto 0 0;
  width: 100%;
  max-width: none;
  max-height: 72dvh;
  margin: 0;
  padding: 0;
  overflow: hidden;
  border: 0;
  border-radius: 16px 16px 0 0;
  background: #fff;
  color: inherit;
}
.catalog-filters[open] {
  display: block;
}
.catalog-filters::backdrop {
  background: #0d1f1a59;
}
.catalog-filters-form {
  display: flex;
  flex-direction: column;
  max-height: 72dvh;
}
.catalog-filters header {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 16px;
  border-bottom: 1px solid var(--line);
}
.catalog-filters footer {
  padding: 10px 16px calc(10px + env(safe-area-inset-bottom));
  border-top: 1px solid var(--line);
  background: #fff;
}
.catalog-filters h2 {
  flex: 1;
  margin: 0;
  font-size: 16px;
  font-weight: 700;
}
.catalog-filters-close {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border: 0;
  border-radius: 50%;
  background: var(--stone-100);
  color: inherit;
  cursor: pointer;
}
.catalog-filters-close svg,
.photo-lightbox-close svg {
  width: 18px;
  height: 18px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
}
.catalog-filters-body {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: 0 16px;
}
.filter-group {
  border-bottom: 1px solid var(--line);
}
.filter-group:last-child {
  border-bottom: 0;
}
.filter-group summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 0;
  color: var(--muted);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  list-style: none;
  cursor: pointer;
}
.filter-group summary::-webkit-details-marker {
  display: none;
}
.filter-group summary svg {
  width: 15px;
  height: 15px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  transition: rotate 0.15s;
}
.filter-group[open] summary svg {
  rotate: 180deg;
}
.filter-group > :last-child {
  margin-bottom: 10px;
}
.filter-switches {
  border-bottom: 1px solid var(--line);
}
.filter-switches label {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 38px;
  font-size: 13px;
  cursor: pointer;
}
.filter-switches input {
  appearance: none;
  position: relative;
  width: 32px;
  height: 18px;
  margin: 0;
  border-radius: 999px;
  background: var(--stone-400);
  cursor: pointer;
  transition: background 0.15s;
}
.filter-switches input::after {
  content: "";
  position: absolute;
  top: 2px;
  left: 2px;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: #fff;
  transition: translate 0.15s;
}
.filter-switches input:checked {
  background: #103d31;
}
.filter-switches input:checked::after {
  translate: 14px 0;
}
.price-range {
  position: relative;
  height: 24px;
}
.price-range-track {
  position: absolute;
  top: 10px;
  right: 0;
  left: 0;
  height: 4px;
  border-radius: 999px;
  background: var(--stone-300);
}
.price-range-fill {
  position: absolute;
  top: 0;
  bottom: 0;
  left: calc(9px + (100% - 18px) * var(--from, 0));
  right: calc(9px + (100% - 18px) * (1 - var(--to, 1)));
  border-radius: 999px;
  background: #103d31;
}
.price-range input {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 24px;
  margin: 0;
  background: none;
  appearance: none;
  pointer-events: none;
}
.price-range input::-webkit-slider-runnable-track {
  height: 24px;
  background: none;
}
.price-range input::-moz-range-track {
  background: none;
}
.price-range input::-webkit-slider-thumb {
  width: 18px;
  height: 18px;
  margin-top: 3px;
  border: 2px solid #103d31;
  border-radius: 50%;
  background: #fff;
  appearance: none;
  cursor: grab;
  pointer-events: auto;
}
.price-range input::-moz-range-thumb {
  box-sizing: border-box;
  width: 18px;
  height: 18px;
  border: 2px solid #103d31;
  border-radius: 50%;
  background: #fff;
  cursor: grab;
  pointer-events: auto;
}
.price-range input:focus-visible::-webkit-slider-thumb {
  outline: 2px solid #103d31;
  outline-offset: 2px;
}
.price-range-values {
  margin: 6px 0 10px;
  font-size: 13px;
  font-variant-numeric: tabular-nums;
}
.filter-brand-search {
  box-sizing: border-box;
  width: 100%;
  min-height: 36px;
  padding: 0 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  font: inherit;
  font-size: 13px;
}
.filter-brand-search {
  margin-bottom: 6px;
}
.filter-options label {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 30px;
  font-size: 13px;
  cursor: pointer;
}
.filter-options label[hidden] {
  display: none;
}
.filter-options label.is-empty {
  opacity: 0.45;
}
.filter-options input {
  flex: none;
  width: 15px;
  height: 15px;
  margin: 0;
  accent-color: #103d31;
}
.filter-options span {
  flex: 1;
  min-width: 0;
}
.filter-options small {
  color: var(--muted);
  font-size: 11px;
}
.filter-brands {
  max-height: 210px;
  overflow-y: auto;
  scrollbar-width: thin;
}
.filter-clear {
  padding: 4px 2px;
  border: 0;
  background: none;
  color: #103d31;
  font: inherit;
  font-size: 12px;
  font-weight: 600;
  text-decoration: underline;
  cursor: pointer;
}
.filter-clear:disabled {
  color: var(--muted);
  opacity: 0.6;
  text-decoration: none;
  cursor: default;
}
.catalog-filters footer {
  display: flex;
  gap: 8px;
}
.catalog-filters footer .button {
  min-height: 44px;
  cursor: pointer;
}
.catalog-filters footer #filter-show {
  flex: 1;
  border: 0;
}
.catalog-filters footer .filter-clear-wide:disabled {
  opacity: 0.5;
  cursor: default;
}
.catalog-context {
  padding-bottom: 12px;
  border-bottom: 1px solid var(--line);
}
.catalog-tools {
  flex: 1;
}
.catalog-tools #catalog-count {
  margin: 0 auto 0 0;
  color: var(--muted);
}
.catalog-active-clear {
  padding: 7px 4px;
  border: 0;
  background: none;
  color: var(--muted);
  font: inherit;
  font-size: 13px;
  text-decoration: underline;
  cursor: pointer;
}
.catalog-active button.catalog-active-clear {
  background: none;
  color: var(--muted);
  font-weight: 400;
}
.catalog-active button.catalog-active-clear::after {
  content: none;
}
.catalog-empty .filter-reset {
  margin-top: 8px;
  cursor: pointer;
}
.product-card.is-sold-out .product-visual img {
  opacity: 0.55;
}
.product-card.is-sold-out .product-visual::after {
  content: "Нет в наличии";
  position: absolute;
  top: 10px;
  left: 10px;
  padding: 4px 9px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: #ffffffe6;
  color: var(--text, #1b1f1d);
  font-size: 11px;
  font-weight: 600;
}
@media (min-width: 1051px) {
  .catalog-layout:not(.is-plain) {
    display: grid;
    grid-template-columns: 230px minmax(0, 1fr);
    align-items: start;
    gap: 22px;
  }
  /* The right padding keeps the filter counts clear of the overlay
     scrollbar macOS shows while the panel scrolls; the column and gap
     above keep the content and the product grid where they were. */
  .catalog-layout:not(.is-plain) .catalog-filters {
    position: sticky;
    top: var(--catalog-sticky-top, 16px);
    inset-inline: auto;
    bottom: auto;
    display: block;
    width: auto;
    max-height: calc(100dvh - var(--catalog-sticky-top, 16px) - 16px);
    padding-right: 14px;
    overflow-y: auto;
    border-radius: 0;
    background: transparent;
    scrollbar-width: thin;
  }
  .catalog-layout:not(.is-plain) .catalog-filters header {
    padding: 0 0 12px;
  }
  .catalog-layout:not(.is-plain) .catalog-filters-body {
    padding: 0 6px 0 0;
  }
  .catalog-layout:not(.is-plain) .catalog-filters-form {
    max-height: none;
  }
  .catalog-layout:not(.is-plain) .catalog-filters-body {
    overflow: visible;
  }
  .catalog-layout:not(.is-plain) .catalog-filters-close,
  .catalog-layout:not(.is-plain) .catalog-filters footer,
  .catalog-layout:not(.is-plain) .catalog-filter-open {
    display: none;
  }
  .catalog-layout:not(.is-plain) .catalog-main .product-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (max-width: 1050px) {
  .catalog-layout .catalog-context {
    display: block;
    margin-bottom: 10px;
    padding-bottom: 0;
    border-bottom: 0;
  }
  .catalog-layout .catalog-tools {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 6px 8px;
  }
  .catalog-layout .catalog-filter-open {
    min-height: 40px;
    padding: 0 12px;
    font-size: 13px;
  }
  .catalog-layout .catalog-sort {
    grid-column: 2;
    grid-row: 1;
    width: 100%;
  }
  .catalog-layout .catalog-sort > span {
    display: none;
  }
  .catalog-layout .catalog-sort select {
    width: 100%;
    min-height: 40px;
  }
  .catalog-filters header .filter-clear {
    display: none;
  }
  .catalog-layout #catalog-count {
    grid-column: 1 / -1;
    margin: 0;
    color: var(--muted);
    font-size: 12px;
  }
  .catalog-layout.is-plain .catalog-tools {
    grid-template-columns: minmax(0, 1fr);
  }
  .catalog-layout.is-plain .catalog-sort {
    grid-column: 1;
  }
}
.cart-toast.has-link {
  display: flex;
  align-items: center;
  gap: 14px;
  pointer-events: auto;
}
.cart-toast a {
  color: #fff;
  font-weight: 700;
  text-decoration: underline;
  white-space: nowrap;
}
.detail-gallery .product-visual {
  position: relative;
}
.detail-gallery .product-visual img {
  cursor: zoom-in;
}
.photo-zoom {
  position: absolute;
  right: 12px;
  bottom: 12px;
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border: 0;
  border-radius: 50%;
  background: #ffffffe6;
  color: #103d31;
  box-shadow: 0 2px 10px #0d1f1a1f;
  cursor: pointer;
}
.photo-zoom svg {
  width: 20px;
  height: 20px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
}
.photo-lightbox {
  width: 100vw;
  max-width: none;
  height: 100dvh;
  max-height: none;
  margin: 0;
  padding: 0;
  border: 0;
  background: #fff;
  cursor: zoom-out;
}
.photo-lightbox[open] {
  display: grid;
  place-items: center;
}
.photo-lightbox img {
  width: min(100vw, 100dvh);
  height: auto;
  max-height: 100dvh;
  object-fit: contain;
}
.photo-lightbox-close {
  position: fixed;
  top: 14px;
  right: 14px;
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  border: 0;
  border-radius: 50%;
  background: var(--stone-100);
  color: #103d31;
  cursor: pointer;
}
.product-contact {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 10px 14px;
  margin-top: 18px;
  padding: 12px 14px;
  border-radius: 12px;
  background: var(--stone-100);
  font-size: 14px;
}
.product-contact > div {
  display: flex;
  gap: 8px;
}
.product-contact a {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 38px;
  padding: 0 12px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: #fff;
  color: #103d31;
  font-size: 13px;
  font-weight: 600;
  text-decoration: none;
}
.product-contact svg {
  width: 16px;
  height: 16px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
}
.detail-fulfillment {
  margin: 14px 0 0;
  font-size: 13px;
}
.detail-fulfillment > div {
  display: grid;
  grid-template-columns: 96px 1fr;
  gap: 10px;
  padding: 10px 0;
  border-top: 1px solid var(--line);
}
.detail-fulfillment dt {
  font-weight: 700;
}
.detail-fulfillment dd {
  margin: 0;
  color: var(--muted);
  line-height: 1.45;
}
.home-deals[hidden] {
  display: none;
}
.home-deals-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}
.home-deal {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
  color: inherit;
  text-decoration: none;
}
.home-deal-photo {
  position: relative;
  display: block;
  margin-bottom: 8px;
  overflow: hidden;
  border-radius: 12px;
  aspect-ratio: 1;
  background: var(--stone-100);
}
.home-deal-photo img {
  display: block;
  box-sizing: border-box;
  width: 100%;
  height: 100%;
  padding: 10px;
  object-fit: contain;
  mix-blend-mode: multiply;
}
.home-deal small {
  color: var(--muted);
  font-size: 11px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.home-deal strong {
  font-size: 15px;
  line-height: 1.3;
}
.home-deal-prices {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 4px 8px;
  font-size: 13px;
}
.home-deal-prices b {
  color: #103d31;
  font-size: 15px;
}
.home-deal-prices del,
.home-deal-prices span {
  color: var(--muted);
}
@media (max-width: 760px) {
  body {
    padding-bottom: calc(66px + env(safe-area-inset-bottom));
  }
  .bottom-nav {
    position: fixed;
    inset: auto 0 0;
    z-index: 34;
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    padding: 6px 4px calc(6px + env(safe-area-inset-bottom));
    border-top: 1px solid var(--line);
    background: #fffffff5;
  }
  .bottom-nav a,
  .bottom-nav button {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 3px;
    min-height: 48px;
    padding: 5px 0 3px;
    border: 0;
    border-radius: 10px;
    background: none;
    color: var(--muted);
    font: inherit;
    font-size: 11px;
    font-weight: 600;
    text-decoration: none;
    cursor: pointer;
  }
  .bottom-nav [aria-current="page"] {
    background: var(--stone-200);
    color: #103d31;
  }
  .bottom-nav svg {
    width: 22px;
    height: 22px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.7;
  }
  .bottom-nav b {
    position: absolute;
    top: 1px;
    left: calc(50% + 5px);
    min-width: 16px;
    padding: 1px 4px;
    border-radius: 999px;
    background: #103d31;
    color: #fff;
    font-size: 10px;
    line-height: 14px;
    text-align: center;
  }
  .bottom-nav b[hidden],
  .bottom-nav b[data-empty] {
    display: none;
  }
  body:has(.menu-toggle[aria-expanded="true"]) .bottom-nav,
  body:has(input:focus, textarea:focus) .bottom-nav,
  body:has(input:focus, textarea:focus).has-buy-bar .buy-bar {
    display: none;
  }
  .contact-widget {
    bottom: calc(76px + env(safe-area-inset-bottom));
  }
  body .cart-toast {
    bottom: calc(78px + env(safe-area-inset-bottom));
  }
  body.has-buy-bar .bottom-nav {
    display: none;
  }
  body.has-buy-bar .buy-bar {
    position: fixed;
    inset: auto 0 0;
    z-index: 34;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 9px 16px calc(9px + env(safe-area-inset-bottom));
    border-top: 1px solid var(--line);
    background: #fff;
  }
  .buy-bar > div {
    display: flex;
    flex-direction: column;
    min-width: 0;
  }
  .buy-bar small {
    color: var(--muted);
    font-size: 12px;
  }
  .buy-bar strong {
    font-size: 18px;
    white-space: nowrap;
  }
  .buy-bar .button {
    flex: none;
    min-width: 150px;
    border: 0;
    text-align: center;
    cursor: pointer;
  }
  .buy-bar .button[hidden] {
    display: none;
  }
  html:has(.catalog-filters[open]) {
    overflow: hidden;
  }
  .home-deals-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
  }
}

/* Stage 62: guest order tracking. */
.track {
  display: grid;
  grid-template-columns: minmax(0, 400px) minmax(0, 1fr);
  align-items: start;
  gap: 24px;
  margin-bottom: 48px;
}
.track-form,
.track-result {
  padding: 22px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: #fff;
}
.track-form {
  display: grid;
  gap: 14px;
}
.track-form label {
  display: grid;
  gap: 6px;
  font-size: 14px;
  font-weight: 600;
}
.track-form input {
  box-sizing: border-box;
  width: 100%;
  min-height: 46px;
  padding: 0 12px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #fff;
  font: inherit;
  font-size: 16px;
  font-weight: 400;
}
.track-phone {
  display: flex;
  align-items: center;
  gap: 8px;
}
.track-phone > span {
  flex: none;
  font-size: 16px;
  font-weight: 400;
}
.track-form .button {
  width: 100%;
  border: 0;
  cursor: pointer;
}
.track-form .button:disabled {
  opacity: 0.6;
  cursor: default;
}
.track-message {
  margin: 0;
  color: var(--error);
  font-size: 14px;
}
.track-message:empty {
  display: none;
}
.track-hint {
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.5;
}
.track-result[hidden] {
  display: none;
}
.track-result:focus {
  outline: none;
}
.track-code {
  color: var(--muted);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.02em;
}
.track-head h2 {
  margin: 4px 0 0;
  font-size: 22px;
  line-height: 1.25;
}
.track-facts {
  margin: 0 0 18px;
  font-size: 14px;
}
.track-facts > div {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  padding: 9px 0;
  border-top: 1px solid var(--line);
}
.track-facts dt {
  color: var(--muted);
}
.track-facts dd {
  margin: 0;
  font-weight: 600;
  text-align: right;
}
.receipt-track {
  display: block;
  margin-bottom: 10px;
  text-align: center;
}
@media (max-width: 760px) {
  .track {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* Language switch */
.lang-switch {
  display: inline-flex;
  flex: none;
  gap: 2px;
}
.utility-links {
  margin-left: auto;
}
.lang-switch button {
  padding: 2px 7px;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: inherit;
  font: inherit;
  font-size: 12px;
  font-weight: 600;
  line-height: 18px;
  opacity: 0.7;
  cursor: pointer;
}
.lang-switch button:hover {
  opacity: 1;
}
.lang-switch button:focus-visible {
  opacity: 1;
  outline: 2px solid currentColor;
  outline-offset: 1px;
}
html[lang="ru"] .lang-switch [data-lang="ru"],
html[lang="kk"] .lang-switch [data-lang="kk"],
html[lang="en"] .lang-switch [data-lang="en"] {
  background: #103d31;
  color: #fff;
  opacity: 1;
}
@media (max-width: 600px) {
  .utility-links {
    display: none;
  }
  .shop-location a {
    white-space: nowrap;
  }
}
html[lang="kk"] .product-card.is-sold-out .product-visual::after {
  content: "Қазір жоқ";
}
html[lang="en"] .product-card.is-sold-out .product-visual::after {
  content: "Out of stock";
}
html[lang="kk"] h1,
html[lang="kk"] h2,
html[lang="kk"] h3 {
  overflow-wrap: break-word;
}

/* Header redesign: a green store strip over an open header that matches the home hero panel. */
.shop-strip {
  background: #103d31;
  border-bottom: 0;
}
.shop-strip,
.shop-strip a,
.shop-strip span {
  color: #ece6d6;
}
.shop-strip a:hover {
  color: #fff;
}
.shop-strip a:focus-visible {
  outline: 2px solid #cdb47a;
  outline-offset: 2px;
}
.shop-location svg {
  stroke: #cdb47a;
}
.lang-switch {
  padding: 2px;
  border-radius: 999px;
  box-shadow: inset 0 0 0 1px #ece6d633;
}
html[lang="ru"] .lang-switch [data-lang="ru"],
html[lang="kk"] .lang-switch [data-lang="kk"],
html[lang="en"] .lang-switch [data-lang="en"] {
  background: #cdb47a;
  color: #103d31;
}
.header .header-search {
  border-color: transparent;
  border-radius: 999px;
  background: var(--stone-100);
}
.header .header-search:focus-within {
  border-color: var(--green);
  background: #fff;
}
.header .header-search input::placeholder {
  color: #59665e;
}
.header .header-icon,
.header .menu-toggle {
  border-radius: 50%;
  background: #fff;
  box-shadow: inset 0 0 0 1px var(--stone-300);
}
/* The bag is the one filled control, so the basket count reads at a glance. */
.header .cart-toggle {
  border-radius: 999px;
  background: var(--accent);
  box-shadow: none;
}
.header .cart-toggle > svg {
  stroke: #f6f2e7;
}
.header .cart-toggle:hover {
  background: #1d604c;
  box-shadow: 0 0 0 3px #124d3b1f;
}
.header .cart-toggle:hover > svg {
  stroke: #fff;
}
.header .cart-count {
  background: #cdb47a;
  color: #103d31;
  font-weight: 700;
}
@media (min-width: 1081px) {
  .shop-strip {
    padding-inline: 40px;
  }
  .utility-inner {
    max-width: var(--max);
    min-height: 38px;
  }
  .header {
    width: min(var(--max), calc(100% - 80px));
    margin: 6px auto 0;
  }
  .header-inner.container {
    gap: 0 12px;
    padding: 14px 0 0;
    background: transparent;
    border: 0;
    border-bottom: 1px solid var(--stone-300);
    border-radius: 0;
    box-shadow: none;
  }
  .header .brand {
    margin-right: 24px;
  }
  .header .brand img {
    width: 44px;
    height: 44px;
  }
  .header .brand > span {
    font-size: 23px;
  }
  .header .header-search {
    flex: 1 1 300px;
    max-width: 680px;
    height: 48px;
    min-height: 48px;
    margin: 0 auto;
    padding: 0 10px;
  }
  .header .header-icon {
    width: 46px;
    height: 46px;
    min-width: 46px;
    min-height: 46px;
    padding: 0;
  }
  .header .cart-toggle {
    width: auto;
    gap: 8px;
    padding: 0 14px 0 16px;
  }
  .header-inner > .navigation {
    align-items: center;
    gap: 4px;
    min-height: 60px;
    margin: 14px 0 0;
    border-top-color: var(--stone-200);
  }
  .header .navigation > a {
    min-height: 40px;
    padding: 9px 18px;
    border: 0;
    border-radius: 999px;
    color: #24312b;
    font-size: 15px;
    font-weight: 600;
    transition:
      background-color 160ms,
      color 160ms;
  }
  .header .navigation > a:hover,
  .header .navigation > a[aria-expanded="true"] {
    background: var(--stone-100);
    color: var(--accent);
  }
  .header .navigation > a[aria-current="page"] {
    border-bottom: 0;
    background: var(--stone-200);
    color: var(--accent);
    font-weight: 650;
  }
}
@media (max-width: 1080px) {
  .header .header-icon,
  .header .menu-toggle {
    width: 42px;
    height: 42px;
    min-width: 42px;
    min-height: 42px;
    padding: 0;
  }
  .header .cart-toggle {
    width: auto;
    gap: 6px;
    padding: 0 12px 0 13px;
  }
  .header .header-search {
    height: 44px;
    min-height: 44px;
  }
}
@media (max-width: 360px) {
  .header .header-icon,
  .header .menu-toggle {
    width: 38px;
    height: 38px;
    min-width: 38px;
    min-height: 38px;
  }
  .header .cart-toggle {
    width: auto;
    padding: 0 9px 0 10px;
  }
}

/* Catalog menu: larger type and photos, so categories, brands and examples read at a glance. */
.mega-layout {
  grid-template-columns: 270px 1fr;
  gap: 44px;
  padding: 34px 40px 36px;
}
.mega-groups {
  gap: 6px;
  padding-right: 28px;
}
.mega-groups a {
  padding: 15px 18px;
  border-radius: 12px;
  font-size: 18px;
  font-weight: 600;
  letter-spacing: -0.01em;
}
.mega-groups a small {
  min-width: 36px;
  padding: 3px 9px;
  border-radius: 999px;
  background: var(--stone-100);
  color: #3e4c44;
  font-size: 13px;
  font-weight: 600;
  text-align: center;
}
.mega-groups a.is-active,
.mega-groups a:hover {
  background: var(--stone-200);
  color: var(--accent);
}
.mega-groups a.is-active small {
  background: var(--accent);
  color: #f6f2e7;
}
.mega-content {
  grid-template-columns: 1fr 400px;
  gap: 44px;
  min-height: 280px;
}
.mega-brands .kicker,
.mega-preview .kicker {
  margin-bottom: 18px;
  color: #5d6a62;
  font-size: 12px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}
.mega-brands > div {
  gap: 2px 28px;
}
.mega-brands a {
  display: flex;
  align-items: center;
  min-height: 44px;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.3;
}
.mega-brands .mega-view-all {
  display: inline-flex;
  align-items: center;
  margin-top: 24px;
  padding: 12px 20px;
  border: 0;
  border-radius: 999px;
  background: var(--accent);
  color: #f6f2e7;
  font-size: 15px;
  font-weight: 600;
  transition: background-color 160ms;
}
.mega-brands .mega-view-all:hover {
  background: #1d604c;
  color: #fff;
  text-decoration: none;
}
.mega-preview > div {
  gap: 16px;
}
.mega-perfume {
  gap: 4px;
  font-size: 15px;
  font-weight: 600;
}
.mega-perfume img {
  height: 210px;
  margin-bottom: 8px;
  padding: 18px;
  border-radius: 14px;
  background: var(--stone-100);
}
.mega-perfume small {
  color: #5d6a62;
  font-size: 12px;
  font-weight: 500;
}
.mega-catalog:focus {
  outline: none;
}
.mega-layout .mega-close {
  top: 16px;
  right: 16px;
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  font-size: 26px;
  line-height: 1;
}
@media (max-width: 1279px) {
  .mega-layout {
    grid-template-columns: 230px 1fr;
    gap: 32px;
    padding: 30px 32px 32px;
  }
  .mega-content {
    grid-template-columns: 1fr 300px;
    gap: 32px;
  }
  .mega-groups a {
    font-size: 17px;
  }
  .mega-brands a {
    font-size: 15px;
  }
  .mega-perfume img {
    height: 170px;
  }
}

/* Site-wide redesign: larger type, fewer captions, photos first. */
.page-heading .kicker,
.section-heading .kicker,
.home-section .kicker,
.home-store .kicker {
  display: none;
}
main .page-heading > p:not(.kicker) {
  max-width: 680px;
  color: #3e4c44;
  font-size: 17px;
  line-height: 1.55;
}
main input::placeholder,
main textarea::placeholder {
  color: #8a958e;
  opacity: 1;
}
.product-card:not(.detail-product) .product-availability {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}

/* Product cards: photo, name and price lead; the format chip, volume caption and stock line go. */
.product-card:not(.detail-product) .type-label.razliv,
.product-card:not(.detail-product) .decant-note {
  display: none;
}
.product-card .type-label {
  padding: 4px 9px;
  font-size: 12px;
}
.product-card:not(.detail-product) .product-brand {
  margin-top: 4px;
  color: #5d6a62;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.1em;
}
.product-card:not(.detail-product) .product-copy h3 {
  font-size: 18px;
  line-height: 1.25;
}
.product-card:not(.detail-product) .sku {
  color: #5d6a62;
  font-size: 13px;
}
.product-card:not(.detail-product) .product-notes {
  color: #3e4c44;
  font-size: 14px;
  line-height: 1.45;
}
.product-card:not(.detail-product) .current-price {
  font-size: 22px;
}
.product-card:not(.detail-product) .purchase-controls label {
  font-size: 0;
}
.product-card:not(.detail-product) .volume-select {
  min-height: 46px;
  border-radius: 10px;
  font-size: 15px;
}
.product-card:not(.detail-product) .add-cart,
.product-card:not(.detail-product) .favorite-toggle {
  min-height: 46px;
  border-radius: 10px;
  font-size: 15px;
}

/* Home categories: image-first tiles on a tone per family. */
.home-categories {
  gap: 12px;
}
.home-category {
  --photo: 220px;
  grid-template-columns: minmax(0, 1fr) 22px;
  align-items: center;
  gap: 14px 10px;
  padding: 12px 18px 20px 12px;
  border: 0;
  border-radius: 14px;
  background: var(--tone, var(--stone-100));
}
/* Two alternating steps of the same warm tone give the grid a quiet rhythm. */
.home-category:nth-child(odd) {
  --tone: #f3efe7;
}
.home-category:nth-child(even) {
  --tone: #ebe6db;
}
.home-category:hover {
  border-color: transparent;
}
.home-category-image {
  grid-column: 1 / -1;
  height: var(--photo);
  aspect-ratio: auto;
  background: transparent;
}
.home-category-image img {
  height: var(--photo);
}
.home-category-copy {
  padding-left: 8px;
}
.home-category-copy strong {
  font-size: 22px;
}
.home-category-copy span {
  display: none;
}
.home-category-copy small {
  font-size: 14px;
}
.home-steps h3 {
  font-size: 19px;
}
.home-steps p {
  font-size: 15px;
  line-height: 1.55;
}

/* Catalog filters read at body size. */
.filter-group summary {
  color: #26332d;
  font-size: 13px;
}
.filter-options label {
  min-height: 34px;
  font-size: 15px;
}
.filter-options label small {
  color: #5d6a62;
  font-size: 13px;
}
.catalog-tools p {
  font-size: 14px;
}

/* Fragrance page: secondary details stay, at a readable size. */
.breadcrumbs,
.gallery-caption,
.direction-explainer {
  font-size: 13px;
}
.detail-meta .type-label,
.detail-meta .sku {
  font-size: 13px;
}
.detail-product .unit-price {
  font-size: 14px;
}
.volume-pills button span {
  font-size: 14px;
}
.product-tablist button {
  font-size: 15px;
}
.scent-profile span {
  font-size: 14px;
}

/* Sets and certificates. */
.set-copy .type-label,
.set-items small {
  font-size: 12px;
}
.set-images img {
  mix-blend-mode: multiply;
}
.certificate-heading span,
.certificate-thumb span {
  font-size: 14px;
}
.certificate-hint {
  font-size: 15px;
}

/* About: the owner's gold logo in its own column on the right, lit by a soft glow;
   the words keep to the left, so the two never touch. On phones the logo goes on top. */
body[data-page="about"] main .page-heading {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  grid-template-rows: 1fr auto auto;
  column-gap: clamp(24px, 5vw, 72px);
  align-items: end;
  min-height: clamp(320px, 34vw, 460px);
  margin: 20px auto 40px;
  padding: clamp(28px, 4.4vw, 60px) clamp(28px, 5.5vw, 84px);
  border-radius: 16px;
  color: #f6f2e7;
  text-align: left;
  background:
    radial-gradient(38% 70% at 76% 50%, #d8b5662e, transparent 72%),
    radial-gradient(60% 90% at 0% 100%, #d8b56614, transparent 70%),
    linear-gradient(118deg, #002219 0%, #012c22 52%, #023527 100%);
  box-shadow:
    inset 0 0 0 1px #d8b56633,
    0 18px 40px #0a2a1f24;
}
/* A fine gold frame inside the edge. */
body[data-page="about"] main .page-heading::after {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 12px;
  border: 1px solid #d8b5661f;
  border-radius: 10px;
  pointer-events: none;
}
body[data-page="about"] main .page-heading::before {
  content: "";
  grid-column: 2;
  grid-row: 1 / -1;
  align-self: center;
  height: clamp(230px, 27vw, 360px);
  aspect-ratio: 714 / 864;
  background: url("/assets/brand/arafan-logo-gold.webp") center / contain no-repeat;
  filter: drop-shadow(0 6px 26px #d8b5663d);
}
body[data-page="about"] main .page-heading > * {
  grid-column: 1;
}
body[data-page="about"] main .page-heading .kicker {
  display: none;
}
body[data-page="about"] main .page-heading h1 {
  grid-row: 2;
  margin: 0;
  color: inherit;
}
body[data-page="about"] main .page-heading h1::after {
  content: "";
  display: block;
  width: 72px;
  height: 2px;
  margin: 18px 0 16px;
  border-radius: 2px;
  background: linear-gradient(90deg, #e2c27a, #b48a3e);
}
body[data-page="about"] main .page-heading > p:not(.kicker) {
  grid-row: 3;
  max-width: 46ch;
  margin: 0;
  color: #ece6d6;
  font-size: clamp(15px, 1.25vw, 18px);
  line-height: 1.55;
}
@media (max-width: 760px) {
  body[data-page="about"] main .page-heading {
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: auto auto auto;
    min-height: 0;
    padding: 32px 22px 30px;
    text-align: center;
    background:
      radial-gradient(70% 45% at 50% 28%, #d8b5662e, transparent 72%),
      linear-gradient(170deg, #002219 0%, #012c22 55%, #023527 100%);
  }
  body[data-page="about"] main .page-heading::before {
    grid-column: 1;
    grid-row: 1;
    justify-self: center;
    height: min(62vw, 260px);
    margin-bottom: 22px;
  }
  body[data-page="about"] main .page-heading h1::after {
    margin-inline: auto;
  }
  body[data-page="about"] main .page-heading > p:not(.kicker) {
    margin-inline: auto;
  }
}

/* Contacts: three cards with the address and phone set large. */
.contact-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin: 8px 0 72px;
  padding: 0;
  border: 0;
}
.contact-grid section {
  display: grid;
  align-content: start;
  gap: 12px;
  padding: 28px;
  border-radius: 14px;
  background: var(--stone-100);
}
.contact-grid h2 {
  margin: 0;
  color: #5d6a62;
  font-size: 13px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.contact-grid .large-text {
  margin: 0;
  font-size: clamp(24px, 2.3vw, 30px);
  font-weight: 600;
  letter-spacing: -0.02em;
}
.contact-grid p {
  margin: 0;
  font-size: 16px;
  line-height: 1.55;
}

/* Delivery: numbered steps and one card per way to receive and pay. */
.info-page {
  padding: 8px 0 72px;
}
.info-page > h2 {
  margin: 0 0 18px;
  font-size: 26px;
}
.info-steps {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin: 0 0 44px;
  padding: 0;
  list-style: none;
  counter-reset: info-step;
}
.info-steps li {
  padding: 22px;
  border-radius: 14px;
  background: var(--stone-100);
  font-size: 16px;
  line-height: 1.5;
  counter-increment: info-step;
}
.info-steps li::before {
  content: counter(info-step);
  display: grid;
  place-items: center;
  width: 36px;
  height: 36px;
  margin-bottom: 14px;
  border-radius: 50%;
  background: var(--accent);
  color: #f6f2e7;
  font-weight: 650;
}
.info-cards {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.6fr) minmax(0, 1fr);
  align-items: start;
  gap: 12px;
}
.info-cards section {
  padding: 26px;
  border: 1px solid var(--line);
  border-radius: 14px;
}
.info-cards h2 {
  margin: 0 0 12px;
  font-size: 21px;
}
.info-cards p {
  margin: 0 0 10px;
  color: #26332d;
  font-size: 16px;
  line-height: 1.6;
}

/* Wholesale: a large photo beside the offer. */
.info-feature {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
  align-items: center;
  gap: clamp(24px, 4vw, 56px);
  padding: 8px 0 72px;
}
.info-feature img {
  width: 100%;
  height: clamp(260px, 32vw, 440px);
  border-radius: 14px;
  object-fit: cover;
}
.info-feature h2 {
  margin: 0 0 14px;
  font-size: clamp(26px, 2.6vw, 34px);
}
.info-feature p {
  margin: 0 0 24px;
  color: #26332d;
  font-size: 17px;
  line-height: 1.6;
}

/* Order tracking: +7 sits inside the field, as in checkout. */
.track {
  grid-template-columns: minmax(0, 480px) minmax(0, 1fr);
}
.track-phone {
  gap: 0;
  padding-left: 14px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #fff;
}
.track-phone:focus-within {
  border-color: var(--green);
  box-shadow: 0 0 0 3px #103d310f;
}
.track-phone input {
  border: 0;
  background: transparent;
  outline: none;
}
.track-hint {
  font-size: 14px;
}

/* Browser autofill keeps the field's own colours: a blue fill on the inner
   input alone split the phone field next to its +7. */
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
textarea:-webkit-autofill {
  -webkit-text-fill-color: #1d2a24;
  caret-color: #1d2a24;
  transition:
    background-color 600000s 0s,
    color 600000s 0s;
}

/* Consultation: a round WhatsApp button that no longer covers page text. */
.contact-widget .contact-toggle {
  justify-content: center;
  width: 56px;
  height: 56px;
  min-height: 56px;
  padding: 0;
  border-radius: 50%;
}
.contact-widget .contact-toggle > span {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}
.contact-widget .contact-toggle > svg {
  width: 26px;
  height: 26px;
}

@media (max-width: 980px) {
  .info-steps {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .info-cards,
  .contact-grid {
    grid-template-columns: minmax(0, 1fr);
  }
  .track {
    grid-template-columns: minmax(0, 1fr);
  }
}
@media (max-width: 760px) {
  main .page-heading > p:not(.kicker) {
    font-size: 16px;
  }
  .home-categories {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }
  .home-category {
    gap: 10px 6px;
    padding: 8px 10px 14px 8px;
  }
  .home-category {
    --photo: 150px;
  }
  .home-category-copy {
    padding-left: 4px;
  }
  .home-category-copy strong {
    font-size: 18px;
  }
  .home-category-copy small {
    font-size: 13px;
  }
  .home-category > svg {
    display: none;
  }
  .product-card:not(.detail-product) .product-copy h3 {
    font-size: 16px;
  }
  .product-card:not(.detail-product) .current-price {
    font-size: 19px;
  }
  .product-card:not(.detail-product) .product-notes {
    font-size: 13px;
  }
  .product-card:not(.detail-product) .volume-select {
    font-size: 14px;
  }
  .info-steps {
    grid-template-columns: minmax(0, 1fr);
  }
  .info-feature {
    grid-template-columns: minmax(0, 1fr);
  }
  .contact-widget .contact-toggle {
    width: 48px;
    height: 48px;
    min-height: 48px;
  }
}

/* FAQ: the chevron turns back as soon as a question starts closing. */
.home-faq details.is-closing summary::after {
  transform: rotate(45deg) translateY(-3px);
}

/* Own volume and sort menu; the hidden select underneath keeps the value. */
/* A utility hide: page rules such as a full-width select on phones must not
   stretch the hidden select past the screen edge. */
.select-menu-native {
  position: absolute !important;
  width: 1px !important;
  min-width: 0 !important;
  height: 1px !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden;
  border: 0 !important;
  opacity: 0;
  clip-path: inset(50%);
  pointer-events: none;
}
.select-menu-button {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  width: 100%;
  min-height: 46px;
  padding: 0 12px 0 14px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #fff;
  color: #1d2a24;
  font: inherit;
  font-size: 15px;
  text-align: left;
  cursor: pointer;
  transition:
    border-color 160ms,
    box-shadow 160ms;
}
.select-menu-button:hover,
.select-menu-button[aria-expanded="true"] {
  border-color: #9fb8a6;
}
.select-menu-button:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 2px;
}
.select-menu-text {
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.select-menu-button svg {
  flex: none;
  width: 18px;
  height: 18px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  transition: transform 200ms var(--ease);
}
.select-menu-button[aria-expanded="true"] svg {
  transform: rotate(180deg);
}
.catalog-tools .select-menu-button {
  min-width: 170px;
}
.select-menu-list {
  position: fixed;
  z-index: 60;
  max-height: min(320px, 60vh);
  margin: 0;
  padding: 6px;
  overflow: auto;
  border: 1px solid var(--stone-300);
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 16px 40px #0d332824;
  list-style: none;
}
.select-menu-list [role="option"] {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 42px;
  padding: 0 14px 0 10px;
  border-radius: 8px;
  color: #1d2a24;
  font-size: 15px;
  white-space: nowrap;
  cursor: pointer;
}
.select-menu-list [role="option"]::before {
  content: "";
  flex: none;
  width: 16px;
  height: 16px;
}
.select-menu-list [aria-selected="true"] {
  color: var(--accent);
  font-weight: 650;
}
.select-menu-list [aria-selected="true"]::before {
  background: currentColor;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12 5 5 9-10'/%3E%3C/svg%3E")
    center / contain no-repeat;
}
.select-menu-list .is-active {
  background: var(--stone-100);
}
.select-menu-list [aria-disabled="true"] {
  color: #9aa49e;
  cursor: default;
}
@media (max-width: 760px) {
  .select-menu-button {
    font-size: 14px;
  }
}

/* Page changes: the header stays put while the new page rises in. */
@media (prefers-reduced-motion: no-preference) {
  @view-transition {
    navigation: auto;
  }
  .shop-strip {
    view-transition-name: shop-strip;
  }
  body > .header {
    view-transition-name: site-header;
  }
  .bottom-nav {
    view-transition-name: bottom-nav;
  }
  ::view-transition-old(shop-strip),
  ::view-transition-old(site-header),
  ::view-transition-old(bottom-nav) {
    display: none;
  }
  ::view-transition-new(shop-strip),
  ::view-transition-new(site-header),
  ::view-transition-new(bottom-nav) {
    animation: none;
  }
  ::view-transition-old(root) {
    animation: page-leave 160ms var(--ease) both;
  }
  ::view-transition-new(root) {
    animation: page-enter 320ms var(--ease) both;
  }
}
@keyframes page-leave {
  to {
    opacity: 0;
  }
}
@keyframes page-enter {
  from {
    opacity: 0;
    transform: translateY(14px);
  }
}

/* Stage 66: feedback motion for visitor actions (motion.js adds the scripted part).
   Only opacity and transform move, so layout and fonts never change. Page loads,
   catalog cards and tab switching stay static. The global prefers-reduced-motion
   rule near the top of this file switches every effect below off. */
@keyframes motion-fade {
  from {
    opacity: 0;
  }
}
@keyframes motion-fade-out {
  to {
    opacity: 0;
  }
}
@keyframes motion-rise {
  from {
    opacity: 0;
    transform: translateY(8px);
  }
}
@keyframes motion-zoom-in {
  from {
    opacity: 0;
    transform: scale(0.97);
  }
}
@keyframes motion-zoom-out {
  to {
    opacity: 0;
    transform: scale(0.98);
  }
}
@keyframes motion-sheet-in {
  from {
    transform: translateY(100%);
  }
}
@keyframes motion-sheet-out {
  to {
    transform: translateY(100%);
  }
}
@keyframes motion-pop {
  0% {
    transform: scale(0.7);
  }
  55% {
    transform: scale(1.15);
  }
}
@keyframes motion-press {
  40% {
    transform: scale(0.96);
  }
}
@keyframes motion-spin {
  to {
    transform: rotate(360deg);
  }
}

/* Header: account icon matches the bag's hover; small controls ease their colours. */
.header .account-link:hover {
  background: var(--stone-200);
  box-shadow: 0 0 0 3px #103d3112;
}
.header .account-link:hover > svg {
  stroke: var(--green);
}
.header .search-submit,
.header .search-clear,
.mega-close,
.contact-panel-heading .contact-close {
  transition:
    background-color 150ms,
    color 150ms;
}
.mega-close {
  border-radius: 8px;
}
.mega-close:hover {
  background: var(--stone-200);
  color: var(--green);
}
.contact-panel-heading .contact-close:hover {
  background: var(--stone-300);
}
.lang-switch button {
  transition: opacity 150ms;
}
.footer-whatsapp {
  transition:
    border-color 150ms,
    background-color 150ms;
}

/* Phone menu: the three lines turn into a cross while the menu is open. */
.menu-toggle svg path {
  transform-box: fill-box;
  transform-origin: center;
  transition:
    transform 240ms var(--ease),
    opacity 160ms;
}
.menu-toggle[aria-expanded="true"] svg path:nth-child(1) {
  transform: translateY(5px) rotate(45deg);
}
.menu-toggle[aria-expanded="true"] svg path:nth-child(2) {
  opacity: 0;
  transform: scaleX(0.3);
}
.menu-toggle[aria-expanded="true"] svg path:nth-child(3) {
  transform: translateY(-5px) rotate(-45deg);
}

/* Bottom navigation: a light press on tap. */
.bottom-nav svg {
  transition: transform 120ms var(--ease);
}
.bottom-nav a:active svg,
.bottom-nav button:active svg {
  transform: scale(0.9);
}

/* Product cards: the bag turns into a tick with a short pop; sets confirm with a press. */
.icon-cart-button.is-added > svg {
  animation: motion-pop 380ms var(--ease);
}
.button[data-add-set].is-added {
  animation: motion-press 280ms var(--ease);
}

/* Catalog: pagination, reset and filter chips react to the pointer. */
.catalog-pagination button,
.filter-reset {
  transition:
    border-color 150ms,
    background-color 150ms,
    transform 100ms;
}
.catalog-pagination button:hover:not(:disabled),
.filter-reset:hover {
  border-color: #103d31;
  background: var(--stone-100);
}
.catalog-pagination button:active:not(:disabled),
.filter-reset:active {
  transform: scale(0.97);
}
.catalog-active button {
  transition:
    background-color 150ms,
    color 150ms;
}
.catalog-active button:not(.catalog-active-clear):hover {
  background: var(--stone-300);
}
.catalog-active button.catalog-active-clear:hover {
  color: #103d31;
}
.price-range input::-webkit-slider-thumb {
  transition:
    transform 120ms var(--ease),
    box-shadow 120ms;
}
.price-range input::-moz-range-thumb {
  transition:
    transform 120ms var(--ease),
    box-shadow 120ms;
}
.price-range input::-webkit-slider-thumb:hover {
  box-shadow: 0 0 0 5px #103d3114;
}
.price-range input:active::-webkit-slider-thumb {
  transform: scale(1.15);
}
.price-range input::-moz-range-thumb:hover {
  box-shadow: 0 0 0 5px #103d3114;
}
.price-range input:active::-moz-range-thumb {
  transform: scale(1.15);
}

/* Phone filter sheet slides up and back down; the backdrop fades. */
@media (max-width: 1050px) {
  .catalog-filters[open] {
    animation: motion-sheet-in 320ms var(--ease);
  }
  .catalog-filters[open]::backdrop {
    animation: motion-fade 320ms var(--ease);
  }
  .catalog-filters.is-closing {
    animation: motion-sheet-out 220ms cubic-bezier(0.4, 0, 1, 1) forwards;
    pointer-events: none;
  }
  .catalog-filters.is-closing::backdrop {
    animation: motion-fade-out 220ms forwards;
  }
}

/* Photo and certificate viewers open softly and fade out on close. */
.photo-lightbox[open] {
  animation: motion-fade 220ms var(--ease);
}
.photo-lightbox[open] img {
  animation: motion-zoom-in 300ms var(--ease);
}
.photo-lightbox.is-closing {
  animation: motion-fade-out 180ms cubic-bezier(0.4, 0, 1, 1) forwards;
  pointer-events: none;
}
.photo-lightbox-close {
  transition: background-color 150ms;
}
.photo-lightbox-close:hover {
  background: var(--stone-200);
}
.photo-zoom {
  transition: transform 150ms var(--ease);
}
.photo-zoom:hover {
  transform: scale(1.06);
}
.certificate-lightbox[open] {
  animation: motion-zoom-in 260ms var(--ease);
}
.certificate-lightbox[open]::backdrop {
  animation: motion-fade 260ms var(--ease);
}
.certificate-lightbox.is-closing {
  animation: motion-zoom-out 180ms cubic-bezier(0.4, 0, 1, 1) forwards;
  pointer-events: none;
}
.certificate-lightbox.is-closing::backdrop {
  animation: motion-fade-out 180ms forwards;
}
.certificate-toolbar button,
.certificate-view-controls button {
  transition:
    background-color 150ms,
    border-color 150ms;
}
.certificate-view-controls button:hover:enabled {
  background: var(--stone-200);
  border-color: #aac39a;
}

/* Contacts and inline links. */
a.large-text,
.plain-link {
  transition: color 150ms;
}
a.large-text:hover {
  color: var(--accent);
}
.plain-link:hover {
  color: var(--green);
}

/* Order tracking: the found order and errors appear after the visitor's request. */
.track-result:not([hidden]) {
  animation: motion-rise 280ms var(--ease);
}
.track-message:not(:empty) {
  animation: motion-fade 200ms var(--ease);
}

/* Legal pages, seller details and the documents row in the footer. */
.legal-doc {
  padding-top: 0;
}
.legal-doc .legal-edition {
  margin: 0 0 8px;
  color: #5d6a62;
  font-size: 13px;
}
.legal-doc ul {
  margin: 0 0 12px;
  padding-left: 20px;
}
.legal-doc li {
  margin-bottom: 6px;
}
.requisites {
  display: grid;
  gap: 10px;
  margin: 4px 0 0;
}
.requisites div {
  display: grid;
  grid-template-columns: minmax(130px, 200px) minmax(0, 1fr);
  gap: 16px;
}
.requisites dt {
  color: #5d6a62;
  font-size: 14px;
}
.requisites dd {
  margin: 0;
  color: #1c2621;
  font-size: 15px;
  overflow-wrap: anywhere;
}
.requisites a:hover {
  color: var(--accent);
}
.contact-grid .contact-requisites {
  grid-column: 1 / -1;
}
.contact-documents {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 24px;
}
.site-footer .footer-bottom {
  flex-wrap: wrap;
  row-gap: 10px;
}
.site-footer .footer-legal {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 18px;
  order: 3;
  flex-basis: 100%;
}
.footer-legal a:hover {
  text-decoration: underline;
  text-underline-offset: 4px;
}
.contact-consent a {
  color: var(--accent);
  text-decoration: underline;
  text-underline-offset: 3px;
}
@media (max-width: 760px) {
  .requisites div {
    grid-template-columns: minmax(0, 1fr);
    gap: 2px;
  }
}
.acc-form .contact-consent:not([hidden]) {
  display: flex;
  align-items: start;
  gap: 10px;
  font-size: 13px;
  font-weight: 400;
  line-height: 1.6;
}
.acc-form .contact-consent input {
  width: 18px;
  min-height: 0;
  height: 18px;
  padding: 0;
}

/* Stage 70: fixes from the page-by-page QA sweep (phones 320–375, tablet 768, laptop 1024). */

/* Card controls never grow past their column; long text truncates instead of pushing the page sideways. */
.purchase-controls,
.purchase-controls label {
  grid-template-columns: minmax(0, 1fr);
}
@media (max-width: 360px) {
  .purchase-controls .select-menu-button {
    gap: 6px;
    padding: 0 8px 0 10px;
  }
}
/* Tablets show four narrow cards, so the cart button keeps only its icon there, as on phones. */
@media (max-width: 900px) {
  .card-actions .cart-label {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
  }
}
/* The sort menu shrinks with its column on narrow phones. */
@media (max-width: 1050px) {
  .catalog-layout .catalog-tools .select-menu-button {
    min-width: 0;
  }
}
/* Category tiles: the hidden arrow no longer takes width, and long names fit 320px screens. */
@media (max-width: 760px) {
  .home-category {
    grid-template-columns: minmax(0, 1fr);
  }
  .home-category-copy strong {
    font-size: clamp(15px, 4.8vw, 18px);
  }
}
/* 320px phones: logo, favorites, cart and menu stay on one row. */
@media (max-width: 360px) {
  .header .header-inner.container {
    column-gap: 6px;
  }
}

/* The fragrance page fills in after its data loads; a screen is reserved so the footer does not jump. */
#fragrance-detail {
  min-height: 100vh;
}

/* The bottom-bar favorites badge shares the header badge's class (right: -3px, height: 18px);
   without this it stretched into a long pill over the heart. */
.bottom-nav b {
  right: auto;
  height: auto;
}

/* The round consultation button steps aside while it would cover a control (see app.js). */
.contact-widget {
  transition:
    opacity 180ms var(--ease),
    transform 180ms var(--ease),
    visibility 0s;
}
.contact-widget.is-tucked {
  opacity: 0;
  visibility: hidden;
  transform: translateY(10px) scale(0.9);
  transition:
    opacity 180ms var(--ease),
    transform 180ms var(--ease),
    visibility 0s 180ms;
}
@media (prefers-reduced-motion: reduce) {
  .contact-widget,
  .contact-widget.is-tucked {
    transition: none;
  }
}

/* Readable sizes: explanatory text and secondary links are at least 13px. */
.product-tabpanel .direction-explainer,
.fragrance-description .direction-explainer {
  font-size: 14px !important;
}
.prose .certificate-hint {
  font-size: 14px;
}
.detail-back {
  font-size: 14px;
}
.detail-buy .product-availability {
  font-size: 13px;
}
.cart-page-content .cart-item-copy small {
  font-size: 13px;
}
.site-footer .footer-bottom,
.site-footer .footer-legal a {
  font-size: 13px;
}
@media (max-width: 1050px) {
  .catalog-layout #catalog-count {
    font-size: 13px;
  }
}
@media (max-width: 760px) {
  .certificate-controls {
    font-size: 13px;
  }
  .certificate-controls button {
    font-size: 18px;
  }
  .detail-back {
    font-size: 14px;
  }
}

/* Bigger touch areas for small text buttons and links, without moving the layout. */
.lang-switch button,
.breadcrumbs a {
  position: relative;
}
.lang-switch button::after,
.breadcrumbs a::after {
  content: "";
  position: absolute;
  inset: -6px -2px;
}
.cart-page-content .remove-item,
.remove-favorite,
#forgot-password {
  min-height: 36px;
}
.contact-documents a {
  padding-block: 8px;
}

/* Stage 73: the «new password» form opened by the shop's one-time link. */
.acc-reset-title {
  margin: 0 0 18px;
  font: 650 24px/1.2 Onest, Manrope, sans-serif;
  letter-spacing: -0.01em;
}
.acc-reset-title[hidden],
.acc-help[hidden],
.acc-switch[hidden] {
  display: none;
}
.acc-help {
  margin-top: 12px;
  width: 100%;
}

/* Stage 77: «Хит» — what customers really buy, counted from paid orders. */
.hit-badge {
  position: absolute;
  top: 12px;
  left: 12px;
  z-index: 1;
  padding: 6px 10px;
  border-radius: 999px;
  background: #103d31;
  color: #f4f1ea;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.01em;
}
/* With a discount too, the hit mark sits under the sale badge. */
.product-card.is-on-sale .hit-badge {
  top: 48px;
}
@media (max-width: 640px) {
  .hit-badge {
    top: 8px;
    left: 8px;
    padding: 5px 8px;
    font-size: 13px;
  }
  .product-card.is-on-sale .hit-badge {
    top: 40px;
  }
}

/* Stage 77: fragrances suggested under the header search while typing. */
.search-suggest {
  position: absolute;
  top: calc(100% + 6px);
  right: 0;
  left: 0;
  z-index: 5;
  display: grid;
  max-height: min(70vh, 460px);
  overflow-y: auto;
  padding: 6px;
  border: 1px solid var(--stone-300);
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 16px 40px #103d3124;
  overscroll-behavior: contain;
}
.search-suggest .suggest-item {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  min-height: 60px;
  padding: 6px 10px 6px 6px;
  border-radius: 10px;
  color: inherit;
  text-decoration: none;
}
.search-suggest .suggest-item img {
  width: 48px;
  height: 48px;
  border-radius: 8px;
  background: var(--stone-100);
  object-fit: contain;
}
.search-suggest .suggest-copy {
  display: grid;
  min-width: 0;
  font-size: 15px;
  line-height: 1.3;
}
.search-suggest .suggest-copy strong,
.search-suggest .suggest-copy small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.search-suggest .suggest-copy strong {
  font-size: 15px;
  font-weight: 600;
  line-height: 1.3;
}
.search-suggest .suggest-copy small {
  color: var(--muted);
  font-size: 13px;
}
.search-suggest .suggest-price {
  color: #103d31;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.3;
  white-space: nowrap;
}
.search-suggest .suggest-all {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 48px;
  margin-top: 4px;
  padding: 0 12px;
  border-top: 1px solid var(--stone-200);
  border-radius: 0 0 10px 10px;
  color: #103d31;
  font-size: 15px;
  font-weight: 600;
  text-decoration: none;
}
.search-suggest .suggest-all span {
  font-size: inherit;
  line-height: inherit;
}
.search-suggest .suggest-item:hover,
.search-suggest .suggest-item[data-active="true"],
.search-suggest .suggest-all:hover,
.search-suggest .suggest-all[data-active="true"] {
  background: var(--stone-100);
}
.search-suggest .suggest-empty {
  margin: 0;
  padding: 14px 12px;
  color: var(--muted);
  font-size: 14px;
}

/* Stage 78: «Подбор аромата» — three questions answered with big tiles. */
.quiz {
  max-width: 920px;
  margin: 0 auto 72px;
}
.quiz-progress {
  min-height: 20px;
  margin: 0 0 6px;
  color: var(--muted);
  font-size: 14px;
  font-weight: 600;
}
.quiz-step h2,
.quiz-result h2 {
  margin: 0 0 18px;
  font-size: clamp(26px, 5.4vw, 36px);
  line-height: 1.15;
  letter-spacing: -0.02em;
  outline: none;
}
.quiz-options {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}
.quiz-option {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  padding: 0;
  border: 1px solid var(--stone-300);
  border-radius: 16px;
  background: #fff;
  color: inherit;
  font: inherit;
  text-align: left;
  cursor: pointer;
  transition:
    transform 200ms var(--ease),
    border-color 200ms var(--ease),
    box-shadow 200ms var(--ease);
}
.quiz-option img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1;
  background: var(--stone-100);
  object-fit: contain;
}
.quiz-option span {
  display: grid;
  gap: 2px;
  padding: 12px 14px 14px;
}
.quiz-option strong {
  font-size: clamp(17px, 4.6vw, 20px);
  line-height: 1.2;
}
.quiz-option small {
  color: var(--muted);
  font-size: 14px;
  line-height: 1.35;
}
.quiz-option-plain {
  justify-content: center;
  min-height: 104px;
}
.quiz-option:focus-visible {
  outline: 2px solid #103d31;
  outline-offset: 3px;
}
@media (hover: hover) {
  .quiz-option:hover {
    transform: translateY(-2px);
    border-color: #103d31;
    box-shadow: 0 10px 24px #103d311a;
  }
}
.quiz-option:active {
  transform: scale(0.98);
}
.quiz-back {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 44px;
  margin-top: 18px;
  padding: 0 14px 0 10px;
  border: 0;
  border-radius: 999px;
  background: var(--stone-100);
  color: #103d31;
  font: inherit;
  font-size: 15px;
  font-weight: 600;
  cursor: pointer;
}
.quiz-back svg {
  width: 18px;
  height: 18px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.quiz-summary {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 20px;
}
.quiz-summary span {
  padding: 6px 12px;
  border-radius: 999px;
  background: var(--stone-100);
  color: #103d31;
  font-size: 14px;
  font-weight: 600;
}
.quiz-status {
  margin: 0;
  color: var(--muted);
}
.quiz-status:empty {
  display: none;
}
.quiz-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 28px;
}
.home-quiz {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px 32px;
  padding: 28px 32px;
  border-radius: 12px;
  background: var(--stone-100);
}
.home-quiz h2 {
  margin: 0 0 6px;
  font-size: clamp(22px, 4.6vw, 28px);
  letter-spacing: -0.01em;
}
.home-quiz p {
  margin: 0;
  color: var(--muted);
  font-size: 16px;
}
.home-quiz .button {
  flex: none;
}
@media (max-width: 640px) {
  .quiz {
    margin-bottom: 48px;
  }
  .quiz-options {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }
  .quiz-option span {
    padding: 10px 12px 12px;
  }
  .quiz-actions .button {
    width: 100%;
  }
  .home-quiz {
    flex-direction: column;
    align-items: stretch;
    padding: 22px 20px;
  }
  .home-quiz .button {
    width: 100%;
  }
}

/* Stage 79: share button, «Вы смотрели», the order confirmation and the 404 page. */
.share-toggle {
  display: grid;
  place-items: center;
  min-width: 52px;
  height: 52px;
  border: 1px solid var(--stone-400);
  border-radius: 6px;
  background: #fff;
  color: var(--green);
  cursor: pointer;
  transition:
    background 150ms,
    transform 100ms;
}
.share-toggle svg {
  width: 24px;
  height: 24px;
  fill: none;
  stroke: #344839;
  stroke-width: 1.6;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.share-toggle:hover {
  background: var(--stone-100);
}
.share-toggle:active {
  transform: scale(0.94);
}
.order-success .receipt-whatsapp {
  display: block;
  margin: 0 0 10px;
  text-align: center;
}
.order-success .receipt-when {
  font-weight: 600;
}
.not-found-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin: 8px 0 96px;
}
@media (max-width: 640px) {
  .not-found-actions {
    margin-bottom: 56px;
  }
  .not-found-actions .button {
    width: 100%;
  }
}
@media (prefers-reduced-motion: reduce) {
  .share-toggle {
    transition: none;
  }
  .share-toggle:active {
    transform: none;
  }
}

/* Stage 80: reviews of buyers on the fragrance page. */
.fragrance-reviews {
  margin-top: 72px;
}
.reviews-summary {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 16px 24px;
  padding: 20px 24px;
  border-radius: 12px;
  background: var(--stone-100);
}
.reviews-summary p {
  margin: 0;
  color: var(--muted);
  font-size: 16px;
}
.reviews-score {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 12px;
}
.reviews-score strong {
  font-size: 36px;
  line-height: 1;
  letter-spacing: -0.02em;
}
.reviews-score > span:last-child {
  color: var(--muted);
  font-size: 15px;
}
.review-stars {
  color: var(--gold);
  font-size: 18px;
  letter-spacing: 2px;
  white-space: nowrap;
}
.review-stars-rest {
  color: var(--stone-400);
}
.reviews-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin-top: 14px;
}
.reviews-list:empty {
  display: none;
}
.review {
  padding: 18px 20px;
  border: 1px solid var(--stone-300);
  border-radius: 12px;
  background: #fff;
}
.review-head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px 12px;
}
.review-head strong {
  font-size: 16px;
}
.review-head time {
  margin-left: auto;
  color: var(--muted);
  font-size: 13px;
}
.review p {
  margin: 10px 0 0;
  font-size: 15px;
  line-height: 1.55;
  overflow-wrap: anywhere;
  white-space: pre-line;
}
.acc-item-copy .acc-review-link {
  justify-self: start;
  margin-top: 4px;
  color: #103d31;
  font-size: 14px;
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.review-dialog {
  width: min(520px, calc(100vw - 24px));
  max-height: calc(100dvh - 24px);
  padding: 0;
  border: 0;
  border-radius: 16px;
  background: #fff;
  color: inherit;
  box-shadow: 0 24px 64px #103d3140;
  overflow-y: auto;
}
.review-dialog::backdrop {
  background: #0f1a1566;
}
.review-form,
.review-done {
  display: grid;
  gap: 14px;
  padding: 22px 22px 24px;
}
.review-dialog-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.review-dialog h2 {
  margin: 0;
  font-size: 24px;
  letter-spacing: -0.01em;
}
.review-close {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  margin: -8px -10px -8px 0;
  border: 0;
  border-radius: 50%;
  background: none;
  color: inherit;
  font-size: 28px;
  line-height: 1;
  cursor: pointer;
}
.review-close:hover {
  background: var(--stone-100);
}
.review-product {
  margin: -6px 0 0;
  color: var(--muted);
  font-size: 15px;
}
.review-form label {
  display: grid;
  gap: 6px;
  font-size: 14px;
  font-weight: 600;
}
.review-form input:not([type="radio"]),
.review-form textarea {
  width: 100%;
  min-height: 48px;
  padding: 12px 14px;
  border: 1px solid var(--stone-400);
  border-radius: 10px;
  background: #fff;
  color: inherit;
  font: inherit;
  font-size: 16px;
  font-weight: 400;
}
.review-form textarea {
  resize: vertical;
}
.review-form input:focus-visible,
.review-form textarea:focus-visible {
  border-color: #103d31;
  outline: 2px solid #103d3133;
  outline-offset: 0;
}
.review-rating {
  margin: 0;
  padding: 0;
  border: 0;
}
.review-rating legend {
  padding: 0;
  font-size: 14px;
  font-weight: 600;
}
/* Five radio buttons drawn as stars; listed 5 → 1 so a chosen star lights the ones before it. */
.review-rating-stars {
  display: inline-flex;
  flex-direction: row-reverse;
  justify-content: flex-end;
}
.review-rating-stars input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
.review-rating-stars label {
  display: block;
  padding: 2px 4px;
  color: var(--stone-400);
  font-size: 40px;
  line-height: 1;
  cursor: pointer;
  transition: color 120ms;
}
.review-rating-stars input:checked ~ label,
.review-rating-stars label:hover,
.review-rating-stars label:hover ~ label {
  color: var(--gold);
}
.review-rating-stars input:focus-visible + label {
  outline: 2px solid #103d31;
  outline-offset: 2px;
  border-radius: 6px;
}
.review-order {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.review-form .field-hint {
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.45;
}
.review-message {
  min-height: 20px;
  margin: 0;
  font-size: 14px;
}
.review-message.is-error {
  color: var(--error);
}
.review-done p {
  margin: 0;
  color: var(--muted);
  font-size: 16px;
}
@media (max-width: 640px) {
  .fragrance-reviews {
    margin-top: 48px;
  }
  .reviews-summary {
    padding: 18px;
  }
  .reviews-summary .button {
    width: 100%;
  }
  .reviews-list,
  .review-order {
    grid-template-columns: minmax(0, 1fr);
  }
}
.track-review {
  margin: 0;
  color: var(--muted);
  font-size: 15px;
  line-height: 1.5;
}

/* Stage 82: fixes from the sweep of the new pages. */
/* Results arrive after the page: the empty grid already holds their place, so the
   buttons under it and the footer do not jump. */
#quiz-results:empty {
  min-height: 90vh;
}
.home-deal small {
  font-size: 13px;
}

/* ==========================================================================
   Stage 83: visual refresh. One palette (deep green, warm stone, gold), calmer
   badges and states, a dark footer, and motion that answers the visitor.
   ========================================================================== */

/* ---------- Text and focus ---------- */
::selection {
  background: #103d3126;
}
:focus-visible {
  outline-color: var(--green);
}

/* ---------- Buttons ---------- */
.button,
.add-cart {
  border-radius: 10px;
  letter-spacing: 0.005em;
  transition:
    background 220ms var(--ease),
    border-color 220ms var(--ease),
    color 220ms var(--ease),
    box-shadow 220ms var(--ease),
    transform 220ms var(--ease);
}
.button:hover,
.add-cart:hover {
  background: var(--green-hover);
  border-color: var(--green-hover);
}
.button:not(.button-glass):hover,
.add-cart:not(:disabled):hover {
  box-shadow: 0 10px 24px #103d3126;
}
.button:active,
.add-cart:active {
  transform: scale(0.985);
  box-shadow: none;
}
.button-glass {
  border-color: var(--stone-400);
}
.button-glass:hover {
  background: var(--stone-100);
  border-color: var(--green);
  color: var(--green);
}

/* ---------- Badges: the brand's own colours, no red ---------- */
.sale-badge {
  background: var(--gold-soft);
  color: var(--green-deep);
  box-shadow: none;
  animation: none;
  font-weight: 700;
}
.hit-badge {
  background: var(--green);
  color: var(--cream);
}
.is-on-sale .current-price,
.set-card.is-on-sale .set-price {
  color: var(--text);
}
.sale-old-price {
  color: #6b736d;
}
.sale-save {
  color: var(--gold-ink);
}
.type-label,
.type-label.razliv {
  background: var(--stone-200);
  color: var(--green);
}

/* ---------- Favourites: a filled green heart instead of a red one ---------- */
.favorite-toggle,
.share-toggle {
  border-color: var(--stone-400);
  border-radius: 10px;
}
.favorite-toggle svg {
  stroke: var(--green);
}
.favorite-toggle:hover,
.favorite-toggle[aria-pressed="true"],
.share-toggle:hover {
  background: var(--stone-200);
  border-color: var(--stone-400);
}
.favorite-toggle:hover svg {
  fill: transparent;
  stroke: var(--green);
}
.favorite-toggle[aria-pressed="true"] svg,
.favorite-toggle[aria-pressed="true"]:hover svg {
  fill: var(--green);
  stroke: var(--green);
}
.favorites-count,
.bottom-nav b {
  background: var(--green);
  color: var(--cream);
}

/* ---------- Product cards ---------- */
.product-visual {
  border-radius: 14px;
}
.product-visual img {
  transition: transform 700ms var(--ease);
}
.product-card:hover .product-visual img {
  transform: scale(1.045);
}
.product-card h3 a {
  transition: color 200ms var(--ease);
}
.product-card:hover h3 a {
  color: var(--green);
}
.home-deal-photo {
  border-radius: 14px;
  background: var(--stone-100);
}
.home-deal-photo img {
  transition: transform 700ms var(--ease);
}
.home-deal:hover .home-deal-photo img {
  transform: scale(1.045);
}
.home-deal strong {
  transition: color 200ms var(--ease);
}
.home-deal:hover strong {
  color: var(--green);
}
.home-deal-prices b {
  color: var(--text);
}
.home-category,
.intro-bottle {
  transition:
    transform 500ms var(--ease),
    box-shadow 500ms var(--ease),
    flex-grow 600ms cubic-bezier(0.2, 0.75, 0.2, 1);
}
.home-category img {
  transition: transform 700ms var(--ease);
}
@media (hover: hover) {
  .home-category:hover {
    transform: translateY(-3px);
    box-shadow: 0 18px 36px #103d3114;
  }
  .home-category:hover img {
    transform: scale(1.04);
  }
}

/* ---------- Promotions and countdowns: gold instead of red ---------- */
.promo-hero {
  border-radius: 16px;
  background:
    radial-gradient(70% 120% at 100% 0%, #cdb47a3d 0%, transparent 60%),
    linear-gradient(120deg, var(--stone-200), var(--stone-100) 70%);
}
.promo-hero-kicker {
  background: var(--gold-soft);
  color: var(--green-deep);
}
.promo-hero h2 {
  color: var(--green);
}
.promotion-open,
.countdown-compact {
  color: var(--gold-ink);
}
.countdown-tiles {
  background:
    radial-gradient(circle at 100% 0, #cdb47a52, transparent 55%),
    linear-gradient(135deg, #0b2f25, var(--green));
}
.countdown-title svg {
  fill: var(--gold-soft);
}
.countdown-unit[data-unit="s"] {
  border-color: #cdb47a80;
  background: #cdb47a26;
}

/* ---------- Small controls: hover in the brand green, no bright green ---------- */
.header .cart-toggle:hover,
.header .account-link:hover,
.icon-cart-button:hover,
.detail-actions .icon-cart-button:hover {
  box-shadow: 0 0 0 3px #103d3112;
}
.header .cart-toggle:hover > svg,
.header .account-link:hover > svg {
  stroke: var(--green);
}
/* A cart button fills with green under the pointer, so its label stays white. */
.icon-cart-button:hover,
.detail-actions .icon-cart-button:hover {
  border-color: var(--green-hover);
  background: var(--green-hover);
  color: #fff;
}
.icon-cart-button:disabled:hover {
  border-color: var(--stone-200);
  background: var(--stone-200);
  color: #3d4a43;
  box-shadow: none;
}
/* The white button on a dark promotion banner warms up instead of turning green. */
.promo-banner .button:hover {
  border-color: var(--cream);
  background: var(--cream);
  color: var(--green-deep);
}
.plain-link:hover,
.section-heading > .catalog-view-all:hover {
  color: var(--green-hover);
}
.rating-circle {
  background: conic-gradient(var(--green) var(--score), var(--stone-300) 0);
}
.type-label {
  border-radius: 6px;
}

/* ---------- Empty states ---------- */
.empty-state {
  border-radius: 16px;
}
.cart-empty-logo {
  border-radius: 12px;
}

/* ---------- Quiz ---------- */
/* The photo blends with the tile; the caption sits on white below it. */
.quiz-option {
  background: var(--stone-100);
}
.quiz-option img {
  background: none;
  mix-blend-mode: multiply;
  transition: transform 700ms var(--ease);
}
.quiz-option span {
  flex: 1;
  background: #fff;
}
@media (hover: hover) {
  .quiz-option:hover img {
    transform: scale(1.04);
  }
}
/* The invitation on the homepage: a deep green band between the light sections. */
.home-quiz {
  border-radius: 16px;
  background:
    radial-gradient(60% 160% at 0% 0%, #1f6450 0%, transparent 70%),
    linear-gradient(120deg, var(--green) 0%, #0d3328 100%);
  color: var(--cream);
}
.home-quiz h2 {
  color: #fff;
}
.home-quiz p {
  color: #ece6d6d1;
}
.home-quiz .button {
  border-color: var(--gold-soft);
  background: var(--gold-soft);
  color: var(--green-deep);
}
.home-quiz .button:hover {
  border-color: #d9c28c;
  background: #d9c28c;
  box-shadow: 0 10px 24px #00000033;
}
.home-quiz .button:focus-visible {
  outline-color: var(--gold-soft);
}

/* The shop block sits right above the dark footer, so it is light. */
.home-store {
  border-radius: 16px;
  background: var(--stone-200);
  color: var(--text);
}
.home-store li svg {
  stroke: var(--green);
}
.home-store .button {
  border-color: var(--green);
  background: var(--green);
  color: #fff;
}
.home-store .button:hover {
  border-color: var(--green-hover);
  background: var(--green-hover);
  color: #fff;
}
.home-store .button.button-glass {
  border: 1px solid var(--stone-400);
  background: #fff;
  color: var(--green);
}
.home-store .button.button-glass:hover {
  border-color: var(--green);
  background: var(--stone-100);
  color: var(--green);
}

/* Menu previews and search thumbnails: the photo blends with its tile here too.
   The tile colour sits on the link, because a picture cannot blend with its own
   background. */
.mega-perfume {
  padding: 0 10px 14px;
  border-radius: 14px;
  background: var(--stone-100);
  transition: background 200ms var(--ease);
}
.mega-perfume img {
  margin-bottom: 0;
  background: none;
}
.mega-perfume:hover {
  background: var(--stone-200);
}
.search-suggest .suggest-item img {
  background: none;
  mix-blend-mode: multiply;
}

/* ---------- No jumps while the page fills in ---------- */
/* The footer starts below the first screen, so content that arrives a moment later
   (favourites, promotions, an account) never pushes it in front of the visitor. */
main {
  min-height: calc(100svh - 150px);
}
/* ---------- Small print: brand lines, labels and sale marks are at least 13px ---------- */
.product-card:not(.detail-product) .product-brand,
.product-card .type-label,
.promotion-product .type-label,
.set-copy .type-label,
.set-items small,
.promo-hero-kicker,
.lang-switch button,
.volume-pills del,
.countdown-unit small,
.intro-bottle-name small {
  font-size: 13px;
}
.intro-bottle-name small {
  letter-spacing: 0.1em;
  opacity: 0.72;
}
@media (max-width: 480px) {
  .sale-badge,
  .card-actions + .countdown,
  .price-row + .countdown-compact {
    font-size: 13px;
  }
}

/* The «not found» page: a large quiet number instead of an empty half of the screen. */
body[data-page="404"] main {
  position: relative;
  overflow: hidden;
}
body[data-page="404"] main::after {
  content: "404";
  content: "404" / "";
  position: absolute;
  right: 0;
  bottom: 4%;
  z-index: -1;
  color: var(--stone-200);
  font-family: Onest, Manrope, sans-serif;
  font-size: clamp(150px, 30vw, 420px);
  font-weight: 650;
  line-height: 0.8;
  letter-spacing: -0.06em;
  pointer-events: none;
  user-select: none;
}
@media (max-width: 760px) {
  /* Clear of the bottom navigation. */
  body[data-page="404"] main::after {
    bottom: 96px;
  }
}

/* ---------- Account: sign-in with Google ---------- */
.acc-google {
  display: grid;
  gap: 14px;
  margin-top: 18px;
}
.acc-google[hidden] {
  display: none;
}
.acc-or {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0;
  color: #5d6a62;
  font-size: 14px;
}
.acc-or::before,
.acc-or::after {
  content: "";
  flex: 1;
  height: 1px;
  background: var(--stone-300);
}
/* The height is kept while Google's button loads, so the form does not jump. */
.acc-google-button {
  display: grid;
  justify-items: center;
  min-height: 44px;
}
.acc-google-consent {
  margin: 0;
  text-align: center;
}

/* ---------- Reviews: gold stars ---------- */
.review-stars,
.review-rating-stars input:checked ~ label,
.review-rating-stars label:hover,
.review-rating-stars label:hover ~ label {
  color: var(--gold);
}
.review-stars-rest {
  color: var(--stone-400);
}

/* ---------- Header: a soft shadow once the page is scrolled ---------- */
.header {
  transition: box-shadow 300ms var(--ease);
}
.header.is-scrolled {
  box-shadow: 0 10px 30px #103d3112;
}

/* ---------- Footer: deep green with cream text, like the top line ---------- */
.site-footer {
  border-top: 0;
  background: var(--green-deep);
  color: var(--cream);
}
.site-footer .footer-logo span,
.site-footer .footer-logo small {
  color: var(--cream);
}
.site-footer .footer-about p {
  color: #ece6d6c7;
}
.site-footer .footer-columns h2 {
  color: var(--gold-soft);
}
.site-footer .footer-columns nav a,
.site-footer .footer-contacts a,
.site-footer .footer-contacts p {
  color: #ece6d6d9;
  transition: color 200ms var(--ease);
}
.site-footer .footer-columns nav a:hover,
.site-footer .footer-contacts a:hover {
  color: #fff;
}
.site-footer .footer-contacts svg {
  stroke: var(--gold-soft);
  color: var(--gold-soft);
}
.site-footer .footer-whatsapp {
  border-color: #ece6d64d;
  background: transparent;
  color: var(--cream);
  transition:
    background 220ms var(--ease),
    border-color 220ms var(--ease);
}
.site-footer .footer-whatsapp svg {
  stroke: var(--gold-soft);
  color: var(--gold-soft);
}
.site-footer .footer-whatsapp:hover {
  border-color: var(--gold-soft);
  background: #ece6d614;
}
.site-footer .footer-bottom {
  border-top-color: #ece6d62e;
  color: #ece6d6a6;
}
.site-footer .footer-bottom,
.site-footer .footer-legal a {
  color: #ece6d6a6;
}
.site-footer .footer-legal a:hover {
  color: var(--cream);
}
.site-footer a:focus-visible {
  outline-color: var(--gold-soft);
}

/* ---------- Motion ---------- */
/* Sections below the first screen rise into place when scrolled to (app.js). */
[data-reveal=""] {
  opacity: 0;
  transform: translateY(24px);
  transition:
    opacity 900ms var(--ease),
    transform 900ms var(--ease);
}
[data-reveal=""].is-revealed {
  opacity: 1;
  transform: none;
}
/* The first screen of the homepage arrives in order: the statement, then the bottles. */
@media (prefers-reduced-motion: no-preference) {
  .intro-statement {
    animation: intro-rise 900ms var(--ease) backwards;
  }
  .intro-bottle {
    animation: intro-rise 1000ms var(--ease) backwards;
  }
  .intro-bottle:nth-child(1) {
    animation-delay: 90ms;
  }
  .intro-bottle:nth-child(2) {
    animation-delay: 180ms;
  }
  .intro-bottle:nth-child(3) {
    animation-delay: 270ms;
  }
}
@keyframes intro-rise {
  from {
    opacity: 0;
    transform: translateY(22px);
  }
}
/* Catalogue photos that are still loading fade in on arrival (app.js). */
img[data-fade="wait"] {
  opacity: 0;
}
img[data-fade="in"] {
  animation: photo-in 480ms var(--ease) backwards;
}
@keyframes photo-in {
  from {
    opacity: 0;
  }
}
/* Without motion nothing grows or lifts under the pointer either. */
@media (prefers-reduced-motion: reduce) {
  .product-card:hover .product-visual img,
  .home-deal:hover .home-deal-photo img,
  .home-category:hover,
  .home-category:hover img,
  .quiz-option:hover img {
    transform: none;
  }
}
@media print {
  [data-reveal],
  img[data-fade] {
    opacity: 1 !important;
    transform: none !important;
    animation: none !important;
  }
}

/* ==========================================================================
   Stage 86: the account. A light side column with the buyer and a menu; orders
   are cards with one line per fragrance and, once received, its review state.
   ========================================================================== */
/* The header: a signed-in buyer's initial instead of the outline of a person. */
html[data-account] .header .account-link {
  border-color: var(--gold-soft);
  background: var(--gold-soft);
}
html[data-account] .header .account-link svg {
  display: none;
}
html[data-account] .header .account-link::after {
  content: var(--account-initial);
  color: var(--green-deep);
  font-size: 17px;
  font-weight: 700;
  line-height: 1;
  text-transform: uppercase;
}
html[data-account] .header .account-link:hover {
  border-color: var(--gold-soft);
  background: #d9c28c;
  box-shadow: 0 0 0 3px #cdb47a40;
}

/* On tablets and phones the account is in the header too. On a phone it takes the
   heart's place: favourites are one tap away in the bottom navigation. */
@media (max-width: 1080px) {
  .header .account-link {
    display: grid;
    place-items: center;
  }
}
@media (max-width: 760px) {
  .header .header-favorites {
    display: none;
  }
}

/* The buyer's name stands in the side column, so the page title steps aside. */
main:has(.acc-dashboard:not([hidden])) .page-heading {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}
.acc-dashboard:not([hidden]) {
  display: grid;
  grid-template-columns: 288px minmax(0, 1fr);
  align-items: start;
  gap: 36px;
  margin: 28px 0 80px;
}

/* Side column */
.acc-aside {
  position: sticky;
  top: 24px;
  display: grid;
  gap: 20px;
  padding: 22px;
  border-radius: 18px;
  background: var(--stone-100);
}
.acc-user {
  display: grid;
  grid-template-columns: 56px minmax(0, 1fr);
  align-items: center;
  gap: 14px;
}
.acc-user-avatar {
  display: grid;
  place-items: center;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: var(--gold-soft);
  color: var(--green-deep);
  font-size: 22px;
  font-weight: 700;
  text-transform: uppercase;
}
.acc-user-copy {
  min-width: 0;
}
.acc-user-copy h2 {
  margin: 0 0 2px;
  font-size: 19px;
  font-weight: 600;
  line-height: 1.25;
  letter-spacing: -0.01em;
  overflow-wrap: anywhere;
}
.acc-user-copy p {
  margin: 0;
  overflow: hidden;
  color: #5d6a62;
  font-size: 14px;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.acc-nav,
.acc-facts {
  padding-top: 20px;
  border-top: 1px solid var(--stone-300);
}
.acc-nav,
.acc-menu {
  display: grid;
  gap: 2px;
}
.acc-menu button,
.acc-exit {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 44px;
  margin: 0 -10px;
  padding: 0 10px;
  border: 0;
  border-radius: 10px;
  background: none;
  color: var(--text);
  font: inherit;
  font-size: 16px;
  font-weight: 500;
  text-align: left;
  cursor: pointer;
  transition:
    background-color 180ms,
    color 180ms;
}
.acc-menu button:hover,
.acc-exit:hover {
  background: var(--stone-200);
  color: var(--green);
}
.acc-menu button[aria-selected="true"] {
  background: #fff;
  box-shadow: 0 1px 2px #103d3114;
  color: var(--green);
  font-weight: 650;
}
.acc-exit {
  color: #5d6a62;
}
.acc-menu .acc-icon svg,
.acc-exit .acc-icon svg {
  width: 20px;
  height: 20px;
}
.acc-menu button:focus-visible,
.acc-exit:focus-visible,
.acc-fact:focus-visible {
  outline: 2px solid var(--green);
  outline-offset: 2px;
}
.acc-facts {
  display: grid;
  gap: 2px;
}
.acc-fact {
  display: flex;
  flex-direction: row-reverse;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  min-height: 36px;
  padding: 0;
  border: 0;
  background: none;
  color: inherit;
  font: inherit;
  text-align: left;
  cursor: pointer;
}
.acc-fact span {
  color: #5d6a62;
  font-size: 15px;
  transition: color 180ms;
}
.acc-fact span::first-letter {
  text-transform: uppercase;
}
.acc-fact strong {
  font-size: 18px;
  font-weight: 650;
  font-variant-numeric: tabular-nums;
}
.acc-fact:hover span {
  color: var(--green);
}
.acc-shop {
  justify-content: center;
  width: 100%;
}

/* The open section */
.acc-panel-title {
  margin: 0 0 20px;
  font-size: 30px;
  letter-spacing: -0.02em;
}
.acc-ords {
  display: grid;
  gap: 16px;
}
.acc-ord {
  overflow: hidden;
  border: 1px solid var(--stone-300);
  border-radius: 16px;
  background: #fff;
}
.acc-ord-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  padding: 18px 22px;
}
.acc-ord-title {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 4px 12px;
  margin: 0 0 4px;
  font-size: 18px;
  font-weight: 600;
}
.acc-ord-day {
  color: #5d6a62;
  font-size: 15px;
  font-weight: 400;
}
.acc-ord-sum {
  display: flex;
  flex-wrap: wrap;
  gap: 2px 6px;
  margin: 0;
  color: #5d6a62;
  font-size: 14px;
}
.acc-ord-sum > * + *::before {
  content: "·";
  margin-right: 6px;
  color: #5d6a62;
  font-weight: 400;
}
.acc-ord-sum strong {
  color: var(--text);
  font-weight: 600;
}
.acc-ord .acc-progress {
  margin: 0;
  padding: 4px 22px 18px;
}
.acc-ord-note {
  margin: 0 22px 16px;
  padding: 12px 14px;
  border-radius: 10px;
  background: var(--stone-100);
  font-size: 15px;
  line-height: 1.45;
}
.acc-lines {
  margin: 0;
  padding: 0;
  list-style: none;
}
.acc-line {
  display: grid;
  grid-template-columns: 76px minmax(0, 1fr) auto;
  align-items: center;
  gap: 18px;
  padding: 16px 22px;
  border-top: 1px solid var(--stone-300);
}
.acc-line-photo {
  /* A block, not a grid: a grid row would grow to the picture's own height. */
  display: block;
  width: 76px;
  height: 76px;
  overflow: hidden;
  border-radius: 12px;
  background: var(--stone-100);
}
/* The same for a favourite's photo: a tall picture must not stretch its frame. */
.acc-favorite-photo {
  display: block;
}
.acc-line-photo img {
  width: 100%;
  height: 100%;
  padding: 6px;
  object-fit: contain;
  mix-blend-mode: multiply;
}
.acc-line-copy {
  display: grid;
  gap: 3px;
  min-width: 0;
}
.acc-line-copy a {
  color: inherit;
  font-size: 16px;
  font-weight: 600;
  text-decoration: none;
  transition: color 180ms;
}
.acc-line-copy a:hover {
  color: var(--green);
}
.acc-line-copy span {
  color: #5d6a62;
  font-size: 14px;
}
.acc-line-copy strong {
  font-size: 16px;
  font-weight: 650;
}
.acc-review-button {
  justify-content: center;
  min-width: 190px;
  min-height: 44px;
}
.acc-review {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 190px;
  margin: 0;
  color: #5d6a62;
  font-size: 14px;
  font-weight: 600;
}
.acc-review.is-done {
  color: var(--green);
}
.acc-review .acc-icon svg {
  width: 18px;
  height: 18px;
}
.acc-ord-foot {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 12px 20px;
  padding: 14px 22px;
  border-top: 1px solid var(--stone-300);
  background: var(--stone-50);
}
.acc-ord-place {
  display: flex;
  flex-wrap: wrap;
  gap: 2px 10px;
  margin: 0;
  font-size: 14px;
}
.acc-ord-place strong {
  font-weight: 600;
}
.acc-ord-place span {
  color: #5d6a62;
}
.acc-ord-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 18px;
}
.acc-ord-actions .button {
  min-height: 40px;
  padding: 0 16px;
  font-size: 14px;
}
.acc-ord-link {
  color: var(--green);
  font-size: 14px;
  font-weight: 600;
  text-underline-offset: 3px;
}

@media (max-width: 860px) {
  .acc-dashboard:not([hidden]) {
    grid-template-columns: minmax(0, 1fr);
    gap: 24px;
    margin: 12px 0 56px;
  }
  .acc-aside {
    /* Not sticky on a phone; it stays the anchor of the exit button. */
    position: relative;
    top: auto;
    gap: 16px;
    padding: 18px;
  }
  .acc-user {
    padding-right: 52px;
  }
  .acc-nav {
    padding-top: 16px;
  }
  .acc-menu {
    grid-auto-columns: minmax(0, 1fr);
    grid-auto-flow: column;
    gap: 4px;
    padding: 4px;
    border-radius: 12px;
    background: var(--stone-200);
  }
  .acc-menu button {
    justify-content: center;
    min-height: 44px;
    margin: 0;
    padding: 0 4px;
    font-size: 14px;
    text-align: center;
    white-space: nowrap;
  }
  .acc-menu .acc-icon {
    display: none;
  }
  .acc-exit {
    position: absolute;
    top: 18px;
    right: 18px;
    justify-content: center;
    width: 44px;
    min-height: 44px;
    margin: 0;
    padding: 0;
    border-radius: 50%;
    background: var(--stone-200);
  }
  .acc-exit > span:not(.acc-icon) {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
  }
  .acc-facts {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
    padding-top: 16px;
  }
  .acc-fact {
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 0;
    min-height: 0;
  }
  .acc-fact span {
    font-size: 14px;
  }
  .acc-shop {
    display: none;
  }
  .acc-panel-title {
    margin-bottom: 14px;
    font-size: 24px;
  }
  .acc-ord-head {
    flex-direction: column;
    gap: 10px;
    padding: 16px;
  }
  .acc-ord .acc-progress {
    padding: 0 16px 14px;
  }
  .acc-ord-note {
    margin: 0 16px 14px;
  }
  .acc-line {
    grid-template-columns: 64px minmax(0, 1fr);
    gap: 12px 14px;
    padding: 14px 16px;
  }
  .acc-line-photo {
    width: 64px;
    height: 64px;
  }
  .acc-review,
  .acc-review-button {
    grid-column: 1 / -1;
    min-width: 0;
  }
  .acc-ord-foot {
    padding: 14px 16px;
  }
  .acc-ord-actions {
    width: 100%;
  }
  .acc-ord-actions .button {
    flex: 1;
  }
}

/* ---------- Brand mark: the owner's emblem and lettering, crisp and shown at once ----------
   Both pictures travel inside this stylesheet, so the header never waits for a download. */
.brand-tile,
.brand-word {
  display: block;
  flex: none;
  background: center / contain no-repeat;
}
.brand-tile {
  background-image: url("data:image/webp;base64,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");
}
.brand-word {
  background-image: url("data:image/webp;base64,UklGRpJKAABXRUJQVlA4WAoAAAAQAAAAjQEAdwAAQUxQSMcmAAAB/yckSPD/eGtEpO4DlNxIkiRJqhLWjQiU5v8f7OZLRvcsx4j+T4B6289U8rzWbTOXPGessnVPpZ+fn7uXbE1ZAxK7drC1AsnABPtZAE/umyysNgysAWZz+F3Nk9haBFd1nKIdlp8AtYEXlbACMAvMdITNJNzfgaWqqgN6g9heyZ5qupC/ggAWeMs1bmgn9hUGJcnX2q18z4nd5QQHkninrktbSdaSxKxkh52436iqNbdrDB4+cbtDU12Shr1aCDkBuP0kE1jiewy1kOfvxFBbOpMsscQJHamOlTrwzLTH7POBMzQFPA/QAFW1cX2eQAP81rhAcyW+78ZJfN8iSQFUlQ3EniXJDSTJJImmSTzY1nTwQXlUb0uybfVeVutxwQekM3/h/3/siW039sS2v2H7NUnSeMlf8utIXCWJxP6RBLHrluCegBKQYAiSIC8iLpAA210MAyeqdDHJi3A62zQkyYE0qWRiv8jOdQ2J1djfoEqTvCnZizUCOSHNyIvawZ79mtGpfCL2IfDDtm2ZncjedT9fVa214kaUJJDQIRAgOAQSnNaRlrHu8Zljj2wdd3eftnHX3bJ3jxxNu9B04y7BQic4EeLJylpV9b33H/Vpzfxy/P7bETEBND359W9cOzezhzjvzzzyF69EonV57nd8zcpOdJwMnY6yfOBwngRD54P88At7du58NRE2Y775PVcun5SUeZin/mO/96TMGMZ3ffcZHUU3I88wTgPbQyOBAiQPFcqGt//cPpkG5au++/KFnZAjG+bp4N/+ZZ/2I2364e1Luh46gbL8yL/+4aFINC3P/e53nTm3RxoMswyn2Qf+uDFd9leHTfmB33w/Yyi63/CkaTWfOfrsHZ989JQZb7HkTd/2Jir2f7vDGIrOr3mUMdz/HkQzq9/x7ZedQ6l3XU6MAWf84cBJlP/Qe2aC5pS95V6PUvrR9Y3BRR+e6aICxx3fi9oDTf7PfWdYlYwLhAAE7L7t77HGCsgn5y+1ivLOPWc52nNw+cPOU6pglxkVSIB19LtofDiVuSz3zzOOYu3fDHOX5fN+aJiaw8R1dzpP9kjKHr6M5oObHr7YRUlHfmQ8ggUf+IEOFY0otSWMrfDOqxai8RJe9wNCBdaRixhL8e59zl2hSTtGXm8uyM6csErSF1eOA+LMf7VV0sk3njndAgQXf8XJAOb4D5E1J817v+UCrL9biMaA4IY9uIIYnjp0bCZ6886YK/JACifFuvUTjP1lL8kUm/dNSOOguX+eqqRdzw+cDMl5ykRv0TmrSRKI5s226+Qi68j3EmNAhyufkUswGyZm1ALZ3vslCuKOQ4rmED/cp9TadRUxDmLx41XS7rt27ZtxRnf+hkuv2TyX0kSna9JYKa3YQ1mKRzeTjQHBW193Kko8/reHk2UgJYfoLNr4jneuMtDpNCdv/ClKsP5qEo0B4heGuIQ0sXHaasG82ls44sg/TdC8xI9QdfhdGRoD4CnjAvP43/YDIAFz1t/07itLAM8O0Vh58UnKzcz3ExqLdXd5WGQePkT9ubf8yPYw0Wtjxd9USLH7EmfjEGx9QRVg9ZkztBmD7Dx55JXd7TD53p7LUvzCWsc4iKdOBqOGL00TGRjhBJu+9zAuYXisL49ReO0yVELujy5kHKSJv3BeBCe6gatJOW/4n98ZJrWx9fOoxPjbkMZAzHuQSpy3pB9qTkyf3zXAE/NQC8GmLwmVwJYL0ThkPPUaHgHvHYZzCkUkz9k9g0uYfWFaHh+z6SwqJl95EWMZs0/m4ZI82dRVeLglcfjb2thyrALDzqeXEeMQPGa5grXnfnBjeO/DqCBa+oYDmFJ56Q3dpDEIDrxSIuc2lSPNngpSkXn6HjPOVy1FZebMW+QxMLwyTblMsx3S7m9qLu9djqMsxf6bx4IOu2eDKubh3dGcNLsTYw13ETQfTH0gOarELed5PE4cRAVWRl1J8+eEi+LUv++Rx0VefnUnVcBx/VqrPeDQLC4ZJjUS1uG/uBU3lKUta6ic/DvBOGYcOokrYM3cfdJuiuD52bC1d5o2MzY9aGMXITbdqDQGon+c0gaQp7ZSat39f5I8Llx6OcJl4qKrGY8jfcr7NH7qIz/VmHiLEUZl969FY3F0mprx6mNEY+bwYWwO9lsJ3nPUQIU0de0S1B70D4ELcD3g0heUCsQFl2DGNHVuZGRYgvjIvKRxOH68RAwak2k8WHkxeUZF+9i7xwLyvA48/byjKTgRAEcO4uaCuX/lXOmJO2eKgK2bxyKGxyyK8waUJj+HCmDZVsY18o0byJ1/4bZpXGB2voFoz8ycKIHUGMJNZVw1jcjvnJNcQPJfTkhj4TomPd2XGjsVIA5P02Kw7RkPtPfv/uxRXCCffZ2S2pNnEsVODQD/vl9pRI5Nc60x4ZpZ0K73vveJEhjcHEmtwWBYodNc89LEzaRg18e7B5RKnruEGIdhKrBLsKaXD93YCbA5ktqAn51NOff868c+25cL6N68jjE0/aQiErhWeOcePIJZs5gx8YJt5MEnPnfnZ4ZyQdLb13ocXOU/YHDJCizumM7vxwV2+ilCY5AXSS4BXTRBNHUSLE7mLYg1n/bQh78/45N7KMBcugO1ZjE9pFQ0evwA5fMmGdeL55Cylx6B27esKTIX7WAc0wz6j/Rjecp0+H5OfGYoj5Dr69aQjYEL8uePUdHseZlmzZDRGbcQvPFFD/yV89Bjd1oFweKbFya1BRyvpgZmZypIY+K4JU8d7u2Kh07sUAHMv24yqT3nlKexEwv+nRw9fQS+sDuKwlu/mU5rZljw+p/8xXSVSDsPSk3AMEaGLUjZT/dTGv5GT9mJ248rjZC49ByiNTOTl+XgBogKM7N4HMJrNjDszH6Z4Njd18gjgsvXMwb/oYNtryH4UhY8+1lUoDTnryaltsAJEoe+/MHjvTLQiSeHqJF8MJLTfLDqY879ypuJjPufQgXinKtktQV2mUANdCZKxP6jjKW5+iRo12sA901SAGy8FI+Vxk78tE3sf4yOB7cdlUeAJ88l2hsOAQbH7mbNolRmXu0QjaQZBHJzGV/7onPftoIQk781LElzblySxqBqotGJqRLYc0zjIM95K6njO3pKEL+Z5BF5wY1TVnuq4HFTOuMSHNzTVS7u/QrFwcnvHYf+EEMaiJUfC6sI88wLuJFTGKTGpKn35SnN/FyGCN78MmkEuPJCxlgpBzewYFGRNdhlPA5s2YazY/eS5YivOVgEXLuJ9hwVNG7hbacgBp8iy82hLwyLlPwPU7Q/GALY9NiyjgqRP3pEqQGGCHIaDy54yAM/uYMAsf5zFMurrw2rNRuPMNLkxrVoBF57FNG+rOs3IB7JMQRrd1G24WqstnAFj5mY2IGDh46CEffuUxpB3nUZas0eSSbL2LCGcuvIUwOpXjKA3ZSkHzzmPP31AgRS/GoKF6TOlYtN67kpdRPu3LgsFZj7n8ZjsebWburkX8qUADp3ODyiNLl9gRlXQx+NVZZvXIsjfSbIAZ54AheQhj+C1FZxZIQi3rAQFSEOvUy4lsCmQ2OccT65D7ybABBvfpViseVi2neFJuWtb5JHrKO3HdI4wPYrgd27iZGML+xTAXD5FqIt50XALI0KNxXp+lOYl59GHuHHcnlEZLecYdp2GskEdpqzfiKVkNi3j1SvC6DGgq0dkr90VlGw4sEKa3d028vLpHpi8j3nOaPgns8g2lda9I5FKfjyHAwQPPoAxWLD9VlSW/0SOYEbaF5ecDXDju6eoDC4eHekEeDKbaitlI+kBBjmr40yixcOUD8D4aZE98oZOv1f6kgjSJ8+oVTg3nVnOdoioYLkWoK3f3MmgBQH/vqVSGMQbN1O6hy+G6UR4sBnZsMFqXfTSreWSpqVdT47G4q0bQ7Syc8R+YiYugs8Ii9946Sjpawzkg8pXriCpALQ4JUZ1RoikBrbsJa88+wNZBQG9+ymfOsVtB6BC0i1Mu/48TUGsPp/exvjqJTdsjLBg7PIRf7yLgqAiy6iLaKVLL/qh577vaNyE/DzTooHT8oUZtx+KqPQXL/RtCyPDEsyFi+kDKX9fVzNs2BEw8E3n0L80zKiSHz18RKxZPuk1RKiOMtqCI4dwBT03rCU8fTq7eHI7wglCqXJP04qkM+4rperHfdLrEzIlSQOfcPw8ZdoVKy6ndQdfjoiFcEDL+ICcc42Wh8gSKkIs2guUWJOvJbClciBxqQFf2xnM/8rpBKduOuEPELiirMcLQ0HqCC6NYxP5SrizFWM62VbIF59niwvIvj6Q3JBiquX0tJwpkTumqBy4tD+IRMnm3rHEeDF58hKrN13oaJ88uZ5SS3VVWLJHFwEvP4S1R0jw4aC7U+RxxOXE5RG+sqeEth4CVY7JIrdBZVIiQVzKQ48D4+HO9cts7h7DqZUrPoiBYhzt+I2jFORrI1L87yaFp0amk5qhskP2hn3zCdRnGL689PyCLBtM9GONGKXgLLlC6pw6CiuMipyNyL1fnngrH9Hj4pi972oILzwuvmJllVSUSKxZNOybMSm/8oJxFgG665QiuN3KoZV9AtJLvCK66MVkIoQb/7F7/2mYR6dnpKjQ+fd54XySDSaseXJRJy6j8hLMHc9TlGktdeT2ikepiqePHsCFdkcPkZVBcZDGg023u6h97yZShnfeUwewXHpetROZEVWKoiwWbTjunUY7GD/468yvuefBzx5GFEx46ZXyuKas6VW7ArQn1FALlCHNAEO8qau7pP03H6qP387KpDjxgVux/mIogJ47gpZBSjYf6IKAWCrmXcf9MC3rUAVCM79CuUbrsLtZBkewQkMKXVXbduhpUgQnNz54AE8JnJ29VJn/kKGqwTLH6YAceEVbqd2JoAQoxYmNSKmriHv8sUuruDw7QfkEcTFFxPteKT2vEWUm/7Lx6NCQhC4gWDeX6Vh6v9MUFnq/upAHgkv3b7IaiWZQg2mQWjtLT+xcRYMiJOPfvqRGcY2vP46Ei98ksirgL44G6nAi2+Yk6I5EVkVm5pCkLImsvzCBTj2PUDkFTAPPUBReNXNIbWRD0ZcwyxcCC7ATL80a5eMKkSD4vInPPDuG8gqEbz5FYqtK7bQbk5lL/nu9/3FL0ACMPs/99mXiLGR2b4VuOcxTOWMO1+UR8DXbmZcLRpN0YDwTcOUcW8XU0kHbh+GRyBuWku00XAwfx5WAdaxfcgFTgBBsz90IuX+p+WyKslrHsYFYt2OzGoDl2RdYMn7/+wd65MkgOHfryHw2JCWvHlBHjN3HcvyABeJpD0nt1CsDVdqXHTi0MmhoiNgMHRHLF0uohEvP59hZ/Y+hVUF5Xe/QglbryBrI+uOhGoAc+dTgjg1gzSCR/Jmlvy9cx/6b5kScoHM6ON9ucDzr11NiyINSwxo98a1SggQSp84S2KcL7wca9/TNqbcwPG9G3sFSnN2LExqwyXmuX/YJaFkIESK7NzvSXTUQKQ3J9Dr+8HUfPKpEnn+jo7UgmhWiRXzURFw6gg2kBLgRsSV93noXd+zqCvIhCEpEayen4vSrZeg5kxKqCAfAE5Hj9oGCPvg942Vs2vXGrx62cnIspQMFuE8Vh4dUmy2nktzxmWJex8HnCeKE/Dm53A0IP1qcka2dnAic25JI/aQpRkqILFtA1kL9kjK6wDdpV1cxt7XEaCchkX8wD4nH/733/gFFJ0Mm3xIRm/t2yZRyaorJ5IaExXzBEb0p5QKyP3FC9HYBGt2TLrD6v/2B9ZExzNDMvKsx6x9EBeFz74+S2qq5vFeJlNZaeKjR2dVL9JZ/0zKOOPbNnfkQZ+eFEA+OzNzeVlw7rcSLbTo3plTSUW2Dx3HORhQT/WCM/42IaBP4CzA5FYQVJQ7l6ygOcjzEgVgYPVZiFHr1H1ziXGBHVfQvjzn1nW0GRVEnlMz0pafPfgb9eCtmxGtpwV/Mxc1pyiIBsTCszKrAMKvnwCyXwecaGLHo5hmjVABsOl82syHJZExKk+cvxSPgA5889gozX3TUguDwSB5xCpQEXDplagFVcDUFrp6we215IXfQsowqUC4RIBQgeDxC1tRQaNi2RrK0Oz+XOjnER64ltT72WnUUM0110xZzXU6JUoF2PNWTVkF5vaLiDHh/KuwLFoOL75uMqkhIVeQ6o1mOa4Rvmw74KBpFyCf+H5aDBe4CRKrF1P11AnQzyZQUDs49w6n8OHXE2ngCHDK1ZFTSN3li4qUpnasdzTXncIFeV5EsODsSatAD/z5QmkszFXrEJo91s9kB/kwFEkdlM/2J88oAV2xjqaNh1VoVJiaEm9dQaDBdC4bkUCBDRbZ3G6ZP7SIaEwqaFixYkGFRJrN49cE6qiWuOEY1pP/+mLf5GjEKTpKKWDi8u8pQly0Q6k5BcVOJcC69RRgHbrrSIxD5CvOx+Kr/3fXMAfLeVKBSLODqUuecipi01WoIXCq0IlGUK1IK9+C0XP//EKOE8HQZBlOOO9o8qr34BHg6q207oZSZ93CpCLg1MyGvxAQ1BVnXELem/3sqzQ8+T+O4RG8+JbFVmMpNaDUPXsJxeK5R4kxgIt7mFP//BIN6wPHwkULb1ic1JQ6FcR4ZvnlV+GY/pujYJpc+GsuktfemllNOUZSQ4h5506gEjG48kOAUwOXg/XqE2SuYQGO/PzHKZS1dQvNh0pCZeDexjNcgPMnFqDW5N62hHnuNrJUIldQDD/+EAUyV2+mMbtC7rEQnXfNS+iRF8gSTUb+1tcjFcVNZ7fgkWHCjSDWnENFsfr7kNJMUjUxdW3u4LFQqlMsJu6YlQHE6ktxY1mUEFXEiq1TVkEc+k5C7a09hzy4/zENaVTs/dwgTOGG67tWQ1TxeEQ6523knf4doSHNeN0zeARxwTU07gGClGh+zRmoBJgE3DeuceEqUqd/f8g0G+krr1GA5125UmrKLslTFcRZGykAnn7IrcFlM5aOPkHj2eArL1KgNHnz6uZUYUzlb99ksteeItyM6NyRwgWef83cpIYwLSfWL6a2qSn+y1Gsl18myxvb+RSFQldf5sYSpWlQLXW2rHaBGT7xItGO0uQO8mDnYaKpYNfTlG/dyn+aU39KknbSfJZ/+nlRaC5aRTSkLobczYm5G+elChqJGsGSvzXBQ1MkGpZfvb8vA4j1t8x1NJWXhCshL9q2qADr2L1H1Q6cvxBicHtHNK799w3DI/LS7d2kZtJMhXwsIm37exz5g6HUlPzo3bhAbNpK05EB5Kk55EXndlXWaHDdTlI2+5DkpojBXa8VkbLrN1sNDfuowFk1zGVXgih86E7U0raToP3PkjVHfu8+ilJcs46mBqhADD0O8FO/ZsXeF8jypohjXzwZaQQvuW5OrmakkdQGYsNGrEpSJan7o0exnjtEpObY+RTl51wVVjOiNJuoISavWUWhdfQzL7YiL74aBzsDNxesvA2NIDZfS2oG4QLT0RhEWn0uFk8nTHO+62kKlXTDOURD2YjUitl8JtVqijM/bGd+eB6mcWn/fXkUyHO3LUk0FLhgYgpUBbzqqjlJANKeh/q4BS68HIcf6io1J+JnBrjAS7bPp+FE+WQ2BpmvNODHJ5WaE7tuRyPIm25Raqg3Elkb4HkXzXOl5Eqhd+yx4+gzaoPo3/sKLoqtW2g4T2jEnaCuuOoyU+h81zOoMXnizRsRB3cTLRBcs0cluuJ8opG8j0q6YxCeeyMmjj5DtEAMv7BXHglPvnGV1YxGJnqoDXnVhVmqYqqGFv/VMKGX96M2zCP3oBHEObdOoWaMR5RTO7zkbcuIAk3fv09qKnzx13aNXjpFq2LBPWCAYNP1HasJJ8qnuqitLL9iIRYvHKNV88iDFItLttOkmOyOzJ9D2xvXIZXYqiLevMvD4PlhOxLfsRcXeOrmLW5GoBE0pTrgCy6g2Lzy+EBuRvnE12824rk5uA2CTx2KAuDOdc0oSsSiSdqWp7QAwTM93AboR6flouVvW4zqwYI5IwsWtiRnb1hKFVdh/p8OU45fmMK0Kc68j1JfcHPHjXSDQsfSzHXkOH8tLhC7n6NhsfktnQT+atBu8JVHKTZHrxNNZt0Ss3CitUhXLAoDL2S0G1zxPAWYGy53NLFiEYhFi1pCzNk01ypCqhDc/LTzpP6hrCXg7hl5RMy7YaOjnukVCZZNUN9Lb1iaBCBmnz4gNyFnbznXgQb7UGpFevVLw/AI8PZVKWqJzjxcAPOXtCWyn1+MgCOSWxHzHwGPyOu+bo6jjmDlPASLV6F2wKsuyVwkUS7N/4O+nUj9oGXx9GEKgK3bw6oFC6cKgJVLUS24djsIwDry+HE1gd/w5ikL8hO0neWPHqMoafvXhmvB/FUUiyVnt+YL/i4r6AytVgjdNwgKzRu3JtUh72zsJeSJ8zq5WoLzNlCcD1yW8dZnsRAvP9/e4ZMUi5Vv31xPZGfNLTJr11BfLNixpAjz6ospGogjsUQIotca7D1IqXjyzlRLnL2hwoJzldqh+51LKVhxmJblJ17HRco/MA/VEEs3y8K64gy1JXcuWpIEKM1SKs76WG4BnRNPobbmT5ZgXfcNk0SdtOSKXioQqy8K10Jeec6kVSBeP0hyrTxfM4EEvdWB2pqdKTMzd+5WHdh8Zgmpu3EStWD5LTeBJHP+0bbg8BFKHXu/XVK1YPsWBHDFlaZtsfS8CUadSoJ5v3LUFnIsepaWxVkLUZG84BsuS6oBWy/FKvD8m1Y4agHrN8oj4Hz/CepmnFq+HCElXbLKrc2fXwZ66a7pGpGmLp+yCgTnLG8FLv5OLBCcN0mopYmpMvB9F9KpJHV/dYMFkRZ/00JHS+ClZyBTMeh93/NOGYDOJtoJll45z5Snc799RR6V5N5bznRQrBtvQaolspVTKI0Q/emEVCXyfOW6YFRcfgtSG0rdbctRGX74UcJV5C3XYorFpotwGye/by6jUlpx+YI82gjrmpWoLM8/sJCokrHt0c4I8KavNa2LhQswSEV086U4GLXuwaHmBO+exipRilfen7mK8I1zsIqU2Hk/9SDF7P6hSAaY+dhvP4YqpM43LsUawfq+K/N2vOMsUlZBt5zRNxWVz31bH5XglZd+yWpICZ2axkGh3vSdQYsSO84iZWUpDv7OfKJMrPhHJxWkuO9/3Ce1ZVYsjxy7aNnKzEmUDDbONy12b/mZZKo6dl/UI8rQtT+ckigVsw+9mhqAwe4njhIBJPnLf/QZq2zqu9eQAiMMV/789jaUtr7JKVymtHTzhl4VJr89kWdpRMjc2qdpxdJ5OA9GnaW1O79lQs3RvfXzKYWLjFJ28DdXo6LQwt+azi2QgfjkT9AWuLvheAdSwabJfo6ouGTzMtSQPPm277sOVAWGZ50pikV204/fRFVFfPX+HmpAvPjwzgNDih/6swXWiNT52v8KQXnn5h+9IUMNyZv++ylEVbFgw7oK8rbvhgyNAOLMC1Y4mpCzrhBBoRC++400LXpv+6SpKEYP/cpKVCC97Rmbqv+wCbUlT77vNV5/HQELP/R3/xyTPeVGw4G57dGXDtH44nduX0oM8CAhdUlpOPvvDzw3LItFBz7X63QGs316HVu3f/bvfy1oVBz8/J/91UeWzul1Bod339uh2Fn38UOTQ7uTpTzL+p//zP5lPZpfcey+TgIrQgwG5IOPfPKR3WUw89jRySwNlZGfGmSZB1t7NCpPfujP/uVLE+F8kGe9DPylv/+aFuZ/2998YcIpT2BNdDLn7n/0Z84rCa74wOfvtpSFk7PsxDPbGcff+/E//+v7MfDI3K6JwMhOhNLxmeY0Z16AwQYEhuHstIuAqQUhidwIGUjHaVhAb3GvE3gwc4qKc1Z0lUwECTmldJIWJ8/oyACSsUnG09NVYskU2BLOLcmnohnQ5FSnE8I5ISDy4bFTTYHmrVwzICQhQmDSGQs6lGvhqjWAZEPm4cRYwII5FA74/+oIKqrC6XICMP+JSpQLUIkRdhtSPeNqUc/NgaQCU1VRx61IqmPAlaQ6bkGqZbegCGqHKili/JBU8v/8///ILqnELUiq4yYklakN1XIDkupIakZSA5LUjKRqOn2RqCy7GQW1k+spy7Ky0WhGkbWnLMuimrIsiyaUZVmmOgrI1ISyLKuWxWkLdiUjNfIfVI38/51iwc1vmCTPHQxnTp488NXnaVKXX7cwYjCjTm+iM8wJv/jxF1RDLP+Wn/iVXihjMPSJ1/e/sgzUQO/Wn5nDcDDIgqzbtdPhLyJVEgu/7bd+7ZYOKhHLvuPXfua6QDXEpp/+4O+9ZyGqEqy+dXX+7uWojlj/HT/5S52Qh4ms08k6v/2OKXR6cvPbJkDIZNGbnJMeWoHqiIXve08XGBJB8YFf/BPq6Nv2JFM6mJ059KFvmovqZJz3hSQYDjMRAXj2T+ZTLbj1OfvfVxElwdtfdPrfy+tI2U/M2od+Zo5UFlr2S98+lxe+lbpi4qcPJjOaCADffwlxOgJrOiRlGYWLlq674vwJ6i9YQi6pQ8W5C6its9YoSUWjm65eR4PLNiolB1X/fEENcdaqnDVTlAqvGSZtXERdx4puf+CX305U4PvmkLT23KgDExcssR1U9LNXo9MTy8HBlwdO6i3qk9MdnCDqhEykF1/MJkhCKN9zF6pDkJS/+Hw/OhMTc5YvVmJyGqmOZDJePhCpPxCme+CvUJ0AMpUBduasg2og1Onk/ty5qEhceA95J1dHdYQyW3597/QgxYRn3bv7l5acrgw6wb7/+8i0HPPXffIQML3zsOogYOeHX8ozjAN7ei/1u11rz4eeyyPr9hZtfssbMa+RR52UBHd93+NyPrSsbHYvNYPcYqJbCVkKaqsLOB+8b540Is374MAdC1zHpKHghY89Pps7Oh6m7tnzOV1NXXjuEYo/vzvDPPJ5VCMR1iMv0bIMzz5L6fofylD/+KuqI+OZ9/8YLQYK02BH9QqdvP/tZIAyvvE1GyBTHUhD4JkHOR22YXqgLI2gTcvkCy+hbp4Qp4aRuYJdb3YoDk1EpIL0hrtw7+JFqQ5Gg31kruB6vYBBXikSqAkDIvHg/RiCr9yPMQbXk4GjikglodMWBBgzKnZ8fcbiTaqVY7qkVKVBzyTR72AK5c/PwpnzUQ0JOl1UpbbIgGGqJEyeN5CNOMXMl/cKIvvicSEhEg3nnB6HR4ojv/DXSN1VPatayoFOKAwW2A0YAw5Twt5ZMWeSut0OVkcWuLFCVUoSpr4CI4T2PpRHcOursvceFs0GJoxKfBojQSelknTu3wGTXWqmBCzsOqdUricyIHOSCyIt6JqZ2VqdLiIzgATCqV5uyKho8mgmDUCzTx0GnnoC1n8Ca+9HdtpkqucAlk8fz0vQ6UsAWUaxWDgE+sM6YcTzv/zZpGHfoejTpDphshAgiMHCNzDUK3Nq5ca985YdErZpVFiQu0Kp6zEE9t4VtybN3vUhvuGUOy98+t9eQogGE/Dqe//96JBkhfucvioXCiRAyZedcAxema2TcoDdu905dXzQ63ZfvzlUjxDMwQG2U/edh4nBw2TDGv0h7rzj91/sZidPzKaZE0eeelG1MKQqctgk1dME5thjj22da+3NPCDN/lv+2JGEh00MCOv13Uenk51lac8l0unKoA9Tk9gAvmI9uXbfbbmaE8Ki4ncuctTLwpy1pTMEmFx180Ly7v0HwTUAsfY7LNIgJx8c/dffRNWCZJAqGAsSDWSY4/sPP3wB4jshdb74LIM8NJxVAwlkUX7iZyfQaUq/D+u3z5eiM7Xq8o0zqXP8H+/CVFcwmpyRD92J/gy4HojNP/mzP5ETvd7Cg6Tua/8aGlLXgKn6hf9Wz4CoPFAHuZ6HwMmkj5+/2CxT6rz8ScITSkFqwMhiiEIjB37k9GVmiM947PYDmpi/9MxDCQaLFhPU7E5iZh98op+lUzPDeb3DVyIasfI+QJaDtfsjk4i6KY3sejUpzeYTU71jt/11vZkUdDplFikggWvNWgxyn1q4ZQrlKf/DecJdyDI3IKxTDzx1Iut1somp/lObEKepBsPQygQw2PN6on5vAnjwY8OYJQCZJtUxiNKk4Vdu60mpCfuO//VMHh6mbKrbf2Va1Dk6KxYtKROeHJg+9Z2AZDqcsxWcPX4ZGWSYruopwzz1r8clBZ2ej3O6KrodRLGn97765FMncT0ZeHwagQIjNUHIyl94MWUsPWcS7fuMFInaIdT/+CdpMePENF6wFhdhFuZ5NIGBgJR3bthgZn64o0ABjRS+updIFOt0xUxOovTIVye7PnXwxSNH59No/xTysQkBNi2aPe/9/HFY863fvIAeQycaFJo9IFWw6wRHT5Km1qsszV3GUEn1nI8I7LU3dvWh9Ug0bmNyibLT2F4X9nxiz8nkzhyAaOTUKSCJVk0InnmK0TP/OQ392TeQNZFAybisfnDkKKl38RypQCxbhnU8q0dyEcHbHvrcFQQiDYBQPRJimGxOf8Pw0h7IGRV5I7kxmV1BDUBKYt8chVF+wy7nM7/ck+p5JGgzOPQC4prLnEkC0mUnyPKno577Bo+IzraLQSN9QNRPM4bpHJXp9CVPcCIUCQym4QD1Zu2yRmXEbIZNMPWbs0PvvJKolxKOrBXFkYcHHa//gbUUpvXbnHf3PEe4howgmcoFIqmW8lNJ9IJUhk5bUg5g066Bc3p7yJGN1GtkIkw3TxiCyx903v/VDg0YyHALZPmde0i8/dd3LOplnakLbjyO021zMTUdPcAlWRSRgJRqgYHN187v2RJIXU5bndsCteOB7WN3fnUYSn2cdX7/B89EdQgnz53NBaDJX+0P0wPbUA3TDcgTrYq5vzaD6T356Muzc5Yx8HDivqfIhnVQZpuaI7aH1La6KTF8fOfRPKdDEr/8lkl0ejIcSDmtDxWIqn7l24k6HiqEEgVc9bDd/7PlqBp0OijNtINY88cDOggSo9nzH5NyaqeUhVzPCmZci+iCRdXZT20hTkfEa1+dPvzcCVIbpv/k/uGA5JBsO5jZ9c310vMv9Q8enMIjqPtDXz1x4kvXE3UO7u4Pn92NWkEs3/XY4Tyj0Mce+3iP+o703KvpyNMzuArq79432P10Uh0NXpy3mDCSkzPs6c9uPT0xT/zJn7zvo8dpV/2P/t6f/hXDPLqd4XCYOp0//MGVqIbSp977gT9Yh1IBLP6O3/jN/7kBVUs8+4E/+vP3P4bbQRz6zIf+bcOSicyzR3c/+xqN2p9/75+/959OqEb69B988He/QF0zvO3puWShiSz1h1k3/Afvnov+EwEAVlA4IKQjAADQhACdASqOAXgAPjEWiUOiISESWJbQIAMEsiIPKAC/ACEWt//O9lNpXrX93/YX+5fux8ytkftf4r9GbxgjW+qHuF/S/t3+S/aT5/f3T9ZvcL+pf+n7gf6rf8v/Kfj38aXqH/un/a9QH9B/sX/g/yvuvf5P/Yf6r3B/uB/w/cA/oX+l9Yz/f+wb/f/97/9/cC/jn9c9NH/0f8D4Iv6z/xf2o+BH+ef2n/rfn//3PoA/7nqAf971APUf6Z/2P8c/2Y8jv7v+SX7y9yl6d9wfYJzj9e+tz8h+2H7L+7+hX4m+X/yC1Avyf+d+dj8B2R2yf5r0AvYP6N/w/7f+Rvojf7foV9Zf+d7gX8l/n3/N/s/sP/kfBo+z/6b/l+4F/HP6//vv8j+8f/P+lL+M/6f+K/ND2cfmf+N/8/+U+AX+Tf0b/if4r/O++x69/2r9in9YP+P+dzijgj0DPamclU04cj+LfhC/0Ij9Sz5q/lxcL3yQDOSLCNqEDkinQdrOJNhWZWMvVsRGaf/cnQ4QP4ngrODWqBqC0/Le0VkKNh5wzTjHySpc4SvgdRPVttsArOmo2L3sjWwZFG8cJ3XWozSorzD25gLUTsFB+6dLMnsGFweDm5zJv+03SpG/BwfdCCGWLb+G91TJyQyq4vWcDH2RhmX9Q9JAU3N80wCWgEitzFCzfXWlYJmUizrQGG7k7cO5fOB6aOa3AwOKchnUGIHXnvcBX07XsUXHaUFfVOmvyP2Xc1nDExUSylsAKOd59oMZ9tGhEAFZFOhWVWYyaaSUZMWtlYrvVrTo3ho7MbOVzOk5n6vSBVONjj8hzyzi/SMfLbzOlGJhZsckg0I+Gy6t8M1o9oBMlwCgUncvDl0gbBr4kRalcfCP5Tz70zSPqN19gkkxo/vGMI1JUVoQJcWm+wCJ5fxZWBcsb1BtOfeYSRNvMuechavjAX0VAEkTHQiSFjve6JFFDPBk0p3RXA95VEya8J2+XttL+Ng/5x4RZckyWeEzr6BMdHT1t3iFqik6eLqTfbJt4YgRNwZWtsca6bHBlpxFlhBweD+impntdUlEBlq52ey0Nef6XlsyLJlqXVPXMPySL9SKQzXA91jjVRs1uHrmcRqOzrY5TkbEuOyJE0eHUTvFKsqAtLC6ZnDom7ezq2iYM1x2BfocbCJ48LToWSXwIrg3mobsRNSGDneBC9cIbEwg+gkC3Iy3xEcyLNZYDWhFe+uDRrOhPOiiMU55A9AbYXxwCD2U+0OFQV2ZlWq1JJXM5FDa4b6vcBU7nwRiZzAVWytWO0qIUu7el6TmyYKOVzepZvT82BptSp1NVulHyG25r1qQc1cU+Hp/PnDkztm9TgV3XFZECcO+DjVPlRf/U7jpTwalJndaDV68t8iE+RkLOfThGdc3NVr1Znt0IP52FYAz7J0Y3QsJIAAA/vaSdI4ULoxxoSraWvhuotnhBKo08ulGreKR18/Q+FE2uc6d2a+AEdumYeRcr3CaraFLiAaSfG4h91Y0xxDzYBN5L0XVyLEjpD65KrIP8yM/jTPYkqVtMpzUA0vmxinrYo64QjcKP0e8f2RuLVaCFwubXmQZnUOPKlJpPj5wMKud7PF7xEnDra+M7pq1KAV/iYAxZwZ+jkDF3S53Bve0ukMhhlS7bjBd30B1oq+NCaJjO44Ao5VNIRsIJOuhawF1iF9xgEDkr8oBj23aWfXIZwVQYDSRMq9F6uJPONAYYa6MfbvyfYBEq6U85ryRm1sAUD8K2dK8AJjxaB+wNlgY0UQjg1xx4nic2zoVu5pY/YDqw3FGQnKXaUj1sTcB3Jot7CHnyi6DM9X7zmhshMWuGJ+c4NmechlAWDwgyLz+BVxMgEY/ym9n9Gyn1vrgsB9AZXWoy7UNVgRoi/cZWqYJz0QYM0hxfC+ReyBHJrss5vp73xAtwY5YbwZ7pvBR0JBrGfRWJRLe5biL8jkfaf3PVKBxMY7/1kY/VagPsYvb7XOvgPvXy/RcGkuRAzQ1miEAS/3E5Er5uiZMLnMDWeB+p4XiahaEr/x+ppNYnEOi43/EmzjwvKANBoMfhcCWku5C2vv1S4UWyhwLB50U0DNsSwVN1fEi6xPT+7KLZcW9tR0Ay4EHMI75SZSpDheH3NlDZ+O1fjz6vq33/cpJuo/HOsxJTuY5NpUdkXmxXMTHRIew0ooNbl3WxXJ4x3en/GVHWxb5mepjmz6m/g/XHY1MLQTjJT3CyGyDfGxY1t/SOi//60DztX2dIj6sacz27134Lh7lMwO6Sd1f6LIJBcRXdNsItn5TyA5ezNKnjAWV9zTNJ6+qnccbvgtzh8Hq8owuMARrGvfqua0q3h0hXRK6NvW+Y1FK6Q94UxxwOfVaIF8ceC5qlCojYKMlSe+HpuW9E3WKBcLf+DBmOhzd6roCmzZwdLQ0xhB/OgcQXXaQJ4RkjzG1uA/dxUeZ2/k24e5Ifr3tWi8D+P/3QM7AyZZ/YGcaVJCI6OtBvx3HRIAS0UsdB5gfOyQWpIgNxnATiftSpSMbgG3TF3qQumOLoMPTajBxJAogHz4ATRD/p2wgVdUqnlUspV+pGTnoPnCA0GG9cBwVjbXG7Kw2b6RP3e799gEfHpx2fUjPGRkonk74i4PM0Q/9pplnPOeKZqhzcvztzbDs5jWLM19oAmrYMYs/bCBWNTnEdePfS1dnjoebnyCDvQx2B/MUxm0t25RUviO3bk3UZ52CpLhMpOgNqskodDkB5ovVeIDaNhXgwWUvBxK7jw+ekmV5xG5UX0R3LlZvACAHlqu8qlDBxEJPpEEE4+19L1da1l9qbZGcQ+h+7Nx86pfyuE1ooRM5dnDA+UfMoT10HmWNRkVJto1DpBVkwumKf0wEku/WrUQZ3X3hxLZ0FrP63n3MBAOJikiExXKkgcB7Pugf7SgBwyx4RMhKU/kS1GRLnaOsy27wXDKDJnZhvzPF92mtKVtAm54AEJ4qVkNZNtXDCgVQQbtNhFUyrIAzXe4njOgjStyzULSO75j4pZWp8WuX2Ex24wzupuLp21MOyqW4vnXrmt2j2MlTrdY0PVHnPvaeLr1auIXhZt7To+ALgdhUnkc75h2iUnJ8ZBmMExq40sVn/uyZrZQLtJOp3xMMnp6Eq2ShBFfez4KKsPRP5ikLzJwJ0w7+vsPbDndvZVg1pH5HY/5h3Y2waZTRCRIteWVgQR+aRXUiXUv1AwcC11DmmV7htwZ831fXz1tQV881GMyxY6nCyI2qiLI/1MQTJY+rDZwtKzJFOQsos16rezk9sg4dfnlB094hWAySIDUlV8lS3N07Ikd3fjujap3NlmtsZ1XT4QkyksOvfzRpe6ZAYRfZUNv1XG8uhcL4u966CRO/a6EX9SwGRVoxaJwifcVIUlalIhnWU5+CM9AFPXBxIo84b9Oz4M4tliV6z3qf6Z39dwNG+7ny0XOw6Wfxvzsgs5SnfhMOB56QtzPuKrABZnLCWEsqRIrxNrqAoVyVrvAHIZ2z2C3w1SuY8+pPzk56RhWnXFmAJ4mlpUVuC30umKeZSg1L+CfXefDzONeIkAB9EKAGgGz+176MJxnG/fG2sat2AJa6h5hLlDnARZwzvaAjV/xW9iv6jOpWB1OBMBBLXO9ccZMEEU/TFhDbMqjKo0P65LRodypV1WHbOz8pAQFbCiPER0iOWwsS71hoMHez+G6tzzei8Zq+VWf0SlnvVnaRaFRP+zC/eNxKAAexL+Zm+mg8Wtoc6ScXi/tvKQ2gfXHbS6hecLBhMs4I93/tjw0P0IZkPEugiV+7CKmHBbDZ060yxRX+ZDWTRQ7F6zHw0ppfBJywtm2FEwhlBhF/zh/E5ZGJj7Mx5zZKjHYj/3Q4GP4v5B/Unqx4f9Wu6k83PRVB6cUBKf9qwqk4VXXJ/kbsRxIbKgPFKoyn6TvbiCZaQGsJiW0FNbgWVh4HcanZgD+Kou6I4k4DaeSlSjBX05TXm3Vg8S/8hu5UK2j4kf8h0e7/HM9VOXpGlskq89sc/4ZKA2qhRFfq2cNyMZe0jcVwjr7iRPdDjA5WuoaGtm9Az+okhvw7Sf9najtjF4FwL8jaxUHBraS+3ujuBncVpgIrRRk97NjMOjkO6H+9sA+2nRFDHPZIPvFmAjHvQwMkp+fgdXb042repZucKhSFic2zYo3DWa5/IZCkfSzglZo3FS2Sr5CC+ffEQy+9PoUyAd5VQIXk9OTpv1PzNXEClRIndta2KYg7lfZbAmqucSC9qyh18L3Uf9qW2+SapH4Mut/RzMBA+BUM1a5wYdgfYruF2IOeRnRIJ51jRl8CJOuyHvMSYKFo9ZWE15wBQrizU1U9JcqOnKawHylGrPUKG/cGaw5gLPrsUt3/HxigpRezxaB5FP15eBAsh6FFB+xPpszSEy0lsUKkAO2Pb4AZQxWr+LtVr7OAK9RqX8njWhNJ3OX0yx27Ih7cN/uyYTQt0vU9qm7+Ur/d6YVzL82tr1D2NBs+pSXlP0fodQn9n+nPxRDfkjAdu74QC53b/3lb+XYvx0lNOpZETNPdVW+IdEcYzST/QfrvYCK3BNBHh1i4fuWvH6kaIRQV6KBtdhAJiM+gOVcvL718er33FAEgfM/1/245CnUTIHV22IeOGqOwYbXAWNpIfpgTmfIUtCbKusobiPhsA9UN6IzWXg+icF9auG7MDBG6aunM8MX9C/izYSaTRcAXCTxDoAE9nPfbVtWAyWAucVgXfsEdpbyVnrvIiF65Vhyn++pV0h4kYLTfmst5flkHqqjB7kh1Zw9qhsMmcWY4D77Rh1C4VA6twr1RxTNtMmBmchHAUUg0CtR+33Kny5Y1UAqMfrPnWsILMbATOU2Jxw48SIvHdtGF26Ck/xEDCAvPTvou2AcZohnZLzkW4ZxhfXKzf1EBcVCoOPUdoNBoXojEmygkjyse6erJSXjZMG2BsVI3iWy794LBFtUFdXSwQgWLs7ZimrBRw5qMYaCyGQEXsB+ol3M0NuaOEr2zlWizF28Xo1zvY+qsSJAYY3rqzmnswrLn9jjPIK0j+I+tzD5pVtcL93VRuiGcchpVW7eFB5Ujiz4ykZIuDXuIHVflHf1IDne9PqPc5X6cxiGUWY5RQsBrPCbrd3OFlSSvVMFWss9Wu1NRaHRDj990PqCXYXz/aiUmZ1qIEeJScdN1MgeRIZGBjSvnm8Gq4asn91L4MPEkQJVDXyqTn0Lvsd3uo8aPcdNXh2//7XPgfMYXKW9S4o7nKd3N/OcHHWxTUCcPvOz2tA4VlL8WrOTRX3ycZTjWDXk/bxywGqAWaWQPhAc2YjYT8I1J4cX0xFsVBJP1gFZPRXENFiEsoIoheMhLfJzkkJf8sdhyA08knMZd4aRefZwr5CP9AQmWGrCEvCVcTfhtiOEhiAMCs7AFBH0va0e9wqsJQx97eDze1pC8eloAr9iAOGAKw2xRQAUXmfCd45rm4JuHE+OHA9md+/nVX0ue/Yz6tjHdWY/l/66OSfwgU9e8xDWaOTYEa7DW5QGWOGjmBGyCOucubMGuSCpM8V0fg7tYnVxWfvDO/8t1G6nAG+G48QEKhb0tlOOreklSM3Q3AcIi6m9j2VHN8xlmLorF9ksLCVYDKRUwes22W0CcGDh6gw8oVz0LeFO3ZjmnsUyOl85fTSW/xmc4PCzDhOIOozCUIS2EE2ZfmBFiKxKbbij5u5hRo4Sw2+kkXCi/LLp4E4p4dli+tAKBM/GCEqsrfqHS6zr1EWunOVse9GlvCXi5thndMsBU9zNIFSJLUrshwK/C79MLkeBTgHsBRE8gefadPZZlbyEAfiVCaPmAPf+kPDSRkue1AYov/PIk3eWQ2piAEbLiGjZ21oFEVx6uUeLFnDuHPTY/TMaLpZ27eYvrADq+kwZ+5G5VunkWBiTV97jCD3u9ameWR5mKgHx3Im3CIqIhVteShvVv8+947Qirg4Pyah12hMjPErmqwSiu7SnCvDjEXecEP0OcR+vHy1ytAN4Tizeaa+v1NbPKrBSOXTxEvfkhixTQ+/UDvnjAXoPhBkx2EkfvdmzXYvLBH/KGX3M/kBc004VY18IQ/uV7ICtW2s4E9EkZoiBRKgJG8VD25QRdeL1/iTEaQtZmFelJKR7vN7FC17LhPv+7HmV+8AIzf32DCKTFZtuyaIWilXi6Te94snYSdKCABC0r+2FbaoiK3ufKY6FYYXqBMmWdZ2iEf2F6LdvbEcuKk6zKA9VaZM8qtEmy9S70Wb5gbEpsGNfNTQ4WVeEw3fsYJ8bB0EWtOZ1zzHqV3tW+BBZGKqe2ZHCXMu/+v3jnoezcnLLWeoD2I9KBijo2o6Ed957syatLKJYoMVjWoXi2mJ2VjJRGPLbARkrsKecrJY6liU6Hq0gEESZFAypK7TIE+/bXfKEwgGY07QJPEiakrp5y6qzsMPNhThUK4qHTdZVObZTFxyTN2JMB3uL/cFTpZlXwjFG+E6Ir4KxDlOOoJIAn7FoIIRI7SI+VtYS8fV3o6sWhmHScqJiToKTuoD95fkT5uQGfTERSHv68lq3fDS0rpLZC9z44lD4zIteoOd+1M65VhKywVVfc84jAXKW5cB0gi34MQYyxydW18cyuEDbcsXydcAsxdWKoSrpm+ZjRHiq779n5KsHxpGRHcH+MHBfbnVrcIRVHP8f2/6lDrOgi8QxjG5pRaoLzED8DXU5Z8OAhJ0qVJ/Y/dI6bcrXsAZfS0nyUX9/0VN4ANsIW3Z817USvtcE5GkWEFsNLDo44FS9vrVaweYeEBMCHn3Tt4RhT9I12IzkUXQCfkC+MCwdNLbvB2GsQyv2tI5fLhOXB00JYanyX7Fhj+X1PjeLsJzljXUURDAYYUAwJ519r/E2VQUd2kH54Qyh5p6gqwiRLmJFt98aYTM1TJ635uuPGsj9ZfK/BcBNEC3xxGAR/p4Jtxz3f4t+yvmXpb7GeqbPlP103qLeI2jY8GK3EI84ZvIqW33msStmCVoI2Kznds2TJzJYIBEtfgcYjSc9LfBGWANsqJSsIQIa7WL9aHSpnTIoBrCiafB/T3RQ/2srG7S6pA8HUe6rzrz3/mjiiwAWFkmJDCUJyUNWyWofMSlJfxG+8eZhcXh6z2SGLtBA7jnXGfFWAe+CpWTKUx3VTxZI/uy9bu72Uzk892xnJQsCeueRgID1x6QSk00wesVIZAosvctKjrWRFm0beAdlD9PhGqXsQfoYEV+kwZ23PWMwBl+OzTLS9RRKhhyW+kHWquSJPolumE8WFJeGW5gLHudTs++wot37XkLoLUoU6fcIG4KHROSYgn6ev0bN96au5KyLbhgEPUsvrnaiL3QvQ5gHgLgSECQeH6MWeW+U70iLKtmGQspbCImMy5rMQN8cJZMTVBQhRc87lFX4fhm0mon5YrqkNLrOVx1UMinFEQcnRs8ydWiIr4ShMhsJIa8lD9lHTB3u0FBKA22b0AlCmm9kgVAQs8bh0RYL7XEqOzncRP3wHvoSpo3c+liTxRLOQIyuDxd2rykrrBEO01Vdjp7AsbMinZvwdjoMYnw9jYMYb14YpSa6lw3H8N6bSpfSNPkqTJNQ2zNZzc2mrDWYKxmz7x8QVk+wUY2+7Q8GQp88KpiEE0qveseUU3uf/hCOEW8orlevKHiVyJ2p2LmCJCdCWsAABuTfsORqjtseQTPzrq0U81gML4Ku+v4NblU/H1xBLHAmvzEinKHEfJhlM/mNv3cJDCzXlOafl4Med07wSqVp5moosmL2D5n69GS0uKhhk80AA/44o/85VN+Ff3fcVCyk7f/Nnu6iKazpW6HIDmIidCcOFqX9O92PjEH9RRf6TjYyEGs43YGd6VhG9WvT1qK/aGAHwGIlqjqwNcRIjQ+6e9AK5yUvhSV/u7MvMaQQCyHIg+eibuH/EvbUUQzb3e53OGKih6Fc8GLQaorlzFBNtUSWhxhtiffdyUZJihXcxvX6XkYju31nCDYpcaaGg0LWAwhWg8c9sGKG53cHtR7NZQ27W8gX3awTtLcICz+ymswV85ekVM1y9Yp4qjzhHtzeYs3aguuf0DL4DdQZcO5mdxLjHJJfOIYBuUAZe9kG5jP/gy6ARXm9S0xstmL1x19U7oMuASO3eAbjQ2d9Rh098SL3ghEXTMPFLpyDTi2bnPD6gjR4VZaJ6UjV77fnJEwZiKd467OJV0L1Hg4Aw6e14igVzBB//A18S1oAGXXnINHb2iMrOUaLzYb3oQkE/EYSCNIzpd8JqbRvH1NQiRYosFYFopKkiSdD5dFpuoWpisem61gdkUdvUd80OuOKddsBpyuq4S73ta78LOuUeSzMnp7i5A3OOhHuthuJhw3GaXgMIcL/gJHVZ87xHYp20wJWoHTJ+SgI7OeIoYmTGQwZ76bCJ99o9QYC0hwxci2/AJKSIDZXCvzE+Hvjij5wqzbx1SXhL/KfbzEsw3iM8k71/Z2zQj7oFsXSVA0qJnSgz+JBEpf0+BPmNGsG+RJJrAyxOKqNk2REqmZVkkjSX+E7VNDr7+lERsH7ArYvAMJHYZQ+L0WbmL0xWR/2gzyFSW7AJxQkiPJPhnrfB/KLTxF9tB/W/x9TTXL3NJ25K8Zf28C75ChigpEHqtl48gr+FeXv+QPXLIYs46Jbs4BjPgC8Piei2+MXe3a12wK0MgNMSTFMr0dvqLnSfYom/hlQl4YQiVGpg/Ba1C9vA9M4R2MiUDDSHzEUf3T7n1czLKcUiyBKg6nCMv3g53RsLtT3mz+OJm+BK+DY5CbYhorlUweyZqxdBnt9DGkaGrCj4ZG2U1mCvnL0hGgav/BFgS/vp3NdKfQXai7YNgN9SAPDlTrR3pHbVPMlhNP5HiNaC6HuPaSh3cVa44aHUgNyMz6DcTHnQe4Bs5R0Jg4SSHYBIgZeAii+uZPwcXPngOShfUnlTpPWIAAAOylBy6Dw5iDgTYojGxYdtr4GPa3YcTBKYuyW2t2BF1TVpGBw2li167eWYVRKGKUkIm20bK064dkylSc3MmKwN4Abpj77jCMx2Zxf/0j1F1cE2+wQfUVxjWeAurxUQgCMLFIePtAqOOUcv3FQj42V7HlwFSkW5WnNmixVIl3ZlQl3h7ghN7jcelfqx1DOn4T19RsbZAlH33wSWU1oLmO+uMHgNq6l+cC0YsEf0cApYdIvtJ/vh2eN/okvxo8q05vo2Vm/AxxMJLjpLqz1tr/tKdvxXdolONJ5Lv20vlB840EYx4+Md4mNBg1bp6HBiVfuvKPRh0STEUCoh2WmOPLKiqr9CFQddnOa/xRJsM1hbxkBn6E/+rhVI1uq1eRopO5BcbkfFCzrKZ5HstKWlf4UfeEi1rPIUlpXXaICw5+JPIylRzoerRHsQzD5OVwGYxTULG3qDFk4VKMqdM60DvG5uCB9jFgzOnZ5z1lqR8EmNXKD2PExWQJduXALqPoB44jL11rStVZpihSpT2qQexuA+O0G8ETJvlxi/2NbAc6f+lMMfoagYEV+Vqwi/8WWmJ/9yfThOcjQOD6uK6QDrI9Bbd3XXy81ql3tN8WLoTvZdcEqQVl/9nwnEIJBWLQeb/jKXee/yMRbUIFB5o7EVyYazGDes+d1nH1BG+pJ32z9Cf8ygBMaH7Yvkcd6PjrlayQdFCTAkplmP/vgL1RpBnWiKn7LckUz1WPaBjR8Nw7OdqYM7h0E+lbnD+rz+SoquGyXgiA3unsTWN/DjlkN+jYXsQVREBQkATgEb4FmmMwqnTWJdBlsU3zYtyPJ2XIDvlIDFzRtFgY2KZjt1F4V0LdnvKfza5o/ZzBUISS4FDidaDEy8ISwJ3vKO9IsAAVbS5UTtW/fmFIbOYmZ0O8zVyVXeIHF+VrHvyyW9MwhU6BG0oET5NK7FBFzLjerwVIKfGs3KDj/0jpYErF6yt9fJsDh131ewIlSDxAjEPSGndwcnh0r5elV1DoYyQBPhMroR+nKrwiojWHyZVxmJuJwNyJEDYTDDocvzh3wXeiffN45mA59xyyNKSRvy5Ftl9LpTydcqS/nlaAKRSu3wKrOHE0oA/iqzy9GLzPzDoXM/foKPpLfG7C5dPRgayqw6LMH9KXdeCN/zIHkxFijKqNKZjARzxiutx26A3qbC08+3KZLzJqdYkYdfLV1GAJyKuXHOtNjAk+uZyeQ+FEIVS3QDVaibQ8oj3QCyoE4WLjmAvsUacXJ81KohCBWFcff4kAVNmkLNS+pUHDxLfE/4MHcrOHFCZfsC/EcVGpzYkEfvD+EFdUDkARQgju54Abje0z+eUHSvSqhtttwytRBVFdFMiAiLDKt+xKLHGmTsL+4GTJP2xxlO1I9OmzdFABwSExdyusp0ZlpQg2Q2lGK9NckeHZNwUlP7GJ2c0hjdKTfacl1jdY21bbNEC3CE+ZG//GO9+W0pClSI2Jqak6SuE5ei1AYOAMNardcQdYbwvvVVPlM3kq3QssXilcbtEKVeL2WF41dhMcJXk/zrxRJHm35K5UyWL0qgnWAMbWNZen39g0jmwbxXIaOa9iZRNfE2WpHXZzLlbOB0X6h8L+qorH3PHF6TWs0LWcHpBxBuOSTSotAumhUIqduwBg+4GUjChKtMArGnYqeefn0Pmpqx88iH42p/nEWm5IvuaW8rRGSQaZoodspz8BVAzFNwFPC4qzAnAnlZwOaGgsMPA8Zu1ZxMjcPkDl0V7xBPlM7o+hDFayfpSlQu8BlmSuV0gc4qcBPSFDvlb/D35Vqma0v+jKnTM4m0Gy2k4hD9dmHsbjUPM9dNRwyQUmkaSk26bmWfwX8cclK7cO6enPjhXdxexuhu1q3UcOPG9HU34mPzCWSVOZFJyEV6r3iQeIIj3Yz5L1V2/vTXIcPcjgT9fD07CuZAAAQKtDa4Gb+DuWR6GUAhrDOAEx0lmKhFfYgmyPT0WwWb3J7oawFkJiyoPn1/9a8uTxV1xN7zC84AkSMtiyE/hugd0MQ0o5vQacwvUScHTjC2MwdlKuBMxMNa7K7HlJkYRfutN1UU9dNhCodYqjVrZyI/nAVXD86R+6bti2ql8QbA/vx18sRitbXogN0wpS1of9skoQDLE7oEXvq3jN8Ymd7FNi86YuqfpMUKyJBtUvgQctrUGtHhiw0f+TYQg1yvmKfxcHES7Ba9Zhhw/YOjf+BxaZoP1uWvqlx17ejhRvO+lMrk01ffRMSpfMLOjeHW3O3hJUQn6FrgQRAFYzO5QS/oZ1/p3VlVifRs6rqvnlwAbzFM27DjyXXiBah4AIolCPKeBiXv7F08LGaum3098eTKihQynCrR6YyEVu3Od71vwTBC+/4Dw8amfI+qkXR8UezC+XGEXVFmSH6V5WSPmXov5azB/t8pnNBqG7S8D3DaqVLCs4qI2++RBC//TEr1xgjuzUC11+JyzdxN1q/5Md56hYmWBj6TvlF3yyH7Mr0hbOsdRvKmSvK/lhJyDDqur6OkgfzcKF+32nOLiNmEfVevX1/Oq0O5jjjTtDvJhArh5lWIbLBD8SlUAnkYK2j5ZXUMwn/jorNd+gJ1HgduJjN0bc9zSS2mMNioAGSjvk/rOw+QdrTc025Qq75Fff8Yode7QNJB3xhBjeRTckAJjb3CykEanEaa3dL9Bw5RChb68KErHXQvt5SY7nGt/vE8WZq5kWNp8XxyIBeY30iTNSDqET6xYWCf1WuYQxaHQC7ef9HuBle0//UyrhEX/u0EK9zR0V+xl1rEltHvLANF+Vur70pmEF4LzIIgt6JNiyW2vzfpnfc5JZ1clqFMBonqlkFUTAiWe4+sdY2v+4W+8n84aH/h9vcYpopYSOKOrHyq+EKL1ZoKqd0Ajx6102J/kpXVI+2rD9lSbNMnFE0nQooYhTUyFlA08CszGepI99JxZGKOf91200hBLP6YIhhceG2qA77DdzkW0gjWV0F/WzxEPmnqLlnarLFN8R6j52O8rvkA+13+djdYCz3nWsYRb6vs/p2yVfr//4yNkxiBBPKGzS4KKTcP5RUbt525upTdakOXnQOL/kH1oIXkxFeaj1SabPDT82hwBNXwiBEozMLGvEYJgiuYoRsQ+uL5nNGQJ2uF6JMyrTZJYp0ED/9X9Vd2zvdH9Zsz/h7ajkVnevx2UdCF4J+7S4QWfAQFOfLr2gBijeSAsB9/eftd9I8tz4pC4cGP/PDBbokVvXDZ2/PAUV31x/3dy0AAAAAA");
}
.header .brand {
  gap: 14px;
}
.header .brand .brand-tile {
  width: 58px;
  height: 58px;
}
.header .brand .brand-word {
  width: 152px;
  height: 46px;
}
.site-footer .footer-logo .brand-tile {
  width: 56px;
  height: 56px;
  border-radius: 13px;
  box-shadow: 0 0 0 1px #d8b5664d;
}
.site-footer .footer-logo .brand-word {
  width: 146px;
  height: 44px;
  background-image: url("/assets/brand/arafan-word-gold.webp");
}
@media (max-width: 1080px) {
  .header .brand {
    gap: 10px;
  }
  .header .brand .brand-tile {
    width: 46px;
    height: 46px;
  }
  .header .brand .brand-word {
    width: 126px;
    height: 38px;
  }
}
@media (max-width: 560px) {
  .header .brand {
    gap: 8px;
  }
  .header .brand .brand-tile {
    width: 40px;
    height: 40px;
  }
  .header .brand .brand-word {
    width: 106px;
    height: 32px;
  }
}
