/* TAMOSKIN — "Noir" theme tokens. Custom properties only. */
body.tms-app {
  --tms-font: "Noto Sans Georgian", system-ui, sans-serif;

  /* Ink & paper — black is the brand color */
  --tms-color-bg: #ffffff;
  --tms-color-surface: #f5f3f0;
  --tms-color-surface-2: #ebe7e2;
  --tms-color-text: #0a0a0a;
  --tms-color-text-muted: #66615c;
  --tms-color-text-subtle: #8f8983;
  --tms-color-line: #e7e3de;
  --tms-color-line-strong: #0a0a0a;
  --tms-color-primary: #0a0a0a;
  --tms-color-primary-hover: #3a3632;
  --tms-color-on-primary: #ffffff;
  --tms-color-header-bg: rgb(255 255 255 / 0.86);
  --tms-color-glass: rgb(255 255 255 / 0.84);
  --tms-color-backdrop: rgb(10 10 10 / 0.45);
  --tms-color-focus-ring: rgb(10 10 10 / 0.12);
  --tms-color-scrim: rgb(10 10 10 / 0.04);
  --tms-color-slide-scrim: rgb(255 255 255 / 0.72);
  --tms-color-slide-scrim-dark: rgb(10 10 10 / 0.7);

  /* On black surfaces (newsletter, footer, dark basket) */
  --tms-color-dark: #0a0a0a;
  --tms-color-on-dark: #ffffff;
  --tms-color-on-dark-muted: #a8a29c;
  --tms-color-on-dark-line: #2c2926;
  --tms-color-on-dark-faint: #1d1b19;

  /* Red — discounts only (and the one invalid-field state) */
  --tms-color-sale: #e0241b;
  --tms-color-sale-ink: #c41a12;
  --tms-color-sale-soft: #fdecea;
  --tms-color-on-sale: #ffffff;

  /* Radii */
  --tms-radius-sm: 6px;
  --tms-radius-md: 12px;
  --tms-radius-lg: 20px;
  --tms-radius-xl: 32px;
  --tms-radius-round: 999px;

  /* Shadows */
  --tms-shadow-sm: 0 1px 2px rgb(10 10 10 / 0.06), 0 2px 8px rgb(10 10 10 / 0.04);
  --tms-shadow-md: 0 8px 24px rgb(10 10 10 / 0.08);
  --tms-shadow-lg: 0 24px 64px rgb(10 10 10 / 0.16);

  /* Type scale */
  --tms-text-2xs: 11px;
  --tms-text-xs: 12px;
  --tms-text-sm: 14px;
  --tms-text-base: 16px;
  --tms-text-md: 18px;
  --tms-text-lg: 22px;
  --tms-text-xl: 30px;
  --tms-text-2xl: 44px;
  --tms-text-3xl: 60px;
  --tms-text-display: 88px;
  --tms-text-mega: 260px;
  --tms-text-giant: min(17.4vw, 232px);
  --tms-leading-tight: 1.05;
  --tms-leading-snug: 1.3;
  --tms-leading-body: 1.6;
  --tms-tracking-tight: -0.035em;
  --tms-tracking-wide: 0.14em;
  --tms-weight-light: 300;
  --tms-weight-regular: 400;
  --tms-weight-medium: 500;
  --tms-weight-semibold: 600;
  --tms-weight-bold: 700;
  --tms-weight-black: 800;

  /* Spacing */
  --tms-space-1: 4px;
  --tms-space-2: 8px;
  --tms-space-3: 12px;
  --tms-space-4: 16px;
  --tms-space-5: 20px;
  --tms-space-6: 24px;
  --tms-space-8: 32px;
  --tms-space-10: 40px;
  --tms-space-12: 48px;
  --tms-space-16: 64px;
  --tms-space-20: 80px;
  --tms-space-24: 120px;

  /* Layout */
  --tms-container: 1280px;
  --tms-gutter: 24px;
  --tms-header-h: 76px;
  --tms-promo-h: 48px;
  --tms-control-h: 48px;
  --tms-control-h-lg: 56px;
  --tms-control-h-sm: 36px;

  /* Motion */
  --tms-ease: cubic-bezier(0.16, 1, 0.3, 1);
  --tms-ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
  --tms-duration-fast: 200ms;
  --tms-duration-base: 450ms;
  --tms-duration-slow: 900ms;
  --tms-duration-reveal: 1100ms;
  --tms-marquee-speed: 38s;
  --tms-marquee-state: running;
  --tms-float-distance: -10px;
}

@media (max-width: 1023px) {
  body.tms-app {
    --tms-text-display: 64px;
    --tms-text-3xl: 48px;
    --tms-text-2xl: 36px;
    --tms-text-mega: 180px;
    --tms-space-24: 96px;
  }
}

@media (max-width: 767px) {
  body.tms-app {
    --tms-gutter: 16px;
    --tms-header-h: 60px;
    --tms-promo-h: 40px;
    --tms-text-display: 44px;
    --tms-text-3xl: 36px;
    --tms-text-2xl: 30px;
    --tms-text-xl: 24px;
    --tms-text-lg: 20px;
    --tms-text-mega: 120px;
    --tms-radius-xl: 24px;
    --tms-space-24: 72px;
    --tms-space-20: 56px;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.tms-app {
    --tms-duration-fast: 1ms;
    --tms-duration-base: 1ms;
    --tms-duration-slow: 1ms;
    --tms-duration-reveal: 1ms;
    --tms-marquee-state: paused;
    --tms-float-distance: 0px;
  }
  body.tms-app .tms-product-card:hover .tms-product-card__img,body.tms-app .tms-cross__card:hover .tms-cross__media img{transform:none}
  body.tms-app .tms-product-card:hover .tms-product-card__media,body.tms-app .tms-cross__card:hover .tms-cross__media{box-shadow:none}
}

/* Optional dark mode: add class tms-app--dark next to tms-app */
body.tms-app.tms-app--dark {
  --tms-color-bg: #0a0a0a;
  --tms-color-surface: #161412;
  --tms-color-surface-2: #211e1b;
  --tms-color-text: #f5f3f0;
  --tms-color-text-muted: #a8a29c;
  --tms-color-text-subtle: #7d7771;
  --tms-color-line: #2c2926;
  --tms-color-line-strong: #f5f3f0;
  --tms-color-primary: #f5f3f0;
  --tms-color-primary-hover: #d9d4ce;
  --tms-color-on-primary: #0a0a0a;
  --tms-color-header-bg: rgb(10 10 10 / 0.86);
  --tms-color-glass: rgb(22 20 18 / 0.84);
  --tms-color-slide-scrim: rgb(10 10 10 / 0.6);
  --tms-color-focus-ring: rgb(245 243 240 / 0.16);
  --tms-color-sale-soft: #3a1210;
  --tms-color-dark: #161412;
}

/* TAMOSKIN — "Noir" storefront theme.
   Black is the brand color; red appears only on discounts (and the invalid-field state).
   Every selector is scoped to body.tms-app; values come from tokens.css.
   Breakpoints: 1023px, 767px. Motion collapses via tokens under prefers-reduced-motion. */

/* ==================== Keyframes ==================== */
@keyframes tms-marquee{to{transform:translateX(-100%)}}
@keyframes tms-line-up{from{transform:translateY(110%)}to{transform:none}}
@keyframes tms-fade-up{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
@keyframes tms-fade{from{opacity:0}to{opacity:1}}
@keyframes tms-clip-up{from{clip-path:inset(100% 0 0 0 round var(--tms-radius-xl))}to{clip-path:inset(0 0 0 0 round var(--tms-radius-xl))}}
@keyframes tms-kenburns{from{transform:scale(1.02)}to{transform:scale(1.12) translate(-1%,-1%)}}
@keyframes tms-spin{to{transform:rotate(360deg)}}
@keyframes tms-float{0%,100%{transform:translateY(0)}50%{transform:translateY(var(--tms-float-distance))}}
@keyframes tms-pop{0%{transform:scale(0)}70%{transform:scale(1.2)}100%{transform:scale(1)}}
@keyframes tms-pulse{0%{box-shadow:0 0 0 0 var(--tms-color-focus-ring)}70%{box-shadow:0 0 0 10px transparent}100%{box-shadow:0 0 0 0 transparent}}
@keyframes tms-shimmer{from{transform:translateX(-100%)}to{transform:translateX(250%)}}
@keyframes tms-drawer-in{from{transform:translateX(calc(100% + 24px))}to{transform:none}}
@keyframes tms-sheet-in{from{transform:translateY(100%)}to{transform:none}}
@keyframes tms-panel-in{from{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:none}}
@keyframes tms-shake{0%,100%{transform:none}20%,60%{transform:translateX(-4px)}40%,80%{transform:translateX(4px)}}
@keyframes tms-underline{0%{background-size:100% 1px;background-position:100% 100%}45%{background-size:0 1px;background-position:100% 100%}55%{background-size:0 1px;background-position:0 100%}100%{background-size:100% 1px;background-position:0 100%}}
@keyframes tms-rise-in{from{opacity:0;transform:translateY(48px)}to{opacity:1;transform:none}}
@keyframes tms-dot-fill{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes tms-wobble{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(var(--tms-float-distance)) rotate(1deg)}}

/* ==================== Base ==================== */
body.tms-app{margin:0;background:var(--tms-color-bg);color:var(--tms-color-text);font-family:var(--tms-font);font-size:var(--tms-text-base);font-weight:var(--tms-weight-regular);line-height:var(--tms-leading-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}
body.tms-app *,body.tms-app *::before,body.tms-app *::after{box-sizing:border-box}
body.tms-app ::selection{background:var(--tms-color-text);color:var(--tms-color-bg)}
body.tms-app [hidden]{display:none}
body.tms-app :focus-visible{outline:2px solid var(--tms-color-line-strong);outline-offset:3px}
body.tms-app .tms-container{width:100%;max-width:calc(var(--tms-container) + var(--tms-gutter) * 2);margin-inline:auto;padding-inline:var(--tms-gutter)}
body.tms-app .tms-icon{width:20px;height:20px;flex:none;display:block}
body.tms-app .tms-icon--sm{width:16px;height:16px}
body.tms-app .tms-icon--lg{width:28px;height:28px}
body.tms-app .tms-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}
body.tms-app .tms-link{padding:0;border:0;background:none linear-gradient(currentColor,currentColor) no-repeat 0 100%/100% 1px;color:var(--tms-color-text);font:inherit;font-weight:var(--tms-weight-semibold);text-decoration:none;cursor:pointer}
body.tms-app .tms-link:hover{animation:tms-underline var(--tms-duration-slow) var(--tms-ease)}
body.tms-app .tms-kicker{display:flex;align-items:center;gap:var(--tms-space-3);margin:0 0 var(--tms-space-4);font-size:var(--tms-text-xs);font-weight:var(--tms-weight-semibold);letter-spacing:var(--tms-tracking-wide);text-transform:uppercase;color:var(--tms-color-text-muted)}
body.tms-app .tms-kicker::before{content:"";width:28px;height:1px;background:currentColor}
body.tms-app .tms-h1{margin:0;font-size:32px;font-weight:var(--tms-weight-light);line-height:var(--tms-leading-tight);letter-spacing:var(--tms-tracking-tight);text-wrap:balance}
body.tms-app .tms-h2{margin:0;font-size:var(--tms-text-2xl);font-weight:var(--tms-weight-light);line-height:var(--tms-leading-tight);letter-spacing:var(--tms-tracking-tight);text-wrap:balance}
body.tms-app .tms-h3{margin:0;font-size:var(--tms-text-lg);font-weight:var(--tms-weight-semibold);line-height:var(--tms-leading-snug)}
body.tms-app .tms-strong{font-weight:var(--tms-weight-black)}
body.tms-app .tms-lede{margin:0;max-width:52ch;font-size:var(--tms-text-md);color:var(--tms-color-text-muted);text-wrap:pretty}
body.tms-app .tms-section{padding-block:var(--tms-space-24) 0}
body.tms-app .tms-home > .tms-hero + .tms-section{padding-top:var(--tms-space-10)}
body.tms-app .tms-section-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:var(--tms-space-6);margin-bottom:var(--tms-space-12)}
body.tms-app .tms-section-head__text{max-width:760px}
body.tms-app .tms-page{padding-bottom:var(--tms-space-24)}

/* Scroll-driven reveal (progressive; static where unsupported) */
@media (prefers-reduced-motion:no-preference){
  @supports (animation-timeline:view()){
    body.tms-app .tms-reveal{animation:tms-rise-in linear both;animation-timeline:view();animation-range:entry 0% cover 22%}
  }
}

/* ==================== Marquee ==================== */
body.tms-app .tms-marquee{display:flex;overflow:hidden;user-select:none}
body.tms-app .tms-marquee__track{display:flex;flex:none;align-items:center;justify-content:space-around;gap:var(--tms-space-12);min-width:100%;padding-right:var(--tms-space-12);margin:0;list-style:none;animation:tms-marquee var(--tms-marquee-speed) linear infinite;animation-play-state:var(--tms-marquee-state)}
body.tms-app .tms-marquee:hover .tms-marquee__track{animation-play-state:paused}
body.tms-app .tms-marquee__item{display:flex;align-items:center;gap:var(--tms-space-3);white-space:nowrap}

/* ==================== Buttons, badges, tags ==================== */
body.tms-app .tms-btn{position:relative;isolation:isolate;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;gap:var(--tms-space-3);height:var(--tms-control-h);padding:0 var(--tms-space-8);border:1px solid transparent;border-radius:var(--tms-radius-round);background:transparent;color:inherit;font:inherit;font-size:var(--tms-text-sm);font-weight:var(--tms-weight-semibold);line-height:1;letter-spacing:0.01em;white-space:nowrap;text-decoration:none;cursor:pointer;transition:color var(--tms-duration-base) var(--tms-ease),border-color var(--tms-duration-base) var(--tms-ease),transform var(--tms-duration-fast) var(--tms-ease)}
body.tms-app .tms-btn::before{content:"";position:absolute;inset:-1px;z-index:-1;border-radius:inherit;transform:translateY(101%);transition:transform var(--tms-duration-base) var(--tms-ease)}
body.tms-app .tms-btn:hover::before{transform:none}
body.tms-app .tms-btn:active{transform:scale(0.97)}
body.tms-app .tms-btn:disabled{opacity:.4;cursor:not-allowed}
body.tms-app .tms-btn .tms-icon{transition:transform var(--tms-duration-base) var(--tms-ease)}
body.tms-app .tms-btn:hover .tms-btn__arrow{transform:translateX(4px)}
body.tms-app .tms-btn:hover .tms-btn__arrow--back{transform:translateX(-4px)}
body.tms-app .tms-btn--primary{background:var(--tms-color-primary);color:var(--tms-color-on-primary)}
body.tms-app .tms-btn--primary::before{background:var(--tms-color-primary-hover)}
body.tms-app .tms-btn--secondary{border-color:var(--tms-color-line-strong);color:var(--tms-color-text)}
body.tms-app .tms-btn--secondary::before{background:var(--tms-color-primary)}
body.tms-app .tms-btn--secondary:hover{color:var(--tms-color-on-primary)}
body.tms-app .tms-btn--ghost{color:var(--tms-color-text)}
body.tms-app .tms-btn--ghost::before{background:var(--tms-color-surface)}
body.tms-app .tms-btn--light{background:var(--tms-color-bg);color:var(--tms-color-text)}
body.tms-app .tms-btn--light::before{background:var(--tms-color-surface-2)}
body.tms-app .tms-btn--outline-light{border-color:var(--tms-color-on-dark-line);color:var(--tms-color-on-dark)}
body.tms-app .tms-btn--outline-light::before{background:var(--tms-color-on-dark)}
body.tms-app .tms-btn--outline-light:hover{color:var(--tms-color-dark)}
body.tms-app .tms-btn--icon{width:44px;height:44px;padding:0}
body.tms-app .tms-btn--lg{height:var(--tms-control-h-lg);padding:0 var(--tms-space-10);font-size:var(--tms-text-base)}
body.tms-app .tms-btn--icon.tms-btn--lg{width:var(--tms-control-h-lg);padding:0}
body.tms-app .tms-btn--sm{height:var(--tms-control-h-sm);padding:0 var(--tms-space-4);font-size:var(--tms-text-xs)}
body.tms-app .tms-btn--block{display:flex;width:100%}
body.tms-app .tms-badge{display:inline-flex;align-items:center;height:26px;padding:0 var(--tms-space-3);border-radius:var(--tms-radius-round);background:var(--tms-color-primary);color:var(--tms-color-on-primary);font-size:var(--tms-text-xs);font-weight:var(--tms-weight-bold);line-height:1;letter-spacing:0.02em}
body.tms-app .tms-badge--sale{background:var(--tms-color-sale);color:var(--tms-color-on-sale)}
body.tms-app .tms-badge--light{background:var(--tms-color-bg);color:var(--tms-color-text)}
body.tms-app .tms-badge--soldout{flex:none;height:20px;min-height:0;max-width:none;padding:0 8px;background:var(--tms-color-sale);color:var(--tms-color-on-sale);font-size:10px;letter-spacing:0;white-space:nowrap;line-height:1}
@container (max-width:180px){
  body.tms-app .tms-badge--soldout{height:18px;padding:0 6px;font-size:8px}
}
body.tms-app .tms-tag{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 var(--tms-space-3);border:1px solid transparent;border-radius:var(--tms-radius-round);background:var(--tms-color-surface);color:var(--tms-color-text);font-size:var(--tms-text-xs);font-weight:var(--tms-weight-semibold);white-space:nowrap}
body.tms-app .tms-tag--dark{background:var(--tms-color-primary);color:var(--tms-color-on-primary)}
body.tms-app .tms-tag--outline{background:transparent;border-color:var(--tms-color-line-strong)}
body.tms-app .tms-tag--sale{background:var(--tms-color-sale-soft);color:var(--tms-color-sale-ink)}

/* ==================== Forms ==================== */
body.tms-app .tms-field{display:grid;gap:var(--tms-space-2);min-width:0;align-content:start}
body.tms-app .tms-label{display:block;margin:0;padding:0;font-size:var(--tms-text-sm);font-weight:var(--tms-weight-semibold);color:var(--tms-color-text)}
body.tms-app .tms-input{width:100%;height:var(--tms-control-h-lg);padding:0 var(--tms-space-5);border:1px solid transparent;border-radius:var(--tms-radius-md);background:var(--tms-color-surface);color:var(--tms-color-text);font:inherit;font-size:var(--tms-text-base);transition:background var(--tms-duration-fast) var(--tms-ease),border-color var(--tms-duration-fast) var(--tms-ease),box-shadow var(--tms-duration-fast) var(--tms-ease)}
body.tms-app .tms-input::placeholder{color:var(--tms-color-text-subtle)}
body.tms-app .tms-input:hover{background:var(--tms-color-surface-2)}
body.tms-app .tms-input:focus-visible{outline:0;background:var(--tms-color-bg);border-color:var(--tms-color-line-strong);box-shadow:0 0 0 4px var(--tms-color-focus-ring)}
body.tms-app .tms-input[aria-invalid="true"]{border-color:var(--tms-color-sale);background:var(--tms-color-sale-soft);animation:tms-shake 420ms var(--tms-ease-in-out) 1}
body.tms-app .tms-input--area{height:auto;min-height:140px;padding:var(--tms-space-4) var(--tms-space-5);resize:vertical;line-height:var(--tms-leading-body)}
body.tms-app .tms-field__hint{margin:0;font-size:var(--tms-text-xs);color:var(--tms-color-text-muted)}
body.tms-app .tms-field__error{display:flex;align-items:center;gap:6px;margin:0;font-size:var(--tms-text-sm);font-weight:var(--tms-weight-semibold);color:var(--tms-color-sale-ink);animation:tms-fade-up var(--tms-duration-base) var(--tms-ease) both}
body.tms-app .tms-select{position:relative;display:block}
body.tms-app .tms-select__input{appearance:none;padding-right:var(--tms-space-12);cursor:pointer}
body.tms-app .tms-select .tms-icon{position:absolute;right:var(--tms-space-4);top:50%;transform:translateY(-50%);pointer-events:none}
body.tms-app .tms-check{display:flex;align-items:center;gap:var(--tms-space-3);font-size:var(--tms-text-sm);cursor:pointer}
body.tms-app .tms-check__input{width:18px;height:18px;margin:0;flex:none;accent-color:var(--tms-color-primary);cursor:pointer}
body.tms-app .tms-check__label{flex:1}
body.tms-app .tms-check__count{font-size:var(--tms-text-xs);color:var(--tms-color-text-subtle)}
body.tms-app .tms-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--tms-space-5) var(--tms-space-4)}
body.tms-app .tms-form-grid__full{grid-column:1/-1}
body.tms-app .tms-options{display:grid;gap:var(--tms-space-3)}
body.tms-app .tms-option{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:var(--tms-space-4);padding:var(--tms-space-5);border:1px solid var(--tms-color-line);border-radius:var(--tms-radius-md);cursor:pointer;transition:border-color var(--tms-duration-fast) var(--tms-ease),box-shadow var(--tms-duration-fast) var(--tms-ease),transform var(--tms-duration-fast) var(--tms-ease)}
body.tms-app .tms-option:hover{border-color:var(--tms-color-text-subtle)}
body.tms-app .tms-option:has(:checked){border-color:var(--tms-color-line-strong);box-shadow:inset 0 0 0 1px var(--tms-color-line-strong)}
body.tms-app .tms-option__input{width:20px;height:20px;margin:0;accent-color:var(--tms-color-primary)}
body.tms-app .tms-option__title{display:block;font-weight:var(--tms-weight-semibold)}
body.tms-app .tms-option__meta{display:block;font-size:var(--tms-text-sm);color:var(--tms-color-text-muted)}
body.tms-app .tms-option__price{font-weight:var(--tms-weight-bold)}
body.tms-app .tms-chips{display:flex;flex-wrap:wrap;gap:var(--tms-space-2)}
body.tms-app .tms-chip{position:relative;display:inline-flex;align-items:center;height:38px;padding:0 var(--tms-space-4);border:1px solid var(--tms-color-line);border-radius:var(--tms-radius-round);font-size:var(--tms-text-sm);font-weight:var(--tms-weight-medium);color:var(--tms-color-text);text-decoration:none;cursor:pointer;transition:all var(--tms-duration-fast) var(--tms-ease)}
body.tms-app .tms-chip:hover{border-color:var(--tms-color-line-strong)}
body.tms-app .tms-chip__input{position:absolute;opacity:0;pointer-events:none}
body.tms-app .tms-chip:has(:checked),body.tms-app .tms-chip[aria-current="page"]{background:var(--tms-color-primary);border-color:var(--tms-color-primary);color:var(--tms-color-on-primary)}
body.tms-app .tms-chip:has(:focus-visible){outline:2px solid var(--tms-color-line-strong);outline-offset:3px}
body.tms-app .tms-qty{display:inline-flex;align-items:center;height:44px;border:1px solid var(--tms-color-line);border-radius:var(--tms-radius-round)}
body.tms-app .tms-qty--lg{height:var(--tms-control-h-lg)}
body.tms-app .tms-qty--sm{height:var(--tms-control-h-sm)}
body.tms-app .tms-qty__btn{display:grid;place-items:center;width:42px;height:100%;padding:0;border:0;border-radius:var(--tms-radius-round);background:none;color:var(--tms-color-text);cursor:pointer;transition:background var(--tms-duration-fast) var(--tms-ease)}
body.tms-app .tms-qty--sm .tms-qty__btn{width:34px}
body.tms-app .tms-qty__btn:hover{background:var(--tms-color-surface)}
body.tms-app .tms-qty__input{width:32px;height:100%;padding:0;border:0;background:none;text-align:center;font:inherit;font-size:var(--tms-text-sm);font-weight:var(--tms-weight-semibold);color:var(--tms-color-text);-moz-appearance:textfield}
body.tms-app .tms-qty__input::-webkit-outer-spin-button,body.tms-app .tms-qty__input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
body.tms-app .tms-progress{position:relative;display:block;height:4px;border-radius:var(--tms-radius-round);background:var(--tms-color-surface-2);overflow:hidden}
body.tms-app .tms-progress__bar{position:relative;display:block;height:100%;width:var(--tms-progress,0%);border-radius:inherit;background:var(--tms-color-primary);overflow:hidden;transition:width var(--tms-duration-slow) var(--tms-ease)}
body.tms-app .tms-progress__bar::after{content:"";position:absolute;inset:0;width:40%;background:linear-gradient(90deg,transparent,var(--tms-color-primary-hover),transparent);animation:tms-shimmer 2.2s var(--tms-ease-in-out) infinite;animation-play-state:var(--tms-marquee-state)}

