.topline { display: flex; align-items: center; min-height: 34px; }
.topline .notice-window { display: block; flex: 1; min-width: 0; overflow: hidden; }
.notice-track { display: flex; align-items: center; justify-content: center; min-height: 34px; }
.notice-track > span { white-space: nowrap; }
.notice-track:not(.moving) > [lang="en"] { display: none; }
.notice-track.moving { --notice-item: clamp(255px, 34vw, 510px); width: max-content; justify-content: flex-start; }
.notice-track.moving > span { display: flex; gap: 13px; align-items: center; justify-content: center; width: var(--notice-item); }
.notice-track.moving > span::after { content: ''; width: 5px; height: 5px; background: #d7ac6c; transform: rotate(45deg); }
.notice-track [lang="en"] { font-size: clamp(.65rem, 1.1vw, .78rem); }
.entrance { padding-block: clamp(29px, 4.4vw, 58px) 20px; }
.collection-intro {
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(0, 1fr);
  grid-template-areas: 'copy visual';
  align-items: center;
  gap: clamp(12px, 3vw, 42px);
  max-width: 880px;
  margin: 0 auto clamp(28px, 5vw, 64px);
}
.collection-copy { grid-area: copy; }
.collection-visual {
  grid-area: visual;
  position: relative;
  isolation: isolate;
  display: grid;
  justify-items: center;
}
.collection-visual::before {
  content: '';
  position: absolute;
  z-index: -1;
  inset: 4% -9% -4%;
  background: radial-gradient(ellipse at 50% 55%, #dec9a790, #efe7d959 46%, transparent 72%);
  pointer-events: none;
}
.collection-bottle {
  position: relative;
  width: min(100%, 330px);
  aspect-ratio: 1;
  transform: rotate(-5deg);
  pointer-events: none;
}
.collection-bottle img { display: block; width: 100%; height: auto; filter: drop-shadow(5px 10px 17px #56432929); }
.collection-bottle .bottle-cap {
  position: absolute; z-index: 3; left: 50%; bottom: 74.2%;
  width: 22.2%; translate: -50% 0; filter: none;
}
.bottle-sparkles {
  position: absolute; inset: 0; margin-inline: auto; width: min(100%, 375px); pointer-events: none;
}
.bottle-sparkles > * { position: absolute; width: 9px; aspect-ratio: 1; color: #b98867; opacity: .73; }
.bottle-sparkles svg { fill: currentColor; }
.bottle-sparkles i { width: 7px; border: 1px solid currentColor; border-radius: 50%; }
.bottle-sparkles > :nth-child(1) { top: 26%; left: 10%; width: 12px; }
.bottle-sparkles > :nth-child(2) { top: 16%; right: 19%; width: 7px; }
.bottle-sparkles > :nth-child(3) { top: 38%; right: 8%; }
.bottle-sparkles > :nth-child(4) { bottom: 20%; left: 13%; }
.bottle-sparkles > :nth-child(5) { right: 9%; bottom: 20%; width: 13px; }
@property --liquid-level {
  syntax: "<percentage>";
  inherits: true;
  initial-value: 87%;
}
.entrance h1 {
  font-size: clamp(2.8rem, 5.9vw, 4.9rem);
  font-weight: 800;
  letter-spacing: -.034em;
  line-height: 1.12;
}
.collection-intro p { margin-block-start: 10px; color: var(--muted); font-size: clamp(.95rem, 1.9vw, 1.18rem); }
.collection-link { display: inline-flex; gap: 7px; align-items: center; min-height: 44px; margin-block-start: 12px; color: var(--deep); font-weight: 800; }
.collection-link:hover { color: #815c2b; }
.collection-link .icon { width: 15px; height: 15px; transform: rotate(-90deg); }
@media (prefers-reduced-motion: no-preference) {
  .collection-copy { animation: collection-arrival .6s ease-out both; }
  .departments { animation: collection-arrival .65s .14s ease-out both; }
  .collection-bottle:not(.is-filling) { animation: bottle-idle 8s ease-in-out infinite; }
  .collection-visual.art-offscreen .collection-bottle:not(.is-filling) { animation-play-state: paused; }
  .collection-visual:has(.is-filling) { z-index: 2; }
  .collection-bottle.is-filling {
    --sequence: 6.4s;
    animation: bottle-sequence var(--sequence) linear both, bottle-liquid var(--sequence) linear both;
  }
  .is-filling :is(.bottle-empty, .bottle-sprayer, .bottle-pour, .bottle-inner-stream, .bottle-surface, .bottle-mist) { position: absolute; }
  .is-filling :is(.bottle-empty, .bottle-sprayer) { inset: 0; }
  .is-filling img { filter: none; }
  .is-filling .bottle-full {
    position: relative; z-index: 1; clip-path: inset(25.4% 0 0);
    mask-image: linear-gradient(to bottom, transparent calc(var(--liquid-level) - .85%), #000 calc(var(--liquid-level) + 1%));
    animation: bottle-level var(--sequence) linear both;
  }
  .is-filling .bottle-empty { animation: bottle-empty var(--sequence) both; }
  .is-filling .bottle-sprayer {
    clip-path: inset(0 0 74.54%); transform-origin: center 25.4%;
    animation: bottle-sprayer var(--sequence) both;
  }
  .is-filling .bottle-cap { animation: bottle-cap var(--sequence) linear both; }
  .is-filling .bottle-pour {
    z-index: 2; left: 49.3%; bottom: 79.9%; width: clamp(2px, 1.35%, 4.5px);
    height: var(--pour-drop); border-radius: 0 0 44% 46%;
    background: linear-gradient(to bottom, #d79a539e 0%, #e8ad63b6 42%, #ae6d24 97%);
    transform-origin: top center;
    animation: bottle-pour var(--sequence) both;
  }
  .is-filling .bottle-pour::after {
    content: ''; position: absolute; inset: 0 25% 0 14%;
    background: linear-gradient(180deg, #ffe4ac3d 0%, #fff1cbb0 65%, #ffe6b746 100%);
  }
  .is-filling .bottle-pour::before {
    content: ''; position: absolute; bottom: -1px; left: -60%; width: 220%; height: 4px;
    border-radius: 50%; background: radial-gradient(ellipse, #f4c47b95, transparent 70%);
  }
  .is-filling .bottle-inner-stream {
    z-index: 2; top: 20.1%; left: 49.6%; width: clamp(1.5px, .95%, 3.25px);
    height: calc(var(--liquid-level) - 20.1%);
    border-radius: 0 0 55% 45%;
    background: linear-gradient(90deg, #ba772880 0%, #f6d78fbb 45%, #be813d86 100%);
    transform-origin: top center;
    animation: bottle-inner-stream var(--sequence) linear both;
  }
  .is-filling .bottle-surface {
    z-index: 2; top: var(--liquid-level); left: 29%; width: 42%; height: 2.4%;
    border-radius: 50%; transform: translateY(-50%);
    background: radial-gradient(ellipse at 50% 12%, #fff0bb80, #cd873248 46%, transparent 72%);
    animation: bottle-surface var(--sequence) linear both;
  }
  .is-filling .bottle-surface::before {
    content: ''; position: absolute; inset: 15% 37%;
    border-radius: 50%; background: radial-gradient(ellipse, #fff5d0ac, transparent 76%);
  }
  .is-filling .bottle-mist {
    z-index: 2; top: 9.5%; left: 51.7%; width: var(--mist-reach); height: 36%;
    object-fit: fill; mask-image: linear-gradient(90deg, #000 39%, #000b 73%, transparent 100%);
    transform-origin: left center;
    animation: bottle-mist var(--sequence) linear both;
  }
  @keyframes bottle-sequence {
    0% { transform: translateY(var(--bottle-entry)); animation-timing-function: cubic-bezier(.22,.66,.29,1); }
    17%, 95% { transform: none; animation-timing-function: ease-out; }
    100% { transform: rotate(-5deg); }
  }
  @keyframes bottle-level {
    0%, 25.5% { opacity: 0; }
    28%, 100% { opacity: 1; }
  }
  @keyframes bottle-liquid {
    0%, 25.5% { --liquid-level: 86%; }
    32% { --liquid-level: 70%; }
    49% { --liquid-level: 30.8%; }
    53%, 100% { --liquid-level: 24.2%; }
  }
  @keyframes bottle-surface {
    0%, 25.5% { opacity: 0; }
    28%, 48% { opacity: .72; }
    52%, 100% { opacity: 0; }
  }
  @keyframes bottle-empty {
    0%, 62% { opacity: 1; }
    66%, 100% { opacity: 0; }
  }
  @keyframes bottle-sprayer {
    0%, 52% { transform: translateY(-25%); opacity: 0; }
    56% { opacity: 1; }
    65% { transform: none; opacity: 1; }
    69% { transform: scaleY(.973); opacity: 1; }
    72%, 100% { transform: none; opacity: 1; }
  }
  @keyframes bottle-pour {
    0%, 17% { opacity: 0; transform: scale(.65, .008); }
    19% { opacity: .9; transform: scale(.87, .36); }
    22%, 47% { opacity: .94; transform: scale(1, 1); }
    51%, 100% { opacity: 0; transform: translateY(8px) scale(.55, .98); }
  }
  @keyframes bottle-inner-stream {
    0%, 21.5% { opacity: 0; transform: scaleY(.01); }
    22% { opacity: .86; }
    25.5%, 49% { opacity: .86; transform: scaleY(1); }
    54%, 100% { opacity: 0; transform: scaleY(1); }
  }
  @keyframes bottle-mist {
    0%, 67.5% { opacity: 0; transform: translateY(-52%) scale(.015, .09); }
    70.5% { opacity: .77; transform: translateY(-52%) scale(.43, .54); }
    75.5% { opacity: .46; transform: translateY(-52%) scale(.91, .9); }
    82%, 100% { opacity: 0; transform: translate(4%, -50%) scale(.96, 1.13); }
  }
  @keyframes bottle-cap {
    0%, 81% { opacity: 0; transform: translateY(-115%); }
    84% { opacity: 1; transform: translateY(-108%); animation-timing-function: cubic-bezier(.32,.65,.22,1); }
    95%, 100% { opacity: 1; transform: none; }
  }
  @keyframes bottle-idle {
    0%, 100% { transform: rotate(-5deg); }
    35% { transform: translate(1px, -3px) rotate(-4deg); }
    68% { transform: translate(-1px, 2px) rotate(-5.5deg); }
  }
  @keyframes collection-arrival {
    from { opacity: 0; transform: translateY(12px); }
    to { opacity: 1; transform: none; }
  }
}
@media (max-width: 700px) {
  .collection-intro { grid-template-columns: 1fr; grid-template-areas: 'visual' 'copy'; text-align: center; }
  .collection-visual::before { inset-inline: 0; }
  .collection-bottle { width: clamp(150px, 49vw, 220px); }
  .bottle-sparkles { width: min(83%, 290px); }
  .entrance h1 { font-size: clamp(2.3rem, 9.7vw, 3.5rem); }
  .collection-link { margin-block-start: 6px; }
}
.departments {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(11px, 2vw, 20px);
  max-width: 740px;
  margin-inline: auto;
  scroll-margin-top: 95px;
}
.department {
  display: grid;
  grid-template-areas: 'photo' 'copy';
  grid-template-rows: minmax(0, 1fr) auto;
  aspect-ratio: 1;
  isolation: isolate;
  overflow: hidden;
  min-width: 0;
  padding: 7px;
  border: 1px solid #fff;
  border-radius: 28px;
  background: #fffcf7;
  box-shadow: 0 5px 16px #283a310a;
  transition: box-shadow .24s ease, transform .24s ease;
}
.department img {
  grid-area: photo;
  display: block;
  width: 100%;
  height: 100%;
  min-height: 0;
  border-radius: 21px;
  object-fit: cover;
  object-position: 50% 58%;
}
.department-copy {
  grid-area: copy;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: clamp(13px, 1.8vw, 22px) clamp(12px, 1.4vw, 19px);
}
.department-copy strong { display: block; font-size: clamp(1.22rem, 2.42vw, 2.03rem); font-weight: 800; line-height: 1.13; }
.department-copy > .icon { width: 21px; height: 21px; color: var(--deep); }
.entrance:not(.compact) [data-department="home"] {
  grid-column: 1 / -1;
  grid-template: 'copy photo' minmax(0, 1fr) / minmax(0, 1fr) 29%;
  aspect-ratio: 4.6;
}
.entrance:not(.compact) [data-department="home"] img { object-position: 50% 62%; }
@media (hover:hover) {
  .entrance:not(.compact) .department:hover { transform: translateY(-4px); box-shadow: 0 14px 34px #283a3112; }
}
.header.with-departments { row-gap: 3px; }
.department-switcher { grid-column: 1 / -1; display: grid; grid-template-rows: 1fr; }
.department-switcher nav {
  display: flex; justify-content: center; align-items: stretch; flex-wrap: wrap;
  gap: clamp(7px, 2.5vw, 25px); min-height: 0; overflow: hidden;
  border-block-start: 1px solid #4f71701f;
}
.department-switcher a {
  display: grid; align-items: center; min-height: 42px; padding-inline: clamp(7px, 2vw, 14px);
  color: var(--muted); font-size: clamp(.84rem, 2.6vw, .98rem); font-weight: 700;
}
.department-switcher a[aria-current] { color: var(--deep); box-shadow: inset 0 -2px var(--green); }
@media (prefers-reduced-motion: no-preference) {
  .department-switcher { animation: expand-departments .42s cubic-bezier(.22,.7,.3,1) both; }
  @keyframes expand-departments { from { grid-template-rows: 0fr; opacity: 0; } }
}
.catalog-section { margin-top: 0; }
.info-page h1 { font-size: clamp(2.25rem, 5vw, 4.4rem); line-height: 1.12; }
.info-page { max-width: 900px; min-height: 53vh; margin-inline: auto; padding-block: clamp(32px, 6vw, 78px) 25px; }
.info-page h1 { margin-block-end: 22px; }
.empty-page { display: grid; place-content: center; text-align: center; }
.empty-page h1 { margin-block-end: 12px; }
.empty-page > p { font-size: 1.1rem; color: var(--muted); }
.empty-page > .events-status {
  font-size: clamp(1.15rem, 3.8vw, 1.42rem); color: var(--deep); font-weight: 800;
}
.event-wheel {
  position: relative; justify-self: center;
  display: grid; place-items: center;
  width: clamp(210px, 62vw, 304px); aspect-ratio: 1; margin-block-start: 35px; padding: 8px;
  border: 0; border-radius: 50%;
  background: linear-gradient(145deg, #f7e9c7 2%, #c7a16a 40%, #805c38 77%, #d8b779);
  box-shadow: 0 3px 0 #846341, 0 8px 0 #284945, 0 19px 29px #28413b30, inset 0 1px 1px #fff9e2;
}
.event-wheel::before {
  position: absolute; z-index: 2; content: ''; inset-block-start: -7px;
  width: 16px; height: 21px; background: linear-gradient(100deg, #ead3a0, #9a6d36);
  clip-path: polygon(0 0, 100% 0, 50% 100%);
}
.wheel-disc {
  grid-area: 1 / 1;
  width: 100%; height: 100%; display: grid; place-items: center; border-radius: 50%;
  background:
    radial-gradient(circle at center, transparent 66%, #dabc8275 67%, transparent 68.1%),
    radial-gradient(circle at 38% 23%, #fff5d62b, transparent 57%, #152d296b 100%),
    repeating-conic-gradient(from -22.5deg, #183d39 0deg 44deg, #c9a771 44deg 45deg,
      #527671 45deg 89deg, #c9a771 89deg 90deg, #25514a 90deg 134deg, #c9a771 134deg 135deg,
      #76948a 135deg 179deg, #c9a771 179deg 180deg);
  box-shadow: inset 0 0 0 1px #e6ca94b5, inset 0 0 13px #102c29a0;
}
.wheel-hub {
  grid-area: 1 / 1; z-index: 1;
  display: grid; place-items: center; width: 34%; aspect-ratio: 1; border-radius: 50%;
  background: radial-gradient(circle at 36% 24%, #fffaf0, #ead9b3 84%, #ccaa68);
  box-shadow: inset 0 0 0 2px #cfaa6c, 0 3px 0 #9e7943, 0 6px 11px #0e2f2c68;
}
.wheel-hub img { width: 51%; height: auto; }
.event-wheel:focus-visible { outline: 2px solid var(--green); outline-offset: 6px; }
.offers-page { max-width: 1040px; }
.offers-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 15px; }
.offer-card {
  display: grid; grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); overflow: hidden;
  border-radius: 22px; background: #fffbf4; box-shadow: var(--shadow);
}
.offer-image { position: relative; background: #eee4d5; }
.offer-image img { width: 100%; height: 100%; min-height: 190px; object-fit: cover; }
.offer-discount {
  position: absolute; inset-block-start: 12px; inset-inline-start: 10px;
  padding: 5px 9px; border-radius: 8px; background: var(--deep); color: #fff9eb; font-weight: 800;
}
.offer-copy { display: grid; align-content: center; justify-items: start; gap: 5px; padding: clamp(12px, 2vw, 22px); }
.offer-copy h2 { font-size: clamp(1.22rem, 3vw, 1.8rem); }
.offer-size { font-size: .84rem; color: var(--muted); }
.offer-copy .button { min-height: 41px; margin-block-start: 4px; padding-inline: 10px; white-space: nowrap; }
.offer-copy .button .icon { width: 14px; height: 14px; }
.offer-countdown { display: grid; gap: 2px; margin-block: 4px; color: var(--muted); font-size: .82rem; }
.offer-countdown time { color: var(--deep); font-weight: 800; font-variant-numeric: tabular-nums; }
.info-page .service-card { border: 1px solid #203e3810; background: #fffcf6; }
.info-page .service-card > .icon { color: #46685e; }
.locations-heading { display: grid; gap: 6px; margin-block-end: 23px; }
.locations-heading h1 { margin: 0; }
.locations-heading p, .location-card p { color: var(--muted); }
.locations { display: grid; gap: 2px; border-radius: 24px; overflow: hidden; background: #e8e6dc; box-shadow: var(--shadow); }
.location-card {
  display: grid; grid-template-columns: auto 1fr auto; align-items: center;
  gap: clamp(9px, 2.5vw, 21px); padding: clamp(13px, 3vw, 28px); background: #fffbf4;
}
.location-pin { display: grid; place-items: center; width: clamp(36px, 6.5vw, 52px); aspect-ratio: 1; border-radius: 14px; background: #e4ebe1; }
.location-card h2 { font-size: clamp(1.16rem, 3vw, 1.76rem); margin-bottom: 5px; }
.location-card p { font-size: clamp(.79rem, 2.2vw, 1rem); }
.location-card .text-link { white-space: nowrap; }
.location-card:hover .text-link, .location-card:focus-visible .text-link { color: #815c2b; }
.text-link { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; color: var(--deep); font-weight: 800; }
.text-link:hover { text-decoration: underline; }
.text-link .icon { width: 16px; height: 16px; }
.delivery-page { max-width: 760px; }
.delivery-intro { text-align: center; margin-block-end: clamp(25px, 5vw, 49px); }
.delivery-intro h1 { margin-block-end: 11px; }
.delivery-intro p, .delivery-caption p { color: var(--muted); line-height: 1.65; }
.delivery-steps { display: grid; gap: clamp(19px, 3.5vw, 34px); margin: 0; padding: 0; list-style: none; }
.delivery-steps li {
  position: relative;
  overflow: hidden;
  border: 1px solid #fff;
  border-radius: 25px;
  background: #fffcf7;
  box-shadow: var(--shadow);
}
.delivery-steps li > img, .phone-scene > img { width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; }
.phone-scene { position: relative; }
.phone-screen {
  position: absolute;
  left: 34.5%;
  top: 3.5%;
  width: 30.8%;
  height: 90.6%;
  overflow: hidden;
  border-radius: 15.5% / 7%;
  background: #f7f3eb;
  pointer-events: none;
}
.phone-screen::after {
  position: absolute;
  content: '';
  left: 36.2%;
  top: 1.45%;
  width: 28.1%;
  height: 3.6%;
  border-radius: 99px;
  background: radial-gradient(circle at 88% 50%, #141f30 0 5%, #050506 9%);
}
.phone-preview {
  position: absolute;
  inset: 0 auto auto 0;
  width: 390px;
  height: 830px;
  overflow: hidden;
  padding-block: 53px 75px;
  background: radial-gradient(ellipse at 75% 15%, #fffbf3, #f0f2e9 85%);
  transform-origin: top left;
  transform: scale(var(--screen-scale, 1));
}
.phone-preview .shell { width: calc(100% - 28px); }
.phone-preview .header {
  grid-template-columns: 1fr auto; min-height: 61px; margin-block: 9px 24px;
  padding: 6px 10px; gap: 8px; border-radius: 17px;
}
.phone-preview .dock {
  position: absolute; inset: auto 12px 17px; z-index: 1; display: grid;
  width: auto; grid-template-columns: repeat(5, minmax(0, 1fr)); padding: 5px;
  border: 1px solid var(--edge); border-radius: 24px; background: #fbf9f2; box-shadow: var(--shadow);
}
.phone-preview .dock a {
  display: grid; min-height: 49px; place-content: center; justify-items: center; gap: 4px;
  border-radius: 17px; color: var(--muted); font-size: .72rem; font-weight: 700;
}
.phone-preview .dock a[aria-current] { background: #e5ebe2; color: var(--deep); }
.phone-preview .dock .icon { width: 18px; height: 18px; }
.phone-preview .product-photo { aspect-ratio: 1 / 1.12; }
.phone-preview .product-photo img { object-fit: contain; background: #e3eae3; }
.phone-preview .shop-product-copy { padding: 15px; gap: 8px; }
.phone-preview .shop-product h3 { font-size: 1.55rem; }
.delivery-caption { position: relative; padding: 20px 62px 21px 21px; }
.delivery-number {
  position: absolute;
  inset-block-start: 21px;
  inset-inline-start: 19px;
  display: grid;
  place-items: center;
  width: 29px;
  height: 29px;
  border-radius: 50%;
  background: #e4ebe0;
  color: var(--deep);
  font-weight: 800;
}
.delivery-caption h2 { font-size: clamp(1.25rem, 3.4vw, 1.7rem); margin-block-end: 5px; }
.price-note { color: var(--muted); font-size: .9rem; margin-block-end: 13px; }
.product-price { display: flex; align-items: baseline; flex-wrap: wrap; gap: 7px; color: var(--deep); }
.product-price strong { font-size: 1.2em; font-weight: 800; }
.product-price del { font-size: .84em; color: #64726c; }
.product-state { display: inline; color: #426054; font-size: .83em; font-weight: 800; }
.product-state[data-state="sold-out"] { color: #954a56; }
.product-state[data-state="coming-soon"] { color: #903d3f; }
.detail-heading .product-state[data-state="coming-soon"] {
  display: inline-block; width: fit-content; padding: 4px 9px;
  border-radius: 6px; background: #fae9e2;
}
.product-category .product-state { margin-inline-start: 6px; }
.filters {
  flex-wrap: nowrap;
  gap: clamp(12px, 3vw, 25px);
  overflow-x: auto;
  margin-block: 4px 12px;
  border-block-end: 1px solid var(--line);
}
.filter-progress { display: none; }
.filters button, .filters button[aria-pressed="true"] {
  flex: 0 0 auto;
  min-height: 44px;
  padding: 5px 2px;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--muted);
}
.filters button[aria-pressed="true"] { color: var(--ink); box-shadow: inset 0 -2px #739088; }
.filters button:focus-visible { box-shadow: inset 0 -2px var(--green); }
.catalog-toolbar { position: relative; max-width: 460px; margin-block-end: 10px; }
.search {
  display: flex; align-items: center; flex: 1; gap: 8px; min-width: 0; max-width: 460px;
  min-height: 46px; padding-inline: 12px 4px; border-radius: 11px;
  background: #ebece3; color: var(--deep);
}
.search-icon { display: grid; place-items: center; cursor: text; }
.search-icon .icon { width: 17px; height: 17px; }
.search:focus-within { background: #e4e9df; }
.search input {
  flex: 1; min-width: 0; min-height: 44px; padding: 0; appearance: none;
  border: 0; background: transparent; font-size: clamp(.85rem, 2.7vw, 1rem);
}
.search input::placeholder { color: #546b63; opacity: 1; }
.search input:focus { outline: none; box-shadow: none; }
.search input::-webkit-search-cancel-button { display: none; }
.search-clear {
  display: grid; place-items: center; flex: 0 0 38px; min-height: 42px;
  padding: 0; border: 0; background: transparent; color: var(--deep);
}
.search-clear .icon { width: 16px; height: 16px; }
.search-clear:focus-visible { box-shadow: inset 0 -2px var(--green); }
.brand-panel {
  position: absolute; z-index: 4; inset: calc(100% + 6px) 0 auto;
  padding: 12px; border-radius: 14px; background: #fffaf2; box-shadow: 0 9px 28px #293e3026;
}
.brand-panel > p { margin: 0 0 7px; color: var(--muted); font-size: .82rem; }
.brand-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 5px; max-height: min(34vh, 250px); overflow: auto; }
.brand-options button, .brand-selection {
  min-width: 0; min-height: 40px; padding: 5px 9px; border: 0; border-radius: 8px;
  background: #f4f3ea; color: var(--deep); text-align: start; font-size: .83rem; overflow-wrap: anywhere;
}
.brand-options button:hover, .brand-options button[aria-pressed="true"], .brand-selection:hover { background: #e5ebe0; }
.brand-selection { display: inline-flex; align-items: center; gap: 5px; min-height: 32px; }
.brand-selection .icon { width: 13px; height: 13px; flex: none; }
.catalog-summary { display: flex; align-items: center; gap: 10px; margin-block-end: 4px; }
.catalog-results { margin: 0; color: var(--muted); font-size: .87rem; }
.catalog-results:empty { display: none; }
.sort-control { position: relative; margin-inline-start: auto; }
.sort-control summary {
  display: flex; align-items: center; gap: 5px; min-height: 44px; white-space: nowrap;
  list-style: none; cursor: pointer; color: var(--deep); font-size: .86rem; font-weight: 700;
}
.sort-control summary::-webkit-details-marker { display: none; }
.sort-control summary .icon { width: 15px; height: 15px; }
.sort-control summary:focus-visible { box-shadow: inset 0 -2px var(--green); }
.sort-indicator { width: 5px; height: 5px; border-radius: 50%; background: var(--green); }
.sort-menu {
  position: absolute; z-index: 3; inset-inline-end: 0; min-width: 157px; padding: 5px;
  border: 0; border-radius: 12px; background: #fffaf2; box-shadow: 0 7px 25px #293e3022;
}
.sort-menu fieldset { display: grid; gap: 4px; margin: 0; padding: 0; border: 0; }
.sort-menu label { cursor: pointer; }
.sort-menu fieldset:not(.season-filters) span { display: block; min-height: 41px; padding: 9px 11px; border-radius: 8px; white-space: nowrap; }
.sort-menu fieldset:not(.season-filters) label:hover span { background: #f3f1e8; }
.sort-menu input[type="radio"]:checked + span { background: #e7ede2; color: var(--deep); font-weight: 700; }
.sort-menu input[type="radio"], .size-picker input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.sort-menu input[type="radio"]:focus-visible + span, .size-picker input:focus-visible + span { box-shadow: inset 0 -2px var(--green); }
.availability-filter, .season-filters label {
  display: flex; align-items: center; gap: 8px; min-height: 44px; margin-block-start: 4px;
  padding-inline: 11px; white-space: nowrap; color: var(--deep); font-size: .87rem;
}
.availability-filter { border-block-start: 1px solid #e6e2d5; }
.sort-menu .season-filters { gap: 0; }
.season-filters label { margin-block-start: 0; }
.season-filters label:hover { background: #f3f1e8; border-radius: 8px; }
.availability-filter input, .season-filters input { width: 14px; height: 14px; margin: 0; accent-color: var(--green); }
.shop-product { display: flex; position: relative; flex-direction: column; background: #fffbf4; }
.product-photo { position: relative; display: block; width: 100%; aspect-ratio: 1; padding: 0; border: 0; background: #eee8dd; overflow: hidden; }
.product-photo img { width: 100%; height: 100%; object-fit: contain; }
[data-availability="sold-out"] .product-photo img { filter: saturate(.22); opacity: .6; }
.photo-status {
  position: absolute; inset: 50% 0 auto; transform: translateY(-50%);
  padding: 5px 8px; background: #f7f3ebd9; color: var(--deep);
  font: 700 .82rem/1.4 system-ui, sans-serif; letter-spacing: .065em;
}
[data-availability="coming-soon"] .photo-status {
  background: #fff8f2ec; color: #923b3f; letter-spacing: normal;
  font-family: inherit; font-size: .89rem; font-weight: 800; line-height: 1.4;
}
.product-heart { position: absolute; z-index: 1; inset-block-start: 4px; inset-inline-end: 4px; -webkit-tap-highlight-color: transparent; }
.plain-icon, .product-heart, dialog button.close {
  display: inline-grid; place-items: center; width: 44px; height: 44px; padding: 0;
  border: 0; border-radius: 0; background: transparent; color: var(--ink); box-shadow: none;
}
.plain-icon:hover, .product-heart:hover, dialog button.close:hover { color: #94713a; background: transparent; }
.product-heart { border-radius: 50%; }
.product-heart:active { background: transparent; box-shadow: none; }
.product-heart:active::before { background: #f4eee4; }
.plain-icon:focus-visible, .product-heart:focus-visible, dialog button.close:focus-visible { color: var(--green); box-shadow: inset 0 -2px var(--green); }
.product-heart::before {
  content: '';
  position: absolute;
  inset: 6px;
  border-radius: 50%;
  background: #fffdf7;
}
.product-heart .icon { position: relative; width: 17px; height: 17px; color: #4f7170; stroke-width: 1.65; }
.product-heart:hover::before { background: #fff; }
.product-heart:focus-visible { box-shadow: none; }
.product-heart:focus-visible::before { box-shadow: inset 0 0 0 1px var(--green); }
.product-heart[aria-pressed="true"] .icon { color: #9b4655; fill: currentColor; }
.shop-product-copy { flex: 1; display: flex; flex-direction: column; gap: 4px; padding: 12px 14px 6px; }
.shop-product h3 { font-size: clamp(.99rem, 1.7vw, 1.24rem); line-height: 1.28; overflow-wrap: anywhere; }
.shop-product h3 button { padding: 0; border: 0; background: none; font-weight: 800; text-align: start; }
.shop-product h3 button:hover { text-decoration: underline; }
.shop-product-copy > h3 { display: flex; align-items: baseline; flex-wrap: wrap; gap: 3px 6px; }
.catalog-tag { display: inline-block; padding: 2px 6px; border-radius: 5px; font-size: .7rem; line-height: 1.4; font-weight: 700; white-space: nowrap; }
.best-seller { background: linear-gradient(148deg, #fcf1db, #fffaf1 68%, #f6e2b9); }
.best-seller .best-seller-tag, .detail-heading .best-seller-tag { color: #674a19; background: #f2dfb5; }
.new-tag { color: #9b3749; background: #fdf0ee; box-shadow: inset 0 0 0 1px #cb7984; }
.product-volumes { margin: 0; color: var(--muted); font-size: .75rem; line-height: 1.4; }
.owner-page { max-width: 540px; padding-block: 35px; }
.owner-page > a, .owner-page label { color: var(--deep); font-weight: 700; }
.owner-page h1 { margin-block: 16px 18px; }
.owner-page form { display: grid; gap: 8px; }
.owner-controls { display: flex; gap: 9px; flex-wrap: wrap; }
.owner-page input:not([type="checkbox"]), .owner-page select {
  flex: 1; min-width: 0; min-height: 44px; padding: 8px 12px; border: 0;
  border-radius: 9px; background: #e9ede3; color: var(--deep); font: inherit;
}
.owner-page fieldset { display: flex; gap: 15px; flex-wrap: wrap; margin: 7px 0; padding: 8px 0; border: 0; }
.owner-page input[type="checkbox"] { accent-color: var(--green); }
.owner-page [role="status"] { margin-block-start: 10px; color: var(--muted); }
.product-card-bottom { display: flex; width: 100%; align-items: center; justify-content: space-between; gap: 4px; margin-top: auto; }
.product-card-bottom .product-price { min-width: 0; gap: 2px 7px; font-size: .9rem; line-height: 1.18; }
.product-card-bottom .product-price strong { font-size: 1.18em; }
.product-card-bottom .product-price del { font-size: .84em; }
.product-link {
  display: inline-flex; align-items: center; justify-content: end; gap: 5px;
  flex: 0 0 auto; min-height: 44px; min-width: 35px; padding: 0; border: 0;
  background: transparent; color: var(--deep); font-weight: 700; font-size: .85rem;
}
.product-link:hover { text-decoration: underline; }
.product-link .icon { width: 15px; height: 15px; }
.latin { color: var(--muted); font-size: .89rem; overflow-wrap: anywhere; }
.catalog-loader { height: 1px; }
@media (prefers-reduced-motion: no-preference) {
  #products > .shop-product { transition: opacity .36s ease-out, translate .46s cubic-bezier(.2,.74,.27,1); }
  #products > .catalog-card-waiting:not(:focus-within) { opacity: 0; translate: 0 20px; }
}
#catalog-pagination {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: center;
  gap: 4px; margin-block-start: 18px; color: var(--muted); font-size: .88rem;
}
.page-button {
  display: inline-grid; place-items: center; min-width: 32px; min-height: 34px; padding-inline: 4px;
  color: var(--deep); font-weight: 700; border-radius: 7px;
}
.page-button:hover { background: #ecf0e7; }
.page-button[aria-current="page"] { background: #e5ebe1; color: #213f39; }
.page-button .icon { width: 14px; height: 14px; }
.page-previous .icon { transform: rotate(180deg); }
button:disabled { opacity: .5; cursor: default; }
.panel-trigger {
  position: relative;
  display: grid;
  width: 44px;
  height: 44px;
  place-items: center;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--ink);
}
.panel-trigger .icon { width: 23px; height: 23px; }
.panel-trigger:hover { color: #6e5a38; }
.badge {
  position: absolute;
  inset-block-start: 0;
  inset-inline-end: 0;
  min-width: 19px;
  padding: 2px 4px 0;
  border-radius: 99px;
  background: var(--deep);
  border: 1px solid #fff6ec;
  color: white;
  font-size: .72rem;
  line-height: 1.25;
  text-align: center;
}
#detail-body {
  display: grid; align-items: start;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, .93fr);
  grid-template-areas: 'heading photo' 'buy photo';
  gap: 16px 22px; padding: 43px 24px 24px;
}
.detail-heading { grid-area: heading; align-self: end; min-width: 0; }
.detail-heading h2 { margin-block-end: 3px; font-size: clamp(1.65rem, 4vw, 2.47rem); overflow-wrap: anywhere; }
.detail-art { grid-area: photo; align-self: stretch; min-height: 268px; overflow: hidden; border-radius: 20px; background: #efe4d6; }
.detail-art img { width: 100%; height: 100%; object-fit: contain; }
.detail-buy { grid-area: buy; display: grid; gap: 12px; min-width: 0; }
.detail-selection { display: grid; gap: 7px; padding-block: 8px 11px; border-block: 1px solid var(--line); }
.detail-size, .detail-description { color: var(--muted); font-size: .9rem; line-height: 1.58; }
#detail-price .product-price strong { font-size: 1.63em; }
dialog button.close { right: 7px; left: auto; inset-block-start: 6px; }
.detail-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; }
.detail-actions:empty { display: none; }
.detail-share {
  display: inline-flex; width: fit-content; align-items: center; gap: 6px; min-height: 36px;
  padding-inline: 0; border: 0; background: transparent; color: var(--deep);
  font-size: .86rem; font-weight: 700;
}
.detail-share:hover { text-decoration: underline; }
.detail-share .icon { width: 16px; height: 16px; }
.share-options { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 13px; }
.share-options .share-url {
  flex: 1 0 100%; width: 100%; padding: 6px; direction: ltr; text-align: start;
  border: 1px solid var(--line); border-radius: 6px; background: #fffcf6;
}
.share-feedback { color: var(--muted); font-size: .78rem; }
.detail-actions .button { width: 100%; min-height: 46px; padding-inline: 5px; gap: 5px; border: 0; border-radius: 11px; font-size: clamp(.76rem, 2.6vw, .93rem); }
.detail-order { grid-column: 1 / -1; }
.detail-text-action { background: #e8eee4; color: var(--deep); }
.detail-text-action:hover { background: #dae6da; }
.detail-actions .icon { width: 16px; height: 16px; }
.size-picker { margin: 0; padding: 0; border: 0; }
.size-picker legend { margin-block-end: 5px; color: var(--muted); }
.size-picker div { display: flex; flex-wrap: wrap; gap: 5px; }
.size-picker label { cursor: pointer; }
.size-picker span { display: block; min-height: 39px; padding: 8px 9px; border-radius: 6px; white-space: nowrap; }
.size-picker input:checked + span { background: #e5ebe0; color: var(--deep); font-weight: 800; }
#shop-panel { width: min(535px, calc(100% - 28px)); }
@supports (backdrop-filter: blur(18px)) {
  :is(#detail, #shop-panel)[open] {
    background: linear-gradient(146deg, #fffdf5e0, #fff5e6bd 68%, #f3f2e7bd);
    backdrop-filter: blur(18px) saturate(125%);
    box-shadow: inset 0 1px 0 #fffffff2, 0 20px 58px #17352d55;
  }
  :is(#detail, #shop-panel)::backdrop { background: #19382f59; backdrop-filter: blur(3px); }
}
.panel-content { padding: clamp(18px, 5vw, 34px); }
.panel-content h2 { padding-inline-start: 45px; margin-bottom: 17px; }
.panel-list { list-style: none; margin: 0; padding: 0; }
.panel-item { display: flex; align-items: center; gap: 9px; padding: 11px 0; border-top: 1px solid #e7decf; }
.panel-item > div:first-child { flex: 1; min-width: 0; }
.panel-item strong, .panel-item small { display: block; overflow-wrap: anywhere; }
.panel-item small, .panel-footer p, .panel-empty { color: var(--muted); }
.remove { min-height: 44px; padding-inline: 4px; border: 0; color: #853b4b; background: none; text-decoration: underline; }
.quantity { display: flex; align-items: center; gap: 7px; color: var(--muted); font-size: .88rem; }
.quantity-controls { display: flex; align-items: center; direction: rtl; background: #ebeee4; border-radius: 9px; }
.quantity-controls button {
  display: grid; place-items: center; min-width: 35px; min-height: 44px; padding: 0;
  border: 0; border-radius: 8px; background: transparent; color: var(--deep); font: 500 1.2rem/1 system-ui, sans-serif;
}
.quantity-controls button:hover { background: #dde7dc; }
.quantity-controls button[aria-disabled="true"] { color: #71837a; cursor: default; background: transparent; }
.quantity-controls button:focus-visible, .quantity-controls input:focus-visible { box-shadow: inset 0 -2px var(--green); }
#shop-panel[data-mode="cart"] .panel-item {
  display: grid; grid-template: "photo info remove" auto "photo quantity quantity" auto / auto minmax(0, 1fr) auto;
  column-gap: clamp(9px, 2.8vw, 15px); row-gap: 2px; padding-block: 15px;
}
.cart-photo { grid-area: photo; align-self: start; width: clamp(56px, 18vw, 72px); height: auto; border-radius: 10px; background: #f0ece3; }
#shop-panel[data-mode="cart"] .panel-product { grid-area: info; }
.cart-line-price { margin-top: 3px; color: var(--deep); font-weight: 800; }
#shop-panel[data-mode="cart"] .quantity { grid-area: quantity; }
#shop-panel[data-mode="cart"] .remove { grid-area: remove; align-self: start; color: var(--muted); font-size: .82rem; text-decoration: none; }
#shop-panel[data-mode="cart"] .remove:hover { color: #853b4b; }
.panel-footer { margin-block-start: 8px; padding: clamp(12px, 3vw, 18px); background: #ecefe5; border-radius: 13px; }
.panel-footer .checkout-summary { padding: 0; border: 0; }
.panel-footer .checkout-summary strong { color: var(--deep); font-size: 1.15rem; }
.panel-footer p { margin-block: 5px 14px; font-size: .86rem; }
.panel-footer .button { width: 100%; border-radius: 9px; }
#checkout { width: min(560px, calc(100% - 26px)); }
#checkout-form, #checkout-contact { display: grid; gap: 13px; }
#checkout-contact { margin: 0; padding: 0; border: 0; }
.checkout-zones { margin: 0; padding: 0; border: 0; }
.checkout-zones legend { margin-block-end: 5px; color: var(--deep); font-weight: 800; }
.checkout-zones label {
  position: relative; display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 8px;
  min-height: 42px; padding: 7px 9px; border-block-end: 1px solid var(--line);
  border-radius: 5px; cursor: pointer;
}
.checkout-zones label:has(:checked) { color: var(--deep); background: #e4ebe1; font-weight: 800; }
.checkout-zones label:has(:focus-visible) { box-shadow: inset 0 -2px var(--green); }
.checkout-zones input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.checkout-lines, .checkout-summary { display: grid; gap: 8px; padding-block: 12px; border-block: 1px solid #233d3a19; }
.checkout-line, .checkout-summary > div { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.checkout-line { flex-wrap: wrap; }
.checkout-field { display: grid; gap: 5px; color: var(--deep); font-weight: 700; }
.checkout-field :is(input, textarea), .quantity-controls input {
  min-height: 42px; padding: 8px; border: 0; border-radius: 7px;
  background: #f0efe6; color: var(--ink); font: inherit;
}
.quantity-controls input { width: 34px; padding: 0; background: transparent; text-align: center; font-weight: 700; }
.checkout-field textarea { resize: vertical; }
.checkout-summary p, .checkout-note { color: var(--muted); font-size: .88rem; }
.checkout-summary .total-due { font-weight: 800; }
.checkout-error { color: #8f3446; }
#checkout-receipt { color: var(--deep); font-weight: 800; }
.toast {
  position: fixed; z-index: 3; inset-inline: 0; inset-block-end: 20px;
  width: max-content; max-width: calc(100% - 28px); margin-inline: auto;
  padding: 9px 17px; border-radius: 100px; background: var(--deep); color: white;
  opacity: 0; pointer-events: none;
}
.toast.visible { opacity: 1; }
.footer {
  display: grid;
  justify-items: center;
  gap: 5px;
  margin-block-start: clamp(29px, 4vw, 45px);
  padding-block: 14px 28px;
  border-block-start: 1px solid #233d3a20;
  text-align: center;
}
.footer-social { display: flex; justify-content: center; align-items: center; gap: 4px; }
.footer-social > :is(a, span) { display: grid; width: 44px; height: 44px; place-items: center; }
.footer-social .icon { width: 22px; height: 22px; }
.footer-social > :is(a, span):hover { color: #9a732f; }
.footer-copyright { color: var(--muted); font-size: .87rem; font-weight: 500; }
.assistant-trigger {
  position: fixed; z-index: 2; inset-inline-end: 19px; inset-block-end: 20px;
  display: flex; flex-direction: row-reverse; align-items: center;
  width: max-content; max-width: 54px; min-height: 54px; padding: 4px; overflow: hidden;
  border: 1px solid var(--edge); border-radius: 99px; background: #fff8ed; color: var(--deep);
  font-weight: 800; box-shadow: 0 5px 22px #253c3433;
  transition: max-width .32s cubic-bezier(.2,.8,.2,1);
}
.assistant-trigger.is-greeting { max-width: min(270px, calc(100vw - 24px)); }
.assistant-trigger[data-theme].is-greeting { background: var(--assist-tint); }
.assistant-avatar { display: grid; flex: 0 0 44px; place-items: center; width: 44px; height: 40px; perspective: 135px; }
.robot-head {
  position: relative;
  display: grid; place-items: center;
  width: 35px; height: 30px; margin-block-start: 4px; border-radius: 13px 13px 12px 12px;
  background: linear-gradient(155deg, #fffdf5 7%, #e8e5d8 44%, #b9c3b6 100%);
  box-shadow: inset 0 1px 0 #fff, inset -2px -3px 4px #344f482a, 0 3px 4px #23443d35;
  transform-style: preserve-3d;
  animation: assistant-look 8s ease-in-out infinite;
}
.robot-head::before {
  position: absolute; content: ''; inset: -5px auto auto 16px; width: 4px; height: 7px;
  border-radius: 99px; background: linear-gradient(90deg, #55786d, #95b4a1);
  box-shadow: 0 -1px 3px #b2cbb4;
}
.robot-face {
  position: relative; width: 28px; height: 22px; border-radius: 9px 9px 8px 8px;
  transform: translateZ(3px);
  background: radial-gradient(ellipse at 25% -10%, #7b9f93, #285047 51%, #192e2a 100%);
  box-shadow: inset 0 2px 3px #112c28c7, inset 0 -1px 0 #b8e0cd55, 0 1px 0 #fff9ea;
}
.robot-eyes { position: absolute; inset-block-start: 7px; inset-inline: 6px; display: flex; justify-content: space-between; animation: assistant-eyes 8s ease-in-out infinite; }
.robot-eyes i { width: 4px; height: 5px; border-radius: 40%; background: #eaffed; box-shadow: 0 0 4px #c8ffe6a6; animation: assistant-blink 6s linear infinite; }
.robot-smile { position: absolute; inset-block-start: 13px; inset-inline-start: 50%; transform: translateX(50%); width: 6px; height: 3px; border-block-end: 1px solid #dcffe8; border-radius: 0 0 5px 5px; }
@keyframes assistant-look {
  0%, 48%, 100% { transform: rotateY(0) rotateZ(0); }
  61% { transform: rotateY(-27deg) rotateZ(-5deg); }
  78% { transform: rotateY(24deg) rotateZ(5deg); }
  91% { transform: rotateY(0) rotateZ(0); }
}
@keyframes assistant-eyes {
  0%, 46%, 100% { transform: translateX(0); }
  57% { transform: translateX(-2px); }
  74% { transform: translateX(2px); }
  89% { transform: translateX(0); }
}
@keyframes assistant-blink {
  0%, 46%, 52%, 100% { transform: scaleY(1); }
  49% { transform: scaleY(.14); }
}
.assistant-greeting {
  display: inline-flex; align-items: center; gap: 6px; color: var(--assist-ink, var(--deep));
  flex: 0 0 auto; opacity: 0; padding-inline: 9px 3px; white-space: nowrap;
  font-size: .87rem; transition: opacity .17s ease-out;
}
.assistant-greeting .icon { width: 13px; height: 13px; fill: currentColor; }
.assistant-trigger.is-greeting .assistant-greeting { opacity: 1; }
@media (prefers-reduced-motion: reduce) {
  .robot-head, .robot-eyes, .robot-eyes i, .assistant-greeting { animation: none; }
}
#assistant {
  --assist-ink: #294b46; --assist-tint: #ecf2e9; --assist-edge: #cbd9ce;
  --robot-glint: #79a094; --robot-screen: #285047; --robot-dark: #192e2a;
  --robot-shell: #dce9dd;
  width: min(480px, calc(100% - 28px)); inset: auto auto 20px 15px; margin: 0;
  background: linear-gradient(150deg, #fffaf2, var(--assist-tint));
}
:is(#assistant, .assistant-trigger)[data-theme="women"] {
  --assist-ink: #813d5a; --assist-tint: #f8e8ee; --assist-edge: #e8cbd7;
  --robot-glint: #db9bb6; --robot-screen: #994965; --robot-dark: #4c2639; --robot-shell: #efc2d3;
}
:is(#assistant, .assistant-trigger)[data-theme="men"] {
  --assist-ink: #31567a; --assist-tint: #e8f0f8; --assist-edge: #c8d9e8;
  --robot-glint: #89acce; --robot-screen: #36648f; --robot-dark: #1e354f; --robot-shell: #c6dbed;
}
#assistant .panel-content { padding: clamp(19px, 4vw, 29px); }
.assistant-head {
  display: grid; grid-template-columns: minmax(0, 1fr) 83px; align-items: center;
  gap: 8px; margin: 8px 0 15px; border-block-end: 1px solid var(--assist-edge);
}
.assistant-head h2 { margin: 0; padding-inline-start: 24px; font-size: clamp(1.39rem, 5vw, 1.9rem); color: var(--assist-ink); }
.assistant-portrait {
  position: relative; display: grid; place-items: center; min-height: 70px;
  background: radial-gradient(ellipse, var(--robot-shell), transparent 67%);
}
.assistant-portrait .assistant-avatar { transform: scale(1.48); }
:is(.assistant-portrait, .assistant-trigger[data-theme]) .robot-head { background: linear-gradient(145deg,#fff9f8, var(--robot-shell) 70%, var(--robot-glint)); }
:is(.assistant-portrait, .assistant-trigger[data-theme]) .robot-head::before { background: linear-gradient(90deg,var(--robot-screen),var(--robot-glint)); }
:is(.assistant-portrait, .assistant-trigger[data-theme]) .robot-face { background: radial-gradient(ellipse at 25% -10%, var(--robot-glint), var(--robot-screen) 51%, var(--robot-dark) 100%); }
.assistant-entry-effect {
  position: absolute; inset-block-start: 5px; inset-inline-end: 5px; width: 42px;
  display: flex; justify-content: space-between; pointer-events: none; color: var(--robot-screen);
}
.assistant-entry-effect .icon { width: 10px; height: 10px; fill: currentColor; opacity: 0; }
.assistant-hearts {
  position: absolute; inset: 4px 0 auto; z-index: 1; display: flex;
  justify-content: space-between; pointer-events: none; color: #ba5c83;
}
.assistant-hearts .icon { width: 13px; height: 13px; fill: currentColor; opacity: 0; }
@media (prefers-reduced-motion: no-preference) {
  .assistant-entry-effect .icon { animation: assistant-heart .96s .28s ease-out both; }
  .assistant-entry-effect .icon:last-child { animation-delay: .44s; margin-block-start: 4px; }
  .assistant-portrait.is-celebrating .assistant-hearts .icon { animation: assistant-heart .94s ease-out both; }
  .assistant-portrait.is-celebrating .assistant-hearts .icon:last-child { animation-delay: .12s; }
  @keyframes assistant-heart {
    0% { opacity: 0; transform: translateY(15px) scale(.55); }
    32% { opacity: .8; transform: translateY(3px) scale(1); }
    100% { opacity: 0; transform: translateY(-18px) scale(.81); }
  }
}
.assistant-thinking .assistant-portrait .robot-head { animation: assistant-thinking .4s ease-in-out; }
@keyframes assistant-thinking { 0%, 100% { transform: rotateY(0); } 55% { transform: rotateY(-24deg) rotateZ(-8deg); } }
#assistant-reply { display: grid; gap: 12px; color: var(--muted); }
.assistant-message { font-size: 1.08rem; line-height: 1.45; color: var(--assist-ink); font-weight: 700; }
.assistant-departments { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 6px; }
.assistant-departments button {
  display: grid; align-content: center; text-align: start; gap: 3px; min-height: 67px;
  padding: 8px 7px; border: 1px solid transparent; border-radius: 11px;
}
.assistant-departments button[data-assist-section="women"] { color: #823f59; background: #f6e4eb; border-color: #ecd2dd; }
.assistant-departments button[data-assist-section="men"] { color: #31577b; background: #e7edf5; border-color: #d6e2ed; }
.assistant-departments button[data-assist-section="home"] { color: #69543b; background: #f2e9dc; border-color: #e9ddc8; }
.assistant-departments small { font-size: .72rem; line-height: 1.22; }
.assistant-choices { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 15px; }
.assistant-links { display: flex; flex-wrap: wrap; align-items: center; gap: 2px 13px; }
.assistant-back { min-height: 40px; display: inline-flex; align-items: center; gap: 5px; border: 0; background: none; color: var(--assist-ink); padding: 0 2px; font-size: .83rem; font-weight: 700; }
.assistant-back:hover { text-decoration: underline; }
.assistant-catalog-link { font-weight: 800; }
.assistant-catalog-link .icon { width: 13px; height: 13px; }
.assistant-choices button {
  display: flex; align-items: center; justify-content: space-between; gap: 7px;
  min-height: 45px; padding: 6px 1px; background: transparent; border: 0;
  border-block-end: 1px solid var(--assist-edge); text-align: start; font-weight: 700; color: var(--assist-ink);
}
.assistant-choices .icon { width: 14px; height: 14px; }
.assistant-choices button[aria-pressed="true"] { color: #7c602e; font-weight: 800; }
.assistant-choices button:hover { color: #865e24; }
.assistant-stock { display: flex; flex-wrap: wrap; gap: 7px; }
.assistant-stock button {
  padding: 4px 10px; min-height: 39px; border: 1px solid var(--assist-edge);
  border-radius: 9px; background: #fffaf3; color: var(--assist-ink); font-size: .85rem; font-weight: 700;
}
.assistant-stock button[aria-pressed="true"] { background: var(--assist-ink); color: #fff; }
.assistant-results { display: grid; gap: 3px; }
.assistant-result {
  display: grid; grid-template-columns: 42px minmax(0,1fr) 15px; align-items: center; gap: 9px;
  padding: 6px 3px; border: 0; border-radius: 7px; border-block-end: 1px solid var(--assist-edge);
  background: transparent; color: var(--assist-ink); text-align: start;
}
.assistant-result img { object-fit: cover; border-radius: 7px; }
.assistant-result strong { display: block; font-size: .89rem; line-height: 1.25; }
.assistant-result .icon { width: 15px; height: 15px; }
#assistant-form { margin-top: 16px; display: flex; gap: 6px; }
#assistant-input { width: 100%; min-width: 0; padding-inline: 11px; background: #fffcf6; border: 1px solid #d8d8cc; border-radius: 14px; }
#assistant-form .primary { background: var(--assist-ink); }
@media (prefers-reduced-motion: reduce) {
  .assistant-thinking .assistant-portrait .robot-head { animation: none; }
}
@media (max-width: 700px) {
  .entrance { padding-block: 23px 12px; }
  .entrance h1 { font-size: clamp(2.25rem, 9vw, 3.15rem); }
  .departments { gap: 9px; }
  .department { padding: 5px; border-radius: 19px; }
  .department img { border-radius: 14px; object-position: 50% 56%; }
  .department-copy { min-height: 40px; padding: 8px 8px 5px; }
  .department-copy strong { font-size: clamp(1.03rem, 4.4vw, 1.46rem); }
  .department-copy > .icon { width: 16px; height: 16px; }
  .entrance:not(.compact) [data-department="home"] {
    grid-template-columns: minmax(0, 1fr) 40%;
    aspect-ratio: 3.1;
  }
  .entrance:not(.compact) [data-department="home"] .department-copy { padding-inline: 11px; }
  .locations .text-link { font-size: .8rem; }
  .offers-grid { grid-template-columns: 1fr; }
  .delivery-steps li { border-radius: 19px; }
  .delivery-caption { padding: 15px 48px 16px 13px; }
  .delivery-number { inset-block-start: 15px; inset-inline-start: 13px; width: 25px; height: 25px; }
  .shop-product-copy { padding: 9px 10px 2px; }
  .product-link span { display: none; }
  .filters { scrollbar-width: none; margin-block-end: 0; }
  .filters::-webkit-scrollbar { display: none; }
  .filter-strip { margin-block-end: 12px; }
  .filter-progress {
    position: relative; display: block; overflow: hidden; height: 2px; margin-block-start: 3px;
    border-radius: 2px; background: #4f71701d;
  }
  .filter-progress span {
    position: absolute; inset-block: 0; inset-inline-start: 0;
    border-radius: inherit; background: #4f7170a0;
  }
  #detail-body {
    grid-template-columns: minmax(0, 1fr) 110px; grid-template-areas: 'heading photo' 'buy buy';
    column-gap: 10px; row-gap: 13px; padding: 43px 15px 17px;
  }
  .detail-heading { align-self: center; }
  .detail-art { min-height: 0; aspect-ratio: 1; border-radius: 13px; }
  .detail-selection { gap: 5px; }
  #detail { inset: auto 0 calc(8px + env(safe-area-inset-bottom, 0px)); margin: 0 auto; max-height: 82dvh; }
  .footer { padding-bottom: 43px; }
  .assistant-trigger { inset-inline-end: 11px; inset-block-end: calc(73px + env(safe-area-inset-bottom, 0px)); font-size: .76rem; }
  #assistant { inset-inline-end: 14px; inset-block-end: 14px; }
  .toast { inset-block-end: calc(125px + env(safe-area-inset-bottom, 0px)); }
}