/* ==================== Price, rating, save ==================== */
body.tms-app .tms-price{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--tms-space-2)}
body.tms-app .tms-price__now{font-size:var(--tms-text-base);font-weight:var(--tms-weight-bold);color:var(--tms-color-text)}
body.tms-app .tms-price--sale .tms-price__now{color:var(--tms-color-sale)}
body.tms-app .tms-price__old{font-size:var(--tms-text-sm);color:var(--tms-color-text-subtle);text-decoration:line-through}
body.tms-app .tms-save{font-size:var(--tms-text-sm);font-weight:var(--tms-weight-bold);color:var(--tms-color-sale)}
body.tms-app .tms-rating{display:inline-flex;align-items:center;gap:3px;font-size:var(--tms-text-xs);font-weight:var(--tms-weight-semibold);color:var(--tms-color-text);text-decoration:none}
body.tms-app .tms-rating .tms-icon{width:13px;height:13px}
body.tms-app .tms-rating__count{font-weight:var(--tms-weight-regular);color:var(--tms-color-text-muted)}

/* ==================== Breadcrumb ==================== */
body.tms-app .tms-breadcrumb{padding-block:var(--tms-space-6)}
body.tms-app .tms-breadcrumb__list{display:flex;flex-wrap:wrap;gap:var(--tms-space-2);margin:0;padding:0;list-style:none;font-size:var(--tms-text-xs);color:var(--tms-color-text-muted)}
body.tms-app .tms-breadcrumb__item{display:flex;align-items:center;gap:var(--tms-space-2)}
body.tms-app .tms-breadcrumb__item+.tms-breadcrumb__item::before{content:"";width:4px;height:4px;border-radius:var(--tms-radius-round);background:var(--tms-color-text-subtle)}
body.tms-app .tms-breadcrumb__link{color:var(--tms-color-text-muted);text-decoration:none;transition:color var(--tms-duration-fast)}
body.tms-app .tms-breadcrumb__link:hover{color:var(--tms-color-text)}
body.tms-app .tms-breadcrumb [aria-current="page"]{color:var(--tms-color-text);font-weight:var(--tms-weight-semibold)}

/* ==================== Header ==================== */
body.tms-app .tms-header{position:sticky;top:0;z-index:40;background:var(--tms-color-header-bg);-webkit-backdrop-filter:blur(18px) saturate(1.5);backdrop-filter:blur(18px) saturate(1.5);border-bottom:1px solid var(--tms-color-line)}
body.tms-app.tms-no-promo{--tms-promo-h:0px}
body.tms-app .tms-header__promo{height:var(--tms-promo-h);display:flex;align-items:center;background:var(--tms-color-dark);color:var(--tms-color-on-dark);font-size:13px;font-weight:var(--tms-weight-medium);letter-spacing:0.02em}
body.tms-app .tms-header__promo .tms-marquee{width:100%}
body.tms-app .tms-header__promo .tms-icon{width:16px;height:16px}
body.tms-app .tms-header__bar{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:var(--tms-space-6);height:var(--tms-header-h)}
body.tms-app .tms-header__logo{grid-column:2;grid-row:1;display:flex;align-items:center;color:var(--tms-color-text);text-decoration:none;transition:opacity var(--tms-duration-fast)}
body.tms-app .tms-header__logo img,body.tms-app .tms-footer__logo img{height:28px;width:auto;display:block}
body.tms-app .tms-footer__logo img{filter:brightness(0) invert(1)}
body.tms-app .tms-header__logo:hover{opacity:.7}
body.tms-app .tms-logo{display:block;width:176px;height:28px;overflow:visible}
body.tms-app .tms-logo__text{fill:currentColor;font-family:var(--tms-font)}
body.tms-app .tms-logo__heavy{font-weight:var(--tms-weight-black)}
body.tms-app .tms-logo__light{font-weight:var(--tms-weight-light)}
body.tms-app .tms-nav{grid-column:1;grid-row:1;display:flex;align-items:center;gap:var(--tms-space-6);min-width:0}
body.tms-app .tms-nav__link{position:relative;padding-block:var(--tms-space-2);font-size:var(--tms-text-sm);font-weight:var(--tms-weight-medium);color:var(--tms-color-text);text-decoration:none;white-space:nowrap}
body.tms-app .tms-nav__link::after{content:"";position:absolute;left:0;right:0;bottom:2px;height:1.5px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform var(--tms-duration-base) var(--tms-ease)}
body.tms-app .tms-nav__link:hover::after,body.tms-app .tms-nav__link[aria-current="page"]::after{transform:scaleX(1);transform-origin:left}
body.tms-app .tms-nav__link--sale{color:var(--tms-color-sale)}
body.tms-app .tms-nav__brand{font-weight:var(--tms-weight-light);letter-spacing:0.06em}
body.tms-app .tms-nav__brand-bold{font-weight:var(--tms-weight-black)}
body.tms-app .tms-header__actions{grid-column:3;grid-row:1;justify-self:end;display:flex;align-items:center;gap:2px}
body.tms-app .tms-header__actions .tms-btn--icon{width:40px;height:40px;border-radius:var(--tms-radius-round);color:var(--tms-color-text)}
body.tms-app .tms-header__actions .tms-btn--icon:hover{background:var(--tms-color-surface)}
body.tms-app .tms-header__actions .tms-icon{width:20px;height:20px}
body.tms-app .tms-header__searchbar{border-top:1px solid var(--tms-color-line);background:var(--tms-color-bg)}
body.tms-app .tms-header__searchbar-inner{display:flex;align-items:center;gap:var(--tms-space-3);min-height:72px;padding-block:var(--tms-space-3)}
body.tms-app .tms-header__searchbar-icon{flex:0 0 auto;width:20px;height:20px;color:var(--tms-color-text-muted)}
body.tms-app .tms-header__searchbar .tms-input{height:48px;border:1px solid var(--tms-color-line);border-radius:var(--tms-radius-round);background:var(--tms-color-surface)}
body.tms-app .tms-header__searchbar .tms-input:focus{outline:none;border-color:var(--tms-color-text);background:var(--tms-color-bg)}
body.tms-app .tms-header__searchbar{position:relative}
body.tms-app .tms-search__results{position:absolute;left:0;right:0;top:100%;z-index:5;max-height:min(70vh,520px);overflow:auto;background:var(--tms-color-bg);border-bottom:1px solid var(--tms-color-line);box-shadow:0 18px 40px rgba(10,10,10,.08)}
body.tms-app .tms-search__list{display:grid;padding-block:8px 12px}
body.tms-app .tms-search__item{display:grid;grid-template-columns:52px minmax(0,1fr) auto;gap:12px;align-items:center;min-height:64px;padding-block:6px;color:inherit;text-decoration:none}
body.tms-app .tms-search__item:hover{color:inherit}
body.tms-app .tms-search__img{width:52px;height:52px;object-fit:cover;border-radius:8px;background:var(--tms-color-surface)}
body.tms-app .tms-search__img--empty{display:block}
body.tms-app .tms-search__name{min-width:0;font-size:14px;font-weight:var(--tms-weight-medium);line-height:1.35}
body.tms-app .tms-search__price{font-size:14px;font-weight:var(--tms-weight-semibold);white-space:nowrap}
body.tms-app .tms-search__empty{margin:0;padding-block:14px;color:var(--tms-color-text-muted);font-size:14px}
body.tms-app .tms-search__all{justify-self:start;margin-top:4px;padding:8px 0 4px;border:0;background:none;color:var(--tms-color-text);font:inherit;font-size:13px;font-weight:var(--tms-weight-semibold);text-decoration:underline;cursor:pointer}
body.tms-app .tms-lang{display:flex;align-items:center;gap:6px;margin-inline:var(--tms-space-2);font-size:var(--tms-text-xs);font-weight:var(--tms-weight-bold)}
body.tms-app .tms-lang__opt{color:var(--tms-color-text-subtle);text-decoration:none;transition:color var(--tms-duration-fast)}
body.tms-app .tms-lang__opt:hover{color:var(--tms-color-text)}
body.tms-app .tms-lang__opt[aria-current="true"]{color:var(--tms-color-text)}
body.tms-app .tms-lang__sep{width:1px;height:12px;background:var(--tms-color-line)}
body.tms-app .tms-cart-btn{position:relative;overflow:visible}
body.tms-app .tms-cart-btn::before{content:none}
body.tms-app .tms-cart-btn:hover{background:var(--tms-color-surface)}
body.tms-app .tms-cart-btn__count{position:absolute;top:3px;right:1px;display:grid;place-items:center;min-width:18px;height:18px;padding:0 5px;border-radius:var(--tms-radius-round);background:var(--tms-color-primary);color:var(--tms-color-on-primary);font-size:var(--tms-text-2xs);font-weight:var(--tms-weight-bold);line-height:1;animation:tms-pop var(--tms-duration-base) var(--tms-ease) both}
body.tms-app .tms-menu-btn{display:none}
body.tms-app .tms-nav-panel{display:none}
@media (max-width:1023px){
  body.tms-app .tms-header__bar{grid-template-columns:auto minmax(0,1fr)}
  body.tms-app .tms-header__logo{grid-column:1}
  body.tms-app .tms-header__actions{grid-column:2}
  body.tms-app .tms-nav{display:none}
  body.tms-app .tms-menu-btn{display:inline-flex}
  body.tms-app .tms-nav-panel[data-state="open"]{display:block;position:absolute;top:100%;left:0;right:0;z-index:80;height:calc(100vh - var(--tms-header-h) - var(--tms-promo-h));overflow:auto;background:var(--tms-color-bg);animation:tms-panel-in var(--tms-duration-base) var(--tms-ease) both}
  body.tms-app.tms-nav-open [data-storefront-fab]{visibility:hidden;pointer-events:none}
  body.tms-app .tms-nav-panel__inner{display:grid;gap:var(--tms-space-10);padding-block:var(--tms-space-6) var(--tms-space-12)}
  body.tms-app .tms-nav-panel__nav{display:grid}
  body.tms-app .tms-nav-panel__link{display:flex;align-items:center;justify-content:space-between;padding-block:var(--tms-space-4);border-bottom:1px solid var(--tms-color-line);font-size:var(--tms-text-xl);font-weight:var(--tms-weight-light);letter-spacing:var(--tms-tracking-tight);color:var(--tms-color-text);text-decoration:none;animation:tms-fade-up var(--tms-duration-slow) var(--tms-ease) both}
  body.tms-app .tms-nav-panel__link:nth-child(2){animation-delay:40ms}
  body.tms-app .tms-nav-panel__link:nth-child(3){animation-delay:80ms}
  body.tms-app .tms-nav-panel__link:nth-child(4){animation-delay:120ms}
  body.tms-app .tms-nav-panel__link:nth-child(5){animation-delay:160ms}
  body.tms-app .tms-nav-panel__link:nth-child(6){animation-delay:200ms}
  body.tms-app .tms-nav-panel__link .tms-icon{transition:transform var(--tms-duration-base) var(--tms-ease)}
  body.tms-app .tms-nav-panel__link:hover .tms-icon{transform:translateX(6px)}
  body.tms-app .tms-nav-panel__link[aria-current="page"]{font-weight:var(--tms-weight-bold)}
  body.tms-app .tms-nav-panel__link--sale{color:var(--tms-color-sale)}
  body.tms-app .tms-nav-panel__tools{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px;padding:8px;border-radius:var(--tms-radius-lg);background:var(--tms-color-surface)}
  body.tms-app .tms-nav-panel__tool{display:flex;align-items:center;gap:8px;min-width:0;min-height:44px;padding:0 10px;border:1px solid var(--tms-color-line);border-radius:10px;background:var(--tms-color-bg);font:inherit;font-size:13px;font-weight:var(--tms-weight-medium);line-height:1.15;color:var(--tms-color-text);text-decoration:none;text-align:left;white-space:nowrap;cursor:pointer}
  body.tms-app .tms-nav-panel__tool .tms-icon{width:16px;height:16px;flex:none}
  body.tms-app .tms-nav-panel__tool > span{min-width:0;overflow:hidden;text-overflow:ellipsis}
  body.tms-app .tms-nav-panel__count{margin-left:auto;min-width:1.25rem;padding:0 .35rem;border-radius:999px;background:var(--tms-color-text);color:var(--tms-color-bg);font-style:normal;font-size:11px;line-height:1.25rem;text-align:center}
  body.tms-app .tms-nav-panel__tools > :last-child:nth-child(odd){grid-column:1/-1}
  body.tms-app .tms-nav-panel__lang{display:grid;grid-template-columns:1fr 1fr;gap:4px;min-height:44px;padding:3px;border-radius:10px;background:var(--tms-color-bg);border:1px solid var(--tms-color-line)}
  body.tms-app .tms-nav-panel__lang-opt{display:flex;align-items:center;justify-content:center;min-width:0;min-height:36px;padding:0 6px;border-radius:8px;color:var(--tms-color-text);text-decoration:none;font-size:13px;line-height:1.1;white-space:nowrap}
  body.tms-app .tms-nav-panel__lang-opt[aria-current="true"]{background:var(--tms-color-text);color:var(--tms-color-bg)}
}
@media (max-width:767px){
  body.tms-app .tms-header__actions .tms-lang,body.tms-app .tms-header__account{display:none}
  body.tms-app .tms-logo{width:140px;height:22px}
}

/* ==================== Footer ==================== */
body.tms-app .tms-footer{position:relative;overflow:hidden;background:var(--tms-color-dark);color:var(--tms-color-on-dark)}
body.tms-app .tms-footer__inner{padding-top:var(--tms-space-20);border-top:1px solid var(--tms-color-on-dark-line)}
body.tms-app .tms-footer__top{display:grid;grid-template-columns:minmax(0,1.7fr) repeat(3,minmax(0,1fr));gap:var(--tms-space-10)}
body.tms-app .tms-footer__logo{display:inline-flex;margin-inline-start:-12px;color:var(--tms-color-on-dark);text-decoration:none}
body.tms-app .tms-footer__contact{display:grid;gap:var(--tms-space-3);margin:var(--tms-space-8) 0 var(--tms-space-5)}
body.tms-app .tms-footer__phone,body.tms-app .tms-footer__email{display:inline-flex;align-items:center;gap:var(--tms-space-3);width:max-content;color:var(--tms-color-on-dark);text-decoration:none;font-size:var(--tms-text-sm);font-weight:var(--tms-weight-medium);background:linear-gradient(currentColor,currentColor) no-repeat 0 100%/0 1px;transition:background-size var(--tms-duration-base) var(--tms-ease)}
body.tms-app .tms-footer__phone:hover,body.tms-app .tms-footer__email:hover{background-size:100% 1px}
body.tms-app .tms-footer__title{margin:0 0 var(--tms-space-5);font-size:var(--tms-text-xs);font-weight:var(--tms-weight-semibold);letter-spacing:var(--tms-tracking-wide);text-transform:uppercase;color:var(--tms-color-on-dark-muted)}
body.tms-app .tms-footer__list{display:grid;gap:var(--tms-space-3);margin:0;padding:0;list-style:none}
body.tms-app .tms-footer__link{display:inline-block;font-size:var(--tms-text-sm);color:var(--tms-color-on-dark);text-decoration:none;transition:transform var(--tms-duration-base) var(--tms-ease),color var(--tms-duration-fast)}
body.tms-app .tms-footer__link:hover{transform:translateX(6px);color:var(--tms-color-on-dark-muted)}
body.tms-app .tms-footer__bottom{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--tms-space-4);margin-top:var(--tms-space-16);padding-block:var(--tms-space-6) var(--tms-space-8);border-top:1px solid var(--tms-color-on-dark-line);font-size:var(--tms-text-xs);color:var(--tms-color-on-dark-muted)}
body.tms-app .tms-store-badges{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:10px;margin:0 0 var(--tms-space-6)}
body.tms-app .tms-store-badge{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:148px;height:44px;padding:0 14px 0 10px;border:1px solid rgba(255,255,255,.28);border-radius:8px;background:#0c0c0c;color:#fff;text-decoration:none;box-shadow:inset 0 0 0 1px rgba(255,255,255,.04)}
body.tms-app a.tms-store-badge{transition:transform var(--tms-duration-fast) var(--tms-ease),border-color var(--tms-duration-fast)}
body.tms-app a.tms-store-badge:hover{transform:translateY(-1px);border-color:rgba(255,255,255,.55)}
body.tms-app .tms-store-badge__mark{width:20px;height:20px;flex:none}
body.tms-app .tms-store-badge__text{display:grid;line-height:1}
body.tms-app .tms-store-badge__kicker{font-size:8px;letter-spacing:.04em;color:rgba(255,255,255,.72)}
body.tms-app .tms-store-badge__name{font-size:13px;font-weight:600;letter-spacing:-.02em}
body.tms-app .tms-footer__copy{display:flex;align-items:center;gap:var(--tms-space-2);margin:0}
body.tms-app .tms-footer__platform{color:#8a847e}
body.tms-app .tms-footer__platform-link{color:inherit;text-decoration:none}
body.tms-app .tms-footer__pay{display:flex;align-items:center;gap:var(--tms-space-2);margin:0;padding:0;list-style:none}
body.tms-app .tms-pay-logo{display:grid;place-items:center;width:42px;height:26px;border:0;border-radius:4px;background:#fff;color:var(--tms-color-on-dark)}
body.tms-app .tms-pay-logo__svg{display:block;width:28px;height:10px}
body.tms-app .tms-pay-logo__svg--mc{width:24px;height:16px}
body.tms-app .tms-contact__social{display:flex;flex-wrap:wrap;gap:var(--tms-space-2);margin-top:var(--tms-space-3)}
body.tms-app .tms-contact__social-link{display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--tms-color-line);border-radius:var(--tms-radius-round);color:var(--tms-color-text);transition:all var(--tms-duration-base) var(--tms-ease)}
body.tms-app .tms-contact__social-link:hover{background:var(--tms-color-primary);border-color:var(--tms-color-primary);color:var(--tms-color-on-primary)}
body.tms-app .tms-social{display:flex;gap:var(--tms-space-2)}
body.tms-app .tms-social__link{display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--tms-color-on-dark-line);border-radius:var(--tms-radius-round);color:var(--tms-color-on-dark);transition:all var(--tms-duration-base) var(--tms-ease)}
body.tms-app .tms-social__link:hover{background:var(--tms-color-on-dark);border-color:var(--tms-color-on-dark);color:var(--tms-color-dark);transform:translateY(-3px) rotate(-8deg)}
body.tms-app .tms-social--light .tms-social__link{border-color:var(--tms-color-line);color:var(--tms-color-text)}
body.tms-app .tms-social--light .tms-social__link:hover{background:var(--tms-color-primary);border-color:var(--tms-color-primary);color:var(--tms-color-on-primary)}
@media (max-width:1023px){
  body.tms-app .tms-footer__top{grid-template-columns:repeat(3,minmax(0,1fr))}
  body.tms-app .tms-footer__brand{grid-column:1/-1}
}
@media (max-width:767px){
  body.tms-app .tms-footer__top{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--tms-space-8) var(--tms-space-4)}
  body.tms-app .tms-footer__logo{margin-inline-start:0}
  body.tms-app .tms-footer__bottom{align-items:center}
}

/* ==================== Product card ==================== */
body.tms-app .tms-product-card{position:relative;display:grid;grid-template-columns:minmax(0,1fr);gap:var(--tms-space-4);min-width:0;scroll-snap-align:start;container-type:inline-size}
body.tms-app .tms-product-card>.tms-product-card__media,body.tms-app .tms-product-card>.tms-product-card__stage{grid-column:1;grid-row:1;align-self:start}
body.tms-app .tms-product-card>.tms-product-card__body{grid-column:1;grid-row:2}
body.tms-app .tms-product-card__media{position:relative;display:block;aspect-ratio:4/5;overflow:hidden;border:1px solid var(--tms-color-line);box-shadow:none;border-radius:var(--tms-radius-lg);background:transparent;transition:box-shadow 800ms var(--tms-ease)}
body.tms-app .tms-product-card:hover .tms-product-card__media{box-shadow:0 8px 18px rgb(10 10 10 / 0.05)}
body.tms-app .tms-product-card__img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;border:0;border-radius:inherit;transition:transform 800ms var(--tms-ease)}
body.tms-app .tms-product-card:hover .tms-product-card__img{transform:scale(1.025)}
body.tms-app .tms-product-card__stage{position:relative;display:grid}
body.tms-app .tms-product-card__stage>.tms-product-card__media,body.tms-app .tms-product-card__stage>.tms-product-card__actions{grid-area:1/1}
body.tms-app .tms-product-card__badges{position:absolute;z-index:1;top:var(--tms-space-4);left:var(--tms-space-4);display:flex;flex-wrap:wrap;gap:6px}
body.tms-app .tms-product-card__actions{position:relative;z-index:2;align-self:end;justify-self:end;width:max-content;height:max-content;margin:0 12px 12px 0;display:flex;flex-direction:column;align-items:center;gap:8px;pointer-events:none}
body.tms-app .tms-product-card__actions .tms-btn,body.tms-app .tms-product-card__actions .tms-product-card__quick{pointer-events:auto}
body.tms-app .tms-product-card>.tms-product-card__wish,body.tms-app .tms-product-card>.tms-product-card__quick{position:absolute;z-index:2;right:12px;left:auto;bottom:auto;margin:0;transform:none}
body.tms-app .tms-product-card>.tms-product-card__quick{top:calc(100cqi * 5 / 4 - 52px);width:40px;height:40px}
body.tms-app .tms-product-card>.tms-product-card__wish{top:calc(100cqi * 5 / 4 - 100px)}
body.tms-app .tms-product-card__actions .tms-product-card__quick{width:40px;height:40px;margin:0;display:flex}
body.tms-app .tms-product-card__wish,body.tms-app .tms-product-card__quick .tms-btn{width:40px;height:40px;min-width:40px;min-height:40px;margin:0;padding:0;flex:0 0 40px;border-radius:var(--tms-radius-round);background:var(--tms-color-bg);box-shadow:var(--tms-shadow-sm);color:var(--tms-color-text);opacity:1;transform:none}
body.tms-app .tms-product-card__actions .tms-icon{width:18px;height:18px;display:block}
body.tms-app .tms-product-card__wish:hover .tms-icon,body.tms-app .tms-product-card__quick .tms-btn:hover .tms-icon{transform:scale(1.12)}
body.tms-app .tms-product-card__quick{position:static;left:auto;right:auto;bottom:auto;transform:none}
body.tms-app .tms-product-card__quick-label{display:none}
body.tms-app .tms-product-card__body{display:grid;gap:6px}
body.tms-app .tms-product-card__meta{display:flex;justify-content:space-between;align-items:center;gap:var(--tms-space-2)}
body.tms-app .tms-product-card__kicker{font-size:var(--tms-text-2xs);font-weight:var(--tms-weight-semibold);letter-spacing:var(--tms-tracking-wide);text-transform:uppercase;color:var(--tms-color-text-muted)}
body.tms-app .tms-product-card__name{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:var(--tms-text-base);font-weight:var(--tms-weight-medium);line-height:var(--tms-leading-snug);color:var(--tms-color-text);text-decoration:none}
body.tms-app .tms-product-card__name:hover{text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}
body.tms-app .tms-product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--tms-space-12) var(--tms-space-6)}
body.tms-app .tms-product-grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:1023px){
  body.tms-app .tms-product-grid--4{grid-template-columns:repeat(3,minmax(0,1fr))}
  body.tms-app .tms-product-card__wish,body.tms-app .tms-product-card__quick .tms-btn{width:40px;height:40px}
}
@media (max-width:767px){
  body.tms-app .tms-product-grid,body.tms-app .tms-product-grid--4{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--tms-space-8) var(--tms-space-3)}
  body.tms-app .tms-product-card__name{font-size:var(--tms-text-sm)}
  body.tms-app .tms-product-card__badges{top:var(--tms-space-2);left:var(--tms-space-2)}
  body.tms-app .tms-product-card__actions{margin:0 8px 8px 0;gap:6px}
  body.tms-app .tms-product-card>.tms-product-card__wish,body.tms-app .tms-product-card>.tms-product-card__quick{right:8px}
  body.tms-app .tms-product-card>.tms-product-card__quick{top:calc(100cqi * 5 / 4 - 48px)}
  body.tms-app .tms-product-card>.tms-product-card__wish{top:calc(100cqi * 5 / 4 - 94px)}
  body.tms-app .tms-product-card__wish,body.tms-app .tms-product-card__quick .tms-btn{width:36px;height:36px}
  body.tms-app .tms-product-card .tms-rating{display:none}
}

/* ==================== Wishlist ==================== */
body.tms-app .tms-product-card__wish[aria-pressed="true"]{opacity:1;transform:none}
body.tms-app .tms-product-card__wish[aria-pressed="true"] .tms-icon path{fill:currentColor}
body.tms-app .tms-wishlist__head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:var(--tms-space-6);padding-block:var(--tms-space-4) var(--tms-space-12)}
body.tms-app .tms-wishlist__head .tms-catalog__lede{margin-top:var(--tms-space-4)}
body.tms-app .tms-wishlist__actions{display:flex;flex-wrap:nowrap;justify-content:center;align-items:center;gap:var(--tms-space-3);margin:0 0 var(--tms-space-10)}
body.tms-app .tms-wishlist__empty{display:grid;justify-items:center;gap:var(--tms-space-4);text-align:center}
body.tms-app .tms-wishlist__clear{display:flex;justify-content:center;margin-top:var(--tms-space-10)}
@media (max-width:767px){
  body.tms-app .tms-wishlist__head{padding-bottom:var(--tms-space-6)}
  body.tms-app .tms-wishlist__actions{width:100%;gap:8px}
  body.tms-app .tms-wishlist__actions .tms-btn{flex:1 1 0;height:auto;min-height:44px;padding:10px 12px;white-space:normal;text-align:center;line-height:1.25}
}

/* ==================== Home: hero ==================== */
body.tms-app .tms-hero{position:relative;width:min(100% - (var(--tms-gutter) * 2),var(--tms-container));margin-inline:auto;overflow:hidden}
body.tms-app .tms-hero__trust{justify-content:center}
/* Slider — same content width as product widgets, with rounded corners */
body.tms-app .tms-slider{position:relative;overflow:hidden;border-radius:var(--tms-radius-xl);background:var(--tms-color-surface-2)}
body.tms-app .tms-slider__track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;overscroll-behavior-x:contain}
body.tms-app .tms-slider__track::-webkit-scrollbar{display:none}
body.tms-app .tms-hero--pending{min-height:var(--tms-hero-h, calc(min(60vh, 546px) + 60px));border-radius:var(--tms-radius-xl);background:var(--tms-color-surface-2)}
body.tms-app .tms-slide{position:relative;flex:0 0 100%;display:flex;align-items:flex-end;height:var(--tms-hero-h, calc(min(60vh, 546px) + 60px));min-height:var(--tms-hero-h, calc(min(60vh, 546px) + 60px));overflow:hidden;scroll-snap-align:start;scroll-snap-stop:always;color:var(--tms-color-text)}
body.tms-app .tms-slide__media-link{position:absolute;inset:0;z-index:1;display:none}
body.tms-app .tms-slide__media-link.is-desktop{display:block}
body.tms-app .tms-slide--link-desktop .tms-slide__inner{pointer-events:none}
body.tms-app .tms-slide--link-desktop .tms-slide__link,body.tms-app .tms-slide--link-desktop .tms-slide__cta{pointer-events:auto}
body.tms-app .tms-slide__img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;animation:tms-kenburns 20s var(--tms-ease-in-out) infinite alternate;animation-play-state:var(--tms-marquee-state)}
body.tms-app .tms-slide--still .tms-slide__img{animation:none}
body.tms-app .tms-slide__inner{position:relative;z-index:1;width:100%;padding-block:var(--tms-space-20) var(--tms-space-10);padding-inline:var(--tms-space-10)}
body.tms-app .tms-slide__content{display:grid;justify-items:start;gap:var(--tms-space-6);max-width:660px}
body.tms-app .tms-slide__content--center{justify-items:center;margin-inline:auto;text-align:center}
body.tms-app .tms-slide__content--right{justify-items:end;margin-left:auto;text-align:right}
body.tms-app .tms-slide__title .tms-hero__line,body.tms-app .tms-slide__title .tms-hero__line--bold{font-weight:inherit}
body.tms-app .tms-slide__content .tms-kicker{margin:0}
body.tms-app .tms-slide__title{margin:0;font-size:var(--tms-slide-title, clamp(26px, 3vw, 40px));font-weight:var(--tms-weight-light);line-height:1.08;letter-spacing:var(--tms-tracking-tight)}
body.tms-app .tms-slide__title .tms-hero__line+.tms-hero__line{margin-top:0.42em}
body.tms-app .tms-slide__deal{margin:0 0 calc(var(--tms-space-4) * -1);font-size:var(--tms-text-3xl);font-weight:var(--tms-weight-black);line-height:1;letter-spacing:-0.04em;color:var(--tms-color-sale)}
body.tms-app .tms-slide__lede{margin:0;max-width:44ch;font-size:var(--tms-text-md);color:var(--tms-color-text-muted);text-wrap:pretty}
body.tms-app .tms-slide__actions{display:flex;flex-wrap:wrap;gap:var(--tms-space-3);margin-top:var(--tms-space-2)}
body.tms-app .tms-slide__actions--mobile{display:none}
body.tms-app .tms-slide__link{display:inline-flex;align-items:center;gap:8px;padding:0;border:0;background:none;color:var(--tms-slide-link,currentColor);font-size:var(--tms-text-sm);font-weight:var(--tms-weight-medium);line-height:1.2;text-decoration:none}
body.tms-app .tms-slide__link span{text-decoration:underline;text-underline-offset:4px}
body.tms-app .tms-slide__cta{background:var(--tms-slide-cta-bg,var(--tms-color-primary)) !important;color:var(--tms-slide-cta-color,var(--tms-color-on-primary)) !important;border-color:var(--tms-slide-cta-bg,var(--tms-color-primary)) !important}
body.tms-app .tms-slide__cta::before{background:var(--tms-slide-cta-bg,var(--tms-color-primary-hover)) !important}
body.tms-app .tms-slide .tms-hero__line-inner,body.tms-app .tms-slide__fade{animation:none}
body.tms-app .tms-slide[aria-current="true"] .tms-hero__line-inner{animation:tms-line-up var(--tms-duration-reveal) var(--tms-ease) both}
body.tms-app .tms-slide[aria-current="true"] .tms-hero__line:nth-child(2) .tms-hero__line-inner{animation-delay:110ms}
body.tms-app .tms-slide[aria-current="true"] .tms-hero__line:nth-child(3) .tms-hero__line-inner{animation-delay:220ms}
body.tms-app .tms-slide[aria-current="true"] .tms-slide__fade{animation:tms-fade-up var(--tms-duration-slow) var(--tms-ease) both;animation-delay:var(--tms-delay,0ms)}
body.tms-app .tms-slide--dark{color:var(--tms-color-on-dark)}
body.tms-app .tms-slide--dark .tms-kicker,body.tms-app .tms-slide--dark .tms-slide__lede{color:var(--tms-color-on-dark-muted)}
body.tms-app .tms-slider--single .tms-slider__track{overflow-x:hidden}
body.tms-app .tms-slider__ui{position:absolute;z-index:2;left:0;right:0;bottom:var(--tms-space-8);pointer-events:none}
body.tms-app .tms-slider__ui-inner{display:flex;align-items:center;gap:var(--tms-space-5)}
body.tms-app .tms-slider__dots,body.tms-app .tms-slider__counter,body.tms-app .tms-slider__arrows{pointer-events:auto}
body.tms-app .tms-slider__dots{display:flex;align-items:center;gap:var(--tms-space-1);height:44px;padding:0 var(--tms-space-4);border-radius:var(--tms-radius-round);background:var(--tms-color-glass);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
body.tms-app .tms-slider__dot{display:grid;align-items:center;width:44px;height:44px;padding:0;border:0;background:none;cursor:pointer}
body.tms-app .tms-slider__dot-bar{position:relative;display:block;height:2px;border-radius:var(--tms-radius-round);background:var(--tms-color-line);overflow:hidden;transition:height var(--tms-duration-fast)}
body.tms-app .tms-slider__dot:hover .tms-slider__dot-bar{height:4px}
body.tms-app .tms-slider__dot-bar::after{content:"";position:absolute;inset:0;background:var(--tms-color-text);transform:scaleX(0);transform-origin:left}
body.tms-app .tms-slider__dot[aria-current="true"] .tms-slider__dot-bar::after{animation:tms-dot-fill 6s linear both;animation-play-state:var(--tms-marquee-state)}
body.tms-app .tms-slider__counter{display:flex;align-items:center;height:44px;margin:0;padding:0 var(--tms-space-4);border-radius:var(--tms-radius-round);background:var(--tms-color-glass);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);font-size:var(--tms-text-xs);font-weight:var(--tms-weight-semibold);color:var(--tms-color-text-muted);font-variant-numeric:tabular-nums}
body.tms-app .tms-slider__counter-now{margin-right:4px;color:var(--tms-color-text)}
body.tms-app .tms-slider__arrows{display:flex;gap:var(--tms-space-2);margin-left:auto}
body.tms-app .tms-slider__arrow{border-radius:var(--tms-radius-round);background:var(--tms-color-glass);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:var(--tms-color-text)}
body.tms-app .tms-slider__arrow::before{background:var(--tms-color-primary)}
body.tms-app .tms-slider__arrow:hover{color:var(--tms-color-on-primary)}
@media (max-width:767px){
  body.tms-app .tms-h1,body.tms-app .tms-page-hero__title{font-size:26px}
  body.tms-app .tms-about__title{font-size:30px}
  body.tms-app .tms-slide{height:var(--tms-hero-h-mobile, var(--tms-hero-h, calc(min(57vh, 476px) + 60px)));min-height:var(--tms-hero-h-mobile, var(--tms-hero-h, calc(min(57vh, 476px) + 60px)))}
  body.tms-app .tms-hero--pending{min-height:var(--tms-hero-h-mobile, var(--tms-hero-h, calc(min(57vh, 476px) + 60px)))}
  body.tms-app .tms-slide__inner{padding-block:var(--tms-space-16) var(--tms-space-6);padding-inline:var(--tms-space-6)}
  body.tms-app .tms-slide__title{font-size:var(--tms-slide-title-mobile, var(--tms-slide-title, clamp(22px, 7vw, 32px)))}
  body.tms-app .tms-slide__content{gap:var(--tms-space-4)}
  body.tms-app .tms-slide__media-link{display:none}
  body.tms-app .tms-slide__media-link.is-mobile{display:block}
  body.tms-app .tms-slide--link-desktop .tms-slide__inner{pointer-events:auto}
  body.tms-app .tms-slide--link-mobile .tms-slide__inner{pointer-events:none}
  body.tms-app .tms-slide--link-mobile .tms-slide__link,body.tms-app .tms-slide--link-mobile .tms-slide__cta{pointer-events:auto}
  body.tms-app .tms-slide__actions--desktop{display:none}
  body.tms-app .tms-slide__actions--mobile{display:flex}
  body.tms-app .tms-slide__actions{width:100%}
  body.tms-app .tms-slide__actions .tms-btn{flex:1}
  body.tms-app .tms-slider__ui{bottom:var(--tms-space-4)}
  body.tms-app .tms-slider__arrows{display:none}
  body.tms-app .tms-hero__trust{justify-content:flex-start}
}
body.tms-app .tms-hero__line{display:block;overflow:hidden;padding-bottom:0.1em;margin-bottom:-0.1em}
body.tms-app .tms-hero__line-inner{display:block;animation:tms-line-up var(--tms-duration-reveal) var(--tms-ease) both}
body.tms-app .tms-hero__line:nth-child(2) .tms-hero__line-inner{animation-delay:110ms}
body.tms-app .tms-hero__line:nth-child(3) .tms-hero__line-inner{animation-delay:220ms}
body.tms-app .tms-hero__line--bold{font-weight:var(--tms-weight-black)}
body.tms-app .tms-hero__fade{animation:tms-fade-up var(--tms-duration-slow) var(--tms-ease) both;animation-delay:var(--tms-delay,0ms)}
body.tms-app .tms-hero__trust{display:flex;flex-wrap:wrap;gap:var(--tms-space-3) var(--tms-space-8);margin:var(--tms-space-12) 0 0;padding:0;list-style:none}
body.tms-app .tms-hero__trust-item{display:flex;align-items:center;gap:var(--tms-space-2);font-size:var(--tms-text-sm);font-weight:var(--tms-weight-medium)}
@media (max-width:1023px){
}
@media (max-width:767px){
  body.tms-app .tms-hero{padding-top:0}
  body.tms-app .tms-hero__trust{display:grid;margin-top:var(--tms-space-8)}
  body.tms-app .tms-section-head{flex-wrap:nowrap;align-items:center;gap:12px;margin-bottom:var(--tms-space-6)}
  body.tms-app .tms-section-head__text{flex:1 1 auto;min-width:0}
  body.tms-app .tms-section-head .tms-kicker{margin-bottom:6px;gap:8px;font-size:11px}
  body.tms-app .tms-section-head .tms-kicker::before{width:16px}
  body.tms-app .tms-section-head .tms-h2{font-size:20px;letter-spacing:-0.02em}
  body.tms-app .tms-section-head .tms-btn{height:34px;padding:0 12px;gap:6px;font-size:12px;flex:none}
  body.tms-app .tms-section-head .tms-carousel__nav{width:34px;padding:0}
  body.tms-app .tms-section-head .tms-btn .tms-icon{width:14px;height:14px}
}

/* ==================== Home: category path ==================== */
body.tms-app .tms-path__list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--tms-space-6);margin:0;padding:0;list-style:none}
body.tms-app .tms-path__link{display:grid;gap:var(--tms-space-4);color:var(--tms-color-text);text-decoration:none}
body.tms-app .tms-path__media{position:relative;display:block;aspect-ratio:3/4;overflow:hidden;border-radius:var(--tms-radius-lg);background:var(--tms-color-surface)}
body.tms-app .tms-path__img{display:block;width:100%;height:100%;object-fit:cover;transition:transform var(--tms-duration-slow) var(--tms-ease)}
body.tms-app .tms-path__link:hover .tms-path__img{transform:scale(1.07)}
body.tms-app .tms-path__num{position:absolute;top:var(--tms-space-4);left:var(--tms-space-4);font-size:var(--tms-text-3xl);font-weight:var(--tms-weight-black);line-height:1;letter-spacing:-0.04em;color:transparent;-webkit-text-stroke:1px var(--tms-color-text);transition:color var(--tms-duration-base) var(--tms-ease)}
body.tms-app .tms-path__link:hover .tms-path__num{color:var(--tms-color-text)}
body.tms-app .tms-path__body{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--tms-space-2) var(--tms-space-4);align-items:start}
body.tms-app .tms-path .tms-h2{font-size:36px}
body.tms-app .tms-path__name{font-size:var(--tms-text-md);font-weight:var(--tms-weight-semibold);line-height:var(--tms-leading-snug)}
body.tms-app .tms-path__desc{grid-column:1;font-size:var(--tms-text-sm);color:var(--tms-color-text-muted)}
body.tms-app .tms-path__count{grid-column:1;font-size:var(--tms-text-xs);font-weight:var(--tms-weight-semibold)}
body.tms-app .tms-path__go{grid-column:2;grid-row:1/span 3;display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--tms-color-line-strong);border-radius:var(--tms-radius-round);transform:rotate(-45deg);transition:all var(--tms-duration-base) var(--tms-ease)}
body.tms-app .tms-path__link:hover .tms-path__go{transform:none;background:var(--tms-color-primary);color:var(--tms-color-on-primary)}
@media (max-width:1023px){
  body.tms-app .tms-path__list{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--tms-space-10) var(--tms-space-4)}
  body.tms-app .tms-path .tms-h2{font-size:30px}
}
@media (max-width:767px){
  body.tms-app .tms-path__go{display:none}
  body.tms-app .tms-path .tms-section-head .tms-h2{font-size:18px}
  body.tms-app .tms-path__name{font-size:15px}
  body.tms-app .tms-path__num{font-size:var(--tms-text-2xl)}
}

/* ==================== Home: product carousel ==================== */
body.tms-app .tms-carousel__controls{display:flex;align-items:center;gap:var(--tms-space-2)}
body.tms-app .tms-carousel__nav{border-radius:var(--tms-radius-round)}
body.tms-app .tms-carousel__track{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--tms-space-6)}
body.tms-app .tms-carousel--grid .tms-carousel__nav{display:none}
body.tms-app .tms-carousel--rail .tms-carousel__track{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:calc((100% - 3 * var(--tms-space-6)) / 4);overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
body.tms-app .tms-carousel--rail .tms-carousel__track::-webkit-scrollbar{display:none}
@media (min-width:1024px){
  body.tms-app .tms-carousel:not(.tms-carousel--rail) .tms-carousel__nav{display:none}
}
@media (max-width:1023px){
  body.tms-app .tms-carousel__track{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:40%;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;margin-inline:calc(var(--tms-gutter) * -1);padding-inline:var(--tms-gutter);scroll-padding-inline:var(--tms-gutter)}
  body.tms-app .tms-carousel--grid .tms-carousel__track{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-flow:row;overflow:visible;margin-inline:0;padding-inline:0;scroll-snap-type:none}
  body.tms-app .tms-carousel--rail .tms-carousel__track{grid-auto-columns:40%}
}
@media (max-width:767px){
  body.tms-app .tms-carousel--rail .tms-carousel__track{grid-auto-columns:66%;gap:var(--tms-space-3)}
}

/* ==================== Home: feature grid ==================== */
body.tms-app .tms-features__panel{padding:var(--tms-space-6) var(--tms-space-8);border-radius:var(--tms-radius-xl);background:var(--tms-color-surface)}
body.tms-app .tms-features__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--tms-space-6);margin:0;padding:0;list-style:none}
body.tms-app .tms-feature{display:flex;align-items:flex-start;gap:var(--tms-space-3)}
body.tms-app .tms-feature__icon{display:grid;place-items:center;flex:none;width:40px;height:40px;border-radius:var(--tms-radius-round);background:var(--tms-color-bg);color:var(--tms-color-text);transition:background var(--tms-duration-base) var(--tms-ease),color var(--tms-duration-base) var(--tms-ease)}
body.tms-app .tms-feature:hover .tms-feature__icon{background:var(--tms-color-primary);color:var(--tms-color-on-primary)}
body.tms-app .tms-feature__title{margin:0 0 2px;font-size:var(--tms-text-sm);font-weight:var(--tms-weight-semibold);line-height:var(--tms-leading-snug)}
body.tms-app .tms-feature__text{margin:0;font-size:var(--tms-text-sm);color:var(--tms-color-text-muted);text-wrap:pretty}
@media (max-width:1023px){
  body.tms-app .tms-features__panel{padding:var(--tms-space-5)}
  body.tms-app .tms-features__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:767px){
  body.tms-app .tms-features__panel{padding:var(--tms-space-5) var(--tms-space-4)}
  body.tms-app .tms-features__grid{grid-template-columns:1fr;gap:var(--tms-space-5)}
}

/* ==================== Home: end spacing ==================== */
body.tms-app .tms-home{padding-bottom:var(--tms-space-24)}

/* ==================== Catalog ==================== */
body.tms-app .tms-catalog__head{display:grid;gap:var(--tms-space-6);padding-block:var(--tms-space-4) var(--tms-space-12)}
body.tms-app .tms-catalog__title-row{display:flex;flex-wrap:wrap;align-items:flex-start;gap:var(--tms-space-3)}
body.tms-app .tms-catalog__count{display:inline-grid;place-items:center;min-width:40px;height:28px;padding:0 var(--tms-space-3);margin-top:var(--tms-space-2);border-radius:var(--tms-radius-round);background:var(--tms-color-surface);font-size:var(--tms-text-xs);font-weight:var(--tms-weight-bold)}
body.tms-app .tms-catalog__lede{margin:0;max-width:60ch;color:var(--tms-color-text-muted)}
body.tms-app .tms-catalog__cats{display:flex;gap:var(--tms-space-2);overflow-x:auto;scrollbar-width:none;margin:0;padding:0;list-style:none}
body.tms-app .tms-catalog__layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:var(--tms-space-12);align-items:start}
body.tms-app .tms-filters{position:sticky;top:calc(var(--tms-header-h) + var(--tms-promo-h) + var(--tms-space-6));display:grid;gap:var(--tms-space-1)}
body.tms-app .tms-filters__head{display:flex;align-items:center;justify-content:space-between;padding-bottom:var(--tms-space-3)}
body.tms-app .tms-filters__title{margin:0;font-size:var(--tms-text-md);font-weight:var(--tms-weight-semibold)}
body.tms-app .tms-filters__close{display:none}
body.tms-app .tms-filters__handle{display:none}
body.tms-app .tms-filter{padding-block:var(--tms-space-4);border-top:1px solid var(--tms-color-line)}
body.tms-app .tms-filter__title{display:flex;align-items:center;justify-content:space-between;font-size:var(--tms-text-sm);font-weight:var(--tms-weight-semibold);cursor:pointer;list-style:none}
body.tms-app .tms-filter__title::-webkit-details-marker{display:none}
body.tms-app .tms-filter__title .tms-icon{transition:transform var(--tms-duration-base) var(--tms-ease)}
body.tms-app .tms-filter[open] .tms-filter__title .tms-icon{transform:rotate(45deg)}
body.tms-app .tms-filter__list{display:grid;gap:var(--tms-space-3);margin:var(--tms-space-4) 0 0;padding:0;list-style:none}
body.tms-app .tms-filter__list--cats{--tms-cat-row:22px;max-height:calc(8 * var(--tms-cat-row) + 7 * var(--tms-space-3));overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--tms-color-line-strong) transparent}
body.tms-app .tms-filter__list--cats>li{min-height:var(--tms-cat-row)}
body.tms-app .tms-filter__list--cats .tms-check{min-height:var(--tms-cat-row);line-height:1.25}
body.tms-app .tms-filter__list--cats .tms-check__label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
body.tms-app .tms-filter__list--cats::-webkit-scrollbar{width:6px}
body.tms-app .tms-filter__list--cats::-webkit-scrollbar-thumb{border-radius:var(--tms-radius-round);background:var(--tms-color-line-strong)}
body.tms-app .tms-filter__body{margin-top:var(--tms-space-4)}
body.tms-app .tms-filter__range{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:var(--tms-space-2);color:var(--tms-color-text-subtle)}
body.tms-app .tms-filter__range .tms-input{height:44px;padding:0 var(--tms-space-3);font-size:var(--tms-text-sm)}
body.tms-app .tms-filters__actions{display:none}
body.tms-app .tms-catalog__toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--tms-space-3);margin-bottom:var(--tms-space-8)}
body.tms-app .tms-catalog__filter-btn{display:none}
body.tms-app .tms-active-filters{display:flex;flex-wrap:wrap;align-items:center;gap:var(--tms-space-2);flex:1;margin:0;padding:0;list-style:none}
body.tms-app .tms-active-filter{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 var(--tms-space-2) 0 var(--tms-space-4);border:0;border-radius:var(--tms-radius-round);background:var(--tms-color-surface);color:var(--tms-color-text);font:inherit;font-size:var(--tms-text-xs);font-weight:var(--tms-weight-semibold);cursor:pointer;transition:background var(--tms-duration-fast)}
body.tms-app .tms-active-filter:hover{background:var(--tms-color-surface-2)}
body.tms-app .tms-active-filter .tms-icon{transition:transform var(--tms-duration-base) var(--tms-ease)}
body.tms-app .tms-active-filter:hover .tms-icon{transform:rotate(90deg)}
body.tms-app .tms-active-filters__clear{font-size:var(--tms-text-xs)}
body.tms-app .tms-sort{display:flex;align-items:center;gap:var(--tms-space-2);margin-left:auto}
body.tms-app .tms-sort__label{font-size:var(--tms-text-sm);color:var(--tms-color-text-muted);white-space:nowrap}
body.tms-app .tms-sort .tms-input{height:44px;border:1px solid var(--tms-color-line);border-radius:var(--tms-radius-round);background:var(--tms-color-bg);font-size:var(--tms-text-sm);font-weight:var(--tms-weight-semibold)}
body.tms-app .tms-catalog__more{display:grid;justify-items:center;gap:var(--tms-space-4);margin-top:var(--tms-space-16)}
body.tms-app .tms-catalog__more .tms-progress{width:200px}
body.tms-app .tms-catalog__progress-text{margin:0;font-size:var(--tms-text-sm);color:var(--tms-color-text-muted)}
body.tms-app .tms-empty{display:grid;justify-items:start;gap:var(--tms-space-4);max-width:520px;padding-block:var(--tms-space-16)}
body.tms-app .tms-empty__icon{display:grid;place-items:center;width:80px;height:80px;margin-bottom:var(--tms-space-2);border-radius:var(--tms-radius-round);background:var(--tms-color-surface);animation:tms-float 5s var(--tms-ease-in-out) infinite}
body.tms-app .tms-empty__text{margin:0;color:var(--tms-color-text-muted)}
body.tms-app .tms-empty__actions{display:flex;flex-wrap:wrap;gap:var(--tms-space-3);margin-top:var(--tms-space-2)}
@media (max-width:1023px){
  body.tms-app .tms-catalog__layout{grid-template-columns:1fr}
  body.tms-app .tms-catalog__filter-btn{display:inline-flex}
  body.tms-app .tms-filters{position:fixed;z-index:90;left:0;right:0;bottom:0;top:auto;width:100%;max-height:86vh;overflow:auto;align-content:start;padding:var(--tms-space-3) var(--tms-gutter) 0;border-radius:var(--tms-radius-xl) var(--tms-radius-xl) 0 0;background:var(--tms-color-bg);box-shadow:var(--tms-shadow-lg);transform:translateY(110%);visibility:hidden;pointer-events:none;transition:transform var(--tms-duration-base) var(--tms-ease),visibility var(--tms-duration-base)}
  body.tms-app .tms-filters[data-state="open"]{transform:none;visibility:visible;pointer-events:auto}
  body.tms-app .tms-filters__handle{display:block;justify-self:center;width:40px;height:4px;margin-bottom:var(--tms-space-3);border-radius:var(--tms-radius-round);background:var(--tms-color-surface-2)}
  body.tms-app .tms-filters__close{display:inline-flex;border-radius:var(--tms-radius-round)}
  body.tms-app .tms-filters__actions{position:sticky;bottom:0;display:grid;grid-template-columns:1fr 1fr;gap:var(--tms-space-2);padding-block:var(--tms-space-4);background:var(--tms-color-bg)}
}
@media (max-width:767px){
  body.tms-app .tms-catalog__toolbar{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:var(--tms-space-2)}
  body.tms-app .tms-catalog__filter-btn{grid-column:1;grid-row:1;width:100%;min-width:0}
  body.tms-app .tms-sort{grid-column:2;grid-row:1;width:100%;min-width:0;margin-left:0}
  body.tms-app .tms-sort .tms-select,body.tms-app .tms-sort .tms-input{width:100%;min-width:0}
  body.tms-app .tms-sort__label{display:none}
  body.tms-app .tms-active-filters{grid-column:1 / -1;grid-row:2;flex-basis:auto}
  body.tms-app .tms-catalog__cats{margin-inline:calc(var(--tms-gutter) * -1);padding-inline:var(--tms-gutter)}
}

/* ==================== TAMOCOSMETICS (catalog with photo header) ==================== */
body.tms-app .tms-page-hero{position:relative;display:flex;align-items:stretch;min-height:min(56vh,480px);overflow:hidden;background:var(--tms-color-dark);color:var(--tms-color-on-dark)}
body.tms-app .tms-page-hero::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,var(--tms-color-slide-scrim-dark) 0%,transparent 75%)}
body.tms-app .tms-page-hero__img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;animation:tms-kenburns 20s var(--tms-ease-in-out) infinite alternate;animation-play-state:var(--tms-marquee-state)}
body.tms-app .tms-page-hero__inner{position:relative;z-index:1;display:flex;flex-direction:column;justify-content:space-between;gap:var(--tms-space-12);padding-block:var(--tms-space-6) var(--tms-space-12)}
body.tms-app .tms-catalog__layout--full{grid-template-columns:1fr}
body.tms-app .tms-catalog__layout--full .tms-catalog__toolbar{justify-content:flex-start}
body.tms-app .tms-catalog--brand>.tms-container:first-child{padding-top:var(--tms-space-16)}
body.tms-app .tms-catalog--brand .tms-page-hero{min-height:220px}
body.tms-app .tms-page-hero.tms-page-hero--brand,body.tms-app .tms-catalog--brand .tms-page-hero.tms-page-hero--brand{min-height:var(--tms-brand-hero-h,220px)}
body.tms-app .tms-page-hero.tms-page-hero--brand .tms-page-hero__inner,body.tms-app .tms-catalog--brand .tms-page-hero__inner{justify-content:flex-end;gap:var(--tms-space-6);padding-block:var(--tms-space-5) var(--tms-space-6)}
body.tms-app .tms-catalog--brand .tms-breadcrumb--light{margin-bottom:var(--tms-space-8)}
body.tms-app .tms-catalog--brand .tms-catalog__filter-btn{display:inline-flex}
@media (max-width:1023px) and (min-width:768px){
  body.tms-app .tms-catalog--brand .tms-product-grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}
}
body.tms-app .tms-filters-backdrop{position:fixed;z-index:89;inset:0;border:0;background:rgba(17,17,16,.4);cursor:pointer}
body.tms-app .tms-filters--sheet{position:fixed;z-index:90;left:0;right:0;bottom:0;top:auto;width:100%;max-height:86vh;overflow:auto;align-content:start;padding:var(--tms-space-3) var(--tms-gutter) 0;border-radius:var(--tms-radius-xl) var(--tms-radius-xl) 0 0;background:var(--tms-color-bg);box-shadow:var(--tms-shadow-lg);transform:translateY(110%);visibility:hidden;pointer-events:none;transition:transform var(--tms-duration-base) var(--tms-ease),visibility var(--tms-duration-base)}
body.tms-app .tms-filters--sheet[data-state="open"]{transform:none;visibility:visible;pointer-events:auto}
body.tms-app .tms-filters--sheet .tms-filters__handle{display:block;justify-self:center;width:40px;height:4px;margin-bottom:var(--tms-space-3);border-radius:var(--tms-radius-round);background:var(--tms-color-surface-2)}
body.tms-app .tms-filters--sheet .tms-filters__close{display:inline-flex;border-radius:var(--tms-radius-round)}
body.tms-app .tms-filters--sheet .tms-filters__actions{position:sticky;bottom:0;display:grid;grid-template-columns:1fr 1fr;gap:var(--tms-space-2);padding-block:var(--tms-space-4);background:var(--tms-color-bg)}
body.tms-app .tms-page-hero__body{display:grid;gap:var(--tms-space-4);max-width:720px;animation:tms-fade-up var(--tms-duration-slow) var(--tms-ease) 300ms both}
body.tms-app .tms-page-hero__title{margin:0;font-size:32px;font-weight:var(--tms-weight-light);line-height:1;letter-spacing:-0.03em}
body.tms-app .tms-page-hero__title-bold{font-weight:var(--tms-weight-black)}
body.tms-app .tms-page-hero__lede{margin:0;max-width:52ch;color:var(--tms-color-on-dark-muted);text-wrap:pretty}
body.tms-app .tms-page-hero__cats{padding-block:var(--tms-space-8) var(--tms-space-10)}
body.tms-app .tms-catalog__count--light{background:var(--tms-color-on-dark-line);color:var(--tms-color-on-dark)}
body.tms-app .tms-breadcrumb--light{padding:0}
body.tms-app .tms-breadcrumb--light .tms-breadcrumb__list,body.tms-app .tms-breadcrumb--light .tms-breadcrumb__link{color:var(--tms-color-on-dark-muted)}
body.tms-app .tms-breadcrumb--light .tms-breadcrumb__link:hover,body.tms-app .tms-breadcrumb--light [aria-current="page"]{color:var(--tms-color-on-dark)}
body.tms-app .tms-breadcrumb--light .tms-breadcrumb__item+.tms-breadcrumb__item::before{background:var(--tms-color-on-dark-muted)}
@media (max-width:767px){
  body.tms-app .tms-page-hero{min-height:340px}
  body.tms-app .tms-catalog--brand .tms-page-hero{min-height:180px}
  body.tms-app .tms-page-hero::after{background:linear-gradient(0deg,var(--tms-color-slide-scrim-dark) 10%,transparent 90%)}
  body.tms-app .tms-page-hero__inner{padding-block:var(--tms-space-5) var(--tms-space-8)}
  body.tms-app .tms-page-hero__cats{padding-block:var(--tms-space-6)}
  body.tms-app .tms-page-hero.tms-page-hero--brand,
  body.tms-app .tms-catalog--brand .tms-page-hero.tms-page-hero--brand{display:block;min-height:0;height:auto;background:var(--tms-color-bg);color:var(--tms-color-text)}
  body.tms-app .tms-page-hero.tms-page-hero--brand::after{display:none}
  body.tms-app .tms-page-hero.tms-page-hero--brand .tms-page-hero__img{position:relative;inset:auto;width:100%;height:auto;object-fit:contain;animation:none}
  body.tms-app .tms-page-hero.tms-page-hero--brand .tms-page-hero__inner{position:relative;inset:auto;gap:var(--tms-space-4);padding-block:var(--tms-space-5) var(--tms-space-2)}
  body.tms-app .tms-page-hero.tms-page-hero--brand .tms-page-hero__lede{color:var(--tms-color-text-muted)}
  body.tms-app .tms-page-hero.tms-page-hero--brand .tms-breadcrumb--light .tms-breadcrumb__list,
  body.tms-app .tms-page-hero.tms-page-hero--brand .tms-breadcrumb--light .tms-breadcrumb__link{color:var(--tms-color-text-muted)}
  body.tms-app .tms-page-hero.tms-page-hero--brand .tms-breadcrumb--light .tms-breadcrumb__link:hover,
  body.tms-app .tms-page-hero.tms-page-hero--brand .tms-breadcrumb--light [aria-current="page"]{color:var(--tms-color-text)}
  body.tms-app .tms-page-hero.tms-page-hero--brand .tms-breadcrumb--light .tms-breadcrumb__item+.tms-breadcrumb__item::before{background:var(--tms-color-text-muted)}
}

/* ==================== Product ==================== */
body.tms-app .tms-pdp.tms-page{padding-bottom:var(--tms-space-16)}
body.tms-app .tms-pdp .tms-section{padding-top:var(--tms-space-12)}
body.tms-app .tms-pdp__grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,3fr);gap:var(--tms-space-12);align-items:start}
body.tms-app .tms-gallery{position:sticky;top:calc(var(--tms-header-h) + var(--tms-promo-h) + var(--tms-space-4));z-index:2;display:grid;grid-template-columns:minmax(0,1fr);gap:var(--tms-space-3);align-content:start;align-self:start}
body.tms-app .tms-gallery__main{position:relative;display:grid;aspect-ratio:3/4;overflow:hidden;border:1px solid var(--tms-color-line);box-shadow:none;border-radius:var(--tms-radius-lg);background:var(--tms-color-bg);line-height:0}
body.tms-app .tms-gallery__main:only-child{grid-column:auto}
body.tms-app .tms-gallery__img{display:block;width:100%;height:100%;object-fit:contain;border:0;border-radius:inherit;background:transparent}
body.tms-app .tms-gallery__badges{position:absolute;top:var(--tms-space-4);left:var(--tms-space-4);z-index:1;display:flex;gap:6px}
body.tms-app .tms-gallery__nav{position:absolute;z-index:1;left:0;right:0;bottom:var(--tms-space-3);display:flex;align-items:center;justify-content:center;gap:var(--tms-space-2);pointer-events:none}
body.tms-app .tms-gallery__nav-btn{pointer-events:auto;display:grid;place-items:center;width:36px;height:36px;padding:0;border:1px solid var(--tms-color-line);border-radius:var(--tms-radius-round);background:color-mix(in srgb,var(--tms-color-bg) 92%,transparent);color:var(--tms-color-text);cursor:pointer}
body.tms-app .tms-gallery__nav-btn:hover{background:var(--tms-color-bg)}
body.tms-app .tms-gallery__nav-btn .tms-icon{width:16px;height:16px}
body.tms-app .tms-gallery__count{min-width:52px;padding:6px 10px;border-radius:var(--tms-radius-round);background:color-mix(in srgb,var(--tms-color-bg) 92%,transparent);font-size:var(--tms-text-xs);font-weight:var(--tms-weight-semibold);line-height:1;text-align:center}
body.tms-app .tms-gallery__thumbs{display:flex;gap:8px;align-items:center;margin:0;padding:0;overflow-x:auto;list-style:none}
body.tms-app .tms-gallery__thumb{display:block;flex:0 0 72px;width:72px;height:72px;padding:0;border:1px solid var(--tms-color-line);box-shadow:none;border-radius:var(--tms-radius-md);overflow:hidden;background:var(--tms-color-bg);cursor:pointer;opacity:.72}
body.tms-app .tms-gallery__thumb:hover,body.tms-app .tms-gallery__thumb[aria-current="true"]{opacity:1;border-color:var(--tms-color-text)}
body.tms-app .tms-gallery__thumb-img{display:block;width:100%;height:100%;object-fit:contain;padding:0;border:0;background:transparent}
body.tms-app .tms-pdp__info{position:static;display:grid;gap:var(--tms-space-4);align-content:start}
body.tms-app .tms-pdp__info > *{animation:tms-fade-up var(--tms-duration-slow) var(--tms-ease) both}
body.tms-app .tms-pdp__info > *:nth-child(2){animation-delay:60ms}
body.tms-app .tms-pdp__info > *:nth-child(3){animation-delay:120ms}
body.tms-app .tms-pdp__info > *:nth-child(4){animation-delay:180ms}
body.tms-app .tms-pdp__info > *:nth-child(n+5){animation-delay:240ms}
body.tms-app .tms-pdp__info .tms-kicker{margin:0}
body.tms-app .tms-pdp__title{margin:0;font-size:var(--tms-text-xl);font-weight:var(--tms-weight-light);line-height:1.15;letter-spacing:-0.03em;text-wrap:balance}
body.tms-app .tms-pdp__price .tms-price__now{font-size:var(--tms-text-lg);font-weight:var(--tms-weight-semibold)}
body.tms-app .tms-pdp__price .tms-price__old{font-size:var(--tms-text-sm)}
body.tms-app .tms-notes{--tms-note-warning:#9a4556;--tms-note-storage:#2f8a4f;display:grid;margin-top:var(--tms-space-2);border-top:1px solid var(--tms-color-line)}
body.tms-app.tms-app--dark .tms-notes{--tms-note-warning:#e2b0b8;--tms-note-storage:#8fd4a8}
body.tms-app .tms-notes__row{display:grid;grid-template-columns:168px minmax(0,1fr);gap:var(--tms-space-3) var(--tms-space-6);align-items:start;padding-block:var(--tms-space-4);border-bottom:1px solid var(--tms-color-line)}
body.tms-app .tms-notes__title{margin:0;font-size:var(--tms-text-base);font-weight:var(--tms-weight-bold);line-height:1.45;color:var(--tms-color-text)}
body.tms-app .tms-notes__row--warning .tms-notes__title,body.tms-app .tms-notes__row--warning .tms-notes__copy{color:var(--tms-note-warning)}
body.tms-app .tms-notes__row--storage .tms-notes__title,body.tms-app .tms-notes__row--storage .tms-notes__copy{color:var(--tms-note-storage)}
body.tms-app .tms-notes__copy{margin:0;font-size:var(--tms-text-sm);line-height:1.65;color:var(--tms-color-text);white-space:pre-line}
body.tms-app .tms-notes__copy p{margin:0 0 var(--tms-space-2)}
body.tms-app .tms-notes__copy p:last-child{margin:0}
body.tms-app .tms-pdp__option{display:grid;gap:var(--tms-space-3);margin:0;padding:0;border:0;min-width:0}
body.tms-app .tms-pdp__buy{display:flex;gap:var(--tms-space-2)}
body.tms-app .tms-pdp__add{flex:1}
body.tms-app .tms-pdp__wish{border-color:var(--tms-color-line)}
body.tms-app .tms-cross{display:grid;gap:var(--tms-space-4);margin-top:var(--tms-space-2)}
body.tms-app .tms-cross__title{margin:0;font-size:var(--tms-text-sm);font-weight:var(--tms-weight-semibold);letter-spacing:0.04em}
body.tms-app .tms-cross__group{display:grid;gap:var(--tms-space-2)}
body.tms-app .tms-cross__cat{margin:0;font-size:12px;font-weight:var(--tms-weight-semibold);letter-spacing:0.06em;text-transform:uppercase;color:var(--tms-color-text-muted)}
body.tms-app .tms-cross__rail{display:flex;gap:var(--tms-space-3);margin:0;padding:2px 2px 6px;overflow-x:auto;list-style:none;scroll-snap-type:x mandatory;scrollbar-width:thin}
body.tms-app .tms-cross__card{display:grid;gap:8px;width:148px;scroll-snap-align:start;color:inherit}
body.tms-app .tms-cross__name{color:inherit;text-decoration:none}
body.tms-app .tms-cross__media{position:relative;display:block;aspect-ratio:4/5;overflow:hidden;border:1px solid var(--tms-color-line);border-radius:var(--tms-radius-lg);background:transparent;transition:box-shadow 800ms var(--tms-ease)}
body.tms-app .tms-cross__media>a{position:absolute;inset:0;display:block}
body.tms-app .tms-cross__badge{position:absolute;z-index:2;top:8px;left:8px;height:18px;max-width:none;padding:0 6px;font-size:8px}
body.tms-app .tms-cross__add{position:absolute;right:8px;bottom:8px;z-index:2;display:grid;place-items:center;width:32px;height:32px;padding:0;border:0;border-radius:var(--tms-radius-round);background:var(--tms-color-bg);color:var(--tms-color-text);box-shadow:var(--tms-shadow-sm);cursor:pointer}
body.tms-app .tms-cross__add:hover{background:var(--tms-color-primary);color:var(--tms-color-on-primary)}
body.tms-app .tms-cross__add:disabled{opacity:0.45;cursor:default}
body.tms-app .tms-cross__card:hover .tms-cross__media{box-shadow:0 8px 18px rgb(10 10 10 / 0.05)}
body.tms-app .tms-cross__media img{width:100%;height:100%;object-fit:cover;transition:transform 800ms var(--tms-ease)}
body.tms-app .tms-cross__card:hover .tms-cross__media img{transform:scale(1.025)}
body.tms-app .tms-cross__kicker{font-size:10px;font-weight:var(--tms-weight-semibold);letter-spacing:0.06em;text-transform:uppercase;color:var(--tms-color-text-muted)}
body.tms-app .tms-cross__name{display:-webkit-box;overflow:hidden;font-size:13px;line-height:1.35;-webkit-box-orient:vertical;-webkit-line-clamp:2}
body.tms-app .tms-cross__price{font-size:13px;font-weight:var(--tms-weight-semibold)}
body.tms-app .tms-cross__old{margin-left:6px;font-size:12px;font-weight:var(--tms-weight-regular);color:var(--tms-color-text-subtle);text-decoration:line-through}
body.tms-app .tms-stock{display:flex;align-items:center;gap:var(--tms-space-3);margin:0;font-size:var(--tms-text-sm);font-weight:var(--tms-weight-medium)}
body.tms-app .tms-stock__dot{width:8px;height:8px;border-radius:var(--tms-radius-round);background:var(--tms-color-primary);animation:tms-pulse 2s infinite;animation-play-state:var(--tms-marquee-state)}
body.tms-app .tms-stock--in .tms-stock__dot{background:#1f8a4c}
body.tms-app .tms-stock--out .tms-stock__dot{background:var(--tms-color-text-subtle);animation:none}
body.tms-app .tms-buybar{position:fixed;z-index:35;top:calc(var(--tms-header-h) + var(--tms-promo-h));left:0;right:0;display:none;border-bottom:1px solid var(--tms-color-line);background:color-mix(in srgb,var(--tms-color-bg) 94%,transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:0 10px 24px rgb(17 17 16 / 0.06)}
body.tms-app .tms-buybar.is-on{display:block}
body.tms-app .tms-buybar__inner{display:flex;align-items:center;gap:var(--tms-space-4);min-height:64px;padding-block:10px}
body.tms-app .tms-buybar__title{flex:1;min-width:0;margin:0;overflow:hidden;font-size:var(--tms-text-sm);font-weight:var(--tms-weight-semibold);text-overflow:ellipsis;white-space:nowrap}
body.tms-app .tms-buybar__price{flex:none;font-weight:var(--tms-weight-bold)}
body.tms-app .tms-buybar__qty,body.tms-app .tms-buybar .tms-qty{flex:none}
body.tms-app .tms-buybar__wish{flex:none;border-color:var(--tms-color-line)}
body.tms-app .tms-buybar__add{flex:none}
body.tms-app .tms-buybar__add-short{display:none}
body.tms-app .tms-perks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--tms-space-4);margin:0;padding:var(--tms-space-5);border-radius:var(--tms-radius-lg);background:var(--tms-color-surface);list-style:none}
body.tms-app .tms-perks__item{display:grid;gap:var(--tms-space-2);font-size:var(--tms-text-xs);font-weight:var(--tms-weight-medium);line-height:var(--tms-leading-snug)}
body.tms-app .tms-accordion__item{border-bottom:1px solid var(--tms-color-line)}
body.tms-app .tms-accordion__summary{display:flex;align-items:center;justify-content:space-between;padding-block:var(--tms-space-5);font-weight:var(--tms-weight-semibold);cursor:pointer;list-style:none}
body.tms-app .tms-accordion__summary::-webkit-details-marker{display:none}
body.tms-app .tms-accordion__summary .tms-icon{transition:transform var(--tms-duration-base) var(--tms-ease)}
body.tms-app .tms-accordion__item[open] .tms-accordion__summary .tms-icon{transform:rotate(45deg)}
body.tms-app .tms-accordion__content{padding-bottom:var(--tms-space-5);font-size:var(--tms-text-sm);color:var(--tms-color-text-muted);animation:tms-fade-up var(--tms-duration-base) var(--tms-ease) both}
body.tms-app .tms-accordion__content p{margin:0}
body.tms-app .tms-specs__list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 var(--tms-space-12);margin:0}
body.tms-app .tms-specs__row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:var(--tms-space-4);padding-block:var(--tms-space-4);border-bottom:1px solid var(--tms-color-line)}
body.tms-app .tms-specs__term{font-size:var(--tms-text-sm);color:var(--tms-color-text-muted)}
body.tms-app .tms-specs__value{margin:0;font-size:var(--tms-text-sm);font-weight:var(--tms-weight-semibold)}
@media (max-width:1023px){
  body.tms-app .tms-pdp__grid{gap:var(--tms-space-8)}
  body.tms-app .tms-gallery{position:static}
}
@media (max-width:767px){
  body.tms-app .tms-pdp__grid{grid-template-columns:1fr;gap:var(--tms-space-6)}
  body.tms-app .tms-gallery{position:static;max-width:none}
  body.tms-app .tms-notes__row{grid-template-columns:1fr;gap:4px;padding-block:var(--tms-space-3)}
  body.tms-app .tms-specs__list{grid-template-columns:1fr}
  body.tms-app .tms-buybar__title{display:none}
  body.tms-app .tms-buybar__add{flex:1}
  body.tms-app .tms-buybar__add-full{display:none}
  body.tms-app .tms-buybar__add-short{display:inline}
  body.tms-app .tms-pdp__buy{flex-wrap:wrap}
  body.tms-app .tms-pdp__add{order:3;flex-basis:100%}
  body.tms-app .tms-pdp__buy .tms-qty{flex:1;justify-content:space-between}
  body.tms-app .tms-perks{grid-template-columns:1fr;gap:var(--tms-space-3)}
  body.tms-app .tms-perks__item{grid-auto-flow:column;justify-content:start;align-items:center;gap:var(--tms-space-3)}
}

/* ==================== Cart line (drawer + cart page) ==================== */
body.tms-app .tms-lines{margin:0;padding:0;list-style:none}
body.tms-app .tms-line{display:grid;grid-template-columns:88px minmax(0,1fr) auto;gap:var(--tms-space-4);padding-block:var(--tms-space-5);border-bottom:1px solid var(--tms-color-line)}
body.tms-app .tms-line__media{display:block;aspect-ratio:4/5;overflow:hidden;border-radius:var(--tms-radius-md);background:var(--tms-color-surface)}
body.tms-app .tms-line__img{display:block;width:100%;height:100%;object-fit:cover;transition:transform var(--tms-duration-slow) var(--tms-ease)}
body.tms-app .tms-line__media:hover .tms-line__img{transform:scale(1.08)}
body.tms-app .tms-line__info{display:grid;gap:4px;align-content:start;min-width:0}
body.tms-app .tms-line__name{font-size:var(--tms-text-sm);font-weight:var(--tms-weight-semibold);line-height:var(--tms-leading-snug);color:var(--tms-color-text);text-decoration:none}
body.tms-app .tms-line__name:hover{text-decoration:underline;text-underline-offset:3px}
body.tms-app .tms-line__variant{margin:0;font-size:var(--tms-text-xs);color:var(--tms-color-text-muted)}
body.tms-app .tms-line__actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--tms-space-4);margin-top:var(--tms-space-3)}
body.tms-app .tms-line__remove{display:inline-grid;place-items:center;width:36px;height:36px;padding:0;border:0;border-radius:var(--tms-radius-round);background:none;color:var(--tms-color-text-muted);cursor:pointer;transition:all var(--tms-duration-fast) var(--tms-ease)}
body.tms-app .tms-line__remove:hover{background:var(--tms-color-surface);color:var(--tms-color-text)}
body.tms-app .tms-line__price{display:grid;justify-items:end;align-content:start;gap:2px}
body.tms-app .tms-line__total{font-weight:var(--tms-weight-bold)}
body.tms-app .tms-line__price--sale .tms-line__total{color:var(--tms-color-sale)}
body.tms-app .tms-ship{display:grid;gap:var(--tms-space-3)}
body.tms-app .tms-ship__text{display:flex;align-items:center;gap:var(--tms-space-3);margin:0;font-size:var(--tms-text-sm)}
body.tms-app .tms-ship__strong{font-weight:var(--tms-weight-bold)}

/* ==================== Cart drawer ==================== */
body.tms-app .tms-cart-drawer{position:fixed;inset:0;z-index:80;display:none}
body.tms-app .tms-cart-drawer[data-state="open"]{display:block}
body.tms-app .tms-cart-drawer__backdrop{position:absolute;inset:0;background:var(--tms-color-backdrop);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:tms-fade var(--tms-duration-base) var(--tms-ease) both}
body.tms-app .tms-cart-drawer__panel{position:absolute;top:var(--tms-space-3);right:var(--tms-space-3);bottom:var(--tms-space-3);display:flex;flex-direction:column;width:min(460px,calc(100% - 24px));overflow:hidden;border-radius:var(--tms-radius-xl);background:var(--tms-color-bg);box-shadow:var(--tms-shadow-lg);animation:tms-drawer-in var(--tms-duration-slow) var(--tms-ease) both}
body.tms-app .tms-cart-drawer__head{display:flex;align-items:center;justify-content:space-between;padding:var(--tms-space-5) var(--tms-space-4) var(--tms-space-4) var(--tms-space-8)}
body.tms-app .tms-cart-drawer__head .tms-btn{border-radius:var(--tms-radius-round)}
body.tms-app .tms-cart-drawer__head .tms-btn .tms-icon{transition:transform var(--tms-duration-base) var(--tms-ease)}
body.tms-app .tms-cart-drawer__head .tms-btn:hover .tms-icon{transform:rotate(90deg)}
body.tms-app .tms-cart-drawer__title{display:flex;align-items:baseline;gap:var(--tms-space-2);margin:0;font-size:var(--tms-text-xl);font-weight:var(--tms-weight-light);letter-spacing:-0.02em}
body.tms-app .tms-cart-drawer__count{font-size:var(--tms-text-sm);font-weight:var(--tms-weight-semibold);color:var(--tms-color-text-muted)}
body.tms-app .tms-cart-drawer__ship{margin:0 var(--tms-space-8) var(--tms-space-2);padding:var(--tms-space-4);border-radius:var(--tms-radius-md);background:var(--tms-color-surface)}
body.tms-app .tms-cart-drawer__body{flex:1;overflow:auto;padding:0 var(--tms-space-8)}
body.tms-app .tms-cart-drawer__empty{display:grid;justify-items:center;align-content:center;gap:var(--tms-space-4);min-height:100%;padding-block:var(--tms-space-10);text-align:center}
body.tms-app .tms-cart-drawer__empty-icon{display:grid;place-items:center;width:72px;height:72px;border-radius:var(--tms-radius-round);background:var(--tms-color-surface);color:var(--tms-color-text)}
body.tms-app .tms-cart-drawer__empty-icon .tms-icon{width:28px;height:28px}
body.tms-app .tms-cart-drawer__empty-title{margin:0;font-size:var(--tms-text-md);font-weight:var(--tms-weight-semibold)}
body.tms-app .tms-cart-drawer__body .tms-line{animation:tms-fade-up var(--tms-duration-slow) var(--tms-ease) both;animation-delay:300ms}
body.tms-app .tms-cart-drawer__body .tms-line:nth-child(2){animation-delay:380ms}
body.tms-app .tms-cart-drawer__body .tms-line:nth-child(3){animation-delay:460ms}
body.tms-app .tms-cart-drawer__foot{display:grid;gap:var(--tms-space-3);padding:var(--tms-space-5) var(--tms-space-8) var(--tms-space-8);background:var(--tms-color-bg)}
body.tms-app .tms-cart-drawer__row{display:flex;justify-content:space-between;align-items:baseline;font-size:var(--tms-text-lg);font-weight:var(--tms-weight-semibold)}
body.tms-app .tms-cart-drawer__note{margin:0;font-size:var(--tms-text-xs);color:var(--tms-color-text-muted)}
body.tms-app .tms-cart-drawer__link{justify-self:center;font-size:var(--tms-text-sm)}
@media (max-width:767px){
  body.tms-app .tms-cart-drawer__panel{inset:0;width:100%;border-radius:0}
  body.tms-app .tms-cart-drawer__head{padding-left:var(--tms-space-4)}
  body.tms-app .tms-cart-drawer__ship{margin-inline:var(--tms-space-4)}
  body.tms-app .tms-cart-drawer__body,body.tms-app .tms-cart-drawer__foot{padding-inline:var(--tms-space-4)}
}

/* ==================== Cart page ==================== */
body.tms-app .tms-cart__head{display:flex;align-items:flex-start;gap:var(--tms-space-3);padding-block:var(--tms-space-4) var(--tms-space-12)}
body.tms-app .tms-cart__layout{display:grid;grid-template-columns:minmax(0,1fr) 420px;gap:var(--tms-space-16);align-items:start}
body.tms-app .tms-cart__lines-wrap{display:grid;gap:var(--tms-space-8)}
body.tms-app .tms-cart__lines .tms-line{grid-template-columns:128px minmax(0,1fr) auto;gap:var(--tms-space-6);padding-block:var(--tms-space-6)}
body.tms-app .tms-cart__lines .tms-line:first-child{border-top:1px solid var(--tms-color-line)}
body.tms-app .tms-cart__lines .tms-line__name{font-size:var(--tms-text-md)}
body.tms-app .tms-cart__lines .tms-line__total{font-size:var(--tms-text-md)}
body.tms-app .tms-cart__back{display:inline-flex;align-items:center;gap:var(--tms-space-2);width:max-content;font-size:var(--tms-text-sm);font-weight:var(--tms-weight-semibold);color:var(--tms-color-text);text-decoration:none}
body.tms-app .tms-cart__back .tms-icon{transition:transform var(--tms-duration-base) var(--tms-ease)}
body.tms-app .tms-cart__back:hover .tms-icon{transform:translateX(-4px)}
body.tms-app .tms-summary{position:sticky;top:calc(var(--tms-header-h) + var(--tms-promo-h) + var(--tms-space-6));display:grid;gap:var(--tms-space-5);padding:var(--tms-space-8);border-radius:var(--tms-radius-xl);background:var(--tms-color-surface)}
body.tms-app .tms-summary__title{margin:0;font-size:var(--tms-text-lg);font-weight:var(--tms-weight-semibold)}
body.tms-app .tms-summary__rows{display:grid;gap:var(--tms-space-3);margin:0}
body.tms-app .tms-summary__row{display:flex;justify-content:space-between;gap:var(--tms-space-3);font-size:var(--tms-text-sm)}
body.tms-app .tms-summary__row dt{color:var(--tms-color-text-muted)}
body.tms-app .tms-summary__row dd{margin:0;font-weight:var(--tms-weight-semibold)}
body.tms-app .tms-summary__row--discount dd{color:var(--tms-color-sale)}
body.tms-app .tms-summary__total{display:flex;justify-content:space-between;align-items:baseline;padding-top:var(--tms-space-5);border-top:1px solid var(--tms-color-line-strong);font-size:var(--tms-text-xl);font-weight:var(--tms-weight-semibold);letter-spacing:-0.02em}
body.tms-app .tms-summary__promo{display:flex;gap:var(--tms-space-2)}
body.tms-app .tms-summary__promo .tms-input{height:var(--tms-control-h);background:var(--tms-color-bg);border-radius:var(--tms-radius-round)}
body.tms-app .tms-summary__trust{display:grid;gap:var(--tms-space-2);margin:0;padding:0;list-style:none;font-size:var(--tms-text-xs);color:var(--tms-color-text-muted)}
body.tms-app .tms-summary__trust-item{display:flex;align-items:center;gap:var(--tms-space-2)}
body.tms-app .tms-summary__items{display:grid;gap:var(--tms-space-4);margin:0;padding:0;list-style:none}
body.tms-app .tms-summary__item{display:grid;grid-template-columns:60px minmax(0,1fr) auto;align-items:center;gap:var(--tms-space-4);font-size:var(--tms-text-sm)}
body.tms-app .tms-summary__thumb{position:relative;display:block;width:60px;aspect-ratio:4/5;border-radius:var(--tms-radius-sm);background:var(--tms-color-bg)}
body.tms-app .tms-summary__thumb-img{display:block;width:100%;height:100%;object-fit:cover;border-radius:inherit}
body.tms-app .tms-summary__qty{position:absolute;top:-6px;right:-6px;display:grid;place-items:center;min-width:20px;height:20px;padding:0 4px;border-radius:var(--tms-radius-round);background:var(--tms-color-primary);color:var(--tms-color-on-primary);font-size:var(--tms-text-2xs);font-weight:var(--tms-weight-bold)}
body.tms-app .tms-summary__item-name{display:grid;gap:2px;font-weight:var(--tms-weight-semibold);line-height:var(--tms-leading-snug)}
body.tms-app .tms-summary__item-variant{font-size:var(--tms-text-xs);font-weight:var(--tms-weight-regular);color:var(--tms-color-text-muted)}
body.tms-app .tms-summary__terms{margin:0;font-size:var(--tms-text-xs);color:var(--tms-color-text-muted)}
@media (max-width:1023px){
  body.tms-app .tms-cart__layout{grid-template-columns:1fr;gap:var(--tms-space-10)}
  body.tms-app .tms-summary{position:static}
}
@media (max-width:767px){
  body.tms-app .tms-cart__lines .tms-line{grid-template-columns:96px minmax(0,1fr);gap:var(--tms-space-4)}
  body.tms-app .tms-cart__lines .tms-line__price{grid-column:2;justify-items:start}
  body.tms-app .tms-summary{padding:var(--tms-space-6) var(--tms-space-5)}
}

/* ==================== Checkout ==================== */
body.tms-app .tms-checkout__head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:var(--tms-space-6);padding-block:var(--tms-space-10) var(--tms-space-12)}
body.tms-app .tms-steps{display:flex;align-items:center;gap:var(--tms-space-3);margin:0;padding:0;list-style:none;font-size:var(--tms-text-xs);font-weight:var(--tms-weight-semibold);color:var(--tms-color-text-subtle)}
body.tms-app .tms-steps__item{display:flex;align-items:center;gap:var(--tms-space-3)}
body.tms-app .tms-steps__item+.tms-steps__item::before{content:"";width:32px;height:1px;background:var(--tms-color-line)}
body.tms-app .tms-steps__item[aria-current="step"]{color:var(--tms-color-text)}
body.tms-app .tms-steps__link{color:var(--tms-color-text-muted);text-decoration:none}
body.tms-app .tms-steps__link:hover{color:var(--tms-color-text)}
body.tms-app .tms-checkout__layout{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:var(--tms-space-16);align-items:start}
body.tms-app .tms-checkout__form{display:grid;gap:var(--tms-space-16)}
body.tms-app .tms-step{display:grid;gap:var(--tms-space-5);margin:0;padding:0;border:0;min-width:0}
body.tms-app .tms-step__legend{display:flex;align-items:center;gap:var(--tms-space-4);padding:0;margin-bottom:var(--tms-space-3);font-size:var(--tms-text-xl);font-weight:var(--tms-weight-light);letter-spacing:-0.02em}
body.tms-app .tms-step__num{display:grid;place-items:center;width:40px;height:40px;border-radius:var(--tms-radius-round);background:var(--tms-color-primary);color:var(--tms-color-on-primary);font-size:var(--tms-text-sm);font-weight:var(--tms-weight-bold);letter-spacing:0}
body.tms-app .tms-step__aside{margin:0;font-size:var(--tms-text-sm);color:var(--tms-color-text-muted)}
body.tms-app .tms-switch{position:relative;display:grid;grid-template-columns:1fr 1fr;justify-self:start;width:min(100%,420px);padding:4px;border-radius:var(--tms-radius-round);background:var(--tms-color-surface);isolation:isolate}
body.tms-app .tms-switch::before{content:"";position:absolute;z-index:-1;top:4px;bottom:4px;left:4px;width:calc(50% - 4px);border-radius:var(--tms-radius-round);background:var(--tms-color-primary);box-shadow:var(--tms-shadow-sm);transition:transform var(--tms-duration-base) var(--tms-ease)}
body.tms-app .tms-switch:has(.tms-switch__opt:nth-child(2) :checked)::before{transform:translateX(100%)}
body.tms-app .tms-switch__opt{position:relative;display:grid;place-items:center;height:44px;padding:0 var(--tms-space-4);border-radius:var(--tms-radius-round);font-size:var(--tms-text-sm);font-weight:var(--tms-weight-semibold);color:var(--tms-color-text-muted);cursor:pointer;transition:color var(--tms-duration-base) var(--tms-ease)}
body.tms-app .tms-switch__opt:hover{color:var(--tms-color-text)}
body.tms-app .tms-switch__opt:has(:checked){color:var(--tms-color-on-primary)}
body.tms-app .tms-switch__opt:has(:focus-visible){outline:2px solid var(--tms-color-line-strong);outline-offset:2px}
body.tms-app .tms-switch__input{position:absolute;opacity:0;pointer-events:none}
body.tms-app .tms-field--intl{display:none}
body.tms-app .tms-checkout__form:has(#tms-co-abroad:checked) .tms-field--ge{display:none}
body.tms-app .tms-checkout__form:has(#tms-co-abroad:checked) .tms-field--intl{display:grid;animation:tms-fade-up var(--tms-duration-base) var(--tms-ease) both}
body.tms-app .tms-checkout__form:has(#tms-co-ge:checked) .tms-field--ge{animation:tms-fade-up var(--tms-duration-base) var(--tms-ease) both}
body.tms-app .tms-checkout__summary{position:sticky;top:calc(var(--tms-header-h) + var(--tms-promo-h) + var(--tms-space-6))}
body.tms-app .tms-checkout__summary .tms-summary{position:static}
@media (max-width:1023px){
  body.tms-app .tms-checkout__layout{grid-template-columns:1fr;gap:var(--tms-space-12)}
  body.tms-app .tms-checkout__summary{position:static}
}
@media (max-width:767px){
  body.tms-app .tms-form-grid{grid-template-columns:1fr}
  body.tms-app .tms-option{grid-template-columns:auto minmax(0,1fr)}
  body.tms-app .tms-option__price{grid-column:2}
  body.tms-app .tms-steps{display:none}
  body.tms-app .tms-checkout__form{gap:var(--tms-space-12)}
}

/* ==================== Auth ==================== */
body.tms-app .tms-auth__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--tms-space-6);align-items:stretch;padding-top:var(--tms-space-10)}
body.tms-app .tms-auth__panel{display:grid;gap:var(--tms-space-6);align-content:start;padding:var(--tms-space-12);border:1px solid var(--tms-color-line);border-radius:var(--tms-radius-xl);animation:tms-fade-up var(--tms-duration-slow) var(--tms-ease) both}
body.tms-app .tms-auth__panel--alt{border-color:transparent;background:var(--tms-color-surface);animation-delay:120ms}
body.tms-app .tms-auth__panel--alt .tms-input{background:var(--tms-color-bg)}
body.tms-app .tms-auth__panel .tms-kicker{margin:0}
body.tms-app .tms-auth__intro{display:grid;gap:var(--tms-space-3)}
body.tms-app .tms-auth__form{display:grid;gap:var(--tms-space-5)}
body.tms-app .tms-auth__row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--tms-space-3);font-size:var(--tms-text-sm)}
body.tms-app .tms-auth__switch{margin:0;font-size:var(--tms-text-sm);color:var(--tms-color-text-muted)}
body.tms-app .tms-auth__perks{display:flex;flex-wrap:wrap;gap:var(--tms-space-2);margin:0;padding:0;list-style:none}
body.tms-app .tms-auth__consents{display:grid;gap:10px}
body.tms-app .tms-auth__consents .tms-check__label a{color:inherit}
body.tms-app .tms-auth__oauth{display:grid;gap:12px}
body.tms-app .tms-auth__or{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;margin:0;color:var(--tms-color-text-muted);font-size:12px;letter-spacing:0.08em;text-transform:uppercase}
body.tms-app .tms-auth__or::before,body.tms-app .tms-auth__or::after{content:"";height:1px;background:var(--tms-color-line)}
body.tms-app .tms-auth__google{gap:10px}
body.tms-app .tms-auth__google-mark{width:18px;height:18px;flex:none}
body.tms-app .tms-loyalty-note{display:grid;gap:6px;max-width:360px;margin:0 0 18px;padding:14px 16px;border:1px solid rgb(47 138 79 / 0.28);border-radius:16px;background:linear-gradient(160deg,#f4fbf6 0%,#fff 70%);color:#1d5c34}
body.tms-app .tms-loyalty-note__kicker{margin:0;font-size:11px;font-weight:700;letter-spacing:0.14em;text-transform:uppercase}
body.tms-app .tms-loyalty-note__text{margin:0;font-size:14px;line-height:1.5}
body.tms-app.tms-app--dark .tms-loyalty-note{background:#163024;border-color:rgb(143 212 168 / 0.35);color:#d7f5e2}
body.tms-app .tms-auth__close{position:absolute;top:var(--tms-space-4);right:var(--tms-space-4);display:grid;place-items:center;width:40px;height:40px;border:0;border-radius:var(--tms-radius-round);background:var(--tms-color-surface);color:var(--tms-color-text);cursor:pointer}
body.tms-app .tms-auth__close:hover{background:var(--tms-color-primary);color:var(--tms-color-on-primary)}
body.tms-app .tms-auth--compact .tms-auth__panel{position:relative;border:0;padding:var(--tms-space-10) var(--tms-space-6) var(--tms-space-6);animation:none}
body.tms-app .tms-auth-modal{position:fixed;inset:0;z-index:90;display:flex;align-items:flex-end;justify-content:center}
body.tms-app .tms-auth-modal__backdrop{position:absolute;inset:0;border:0;background:rgb(17 17 16 / 0.46);backdrop-filter:blur(8px);cursor:pointer}
body.tms-app .tms-auth-modal__sheet{position:relative;z-index:1;width:min(100%,440px);max-height:min(92dvh,760px);overflow:auto;border-radius:var(--tms-radius-xl) var(--tms-radius-xl) 0 0;background:var(--tms-color-bg);box-shadow:var(--tms-shadow-lg)}
body.tms-app .tms-auth-modal__handle{display:block;width:36px;height:4px;margin:12px auto 0;border-radius:var(--tms-radius-round);background:var(--tms-color-line)}
@media (min-width:768px){
  body.tms-app .tms-auth-modal{align-items:center;padding:24px}
  body.tms-app .tms-auth-modal__sheet{border-radius:var(--tms-radius-xl)}
  body.tms-app .tms-auth-modal__handle{display:none}
}
@media (max-width:1023px){
  body.tms-app .tms-auth__grid{grid-template-columns:1fr}
}
@media (max-width:767px){
  body.tms-app .tms-auth__panel{padding:var(--tms-space-6) var(--tms-space-5)}
}

/* ==================== Account ==================== */
body.tms-app .tms-account{color:var(--tms-color-text);font-family:var(--tms-font)}
body.tms-app .tms-account :is(h1,h2,h3,.font-serif){font-family:var(--tms-font);color:var(--tms-color-text)}
body.tms-app .tms-account__head .tms-h1{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:baseline;gap:0.35em;min-width:0;font-size:28px;font-weight:300;line-height:1.55;white-space:nowrap}
body.tms-app .tms-account__panels :is(h2,.font-serif){font-size:18px !important;font-weight:600;line-height:1.3;letter-spacing:-0.02em}
body.tms-app .tms-account__panels :is(.text-4xl,.sm\:text-4xl,.text-2xl,.sm\:text-2xl,.text-xl,.sm\:text-xl){font-size:20px !important}
body.tms-app .tms-account [class*="#111110"]{color:var(--tms-color-text)}
body.tms-app .tms-account [class*="#615C53"],body.tms-app .tms-account [class*="#9C7E55"],body.tms-app .tms-account [class*="#A8A29A"]{color:var(--tms-color-text-muted)}
body.tms-app .tms-account [class*="border-[#E6E3D9]"],body.tms-app .tms-account [class*="border-[#D8C9AE]"],body.tms-app .tms-account [class*="border-[#9C7E55]"],body.tms-app .tms-account [class*="dark:border-[#2A2825]"]{border-color:var(--tms-color-line)}
body.tms-app .tms-account [class*="bg-[#F6F4ED]"],body.tms-app .tms-account [class*="bg-[#9C7E55]"]{background-color:var(--tms-color-surface);color:var(--tms-color-text)}
body.tms-app .tms-account [class*="dark:bg-[#1A1917]"],body.tms-app .tms-account [class*="dark:text-[#E8E5DE]"]{background-color:var(--tms-color-bg);color:var(--tms-color-text)}
body.tms-app .tms-account input,body.tms-app .tms-account textarea,body.tms-app .tms-account select{border-color:var(--tms-color-line);background:var(--tms-color-bg);color:var(--tms-color-text);border-radius:var(--tms-radius-md)}
body.tms-app .tms-account input:focus,body.tms-app .tms-account textarea:focus{border-color:var(--tms-color-primary);outline:none;box-shadow:0 0 0 1px var(--tms-color-primary)}
body.tms-app .tms-account button[type="submit"]{background:var(--tms-color-primary);color:var(--tms-color-on-primary);border-radius:var(--tms-radius-round)}
body.tms-app .tms-account__head{display:grid;grid-template-columns:minmax(0,1fr) 360px;align-items:center;gap:40px;width:100%;margin:28px 0 36px;padding:28px;border-radius:24px;background:var(--tms-color-surface)}
body.tms-app .tms-account__head:not(:has(.tms-loyalty)){grid-template-columns:minmax(0,1fr)}
body.tms-app .tms-account__hello{display:flex;flex-direction:column;justify-content:center;min-width:0}
body.tms-app .tms-account__greet{flex:none;font-weight:300;color:var(--tms-color-text-muted)}
body.tms-app .tms-account__name{min-width:0;overflow:hidden;padding-bottom:0.16em;font-weight:700;line-height:1.55;letter-spacing:-0.03em;color:var(--tms-color-text);text-overflow:ellipsis}
body.tms-app .tms-account__rate{display:flex;flex-wrap:nowrap;align-items:baseline;min-width:0;margin:10px 0 0;overflow:hidden;font-size:15px;line-height:1.3;color:var(--tms-color-text);white-space:nowrap}
body.tms-app .tms-account__rate span+span::before{content:"·";margin:0 0.55em;color:var(--tms-color-text-muted)}
body.tms-app .tms-loyalty{display:flex;flex:none;flex-direction:column;justify-content:center;align-items:stretch;gap:10px;width:min(100%,360px);margin:0}
body.tms-app .tms-loyalty__side{display:flex;flex-direction:column;gap:8px;min-width:0}
body.tms-app .tms-loyalty__pass{position:relative;overflow:hidden;display:flex;flex-direction:column;gap:8px;width:100%;aspect-ratio:1.586/1;padding:16px 16px 12px;border-radius:16px;color:#f6f3ee;background:radial-gradient(90% 80% at 100% -8%,rgb(243 224 190 / 0.55),transparent 46%),radial-gradient(70% 80% at -12% 112%,rgb(92 62 44 / 0.72),transparent 52%),radial-gradient(40% 50% at 62% 42%,rgb(255 255 255 / 0.07),transparent 70%),linear-gradient(152deg,#4a3d34 0%,#241c18 34%,#100e0c 68%,#1c1512 100%);box-shadow:inset 0 0 0 1px rgb(240 220 186 / 0.34),inset 0 1px 0 rgb(255 246 230 / 0.28),0 18px 36px rgb(17 17 16 / 0.18)}
body.tms-app .tms-loyalty__pass::before{content:"";position:absolute;inset:7px;z-index:0;border-radius:11px;border:1px solid rgb(240 226 204 / 0.32);pointer-events:none;box-shadow:inset 0 0 28px rgb(240 220 186 / 0.08)}
body.tms-app .tms-loyalty__pass::after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:linear-gradient(118deg,transparent 32%,rgb(255 248 236 / 0.16) 46%,transparent 58%),radial-gradient(rgb(255 255 255 / 0.28) 0.5px,transparent 0.65px);background-size:auto,3px 3px;mix-blend-mode:soft-light}
body.tms-app .tms-loyalty__ornament{position:absolute;inset:0;z-index:0;width:100%;height:100%;pointer-events:none}
body.tms-app .tms-loyalty__pass>*:not(.tms-loyalty__ornament){position:relative;z-index:1}
body.tms-app .tms-loyalty__pass-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
body.tms-app .tms-loyalty__pass-logo{display:block;max-width:132px;max-height:34px;padding:5px 8px;border-radius:8px;background:#fff;object-fit:contain}
body.tms-app .tms-loyalty__pass-word{display:inline-flex;align-items:baseline;padding:6px 10px;border-radius:8px;background:#fff;color:#111;font-size:14px;letter-spacing:0.08em}
body.tms-app .tms-loyalty__pass-word b{font-weight:700}
body.tms-app .tms-loyalty__pass-score{display:grid;justify-items:end;gap:3px;flex:none}
body.tms-app .tms-loyalty__pass-points{margin:0;font-size:34px;font-weight:700;letter-spacing:-0.045em;line-height:0.9;text-align:right}
body.tms-app .tms-loyalty__pass-label{margin:0;font-size:10px;letter-spacing:0.16em;text-transform:uppercase;color:#d9cfc3;text-align:right}
body.tms-app .tms-loyalty__pass-foot{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-top:auto}
body.tms-app .tms-loyalty__pass-name{min-width:0;overflow:hidden;font-size:15px;font-weight:600;letter-spacing:0.01em;color:#fff;text-overflow:ellipsis;text-shadow:0 1px 1px rgb(0 0 0 / 0.45);white-space:nowrap}
body.tms-app .tms-loyalty__pass-code{padding:6px 8px 5px;border-radius:8px;background:#fff}
body.tms-app .tms-loyalty__bars{display:block;width:100%;height:34px}
body.tms-app .tms-loyalty__digits{flex:none;margin:0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;letter-spacing:0.08em;color:#fff;text-shadow:0 1px 1px rgb(0 0 0 / 0.45);white-space:nowrap}
body.tms-app .tms-loyalty__wallets{display:grid;grid-template-columns:1fr;width:100%;margin-top:2px}
body.tms-app .tms-loyalty__wallet{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;min-height:34px;padding:4px 8px;border-radius:8px;border:1px solid transparent;font:inherit;cursor:pointer;text-align:left}
body.tms-app .tms-loyalty__wallet:disabled{opacity:.45;cursor:default}
body.tms-app .tms-loyalty__wallet--apple{background:#f6f3ee;color:#111;border-color:#f6f3ee}
body.tms-app .tms-loyalty__wallet--apple:hover{background:#fff}
body.tms-app .tms-loyalty__wallet--google{background:#fff;color:#202124;border-color:#fff}
body.tms-app .tms-loyalty__wallet--google:hover{background:#f6f3ee}
body.tms-app .tms-loyalty__mark{display:block;width:16px;height:16px;flex:none}
body.tms-app .tms-loyalty__wallet-copy{display:grid;line-height:1.05}
body.tms-app .tms-loyalty__wallet-copy small{font-size:9px;font-weight:500;letter-spacing:0.01em}
body.tms-app .tms-loyalty__wallet-copy strong{font-size:11px;font-weight:600;letter-spacing:-0.02em}
body.tms-app .tms-loyalty__wallet-note,body.tms-app .tms-loyalty__locked{margin:0;max-width:360px;font-size:14px;line-height:1.45;color:var(--tms-color-text-muted)}
@media (max-width:800px){
  body.tms-app .tms-account__head{grid-template-columns:1fr;width:100%;gap:16px;margin:16px 0 24px;padding:18px 16px 16px}
  body.tms-app .tms-account__head .tms-h1{font-size:clamp(18px,5vw,22px)}
  body.tms-app .tms-account__rate{margin-top:6px;font-size:13px}
  body.tms-app .tms-loyalty{width:100%}
}
body.tms-app .tms-avatar{display:grid;place-items:center;width:72px;height:72px;border-radius:var(--tms-radius-round);background:var(--tms-color-primary);color:var(--tms-color-on-primary);font-size:var(--tms-text-xl);font-weight:var(--tms-weight-bold);animation:tms-pop var(--tms-duration-slow) var(--tms-ease) both}
body.tms-app .tms-account__head .tms-kicker{margin:0 0 var(--tms-space-2)}
body.tms-app .tms-account__layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:var(--tms-space-16);align-items:start}
body.tms-app .tms-tabs{position:sticky;top:calc(var(--tms-header-h) + var(--tms-promo-h) + var(--tms-space-6));display:grid;gap:8px}
body.tms-app .tms-tab{display:flex;align-items:center;gap:var(--tms-space-3);height:52px;padding:0 var(--tms-space-5);border:0;border-radius:var(--tms-radius-round);background:var(--tms-color-surface);color:var(--tms-color-text);font:inherit;font-size:var(--tms-text-sm);font-weight:var(--tms-weight-semibold);text-align:left;text-decoration:none;white-space:nowrap;cursor:pointer;transition:background-color var(--tms-duration-fast) var(--tms-ease),color var(--tms-duration-fast) var(--tms-ease)}
body.tms-app .tms-tab:hover{background:var(--tms-color-surface-2);color:var(--tms-color-text)}
body.tms-app .tms-tab[aria-current="page"]{background:var(--tms-color-primary);color:var(--tms-color-on-primary)}
body.tms-app .tms-tab--logout{margin-top:var(--tms-space-6)}
body.tms-app .tms-account__panel{display:grid;gap:var(--tms-space-8);animation:tms-fade-up var(--tms-duration-slow) var(--tms-ease) both}
body.tms-app .tms-account__panel[data-state="closed"]{display:none}
body.tms-app .tms-account__panel-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--tms-space-3)}
body.tms-app .tms-orders{display:grid;gap:var(--tms-space-3);margin:0;padding:0;list-style:none}
body.tms-app .tms-order{display:grid;grid-template-columns:minmax(0,1.2fr) auto minmax(0,1.3fr) auto auto;align-items:center;gap:var(--tms-space-6);padding:var(--tms-space-5) var(--tms-space-6);border:1px solid var(--tms-color-line);border-radius:var(--tms-radius-lg);transition:border-color var(--tms-duration-fast),transform var(--tms-duration-base) var(--tms-ease)}
body.tms-app .tms-order:hover{border-color:var(--tms-color-line-strong);transform:translateY(-2px)}
body.tms-app .tms-order__id{display:grid;gap:2px}
body.tms-app .tms-order__num{font-weight:var(--tms-weight-bold)}
body.tms-app .tms-order__date{font-size:var(--tms-text-xs);color:var(--tms-color-text-muted)}
body.tms-app .tms-order__thumbs{display:flex}
body.tms-app .tms-order__thumb{display:block;width:44px;height:44px;margin-left:-10px;object-fit:cover;border:2px solid var(--tms-color-bg);border-radius:var(--tms-radius-round);background:var(--tms-color-surface)}
body.tms-app .tms-order__thumb:first-child{margin-left:0}
body.tms-app .tms-order__total{font-weight:var(--tms-weight-bold)}
body.tms-app .tms-addresses{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--tms-space-4)}
body.tms-app .tms-address{display:grid;gap:var(--tms-space-3);align-content:start;padding:var(--tms-space-6);border-radius:var(--tms-radius-lg);background:var(--tms-color-surface)}
body.tms-app .tms-address__top{display:flex;justify-content:space-between;align-items:center;gap:var(--tms-space-2)}
body.tms-app .tms-address__name{margin:0;font-weight:var(--tms-weight-bold)}
body.tms-app .tms-address__lines{margin:0;font-size:var(--tms-text-sm);font-style:normal;color:var(--tms-color-text-muted)}
body.tms-app .tms-address__actions{display:flex;gap:var(--tms-space-5);margin-top:var(--tms-space-2);font-size:var(--tms-text-sm)}
body.tms-app .tms-address--new{display:grid;place-items:center;align-content:center;gap:var(--tms-space-2);min-height:200px;border:1.5px dashed var(--tms-color-text-subtle);background:none;color:var(--tms-color-text);font:inherit;font-weight:var(--tms-weight-semibold);cursor:pointer;transition:all var(--tms-duration-base) var(--tms-ease)}
body.tms-app .tms-address--new:hover{border-color:var(--tms-color-line-strong);background:var(--tms-color-surface)}
body.tms-app .tms-address--new .tms-icon{transition:transform var(--tms-duration-base) var(--tms-ease)}
body.tms-app .tms-address--new:hover .tms-icon{transform:rotate(90deg)}
@media (max-width:1023px){
  body.tms-app .tms-account__layout{grid-template-columns:1fr;gap:var(--tms-space-8)}
  body.tms-app .tms-tabs{position:static;display:flex;overflow-x:auto;margin-inline:calc(var(--tms-gutter) * -1);padding-inline:var(--tms-gutter);scrollbar-width:none}
  body.tms-app .tms-tab--logout{margin:0 0 0 auto}
}
@media (max-width:767px){
  body.tms-app .tms-order{grid-template-columns:minmax(0,1fr) auto;gap:var(--tms-space-3);padding:var(--tms-space-4)}
  body.tms-app .tms-addresses{grid-template-columns:1fr}
  body.tms-app .tms-avatar{width:56px;height:56px;font-size:var(--tms-text-lg)}
}

/* ==================== About ==================== */
body.tms-app .tms-about > .tms-container{padding-top:var(--tms-space-10)}
body.tms-app .tms-about__hero{position:relative;display:flex;align-items:flex-end;min-height:min(78vh,720px);margin-bottom:var(--tms-space-20);overflow:hidden;background:var(--tms-color-surface-2)}
body.tms-app .tms-about__hero::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(0deg,var(--tms-color-slide-scrim) 0%,transparent 70%)}
body.tms-app .tms-about__hero-img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;animation:tms-kenburns 20s var(--tms-ease-in-out) infinite alternate;animation-play-state:var(--tms-marquee-state)}
body.tms-app .tms-about__hero-inner{position:relative;z-index:1;display:grid;gap:var(--tms-space-6);padding-block:var(--tms-space-24) var(--tms-space-16)}
body.tms-app .tms-about__hero-inner .tms-kicker{margin:0}
body.tms-app .tms-about__title{margin:0;max-width:none;font-size:40px;font-weight:var(--tms-weight-light);line-height:1;letter-spacing:var(--tms-tracking-tight)}
body.tms-app .tms-about__title .tms-hero__line-inner{animation-duration:var(--tms-duration-reveal)}
body.tms-app .tms-about__layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:var(--tms-space-16);align-items:start}
body.tms-app .tms-side-nav{position:sticky;top:calc(var(--tms-header-h) + var(--tms-promo-h) + var(--tms-space-6))}
body.tms-app .tms-side-nav__list{display:grid;gap:var(--tms-space-1);margin:0;padding:0;list-style:none}
body.tms-app .tms-side-nav__link{display:flex;align-items:center;gap:var(--tms-space-3);padding-block:var(--tms-space-2);font-size:var(--tms-text-sm);font-weight:var(--tms-weight-medium);color:var(--tms-color-text-muted);text-decoration:none;transition:color var(--tms-duration-fast)}
body.tms-app .tms-side-nav__link::before{content:"";width:0;height:1px;background:currentColor;transition:width var(--tms-duration-base) var(--tms-ease)}
body.tms-app .tms-side-nav__link:hover{color:var(--tms-color-text)}
body.tms-app .tms-side-nav__link:hover::before{width:12px}
body.tms-app .tms-side-nav__link[aria-current="page"]{color:var(--tms-color-text);font-weight:var(--tms-weight-bold)}
body.tms-app .tms-side-nav__link[aria-current="page"]::before{width:24px}
body.tms-app .tms-about__content{display:grid;gap:var(--tms-space-20)}
body.tms-app .tms-about__block{display:grid;gap:var(--tms-space-8);scroll-margin-top:calc(var(--tms-header-h) + var(--tms-promo-h) + var(--tms-space-6))}
body.tms-app .tms-about__story{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--tms-space-12);align-items:center}
body.tms-app .tms-about__media{position:relative;aspect-ratio:4/5;overflow:hidden;border-radius:var(--tms-radius-xl);background:var(--tms-color-surface)}
body.tms-app .tms-about__img{display:block;width:100%;height:100%;object-fit:cover;transition:transform var(--tms-duration-slow) var(--tms-ease)}
body.tms-app .tms-about__media:hover .tms-about__img{transform:scale(1.05)}
body.tms-app .tms-prose{display:grid;gap:var(--tms-space-4);max-width:62ch;font-size:var(--tms-text-md);text-wrap:pretty}
body.tms-app .tms-prose p{margin:0}
body.tms-app .tms-info-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--tms-space-4)}
body.tms-app .tms-info-card{display:grid;gap:var(--tms-space-3);align-content:start;min-height:280px;padding:var(--tms-space-8);border-radius:var(--tms-radius-xl);background:var(--tms-color-surface);transition:background var(--tms-duration-base) var(--tms-ease),color var(--tms-duration-base) var(--tms-ease),transform var(--tms-duration-base) var(--tms-ease)}
body.tms-app .tms-info-card:hover{background:var(--tms-color-primary);color:var(--tms-color-on-primary);transform:translateY(-4px)}
body.tms-app .tms-info-card__num{margin-bottom:auto;font-size:var(--tms-text-3xl);font-weight:var(--tms-weight-black);line-height:1;letter-spacing:-0.04em;color:transparent;-webkit-text-stroke:1px currentColor}
body.tms-app .tms-info-card:hover .tms-info-card__num{-webkit-text-stroke-color:var(--tms-color-on-primary)}
body.tms-app .tms-info-card__num{-webkit-text-stroke-color:var(--tms-color-text)}
body.tms-app .tms-info-card__title{margin:var(--tms-space-10) 0 0;font-size:var(--tms-text-md);font-weight:var(--tms-weight-semibold)}
body.tms-app .tms-info-card__text{margin:0;font-size:var(--tms-text-sm);opacity:.75}
body.tms-app .tms-quote{display:grid;gap:var(--tms-space-6);max-width:880px;margin:0}
body.tms-app .tms-quote__mark{font-size:var(--tms-text-mega);font-weight:var(--tms-weight-black);line-height:.6;height:.35em;color:var(--tms-color-text)}
body.tms-app .tms-quote__text{margin:0;font-size:var(--tms-text-2xl);font-weight:var(--tms-weight-light);line-height:var(--tms-leading-snug);letter-spacing:-0.02em;text-wrap:balance}
body.tms-app .tms-quote__by{font-size:var(--tms-text-sm);font-weight:var(--tms-weight-semibold);color:var(--tms-color-text-muted)}
@media (max-width:1023px){
  body.tms-app .tms-about__layout{grid-template-columns:1fr;gap:var(--tms-space-8)}
  body.tms-app .tms-side-nav{top:calc(var(--tms-header-h) + var(--tms-promo-h));z-index:5;margin-inline:calc(var(--tms-gutter) * -1);padding:var(--tms-space-2) var(--tms-gutter);background:var(--tms-color-header-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
  body.tms-app .tms-side-nav__list{display:flex;gap:var(--tms-space-2);overflow-x:auto;scrollbar-width:none}
  body.tms-app .tms-side-nav__link{padding:var(--tms-space-2) var(--tms-space-4);border-radius:var(--tms-radius-round);white-space:nowrap}
  body.tms-app .tms-side-nav__link::before{display:none}
  body.tms-app .tms-side-nav__link[aria-current="page"]{background:var(--tms-color-primary);color:var(--tms-color-on-primary)}
  body.tms-app .tms-info-cards{grid-template-columns:1fr}
  body.tms-app .tms-info-card{min-height:0}
}
@media (max-width:767px){
  body.tms-app .tms-about__story{grid-template-columns:1fr;gap:var(--tms-space-8)}
  body.tms-app .tms-about__hero{min-height:min(72vh,560px);margin-bottom:var(--tms-space-12)}
  body.tms-app .tms-about__hero-inner{padding-block:var(--tms-space-16) var(--tms-space-10)}
}

/* ==================== Contact ==================== */
body.tms-app .tms-contact__hero{display:grid;gap:var(--tms-space-5);padding-block:var(--tms-space-16) var(--tms-space-16)}
body.tms-app .tms-contact__layout{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:var(--tms-space-16);align-items:start}
body.tms-app .tms-contact__channels{display:grid}
body.tms-app .tms-channel{display:grid;gap:var(--tms-space-2);padding-block:var(--tms-space-6);border-top:1px solid var(--tms-color-line)}
body.tms-app .tms-channel:last-child{border-bottom:1px solid var(--tms-color-line)}
body.tms-app .tms-channel__label{margin:0;font-size:var(--tms-text-xs);font-weight:var(--tms-weight-semibold);letter-spacing:var(--tms-tracking-wide);text-transform:uppercase;color:var(--tms-color-text-muted)}
body.tms-app .tms-channel__value{display:flex;align-items:center;justify-content:space-between;gap:var(--tms-space-3);min-width:0;font-size:var(--tms-text-xl);font-weight:var(--tms-weight-light);letter-spacing:-0.02em;line-height:var(--tms-leading-snug);color:var(--tms-color-text);text-decoration:none}
body.tms-app .tms-channel__value > span:first-child{min-width:0;overflow-wrap:anywhere}
body.tms-app a.tms-channel{color:inherit;text-decoration:none}
body.tms-app .tms-channel__go{display:grid;place-items:center;width:48px;height:48px;flex:none;border:1px solid var(--tms-color-line-strong);border-radius:var(--tms-radius-round);transform:rotate(-45deg);transition:all var(--tms-duration-base) var(--tms-ease)}
body.tms-app .tms-channel__value:hover .tms-channel__go{transform:none;background:var(--tms-color-primary);color:var(--tms-color-on-primary)}
body.tms-app .tms-channel__note{margin:0;font-size:var(--tms-text-sm);color:var(--tms-color-text-muted)}
body.tms-app .tms-contact__stores{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:var(--tms-space-4);margin-top:var(--tms-space-6);padding:var(--tms-space-5);border-radius:var(--tms-radius-xl);background:var(--tms-color-surface);color:var(--tms-color-text);text-decoration:none;transition:background var(--tms-duration-base) var(--tms-ease),color var(--tms-duration-base) var(--tms-ease),transform var(--tms-duration-fast) var(--tms-ease)}
body.tms-app .tms-contact__stores:hover{background:var(--tms-color-primary);color:var(--tms-color-on-primary)}
body.tms-app .tms-contact__stores:active{transform:scale(0.985)}
body.tms-app .tms-contact__stores-pin,body.tms-app .tms-contact__stores-go{display:grid;place-items:center;width:48px;height:48px;flex:none;border-radius:var(--tms-radius-round);background:var(--tms-color-bg);color:var(--tms-color-text)}
body.tms-app .tms-contact__stores-pin .tms-icon,body.tms-app .tms-contact__stores-go .tms-icon{width:20px;height:20px}
body.tms-app .tms-contact__stores-go{transform:rotate(-45deg);transition:transform var(--tms-duration-base) var(--tms-ease)}
body.tms-app .tms-contact__stores:hover .tms-contact__stores-go{transform:none}
body.tms-app .tms-contact__stores-copy{display:grid;gap:2px;min-width:0}
body.tms-app .tms-contact__stores-title{font-size:var(--tms-text-base);font-weight:var(--tms-weight-semibold);letter-spacing:-0.01em}
body.tms-app .tms-contact__stores-text{font-size:var(--tms-text-sm);line-height:var(--tms-leading-snug);color:var(--tms-color-text-muted)}
body.tms-app .tms-contact__stores:hover .tms-contact__stores-text{color:inherit;opacity:.78}
body.tms-app .tms-contact__form{display:grid;gap:var(--tms-space-5);padding:var(--tms-space-10);border-radius:var(--tms-radius-xl);background:var(--tms-color-surface)}
body.tms-app .tms-contact__form .tms-input{background:var(--tms-color-bg)}
body.tms-app .tms-contact__form .tms-btn{justify-self:start}
@media (max-width:1023px){
  body.tms-app .tms-contact__layout{grid-template-columns:1fr;gap:var(--tms-space-10)}
}
@media (max-width:767px){
  body.tms-app .tms-contact__hero{padding-block:var(--tms-space-10)}
  body.tms-app .tms-contact__form{padding:var(--tms-space-6) var(--tms-space-5)}
  body.tms-app .tms-contact__form .tms-btn{justify-self:stretch}
  body.tms-app .tms-channel__go{width:40px;height:40px}
  body.tms-app .tms-contact__stores{padding:var(--tms-space-4)}
  body.tms-app .tms-contact__stores-pin,body.tms-app .tms-contact__stores-go{width:40px;height:40px}
}

/* ==================== Stores ==================== */
body.tms-app .tms-stores-page__hero{display:grid;gap:var(--tms-space-4);padding-block:var(--tms-space-12) var(--tms-space-8);max-width:40rem}
body.tms-app .tms-stores-page__empty{margin:0;padding:var(--tms-space-8);border-radius:var(--tms-radius-xl);background:var(--tms-color-surface);color:var(--tms-color-text-muted)}
body.tms-app .tms-stores-page .tms-stores{padding:0 0 var(--tms-space-16)}
body.tms-app:has(.tms-stores-page) .animate-page-enter{animation:none;transform:none}
body.tms-app .tms-stores-page .tms-stores__header{display:none}
body.tms-app .tms-stores__filters{display:flex;flex-wrap:nowrap;gap:var(--tms-space-2);margin:0 0 var(--tms-space-6);overflow-x:auto;scrollbar-width:none}
body.tms-app .tms-stores__filters::-webkit-scrollbar{display:none}
body.tms-app .tms-stores__chip{display:inline-flex;align-items:center;gap:8px;flex:none;height:36px;padding:0 14px;border:1px solid var(--tms-color-line);border-radius:var(--tms-radius-round);background:var(--tms-color-bg);color:var(--tms-color-text);font:inherit;font-size:var(--tms-text-sm);font-weight:var(--tms-weight-semibold);cursor:pointer}
body.tms-app .tms-stores__chip--active{background:var(--tms-color-primary);border-color:var(--tms-color-primary);color:var(--tms-color-on-primary)}
body.tms-app .tms-stores__chip-count{font-size:var(--tms-text-xs);opacity:.7}
body.tms-app .tms-stores__layout{display:grid;grid-template-columns:minmax(280px,0.85fr) minmax(0,1.15fr);gap:var(--tms-space-6);align-items:stretch}
body.tms-app .tms-stores__list{display:grid;align-content:start;gap:var(--tms-space-3);margin:0;padding:0;max-height:560px;overflow:auto}
body.tms-app .tms-stores__card{display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--tms-space-3);width:100%;padding:var(--tms-space-4);border:1px solid var(--tms-color-line);border-radius:var(--tms-radius-lg);background:var(--tms-color-bg);color:inherit;font:inherit;text-align:left;cursor:pointer}
body.tms-app .tms-stores__card--active{border-color:var(--tms-color-primary);background:var(--tms-color-surface)}
body.tms-app .tms-stores__card-pin{display:grid;place-items:center;width:36px;height:36px;border-radius:var(--tms-radius-round);background:var(--tms-color-primary);color:var(--tms-color-on-primary)}
body.tms-app .tms-stores__card-body{display:grid;gap:2px;min-width:0}
body.tms-app .tms-stores__card-city{font-size:var(--tms-text-xs);font-weight:var(--tms-weight-semibold);letter-spacing:var(--tms-tracking-wide);text-transform:uppercase;color:var(--tms-color-text-muted)}
body.tms-app .tms-stores__card-name{font-size:var(--tms-text-base);font-weight:var(--tms-weight-semibold)}
body.tms-app .tms-stores__card-address,body.tms-app .tms-stores__card-meta{font-size:var(--tms-text-sm);color:var(--tms-color-text-muted)}
body.tms-app .tms-stores__card-phone{font-size:var(--tms-text-sm);color:var(--tms-color-text);text-decoration:none}
body.tms-app .tms-stores__map-wrap{display:grid;align-content:start;gap:var(--tms-space-3)}
body.tms-app .tms-stores__map{position:relative;z-index:0;isolation:isolate;overflow:hidden;min-height:460px;border:1px solid var(--tms-color-line);border-radius:var(--tms-radius-xl);background:var(--tms-color-surface)}
body.tms-app .tms-stores__map .leaflet-tile-pane{filter:grayscale(.72) sepia(.28) saturate(.35) contrast(.94) brightness(1.06)}
body.tms-app .tms-map-pin-wrap{background:transparent;border:none}
body.tms-app .tms-map-pin{display:block;width:16px;height:16px;margin:6px;border-radius:var(--tms-radius-round);background:var(--tms-color-primary);box-shadow:0 0 0 6px color-mix(in srgb, var(--tms-color-primary) 14%, transparent),0 8px 18px rgba(10,10,10,.22);border:3px solid var(--tms-color-bg)}
body.tms-app .tms-map-pin--active{width:18px;height:18px;margin:5px;box-shadow:0 0 0 9px color-mix(in srgb, var(--tms-color-primary) 16%, transparent),0 10px 22px rgba(10,10,10,.28)}
body.tms-app .tms-stores__map .leaflet-bar{border:none;border-radius:var(--tms-radius-lg);overflow:hidden;box-shadow:0 8px 20px rgba(10,10,10,.08)}
body.tms-app .tms-stores__map .leaflet-bar a{width:36px;height:36px;line-height:36px;background:var(--tms-color-bg);color:var(--tms-color-text);border-bottom:1px solid var(--tms-color-line);font-size:16px}
body.tms-app .tms-stores__map .leaflet-bar a:hover{background:var(--tms-color-surface)}
body.tms-app .tms-stores__map .leaflet-control-attribution{background:color-mix(in srgb, var(--tms-color-bg) 88%, transparent);color:var(--tms-color-text-muted);font-size:10px;border-radius:var(--tms-radius-md) 0 0 0}
body.tms-app .tms-stores__map .leaflet-control-attribution a{color:var(--tms-color-text-muted)}
body.tms-app .tms-map-popup .leaflet-popup-content-wrapper{border-radius:var(--tms-radius-lg);background:var(--tms-color-bg);color:var(--tms-color-text);box-shadow:0 16px 40px rgba(10,10,10,.12);font-family:inherit}
body.tms-app .tms-map-popup .leaflet-popup-content{margin:12px 14px;font-size:var(--tms-text-sm);line-height:var(--tms-leading-snug)}
body.tms-app .tms-map-popup .leaflet-popup-content strong{font-weight:var(--tms-weight-semibold)}
body.tms-app .tms-map-popup .leaflet-popup-tip{background:var(--tms-color-bg)}
body.tms-app .tms-map-popup .leaflet-popup-close-button{color:var(--tms-color-text-muted)}
body.tms-app .tms-stores__map-canvas{width:100%;height:460px}
body.tms-app .leaflet-container{width:100%;height:100%;overflow:hidden;background:var(--tms-color-surface)}
body.tms-app .leaflet-pane,body.tms-app .leaflet-tile,body.tms-app .leaflet-marker-icon,body.tms-app .leaflet-marker-shadow,body.tms-app .leaflet-tile-container{position:absolute;left:0;top:0}
body.tms-app .leaflet-container img.leaflet-tile{max-width:none;max-height:none;width:256px;height:256px}
body.tms-app .tms-stores__map-caption{display:grid;gap:2px;padding:0 var(--tms-space-1);font-size:var(--tms-text-sm);color:var(--tms-color-text-muted)}
body.tms-app .tms-stores__map-caption strong{color:var(--tms-color-text);font-size:var(--tms-text-base)}
body.tms-app .tms-stores__empty{margin:0;color:var(--tms-color-text-muted)}
@media (max-width:767px){
  body.tms-app:has(.tms-stores-page) .animate-page-enter{animation:none;transform:none}
  body.tms-app .tms-stores-page__hero{gap:var(--tms-space-2);padding-block:var(--tms-space-5) var(--tms-space-4)}
  body.tms-app .tms-stores-page__hero .tms-lede{font-size:var(--tms-text-sm);line-height:var(--tms-leading-snug)}
  body.tms-app .tms-stores-page .tms-stores{padding-bottom:var(--tms-space-10)}
  body.tms-app .tms-stores__filters{position:sticky;top:calc(var(--tms-header-h) + var(--tms-promo-h));z-index:6;margin:0 calc(var(--tms-gutter) * -1) var(--tms-space-4);padding:10px 0;background:color-mix(in srgb, var(--tms-color-bg) 92%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);scroll-padding-inline:var(--tms-gutter);scroll-snap-type:x proximity}
  body.tms-app .tms-stores__filters::before,body.tms-app .tms-stores__filters::after{content:"";flex:0 0 var(--tms-gutter)}
  body.tms-app .tms-stores__chip{height:40px;scroll-snap-align:start}
  body.tms-app .tms-stores__layout{display:flex;flex-direction:column;gap:var(--tms-space-4)}
  body.tms-app .tms-stores__map-wrap{display:none}
  body.tms-app .tms-stores__map-caption{display:none}
  body.tms-app .tms-stores__list{gap:var(--tms-space-2)}
  body.tms-app .tms-stores__item--active{overflow:hidden;border:1px solid var(--tms-color-primary);border-radius:var(--tms-radius-lg);background:var(--tms-color-surface)}
  body.tms-app .tms-stores__item--active .tms-stores__card{border-color:transparent;background:transparent;border-radius:0}
  body.tms-app .tms-stores__card-map{padding:0 12px 12px}
  body.tms-app .tms-stores__card-map .tms-stores__map{border:none;border-radius:var(--tms-radius-md)}
  body.tms-app .tms-stores__card{align-items:center;gap:10px;padding:12px}
  body.tms-app .tms-stores__card-pin{width:32px;height:32px}
  body.tms-app .tms-stores__card-body{grid-template-columns:minmax(0,1fr) auto;column-gap:8px;align-items:baseline}
  body.tms-app .tms-stores__card-name,body.tms-app .tms-stores__card-address,body.tms-app .tms-stores__card-phone{grid-column:1 / -1}
  body.tms-app .tms-stores__card-meta{grid-column:2;grid-row:1;white-space:nowrap}
  body.tms-app .tms-stores__map,body.tms-app .tms-stores__map-canvas{min-height:220px;height:220px}
  body.tms-app .tms-stores__map .leaflet-container{touch-action:pan-y}
}

/* ==================== Not found ==================== */
body.tms-app .tms-not-found{padding-block:var(--tms-space-16) var(--tms-space-24);overflow:hidden}
body.tms-app .tms-not-found__inner{display:grid;gap:var(--tms-space-5);justify-items:start}
body.tms-app .tms-not-found__code{display:flex;margin:0 0 var(--tms-space-4);font-size:var(--tms-text-mega);font-weight:var(--tms-weight-black);line-height:.85;letter-spacing:-0.06em}
body.tms-app .tms-not-found__digit{display:block;color:transparent;-webkit-text-stroke:2px var(--tms-color-text);animation:tms-wobble 5s var(--tms-ease-in-out) infinite}
body.tms-app .tms-not-found__digit:nth-child(2){color:var(--tms-color-text);animation-delay:-1.6s}
body.tms-app .tms-not-found__digit:nth-child(3){animation-delay:-3.2s}
body.tms-app .tms-not-found__inner .tms-lede{max-width:48ch}
body.tms-app .tms-not-found__actions{display:flex;flex-wrap:wrap;gap:var(--tms-space-3);margin-top:var(--tms-space-4)}
html:has(body.tms-app){background:#fff}
body.tms-app .app-main{padding-bottom:0;background:var(--tms-color-bg)}

/* ==================== Gift cards ==================== */
body.tms-app .tms-gift{padding-bottom:var(--tms-space-24)}
body.tms-app .tms-cms-block:has([data-section-type="GIFT_CARDS"]){padding-top:var(--tms-space-24);padding-bottom:var(--tms-space-24)}
body.tms-app .tms-cms-block [data-section-type="GIFT_CARDS"]{padding-top:0;padding-bottom:0}
body.tms-app .tms-gift__head{display:grid;gap:var(--tms-space-4);max-width:40rem;margin-bottom:var(--tms-space-12)}
body.tms-app .tms-gift__back{display:inline-flex;margin-bottom:var(--tms-space-8);color:var(--tms-color-muted);text-decoration:none}
body.tms-app .tms-gift-grid{display:grid;grid-template-columns:repeat(var(--tms-gift-cols, 3),minmax(0,1fr));gap:var(--tms-space-6);list-style:none;margin:0;padding:0}
body.tms-app .tms-gift-card{display:grid;gap:var(--tms-space-3);color:inherit;text-decoration:none}
body.tms-app .tms-gift-card__name{font-size:var(--tms-text-sm);letter-spacing:.02em}
body.tms-app .tms-gift-face{position:relative;display:flex;flex-direction:column;justify-content:space-between;aspect-ratio:1.7/1;padding:1.35rem 1.4rem;border-radius:18px;overflow:hidden;box-shadow:0 16px 40px rgba(10,10,10,.12);background:linear-gradient(145deg,#1a1614 0%,#3a322c 52%,#14110f 100%);color:#f5f3f0}
body.tms-app .tms-gift-face--side{padding-right:4.4rem}
body.tms-app .tms-gift-face--silver{background:linear-gradient(145deg,#9aa3ad 0%,#e8edf2 42%,#7d868f 100%);color:#1a1d21}
body.tms-app .tms-gift-face--gold{background:linear-gradient(145deg,#b8923a 0%,#f0d78c 45%,#8f6a1f 100%);color:#1a1614}
body.tms-app .tms-gift-face--platinum{background:linear-gradient(145deg,#2b3038 0%,#8b949e 48%,#1a1e24 100%);color:#f4f6f8}
body.tms-app .tms-gift-face--cream{background:linear-gradient(145deg,#f7f3ee 0%,#e7dfd4 100%);color:#1a1614}
body.tms-app .tms-gift-face--blush{background:linear-gradient(145deg,#f3e4df 0%,#e7cfc7 55%,#f7eee9 100%);color:#2a211e}
body.tms-app .tms-gift-face--sage{background:linear-gradient(145deg,#d7e0d4 0%,#b7c6b4 55%,#e7eee4 100%);color:#1c241b}
body.tms-app .tms-gift-face--ink{background:linear-gradient(160deg,#0a0a0a 0%,#1c1c1c 100%);color:#f5f3f0}
body.tms-app .tms-gift-face--photo{background-size:cover;background-position:center;color:#f5f3f0}
body.tms-app .tms-gift-face__brand{display:flex;align-items:flex-start}
@media (max-width:767px){body.tms-app .tms-gift-grid:not(.tms-gift-grid--rail){grid-template-columns:repeat(min(2, var(--tms-gift-cols, 3)),minmax(0,1fr))}}
@media (max-width:520px){body.tms-app .tms-gift-grid:not(.tms-gift-grid--rail){grid-template-columns:1fr}}
/* Mobile gift widget: swipe rail with next-card peek */
@media (max-width:767px){
  body.tms-app .tms-gift-grid--rail{
    display:flex;
    gap:var(--tms-space-3);
    overflow-x:auto;
    overscroll-behavior-x:contain;
    -webkit-overflow-scrolling:touch;
    scroll-snap-type:x mandatory;
    scrollbar-width:none;
    margin-inline:calc(var(--tms-gutter) * -1);
    padding-inline:var(--tms-gutter);
    scroll-padding-inline:var(--tms-gutter);
    padding-bottom:2px;
  }
  body.tms-app .tms-gift-grid--rail::-webkit-scrollbar{display:none}
  body.tms-app .tms-gift-grid--rail > .tms-gift-grid__slide{
    flex:0 0 calc(100% - 2.75rem);
    min-width:0;
    scroll-snap-align:start;
  }
  body.tms-app .tms-gift-grid--rail .tms-gift-card{width:100%}
}
body.tms-app .tms-gift-face__copy{display:grid;gap:.35rem;max-width:calc(100% - .5rem)}
body.tms-app .tms-gift-face__title{font-size:var(--tms-text-sm);opacity:.86}
body.tms-app .tms-gift-face__amount{font-size:2rem;font-weight:500;letter-spacing:-.03em;line-height:1}
body.tms-app .tms-gift-face__side{position:absolute;top:50%;right:.45rem;max-height:88%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.55em;transform:translateY(-50%) rotate(180deg);writing-mode:vertical-rl;font-size:9px;font-weight:500;letter-spacing:.14em;line-height:1.15;text-transform:uppercase;opacity:.78;pointer-events:none}
body.tms-app .tms-gift-face__side-line{display:block;white-space:nowrap}
@media (min-width:900px){body.tms-app .tms-gift-face__side{right:.7rem;font-size:10px;letter-spacing:.16em;gap:.48em}}
body.tms-app .tms-gift-stage{padding-top:var(--tms-space-12)}
body.tms-app .tms-gift-stage .tms-gift__back{margin-bottom:var(--tms-space-10)}
body.tms-app .tms-gift-stage .tms-gift__back::before{content:"←";margin-right:.45em}
body.tms-app .tms-gift-detail{display:grid;gap:var(--tms-space-10);align-items:start}
@media (min-width:900px){body.tms-app .tms-gift-detail{grid-template-columns:minmax(0,2fr) minmax(0,3fr);gap:var(--tms-space-16)}}
body.tms-app .tms-gift-stage__present{align-self:stretch;background:none;padding:0;box-shadow:none}
body.tms-app .tms-gift-stage__pin{position:sticky;top:calc(var(--tms-header-h) + var(--tms-promo-h) + var(--tms-space-6))}
body.tms-app .tms-gift-stage__present .tms-gift-face{width:100%;min-height:0}
body.tms-app .tms-gift-stage .tms-gift-buy{display:grid;gap:var(--tms-space-5);align-content:start;padding:0;border-radius:0;background:transparent}
body.tms-app .tms-gift-stage .tms-input{background:#fff;border:1px solid var(--tms-color-line)}
body.tms-app .tms-gift-stage .tms-input:hover{background:#fff;border-color:var(--tms-color-text-subtle)}
body.tms-app .tms-gift-stage .tms-input:focus-visible{background:#fff;border-color:var(--tms-color-text)}
body.tms-app .tms-gift-stage .tms-gift-buy .tms-kicker{margin-bottom:0}
body.tms-app .tms-gift-stage .tms-gift-buy .tms-btn--primary{width:100%}
@media (max-width:899px){body.tms-app .tms-gift-stage__pin{position:static}}
body.tms-app .tms-gift-buy{display:grid;gap:var(--tms-space-4);align-content:start}
body.tms-app .tms-gift-buy__price{margin:0;font-size:1.75rem;letter-spacing:-.03em}
@media (max-width:767px){body.tms-app .tms-gift-stage{padding-top:var(--tms-space-8)}}
body.tms-app .tms-gift-who{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}
body.tms-app .tms-gift-who button{height:var(--tms-control-h);border:1px solid var(--tms-color-line);border-radius:var(--tms-radius-round);background:transparent;color:inherit;font:inherit;cursor:pointer}
body.tms-app .tms-gift-who button.is-on{background:var(--tms-color-primary);border-color:var(--tms-color-primary);color:var(--tms-color-on-primary)}
body.tms-app .tms-gift-note{height:auto;min-height:96px;padding-block:var(--tms-space-4);resize:vertical}
body.tms-app .tms-gift-reveal{display:grid;gap:var(--tms-space-4);margin-top:var(--tms-space-8);text-align:left}
body.tms-app .tms-gift-reveal__code,body.tms-app .tms-gift-reveal__wait,body.tms-app .tms-gift-reveal__who{margin:.75rem 0 0;font-size:var(--tms-text-sm)}
body.tms-app .tms-gift-reveal__code strong{letter-spacing:.08em}
body.tms-app .tms-gift-mail{display:grid;gap:var(--tms-space-3);margin:0}
body.tms-app .tms-gift-mail div{display:grid;gap:.2rem}
body.tms-app .tms-gift-mail dt{font-size:var(--tms-text-xs);color:var(--tms-color-muted)}
body.tms-app .tms-gift-mail dd{margin:0}
body.tms-app .tms-gift-mail__note{margin:0;color:var(--tms-color-muted);font-size:var(--tms-text-sm)}
body.tms-app .tms-gift-pay{display:grid;gap:var(--tms-space-3)}
body.tms-app .tms-gift-pay__opt{display:flex;align-items:center;gap:var(--tms-space-3);min-height:var(--tms-control-h);padding:0 var(--tms-space-4);border:1px solid var(--tms-color-line);border-radius:var(--tms-radius-round);background:#fff;cursor:pointer}
body.tms-app .tms-gift-pay__opt.is-on{border-color:var(--tms-color-text)}
body.tms-app .tms-gift-pay__opt input{accent-color:var(--tms-color-text)}
