/* ─── DRESS ON NOW — main.css ─── */
/* Prefix: don- | BEM-like | Mobile-first | CSS Custom Properties */

/* ─── DESIGN TOKENS ─── */
:root {
  /* === BRAND — kolory klientki (60-30-10) === */
  --don-primary:       #A48D78;
  --don-primary-dark:  #8B7561;
  --don-primary-light: #B9A590;
  --don-secondary:     #CBB9A4;
  --don-tertiary:      #E6DAC8;
  --don-light:         #F4F1EA;
  --don-lightest:      #FAF9F6;

  /* === CTA / Gold accent === */
  --don-gold-400: #C9A24D;
  --don-gold-500: #B8912F;
  --don-gold-600: #9A7825;
  --don-gold-700: #7C611E;
  --don-gold:      var(--don-gold-500);
  --don-gold-dark: var(--don-gold-600);

  /* === Blush/rose accent (badges, sale) === */
  --don-blush-50:  #FDF5F3;
  --don-blush-100: #FAE8E3;
  --don-blush-300: #E8A9A0;
  --don-blush-500: #C4635D;
  --don-blush-dark: var(--don-blush-500);

  /* === Sage green (success) === */
  --don-sage-300: #A8C0A0;
  --don-sage-500: #6B8F62;
  --don-sage:     var(--don-sage-500);

  /* === Neutrals === */
  --don-neutral-50:  #FAFAF9;
  --don-neutral-100: #F5F5F3;
  --don-neutral-200: #E8E7E4;
  --don-neutral-300: #D4D3CF;
  --don-neutral-400: #A8A6A1;
  --don-neutral-500: #787672;
  --don-neutral-600: #5C5A56;
  --don-neutral-700: #434240;
  --don-neutral-800: #2D2C2A;
  --don-neutral-900: #1A1918;

  /* === Semantic shortcuts === */
  --don-bg:          var(--don-lightest);
  --don-bg-alt:      var(--don-light);
  --don-white:       #FFFFFF;
  --don-dark:        var(--don-neutral-800);
  --don-text:        var(--don-neutral-600);
  --don-text-light:  var(--don-neutral-500);
  --don-text-muted:  var(--don-neutral-400);
  --don-accent:      var(--don-secondary);
  --don-card:        #FFFFFF;
  --don-border:      var(--don-tertiary);
  --don-border-light: var(--don-light);

  /* === Semantic colors === */
  --don-success-bg:     #F0F7F0;
  --don-success:        #2D6A2E;
  --don-success-border: #A8D5A8;
  --don-error-bg:       #FDF2F2;
  --don-error:          #991B1B;
  --don-error-border:   #F5C6C6;
  --don-warning-bg:     #FFFBEB;
  --don-warning:        #92400E;
  --don-warning-border: #FDE68A;
  --don-info-bg:        #F0F4FF;
  --don-info:           #1E40AF;
  --don-info-border:    #BFDBFE;

  /* === Surface & overlay === */
  --don-overlay-light: rgba(253, 252, 250, 0.85);
  --don-overlay-dark:  rgba(26, 25, 24, 0.60);
  --don-overlay-scrim: rgba(26, 25, 24, 0.40);
  --don-focus-ring:    rgba(184, 145, 47, 0.4);

  /* === Typography === */
  --don-font-display: "Cormorant Garamond", Georgia, serif;
  --don-font-body:    "Montserrat", "Helvetica Neue", sans-serif;

  /* Fluid type scale (clamp) */
  --don-text-4xl:  clamp(2.75rem, 2.2rem + 2.75vw, 5rem);
  --don-text-3xl:  clamp(2.25rem, 1.93rem + 1.57vw, 3.75rem);
  --don-text-2xl:  clamp(1.75rem, 1.55rem + 1vw, 2.75rem);
  --don-text-xl:   clamp(1.25rem, 1.13rem + 0.63vw, 1.75rem);
  --don-text-lg:   clamp(1.125rem, 1.06rem + 0.31vw, 1.375rem);
  --don-text-base: clamp(1rem, 0.975rem + 0.13vw, 1.125rem);
  --don-text-sm:   clamp(0.875rem, 0.85rem + 0.13vw, 0.9375rem);
  --don-text-xs:   clamp(0.75rem, 0.725rem + 0.13vw, 0.8125rem);
  --don-text-price: clamp(1.375rem, 1.25rem + 0.63vw, 1.875rem);

  /* Line heights */
  --don-lh-tight:   1.15;
  --don-lh-snug:    1.25;
  --don-lh-normal:  1.5;
  --don-lh-relaxed: 1.65;

  /* Letter spacing */
  --don-ls-tight:  -0.02em;
  --don-ls-normal:  0;
  --don-ls-wide:    0.05em;
  --don-ls-widest:  0.1em;

  /* Font weights */
  --don-fw-light:    300;
  --don-fw-regular:  400;
  --don-fw-medium:   500;
  --don-fw-semibold: 600;
  --don-fw-bold:     700;

  /* === Spacing (8px grid) === */
  --don-space-0:  0;
  --don-space-1:  0.25rem;
  --don-space-2:  0.5rem;
  --don-space-3:  0.75rem;
  --don-space-4:  1rem;
  --don-space-5:  1.25rem;
  --don-space-6:  1.5rem;
  --don-space-8:  2rem;
  --don-space-10: 2.5rem;
  --don-space-12: 3rem;
  --don-space-16: 4rem;
  --don-space-20: 5rem;
  --don-space-24: 6rem;
  --don-space-32: 8rem;
  --don-space-lg:  2rem;
  --don-space-xl:  2.5rem;
  --don-space-2xl: 3rem;

  /* Section padding (fluid) — generous for luxury feel */
  --don-section-sm: clamp(3rem, 6vw, 5rem);
  --don-section-md: clamp(4.5rem, 8vw, 7rem);
  --don-section-lg: clamp(6rem, 12vw, 10rem);
  --don-section-xl: clamp(8rem, 14vw, 12rem);

  /* === Layout === */
  --don-container-sm:   640px;
  --don-container-md:   768px;
  --don-container-max:  1320px;
  --don-container-full: 1600px;
  --don-container-narrow: 800px;
  --don-container-padding: 1.25rem;
  --don-gutter-mobile:  1rem;
  --don-gutter-tablet:  1.5rem;
  --don-gutter-desktop: 2.5rem;
  --don-grid-gap: clamp(1rem, 2vw, 2rem);

  /* === Shadows === */
  --don-shadow-xs:  0 1px 2px rgba(26, 25, 24, 0.04);
  --don-shadow-sm:  0 1px 3px rgba(26, 25, 24, 0.06), 0 1px 2px rgba(26, 25, 24, 0.04);
  --don-shadow-md:  0 4px 6px -1px rgba(26, 25, 24, 0.06), 0 2px 4px -2px rgba(26, 25, 24, 0.04);
  --don-shadow-lg:  0 10px 15px -3px rgba(26, 25, 24, 0.08), 0 4px 6px -4px rgba(26, 25, 24, 0.04);
  --don-shadow-xl:  0 20px 25px -5px rgba(26, 25, 24, 0.08), 0 8px 10px -6px rgba(26, 25, 24, 0.04);
  --don-shadow-2xl: 0 25px 50px -12px rgba(26, 25, 24, 0.16);
  --don-shadow-card-hover: 0 12px 24px -4px rgba(26, 25, 24, 0.10), 0 4px 8px -2px rgba(26, 25, 24, 0.04);
  --don-shadow-gold: 0 0 0 3px var(--don-focus-ring);

  /* === Borders === */
  --don-radius-none: 0;
  --don-radius-sm:   2px;
  --don-radius-md:   4px;
  --don-radius-lg:   8px;
  --don-radius-xl:   12px;
  --don-radius-full: 9999px;

  /* === Transitions === */
  --don-dur-fast:    150ms;
  --don-dur-base:    200ms;
  --don-dur-slow:    300ms;
  --don-dur-slower:  400ms;
  --don-dur-reveal:  600ms;
  --don-ease-default: cubic-bezier(0.25, 1, 0.5, 1);
  --don-ease-in:      cubic-bezier(0.55, 0, 1, 0.45);
  --don-ease-out:     cubic-bezier(0, 0.55, 0.45, 1);
  --don-ease-bounce:  cubic-bezier(0.34, 1.56, 0.64, 1);
  --don-ease-spring:  cubic-bezier(0.22, 1, 0.36, 1);
  --don-transition:      200ms cubic-bezier(0.25, 1, 0.5, 1);
  --don-transition-fast: 150ms cubic-bezier(0.25, 1, 0.5, 1);

  /* === Z-index === */
  --don-z-base:      0;
  --don-z-raised:    10;
  --don-z-dropdown:  100;
  --don-z-infobar:   100;
  --don-z-sticky:    200;
  --don-z-header:    200;
  --don-z-overlay:   300;
  --don-z-modal:     400;
  --don-z-toast:     500;
  --don-z-tooltip:   600;
  --don-z-preloader: 9999;
}

/* Tablet gutter */
@media (min-width: 768px) {
  :root { --don-container-padding: 1.5rem; }
}
/* Desktop gutter */
@media (min-width: 1024px) {
  :root { --don-container-padding: 2rem; }
}

/* ─── RESET ─── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body { font-family: var(--don-font-body); font-size: var(--don-text-base); line-height: 1.7; color: var(--don-text); background-color: var(--don-white); -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; font-weight: 400; letter-spacing: 0.015em; }
img, svg { display: block; max-width: 100%; height: auto; }
a { color: var(--don-primary); text-decoration: none; transition: color var(--don-transition-fast); }
a:hover { color: var(--don-primary-dark); }
button { cursor: pointer; border: none; background: none; font-family: inherit; }
input, select, textarea { font-family: inherit; font-size: inherit; }
h1, h2, h3, h4, h5, h6 { font-family: var(--don-font-display); font-weight: 400; color: var(--don-dark); line-height: 1.2; }
ul, ol { list-style: none; }
::selection { background-color: var(--don-tertiary); color: var(--don-dark); }

/* ─── UTILITIES ─── */
.don-hidden { display: none !important; }
.don-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); border: 0; }
.don-container { width: 100%; max-width: var(--don-container-max); margin: 0 auto; padding: 0 var(--don-container-padding); }
.don-container--narrow { max-width: var(--don-container-narrow); }
.don-required { color: var(--don-blush-dark); }

/* ─── BUTTONS ─── */
.don-btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; padding: 16px 36px; font-family: var(--don-font-body); font-size: 11px; font-weight: 500; letter-spacing: 0.18em; text-transform: uppercase; border-radius: 0; transition: all 0.45s cubic-bezier(0.25, 0.46, 0.45, 0.94); white-space: nowrap; cursor: pointer; position: relative; overflow: hidden; }
.don-btn::after { content: ''; position: absolute; inset: 0; background: linear-gradient(120deg, transparent 0%, rgba(255,255,255,0.08) 50%, transparent 100%); transform: translateX(-100%); transition: transform 0.6s ease; }
.don-btn:hover::after { transform: translateX(100%); }
.don-btn--primary { background-color: var(--don-neutral-900); color: var(--don-white); border: 1px solid var(--don-neutral-900); }
.don-btn--primary:hover { background-color: var(--don-neutral-800); border-color: var(--don-neutral-800); color: var(--don-white); box-shadow: 0 8px 24px rgba(26,25,24,0.2); }
.don-btn--outline { background: transparent; color: var(--don-dark); border: 1px solid var(--don-neutral-300); }
.don-btn--outline:hover { background-color: var(--don-dark); color: var(--don-white); border-color: var(--don-dark); }
.don-btn--gold { background-color: var(--don-gold); color: var(--don-white); border: 1px solid var(--don-gold); }
.don-btn--gold:hover { background-color: var(--don-gold-dark); border-color: var(--don-gold-dark); box-shadow: 0 8px 24px rgba(184,145,47,0.25); }
.don-btn--light { background: transparent; color: var(--don-white); border: 1px solid rgba(255,255,255,0.4); }
.don-btn--light:hover { background: rgba(255,255,255,0.12); border-color: var(--don-white); }
.don-btn--sm { padding: 11px 24px; font-size: 10px; }
.don-btn--lg { padding: 18px 48px; font-size: 12px; letter-spacing: 0.2em; }
.don-btn--block { width: 100%; justify-content: center; }
.don-btn svg { flex-shrink: 0; transition: transform 0.3s ease; }
.don-btn:hover svg { transform: translateX(3px); }

/* ─── PRELOADER ─── */
.don-preloader { position: fixed; inset: 0; z-index: var(--don-z-preloader); background: var(--don-bg); display: flex; align-items: center; justify-content: center; transition: opacity 0.4s ease, visibility 0.4s ease; }
.don-preloader--hidden { opacity: 0; visibility: hidden; pointer-events: none; }
.don-preloader__inner { text-align: center; }
.don-preloader__logo { max-width: 200px; margin-bottom: 24px; }
.don-preloader__text { font-family: var(--don-font-display); font-size: var(--don-text-2xl); color: var(--don-dark); letter-spacing: 0.1em; }
.don-preloader__bar { width: 200px; height: 2px; background: var(--don-tertiary); border-radius: 2px; overflow: hidden; }
.don-preloader__progress { width: 0; height: 100%; background: var(--don-primary); animation: don-preload 1.2s ease-in-out forwards; }
@keyframes don-preload { 0% { width: 0; } 100% { width: 100%; } }

/* ─── INFO BAR — PREMIUM ─── */
.don-infobar { background-color: var(--don-neutral-900); color: var(--don-white); padding: 8px 0; font-size: 10px; letter-spacing: 0.15em; text-transform: uppercase; z-index: var(--don-z-infobar); }
.don-infobar__inner { display: flex; justify-content: center; gap: 48px; flex-wrap: wrap; }
.don-infobar__item { display: inline-flex; align-items: center; gap: 8px; color: rgba(255,255,255,0.65); transition: color 0.3s ease; }
a.don-infobar__item:hover { color: var(--don-gold-400); }
.don-infobar__item svg { width: 13px; height: 13px; stroke-width: 1.5; }
.don-infobar__sep { width: 1px; height: 12px; background: rgba(255,255,255,0.12); }

/* ─── HEADER — LUXURY ─── */
.don-header { position: sticky; top: 0; z-index: var(--don-z-header); background: var(--don-white); border-bottom: 1px solid rgba(0,0,0,0.06); transition: all 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94); }
.don-header.scrolled { box-shadow: 0 2px 20px rgba(0,0,0,0.04); }
.don-header.scrolled .don-header__inner { height: 60px; }
.don-header__inner { display: flex; align-items: center; justify-content: space-between; height: 80px; gap: 24px; transition: height 0.4s ease; }
.don-header__logo { display: flex; align-items: center; flex-shrink: 0; }
.don-header__logo-img { height: 48px; width: auto; transition: height 0.4s ease; }
.don-header.scrolled .don-header__logo-img { height: 36px; }
.don-header__logo-light { display: none; }
.don-header__logo-text { font-family: var(--don-font-display); font-size: var(--don-text-2xl); font-weight: 600; color: var(--don-dark); letter-spacing: 0.08em; }

/* Transparent header on homepage hero */
.home .don-header { position: fixed; width: 100%; }
.home .don-header:not(.scrolled) { background: linear-gradient(180deg, rgba(0,0,0,0.20) 0%, rgba(0,0,0,0.05) 60%, transparent 100%); border-bottom-color: transparent; }
.home .don-header:not(.scrolled) .don-header__logo-text,
.home .don-header:not(.scrolled) .don-nav__list a,
.home .don-header:not(.scrolled) .don-header__action,
.home .don-header:not(.scrolled) .don-hamburger__line { color: var(--don-white); }
.home .don-header:not(.scrolled) .don-nav__list a::after { background: var(--don-gold-400); }
.home .don-header:not(.scrolled) .don-nav__list a:hover { color: rgba(255,255,255,0.7); }
.home .don-header:not(.scrolled) .don-hamburger__line { background: var(--don-white); }
.home .don-header:not(.scrolled) .don-header__logo-dark { display: none; }
.home .don-header:not(.scrolled) .don-header__logo-light { display: block; }
.home .don-header:not(.scrolled) .don-header__cart-count { background: var(--don-white); color: var(--don-neutral-900); }
.home .don-main { padding-top: 0; }
.home .don-header.scrolled { background: var(--don-white); }
.home .don-header.scrolled .don-header__logo-dark { display: block; }
.home .don-header.scrolled .don-header__logo-light { display: none; }

/* Nav — elegant */
.don-nav { display: none; }
.don-nav__list { display: flex; gap: 32px; align-items: center; }
.don-nav__list li { position: relative; }
.don-nav__list a { font-size: 11px; font-weight: 500; color: var(--don-neutral-600); text-transform: uppercase; letter-spacing: 0.14em; padding: 8px 0; transition: color 0.3s ease; position: relative; }
.don-nav__list a::after { content: ''; position: absolute; bottom: -2px; left: 0; width: 0; height: 1px; background: var(--don-gold); transition: width 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94); }
.don-nav__list a:hover::after,
.don-nav__list .current-menu-item > a::after { width: 100%; }
.don-nav__list a:hover { color: var(--don-primary); }
.don-nav__list .current-menu-item > a { color: var(--don-primary); }

/* Header actions — refined */
.don-header__actions { display: flex; align-items: center; gap: 4px; }
.don-header__action { position: relative; color: var(--don-text); padding: 8px; transition: color var(--don-transition-fast); }
.don-header__action:hover { color: var(--don-primary); }
.don-header__action svg { stroke-width: 1.5; }
.don-header__action--desktop-only { display: none; }
.don-header__cart-count { position: absolute; top: 2px; right: 0; background: var(--don-gold); color: var(--don-white); font-size: 9px; font-weight: 700; width: 16px; height: 16px; border-radius: 50%; display: flex; align-items: center; justify-content: center; letter-spacing: 0; }

/* Hamburger — thin lines */
.don-hamburger { display: flex; flex-direction: column; gap: 6px; padding: 10px 8px; z-index: calc(var(--don-z-overlay) + 1); }
.don-hamburger__line { width: 22px; height: 1.5px; background: var(--don-dark); transition: all 0.3s ease; transform-origin: center; }
.don-hamburger--active .don-hamburger__line:nth-child(1) { transform: rotate(45deg) translate(5.3px, 5.3px); }
.don-hamburger--active .don-hamburger__line:nth-child(2) { opacity: 0; }
.don-hamburger--active .don-hamburger__line:nth-child(3) { transform: rotate(-45deg) translate(5.3px, -5.3px); }

/* Search overlay */
.don-search-overlay { display: none; background: var(--don-white); border-top: 1px solid var(--don-border-light); padding: 16px 0; }
.don-search-overlay--active { display: block; }
.don-search-form { display: flex; align-items: center; gap: 12px; }
.don-search-form__input { flex: 1; padding: 14px 20px; border: 1px solid var(--don-border); border-radius: 0; font-size: var(--don-text-sm); background: var(--don-lightest); letter-spacing: 0.02em; }
.don-search-form__input:focus { outline: none; border-color: var(--don-primary); }
.don-search-form__btn,
.don-search-form__close { padding: 12px; color: var(--don-text); }
.don-search-form__btn:hover,
.don-search-form__close:hover { color: var(--don-primary); }

/* Mobile menu — full-screen premium */
.don-mobile-menu { position: fixed; inset: 0; z-index: var(--don-z-overlay); background: var(--don-white); transform: translateX(100%); transition: transform 0.5s cubic-bezier(0.22, 1, 0.36, 1); overflow-y: auto; }
.don-mobile-menu--active { transform: translateX(0); }
.don-mobile-menu__inner { padding: 28px 24px; min-height: 100vh; display: flex; flex-direction: column; }
.don-mobile-menu__header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 40px; }
.don-mobile-menu__logo { height: 32px; width: auto; }
.don-mobile-menu__close { padding: 8px; color: var(--don-text); }
.don-mobile-menu__list { display: flex; flex-direction: column; gap: 0; }
.don-mobile-menu__list li { border-bottom: 1px solid var(--don-border-light); }
.don-mobile-menu__list a { display: block; padding: 18px 0; font-family: var(--don-font-display); font-size: var(--don-text-xl); font-weight: 400; color: var(--don-dark); letter-spacing: 0.06em; }
.don-mobile-menu__footer { margin-top: auto; padding-top: 32px; }

/* ─── HERO SLIDER — CINEMATIC ─── */
.don-hero { position: relative; overflow: hidden; background: var(--don-neutral-900); }
.don-hero__slider { position: relative; }
.don-hero__slide { position: absolute; inset: 0; opacity: 0; transition: opacity 1.8s cubic-bezier(0.4, 0, 0.2, 1); z-index: 0; }
.don-hero__slide--active { position: relative; opacity: 1; z-index: 1; }

/* Ken Burns — slow cinematic zoom with subtle shift */
.don-hero__img { width: 100%; height: 100vh; min-height: 600px; max-height: 1100px; object-fit: cover; animation: don-ken-burns 30s ease-in-out infinite alternate; transform-origin: 50% 30%; will-change: transform; }
@keyframes don-ken-burns { 0% { transform: scale(1) translate(0, 0); } 100% { transform: scale(1.08) translate(-0.5%, 0.5%); } }

/* Vignette — cinematic depth */
.don-hero::after { content: ''; position: absolute; inset: 0; z-index: 1; pointer-events: none; background: radial-gradient(ellipse at center, transparent 50%, rgba(0,0,0,0.35) 100%); }

/* Content overlay — sophisticated multi-stop gradient with depth */
.don-hero__content { position: absolute; inset: 0; display: flex; align-items: flex-end; padding-bottom: clamp(7rem, 16vh, 14rem); z-index: 2; background: linear-gradient(180deg, rgba(0,0,0,0.15) 0%, rgba(0,0,0,0) 20%, rgba(0,0,0,0) 40%, rgba(0,0,0,0.06) 55%, rgba(0,0,0,0.35) 72%, rgba(0,0,0,0.70) 100%); }
.don-hero__content--center { align-items: center; justify-content: center; text-align: center; padding-bottom: 0; background: linear-gradient(180deg, rgba(0,0,0,0.08) 0%, rgba(0,0,0,0.35) 100%); }
.don-hero__content--right { justify-content: flex-end; text-align: right; }

/* Hero content — staggered entrance animation */
.don-hero__slide--active .don-hero__line { animation: don-hero-fade 0.8s 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94) both; }
.don-hero__slide--active .don-hero__title { animation: don-hero-fade 0.9s 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) both; }
.don-hero__slide--active .don-hero__subtitle { animation: don-hero-fade 0.9s 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94) both; }
.don-hero__slide--active .don-btn { animation: don-hero-fade 0.9s 0.9s cubic-bezier(0.25, 0.46, 0.45, 0.94) both; }
@keyframes don-hero-fade { from { opacity: 0; transform: translateY(24px); } to { opacity: 1; transform: translateY(0); } }

/* Hero typography — dramatic */
.don-hero__title { font-family: var(--don-font-display); font-size: clamp(3rem, 5vw + 1.5rem, 6.5rem); font-weight: 300; color: var(--don-white); letter-spacing: 0.04em; line-height: 1.0; margin-bottom: 20px; text-shadow: 0 2px 60px rgba(0,0,0,0.3); }
.don-hero__subtitle { font-family: var(--don-font-body); font-size: clamp(0.75rem, 0.9vw + 0.2rem, 1rem); font-weight: 300; color: rgba(255,255,255,0.70); letter-spacing: 0.22em; text-transform: uppercase; margin-bottom: 48px; }
.don-hero__line { display: block; width: 48px; height: 1px; background: var(--don-gold); margin: 0 0 28px; opacity: 0.7; }
.don-hero__content--center .don-hero__line { margin-left: auto; margin-right: auto; margin-bottom: 28px; }

/* CTA buttons in hero — luxurious */
.don-hero .don-btn--primary { background: var(--don-gold); border-color: var(--don-gold); color: var(--don-white); letter-spacing: 0.2em; padding: 18px 52px; font-size: 11px; }
.don-hero .don-btn--primary:hover { background: var(--don-gold-dark); border-color: var(--don-gold-dark); box-shadow: 0 8px 32px rgba(184,145,47,0.3); }
.don-hero .don-btn--outline { border-color: rgba(255,255,255,0.35); color: var(--don-white); letter-spacing: 0.2em; padding: 18px 52px; font-size: 11px; backdrop-filter: blur(4px); }
.don-hero .don-btn--outline:hover { background: rgba(255,255,255,0.1); border-color: rgba(255,255,255,0.7); }

/* Navigation dots — elegant line indicator */
.don-hero__dots { position: absolute; bottom: 40px; left: 50%; transform: translateX(-50%); display: flex; gap: 10px; z-index: 3; }
.don-hero__dot { width: 32px; height: 2px; background: rgba(255,255,255,0.2); border: none; border-radius: 0; transition: all 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94); cursor: pointer; padding: 8px 0; background-clip: content-box; }
.don-hero__dot--active { background: rgba(255,255,255,0.9); width: 56px; background-clip: content-box; }

/* Arrows — refined, subtle */
.don-hero__arrow { position: absolute; top: 50%; transform: translateY(-50%); z-index: 3; padding: 20px; color: rgba(255,255,255,0.3); background: none; border-radius: 0; transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94); }
.don-hero__arrow:hover { color: rgba(255,255,255,0.85); }
.don-hero__arrow--prev { left: 32px; }
.don-hero__arrow--next { right: 32px; }
.don-hero__arrow svg { stroke-width: 1; width: 32px; height: 32px; }

/* Scroll indicator */
.don-hero__scroll { position: absolute; bottom: 72px; left: 50%; transform: translateX(-50%); z-index: 3; display: flex; flex-direction: column; align-items: center; gap: 10px; color: rgba(255,255,255,0.35); font-size: 8px; letter-spacing: 0.25em; text-transform: uppercase; font-family: var(--don-font-body); font-weight: 400; }
.don-hero__scroll-line { width: 1px; height: 48px; background: linear-gradient(to bottom, rgba(255,255,255,0.35), transparent); animation: don-scroll-pulse 2.5s ease-in-out infinite; }
@keyframes don-scroll-pulse { 0%, 100% { opacity: 0.3; transform: scaleY(0.8); } 50% { opacity: 0.8; transform: scaleY(1); } }

/* Hero fallback (no ACF images) — cinematic gradient */
.don-hero--fallback { background: linear-gradient(135deg, var(--don-neutral-900) 0%, #2A2018 35%, #4A3628 60%, var(--don-primary-dark) 100%); padding: 0; min-height: 100vh; display: flex; align-items: center; justify-content: center; text-align: center; position: relative; }
.don-hero--fallback::before { content: ''; position: absolute; inset: 0; background: radial-gradient(ellipse at 30% 50%, rgba(184,145,47,0.06) 0%, transparent 70%); }
.don-hero--fallback .don-hero__content { position: static; background: none; flex-direction: column; align-items: center; padding: 80px var(--don-container-padding); }
.don-hero--fallback .don-hero__title { font-size: clamp(3.5rem, 7vw, 7rem); color: var(--don-white); letter-spacing: 0.08em; margin-bottom: 0; font-weight: 300; }
.don-hero--fallback .don-hero__line { width: 60px; background: var(--don-gold); margin: 32px auto 28px; opacity: 0.7; }
.don-hero--fallback .don-hero__subtitle { font-size: clamp(0.8rem, 1vw, 0.95rem); color: rgba(255,255,255,0.55); margin-bottom: 56px; font-family: var(--don-font-body); font-weight: 300; letter-spacing: 0.25em; text-transform: uppercase; }
.don-hero--fallback .don-hero__actions { display: flex; gap: 16px; justify-content: center; flex-wrap: wrap; }

/* ─── TRUST STRIP — LUXURY ─── */
.don-trust-strip { background: var(--don-white); border-bottom: 1px solid var(--don-neutral-200); padding: clamp(28px, 4vw, 44px) 0; position: relative; }
.don-trust-strip__inner { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; }
.don-trust-strip__item { display: flex; align-items: center; gap: 14px; padding: 0; }
.don-trust-strip__item svg { color: var(--don-gold); flex-shrink: 0; opacity: 0.7; stroke-width: 1.5; }
.don-trust-strip__text { display: flex; flex-direction: column; }
.don-trust-strip__text strong { font-family: var(--don-font-body); font-size: 10px; font-weight: 600; color: var(--don-dark); letter-spacing: 0.08em; line-height: 1.3; text-transform: uppercase; }
.don-trust-strip__text span { font-size: 11px; color: var(--don-text-muted); line-height: 1.5; font-weight: 300; letter-spacing: 0.02em; }

/* ─── SECTIONS — EDITORIAL ─── */
.don-section { padding: var(--don-section-md) 0; position: relative; }
.don-section:nth-child(even) { background: var(--don-lightest); }
.don-section--banner { padding: 0; background: none !important; }
.don-section__subtitle { display: block; font-family: var(--don-font-body); font-size: 9px; font-weight: 500; text-transform: uppercase; letter-spacing: 0.3em; color: var(--don-gold); margin-bottom: 16px; text-align: center; }
.don-section__title { font-family: var(--don-font-display); font-size: clamp(2.25rem, 4.5vw, 3.5rem); font-weight: 300; text-align: center; margin-bottom: clamp(3rem, 6vw, 5rem); position: relative; color: var(--don-dark); letter-spacing: 0.02em; line-height: 1.1; }
.don-section__title::after { content: ''; display: block; width: 36px; height: 1px; background: var(--don-gold); margin: 20px auto 0; opacity: 0.6; }
.don-section__more { text-align: center; margin-top: clamp(3rem, 6vw, 5rem); }

/* Section banner — editorial */
.don-section--banner { position: relative; overflow: hidden; }
.don-section-banner__img { width: 100%; height: auto; min-height: 300px; max-height: 500px; object-fit: cover; display: block; transition: transform 8s ease; }
.don-section--banner:hover .don-section-banner__img { transform: scale(1.03); }
.don-section-banner__overlay { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; background: linear-gradient(180deg, rgba(0,0,0,0.1) 0%, rgba(0,0,0,0.4) 100%); }
.don-section-banner__title { font-family: var(--don-font-display); font-size: clamp(2rem, 4vw, 3.5rem); font-weight: 300; color: var(--don-white); letter-spacing: 0.06em; text-shadow: 0 2px 30px rgba(0,0,0,0.2); }
.don-banner-link { display: block; }

/* ─── PRODUCT GRID — EDITORIAL ─── */
.don-product-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--don-grid-gap); }
.don-product-card { background: transparent; overflow: hidden; transition: none; }
.don-product-card:hover { box-shadow: none; transform: none; }
.don-product-card__link { display: block; text-decoration: none; color: inherit; }
.don-product-card__image { position: relative; overflow: hidden; aspect-ratio: 2/3; background: var(--don-neutral-100); }
.don-product-card__img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.4s cubic-bezier(0.25, 0.46, 0.45, 0.94); }
.don-product-card:hover .don-product-card__img { transform: scale(1.05); }
.don-product-card__badge { position: absolute; top: 16px; left: 16px; padding: 6px 18px; font-size: 9px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.15em; border-radius: 0; z-index: 2; }
.don-product-card__badge--salon { background: var(--don-primary); color: var(--don-white); }
.don-product-card__info { padding: 24px 4px 12px; text-align: center; }
.don-product-card__name { font-family: var(--don-font-display); font-size: clamp(1.05rem, 1.3vw, 1.3rem); font-weight: 400; color: var(--don-dark); margin-bottom: 10px; letter-spacing: 0.01em; line-height: 1.3; transition: color 0.35s ease; }
.don-product-card:hover .don-product-card__name { color: var(--don-primary); }
.don-product-card__price { font-family: var(--don-font-body); font-size: var(--don-text-sm); color: var(--don-text-muted); font-weight: 300; letter-spacing: 0.08em; }
.don-product-card__price del { opacity: 0.4; margin-right: 8px; text-decoration: line-through; }
.don-product-card__price ins { text-decoration: none; color: var(--don-blush-500); font-weight: 500; }
.don-product-card--salon .don-product-card__info::after { content: 'Dost\0119pna w\00a0salonie'; display: block; font-size: 10px; color: var(--don-gold); margin-top: 10px; font-style: italic; letter-spacing: 0.04em; }

/* ─── SALON NOTICE (single product) ─── */
.don-salon-notice { background: var(--don-light); border: 1px solid var(--don-tertiary); border-radius: var(--don-radius-md); padding: 24px; text-align: center; margin: 24px 0; }
.don-salon-notice__icon { color: var(--don-primary); margin-bottom: 12px; }
.don-salon-notice__text { margin-bottom: 16px; color: var(--don-text); }

/* ─── COLOR VARIANTS ─── */
.don-color-variants { margin: 16px 0; display: flex; align-items: center; gap: 12px; }
.don-color-variants__label { font-size: var(--don-text-sm); color: var(--don-text-light); }
.don-color-variants__swatches { display: flex; gap: 8px; }
.don-color-swatch { display: block; width: 28px; height: 28px; border-radius: 50%; border: 2px solid var(--don-border); transition: all var(--don-transition-fast); }
.don-color-swatch:hover { transform: scale(1.15); }
.don-color-swatch--active { border-color: var(--don-dark); box-shadow: 0 0 0 2px var(--don-white), 0 0 0 4px var(--don-dark); }

/* ─── SIZE CHART ─── */
.don-size-chart-btn { display: inline-flex; align-items: center; gap: 6px; padding: 8px 16px; font-size: var(--don-text-sm); color: var(--don-text-light); border: 1px solid var(--don-border); border-radius: var(--don-radius-sm); transition: all var(--don-transition-fast); cursor: pointer; background: transparent; }
.don-size-chart-btn:hover { border-color: var(--don-primary); color: var(--don-primary); }
.don-size-chart-img { max-width: 100%; }

/* ─── CUSTOM TAILORING TRIGGER ─── */
.don-custom-tailoring-trigger { margin: 24px 0; }
.don-custom-tailoring-trigger__sep { text-align: center; position: relative; margin-bottom: 16px; }
.don-custom-tailoring-trigger__sep span { background: var(--don-white); padding: 0 16px; color: var(--don-text-muted); font-size: var(--don-text-sm); position: relative; z-index: 1; }
.don-custom-tailoring-trigger__sep::before { content: ''; position: absolute; top: 50%; left: 0; right: 0; height: 1px; background: var(--don-border); }
.don-custom-tailoring-trigger__price { font-size: var(--don-text-xs); opacity: 0.8; }
.don-custom-tailoring-trigger__time { display: flex; align-items: center; gap: 6px; justify-content: center; margin-top: 8px; font-size: var(--don-text-xs); color: var(--don-text-muted); }

/* ─── MODAL ─── */
.don-modal { position: fixed; inset: 0; z-index: var(--don-z-modal); display: none; align-items: center; justify-content: center; padding: 16px; }
.don-modal[aria-hidden="false"] { display: flex; }
.don-modal__backdrop { position: absolute; inset: 0; background: rgba(0,0,0,0.5); }
.don-modal__content { position: relative; background: var(--don-white); border-radius: 2px; padding: 40px; max-width: 640px; width: 100%; max-height: 90vh; overflow-y: auto; }
.don-modal__close { position: absolute; top: 12px; right: 12px; padding: 8px; color: var(--don-text-muted); }
.don-modal__close:hover { color: var(--don-dark); }
.don-modal__title { font-size: var(--don-text-2xl); margin-bottom: 24px; }

/* ─── FORMS ─── */
.don-form__honey { position: absolute; left: -9999px; }
.don-form__row { display: grid; grid-template-columns: 1fr; gap: 16px; margin-bottom: 16px; }
.don-form__field { display: flex; flex-direction: column; gap: 6px; margin-bottom: 16px; }
.don-form__label { font-size: var(--don-text-sm); font-weight: 500; color: var(--don-dark); }
.don-form__input { padding: 14px 16px; border: 1px solid var(--don-border); border-radius: 0; background: var(--don-lightest); font-size: var(--don-text-base); font-family: var(--don-font-body); transition: border-color 0.3s ease, box-shadow 0.3s ease; }
.don-form__input:focus { outline: none; border-color: var(--don-primary); box-shadow: 0 0 0 3px rgba(164,141,120,0.1); }
.don-form__textarea { resize: vertical; min-height: 120px; }
.don-form__consent { margin-bottom: 24px; }
.don-form__checkbox { display: flex; gap: 8px; align-items: flex-start; font-size: var(--don-text-sm); color: var(--don-text-light); cursor: pointer; }
.don-form__checkbox input { margin-top: 3px; accent-color: var(--don-primary); }
.don-form__submit { margin-top: 8px; }
.don-form__status { margin-top: 16px; padding: 12px 16px; border-radius: var(--don-radius-sm); font-size: var(--don-text-sm); }
.don-form__status--success { background: var(--don-success-bg); color: var(--don-success); border: 1px solid #A8D5A8; }
.don-form__status--error { background: var(--don-error-bg); color: var(--don-error); border: 1px solid #F5C6C6; }

/* ─── RETURNS ─── */
.don-returns__step { display: none; }
.don-returns__step--active { display: block; }
.don-returns__step-title { font-size: var(--don-text-2xl); margin-bottom: 12px; }
.don-returns__step-desc { color: var(--don-text-light); margin-bottom: 24px; }
.don-returns__nav { display: flex; justify-content: space-between; margin-top: 32px; }
.don-returns__methods { display: grid; gap: 16px; margin-bottom: 24px; }
.don-returns__method { cursor: pointer; }
.don-returns__method input { display: none; }
.don-returns__method-card { padding: 24px; border: 2px solid var(--don-border); border-radius: var(--don-radius-md); text-align: center; transition: all var(--don-transition-fast); }
.don-returns__method input:checked + .don-returns__method-card { border-color: var(--don-primary); background: var(--don-light); }
.don-returns__method-card strong { display: block; margin: 12px 0 8px; }
.don-returns__method-card p { font-size: var(--don-text-sm); color: var(--don-text-light); }
.don-returns__success { text-align: center; padding: 48px 0; }
.don-returns__success svg { color: var(--don-sage); margin-bottom: 16px; }
.don-returns__number { font-size: var(--don-text-lg); margin: 16px 0; }
.don-returns__address { background: var(--don-light); padding: 24px; border-radius: var(--don-radius-md); margin: 24px 0; }
.don-returns__address pre { font-family: inherit; white-space: pre-line; }

/* Return items */
.don-returns__item { display: flex; align-items: center; gap: 16px; padding: 16px; border: 1px solid var(--don-border); border-radius: var(--don-radius-sm); margin-bottom: 8px; }
.don-returns__item-img { width: 60px; height: 60px; object-fit: cover; border-radius: var(--don-radius-sm); }
.don-returns__item-info { flex: 1; }
.don-returns__item-name { font-weight: 500; }
.don-returns__item-meta { font-size: var(--don-text-xs); color: var(--don-text-muted); }

/* ─── FOOTER — LUXURY ─── */
.don-footer { background: var(--don-neutral-900); color: rgba(255,255,255,0.6); padding: 0; }
.don-footer__newsletter { background: var(--don-neutral-800); padding: clamp(3rem, 6vw, 5rem) 0; text-align: center; border-bottom: 1px solid rgba(255,255,255,0.06); }
.don-footer__newsletter-title { font-family: var(--don-font-display); font-size: clamp(1.5rem, 3vw, 2.25rem); font-weight: 300; color: var(--don-white); margin-bottom: 10px; letter-spacing: 0.03em; }
.don-footer__newsletter-desc { font-size: var(--don-text-sm); color: rgba(255,255,255,0.5); margin-bottom: 28px; letter-spacing: 0.02em; }
.don-footer__newsletter-form { display: flex; gap: 0; max-width: 480px; margin: 0 auto; }
.don-footer__newsletter-input { flex: 1; padding: 14px 20px; background: rgba(255,255,255,0.06); border: 1px solid rgba(255,255,255,0.12); border-right: none; color: var(--don-white); font-size: var(--don-text-sm); font-family: var(--don-font-body); letter-spacing: 0.02em; }
.don-footer__newsletter-input::placeholder { color: rgba(255,255,255,0.3); }
.don-footer__newsletter-input:focus { outline: none; border-color: var(--don-gold); background: rgba(255,255,255,0.08); }
.don-footer__newsletter-btn { padding: 14px 28px; background: var(--don-gold); color: var(--don-white); border: 1px solid var(--don-gold); font-family: var(--don-font-body); font-size: 10px; font-weight: 500; text-transform: uppercase; letter-spacing: 0.15em; cursor: pointer; transition: all 0.35s ease; white-space: nowrap; }
.don-footer__newsletter-btn:hover { background: var(--don-gold-dark); border-color: var(--don-gold-dark); }
.don-footer__main { padding: clamp(3.5rem, 7vw, 6rem) 0; }
.don-footer__grid { display: grid; grid-template-columns: 1fr; gap: 40px; margin-bottom: clamp(2.5rem, 5vw, 4rem); }
.don-footer__title { font-family: var(--don-font-body); font-size: 10px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.2em; color: rgba(255,255,255,0.9); margin-bottom: 24px; position: relative; padding-bottom: 12px; }
.don-footer__title::after { content: ''; position: absolute; bottom: 0; left: 0; width: 20px; height: 1px; background: var(--don-gold); opacity: 0.6; }
.don-footer__logo { height: 40px; width: auto; margin-bottom: 16px; }
.don-footer__brand { font-family: var(--don-font-display); font-size: var(--don-text-xl); color: var(--don-white); margin-bottom: 12px; letter-spacing: 0.04em; font-weight: 300; }
.don-footer__desc { font-size: var(--don-text-sm); margin-bottom: 24px; opacity: 0.5; line-height: 1.8; }
.don-footer__social { display: flex; gap: 10px; }
.don-footer__social-link { color: rgba(255,255,255,0.4); padding: 10px; border: 1px solid rgba(255,255,255,0.1); transition: all 0.35s ease; }
.don-footer__social-link:hover { color: var(--don-gold-400); border-color: var(--don-gold); background: rgba(255,255,255,0.03); }
.don-footer__nav { display: flex; flex-direction: column; gap: 12px; }
.don-footer__nav a { color: rgba(255,255,255,0.45); font-size: var(--don-text-sm); transition: color 0.3s ease; letter-spacing: 0.02em; }
.don-footer__nav a:hover { color: var(--don-gold-400); }
.don-footer__contact { display: flex; flex-direction: column; gap: 18px; }
.don-footer__contact li { font-size: var(--don-text-sm); }
.don-footer__contact a { color: rgba(255,255,255,0.55); display: inline-flex; align-items: center; gap: 8px; transition: color 0.3s ease; }
.don-footer__contact a:hover { color: var(--don-gold-400); }
.don-footer__contact strong { display: block; color: rgba(255,255,255,0.8); font-size: 10px; text-transform: uppercase; letter-spacing: 0.12em; margin-bottom: 4px; }
.don-footer__contact small { display: block; font-size: 12px; opacity: 0.4; margin-top: 2px; }

/* Payment/trust icons */
.don-footer__trust { display: flex; align-items: center; gap: 24px; padding: 24px 0; border-top: 1px solid rgba(255,255,255,0.06); border-bottom: 1px solid rgba(255,255,255,0.06); margin-bottom: 32px; flex-wrap: wrap; justify-content: center; }
.don-footer__trust-label { font-size: 9px; opacity: 0.35; text-transform: uppercase; letter-spacing: 0.15em; }
.don-footer__trust-icons { display: flex; gap: 24px; flex-wrap: wrap; align-items: center; }
.don-footer__trust-icons span { font-size: 10px; font-weight: 600; opacity: 0.35; text-transform: uppercase; letter-spacing: 0.1em; }

/* Copyright */
.don-footer__bottom { display: flex; flex-direction: column; align-items: center; gap: 6px; text-align: center; font-size: 10px; opacity: 0.3; letter-spacing: 0.06em; padding-bottom: 40px; }
.don-footer__credit a { color: rgba(255,255,255,0.5); transition: color 0.3s ease; }
.don-footer__credit a:hover { color: var(--don-gold-400); }

/* ─── PAGE — EDITORIAL ─── */
.don-page { padding: var(--don-section-md) 0; }
.don-page__header { text-align: center; margin-bottom: clamp(3rem, 6vw, 5rem); padding-bottom: clamp(2rem, 4vw, 3rem); border-bottom: 1px solid var(--don-neutral-200); }
.don-page__title { font-family: var(--don-font-display); font-size: clamp(2.25rem, 5vw, 3.5rem); font-weight: 300; margin-bottom: 12px; letter-spacing: 0.02em; line-height: 1.15; }
.don-page__subtitle { font-size: var(--don-text-sm); color: var(--don-text-light); letter-spacing: 0.06em; }
.don-page__content { font-size: var(--don-text-base); line-height: 1.85; max-width: 800px; }
.don-page__content h2 { font-family: var(--don-font-display); font-size: var(--don-text-2xl); font-weight: 300; margin: 48px 0 20px; letter-spacing: 0.01em; }
.don-page__content h3 { font-family: var(--don-font-display); font-size: var(--don-text-xl); font-weight: 400; margin: 36px 0 16px; }
.don-page__content p { margin-bottom: 20px; }
.don-page__content ul, .don-page__content ol { margin-bottom: 20px; padding-left: 24px; list-style: disc; }
.don-page__content a { color: var(--don-gold); text-decoration: underline; text-underline-offset: 3px; }
.don-page__content a:hover { color: var(--don-gold-dark); }
.don-page__content strong { color: var(--don-dark); }

/* Info box for pages */
.don-info-box { background: var(--don-lightest); border-left: 3px solid var(--don-gold); padding: 24px 28px; margin: 28px 0; }
.don-info-box__title { font-family: var(--don-font-body); font-size: var(--don-text-sm); font-weight: 600; text-transform: uppercase; letter-spacing: 0.1em; color: var(--don-dark); margin-bottom: 8px; }
.don-info-box p { margin-bottom: 8px; font-size: var(--don-text-sm); }

/* Two-column info grid */
.don-info-grid { display: grid; grid-template-columns: 1fr; gap: 32px; margin: 40px 0; }
.don-info-card { background: var(--don-white); border: 1px solid var(--don-neutral-200); padding: 32px; position: relative; }
.don-info-card::before { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 2px; background: var(--don-gold); opacity: 0.5; }
.don-info-card__icon { color: var(--don-gold); margin-bottom: 16px; }
.don-info-card__title { font-family: var(--don-font-display); font-size: var(--don-text-xl); font-weight: 400; margin-bottom: 12px; color: var(--don-dark); }
.don-info-card__text { font-size: var(--don-text-sm); color: var(--don-text-light); line-height: 1.7; }
.don-info-card__text a { color: var(--don-gold); }

/* FAQ accordion */
.don-faq { margin: 40px 0; }
.don-faq__category { margin-bottom: 40px; }
.don-faq__category-title { font-family: var(--don-font-display); font-size: var(--don-text-xl); font-weight: 400; margin-bottom: 20px; padding-bottom: 12px; border-bottom: 1px solid var(--don-neutral-200); }
.don-faq__item { border-bottom: 1px solid var(--don-neutral-200); }
.don-faq__question { width: 100%; text-align: left; padding: 20px 0; font-family: var(--don-font-body); font-size: var(--don-text-base); font-weight: 500; color: var(--don-dark); display: flex; justify-content: space-between; align-items: center; gap: 16px; cursor: pointer; background: none; border: none; transition: color 0.3s ease; }
.don-faq__question:hover { color: var(--don-gold); }
.don-faq__question svg { flex-shrink: 0; transition: transform 0.3s ease; color: var(--don-text-muted); }
.don-faq__item--open .don-faq__question svg { transform: rotate(180deg); }
.don-faq__answer { max-height: 0; overflow: hidden; transition: max-height 0.4s ease, padding 0.3s ease; }
.don-faq__item--open .don-faq__answer { max-height: 500px; padding-bottom: 20px; }
.don-faq__answer p { font-size: var(--don-text-sm); color: var(--don-text-light); line-height: 1.8; }

/* Contact page */
.don-contact-grid { display: grid; grid-template-columns: 1fr; gap: 56px; }
.don-contact__card { background: var(--don-white); border: 1px solid var(--don-neutral-200); padding: 32px; margin-bottom: 20px; position: relative; }
.don-contact__card::before { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 2px; background: var(--don-gold); opacity: 0.4; }
.don-contact__card h3 { display: flex; align-items: center; gap: 10px; font-family: var(--don-font-display); font-size: var(--don-text-lg); font-weight: 400; margin-bottom: 16px; color: var(--don-dark); }
.don-contact__card h3 svg { color: var(--don-gold); }
.don-contact__hours { font-size: var(--don-text-sm); }
.don-contact__hours td { padding: 6px 16px 6px 0; }

/* 404 */
.don-404 { padding: var(--don-section-lg) 0; }
.don-404__content { text-align: center; }
.don-404__title { font-size: clamp(5rem, 10vw, 10rem); color: var(--don-tertiary); line-height: 1; margin-bottom: 16px; }
.don-404__text { font-size: var(--don-text-lg); color: var(--don-text-light); margin-bottom: 32px; }

/* ─── PRODUCT GALLERY — EDITORIAL ─── */
.don-single-product { display: grid; grid-template-columns: 1fr; gap: 40px; }
.don-single-product__gallery { position: relative; }
.don-gallery__main { position: relative; overflow: hidden; background: var(--don-neutral-100); aspect-ratio: 3/4; }
.don-gallery__link { display: block; width: 100%; height: 100%; }
.don-gallery__img { width: 100%; height: 100%; object-fit: cover; }
.don-gallery__zoom { position: absolute; bottom: 12px; right: 12px; background: rgba(255,255,255,0.9); color: var(--don-dark); width: 36px; height: 36px; border-radius: 50%; display: flex; align-items: center; justify-content: center; opacity: 0; transition: opacity var(--don-transition-fast); }
.don-gallery__main:hover .don-gallery__zoom { opacity: 1; }
.don-gallery__thumbs { display: flex; gap: 8px; margin-top: 12px; overflow-x: auto; padding-bottom: 4px; }
.don-gallery__thumb { flex-shrink: 0; width: 72px; height: 90px; border-radius: 1px; overflow: hidden; border: 2px solid transparent; cursor: pointer; transition: border-color 0.3s ease; background: none; padding: 0; }
.don-gallery__thumb--active { border-color: var(--don-primary); }
.don-gallery__thumb:hover { border-color: var(--don-secondary); }
.don-gallery__thumb-img { width: 100%; height: 100%; object-fit: cover; }
.don-single-product__badge { position: absolute; top: 16px; left: 16px; padding: 6px 18px; font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.12em; border-radius: 0; z-index: 2; }
.don-single-product__badge--salon { background: var(--don-primary); color: var(--don-white); }

/* Single product summary */
.don-single-product__summary { padding-top: 8px; }
.don-single-product__meta-top { display: flex; align-items: center; gap: 16px; margin-bottom: 12px; }
.don-single-product__sku { font-size: 11px; color: var(--don-text-muted); text-transform: uppercase; letter-spacing: 0.1em; }
.don-single-product__short-desc { color: var(--don-text-light); margin-bottom: 28px; line-height: 1.8; font-size: var(--don-text-base); }
.don-single-product__trust { display: flex; flex-direction: column; gap: 10px; margin-top: 28px; padding-top: 28px; border-top: 1px solid var(--don-border-light); }
.don-single-product__trust-item { display: flex; align-items: center; gap: 10px; font-size: var(--don-text-sm); color: var(--don-text-light); }
.don-single-product__trust-item svg { color: var(--don-primary); flex-shrink: 0; }
.don-single-product__tabs { grid-column: 1 / -1; margin-top: clamp(2.5rem, 5vw, 4rem); }
.don-single-product__related { grid-column: 1 / -1; margin-top: clamp(2.5rem, 5vw, 4rem); }

/* WC Single Product — title, price, add-to-cart */
.don-single-product__summary .product_title { font-family: var(--don-font-display); font-size: clamp(2rem, 3.5vw, 3rem); font-weight: 300; color: var(--don-dark); margin-bottom: 16px; letter-spacing: 0.01em; line-height: 1.15; }
.don-single-product__summary .price { font-family: var(--don-font-body); font-size: var(--don-text-xl); font-weight: 300; color: var(--don-dark); margin-bottom: 24px; letter-spacing: 0.04em; }
.don-single-product__summary .price del { opacity: 0.4; font-size: var(--don-text-base); }
.don-single-product__summary .price ins { text-decoration: none; color: var(--don-blush-500); font-weight: 500; }
.don-single-product__summary .single_add_to_cart_button { display: inline-flex; align-items: center; justify-content: center; gap: 10px; padding: 18px 40px; font-family: var(--don-font-body); font-size: 11px; font-weight: 500; letter-spacing: 0.18em; text-transform: uppercase; border-radius: 0; background: var(--don-neutral-900); color: var(--don-white); border: 1px solid var(--don-neutral-900); transition: all 0.45s cubic-bezier(0.25, 0.46, 0.45, 0.94); cursor: pointer; width: 100%; position: relative; overflow: hidden; }
.don-single-product__summary .single_add_to_cart_button:hover { background: var(--don-neutral-800); border-color: var(--don-neutral-800); box-shadow: 0 8px 24px rgba(26,25,24,0.2); }
.don-single-product__summary .quantity input { width: 70px; text-align: center; padding: 14px 8px; border: 1px solid var(--don-border); border-radius: 0; font-size: var(--don-text-base); }
.don-single-product__summary .woocommerce-product-rating { margin-bottom: 16px; }
.don-single-product__summary .product_meta { margin-top: 20px; font-size: var(--don-text-sm); color: var(--don-text-muted); }
.don-single-product__summary .product_meta > span { display: block; margin-bottom: 4px; }
.don-single-product__summary .product_meta a { color: var(--don-primary); }

/* Product card enhancements */
.don-product-card__placeholder { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; color: var(--don-tertiary); background: var(--don-neutral-100); }
.don-product-card__badge--sale { background: var(--don-blush-500); color: var(--don-white); }
.don-product-card__badge--new { background: var(--don-neutral-900); color: var(--don-white); }
.don-product-card__badge--custom { background: var(--don-neutral-800); color: var(--don-white); right: 16px; left: auto; }
.don-product-card__overlay { position: absolute; inset: 0; display: flex; align-items: flex-end; justify-content: center; padding-bottom: 28px; background: transparent; transition: background 0.7s ease; pointer-events: none; }
.don-product-card:hover .don-product-card__overlay { background: linear-gradient(180deg, transparent 50%, rgba(0,0,0,0.12) 100%); }
.don-product-card__quick { padding: 12px 36px; background: rgba(255,255,255,0.95); color: var(--don-dark); font-family: var(--don-font-body); font-size: 10px; font-weight: 500; text-transform: uppercase; letter-spacing: 0.18em; border-radius: 0; opacity: 0; transform: translateY(16px); transition: opacity 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94), transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94); pointer-events: auto; backdrop-filter: blur(8px); }
.don-product-card:hover .don-product-card__quick { opacity: 1; transform: translateY(0); }
.don-product-card__color { display: flex; align-items: center; justify-content: center; gap: 6px; font-size: 10px; color: var(--don-text-muted); margin-bottom: 4px; letter-spacing: 0.04em; }
.don-product-card__color-dot { width: 10px; height: 10px; border-radius: 50%; border: 1px solid var(--don-neutral-200); flex-shrink: 0; }

/* Lightbox */
.don-lightbox { position: fixed; inset: 0; z-index: 10000; display: none; align-items: center; justify-content: center; }
.don-lightbox[aria-hidden="false"] { display: flex; }
.don-lightbox__backdrop { position: absolute; inset: 0; background: rgba(0,0,0,0.9); }
.don-lightbox__content { position: relative; max-width: 90vw; max-height: 90vh; }
.don-lightbox__img { max-width: 90vw; max-height: 85vh; object-fit: contain; border-radius: var(--don-radius-sm); }
.don-lightbox__close { position: absolute; top: -48px; right: 0; color: var(--don-white); padding: 8px; opacity: 0.7; transition: opacity var(--don-transition-fast); }
.don-lightbox__close:hover { opacity: 1; }
.don-lightbox__prev, .don-lightbox__next { position: absolute; top: 50%; transform: translateY(-50%); color: var(--don-white); padding: 12px; opacity: 0.6; transition: opacity var(--don-transition-fast); }
.don-lightbox__prev:hover, .don-lightbox__next:hover { opacity: 1; }
.don-lightbox__prev { left: -60px; }
.don-lightbox__next { right: -60px; }

/* ─── CUSTOM TAILORING PANEL ─── */
.don-tailoring { grid-column: 1 / -1; background: var(--don-lightest); border: 1px solid var(--don-border-light); border-radius: var(--don-radius-lg); padding: 32px; margin-top: 48px; }
.don-tailoring__header { margin-bottom: 32px; }
.don-tailoring__title { display: flex; align-items: center; gap: 12px; font-size: var(--don-text-2xl); margin-bottom: 8px; }
.don-tailoring__subtitle { color: var(--don-text-light); font-size: var(--don-text-sm); }
.don-tailoring__grid { display: grid; grid-template-columns: 1fr; gap: 32px; }
.don-tailoring__section-title { display: flex; align-items: center; gap: 8px; font-family: var(--don-font-body); font-size: var(--don-text-base); font-weight: 600; margin-bottom: 12px; color: var(--don-dark); }
.don-tailoring__section-desc { font-size: var(--don-text-sm); color: var(--don-text-muted); margin-bottom: 16px; }

/* Measurement fields */
.don-tailoring__fields { display: grid; grid-template-columns: 1fr; gap: 8px; }
.don-tailoring__field { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 8px 12px; background: var(--don-white); border: 1px solid var(--don-border-light); border-radius: var(--don-radius-sm); transition: border-color var(--don-transition-fast); }
.don-tailoring__field:focus-within { border-color: var(--don-primary); }
.don-tailoring__label { font-size: var(--don-text-sm); color: var(--don-text); flex: 1; }
.don-tailoring__input-wrap { display: flex; align-items: center; gap: 4px; }
.don-tailoring__input { width: 70px; padding: 6px 8px; border: 1px solid var(--don-border); border-radius: var(--don-radius-sm); font-size: var(--don-text-sm); text-align: center; background: var(--don-lightest); }
.don-tailoring__input:focus { outline: none; border-color: var(--don-primary); box-shadow: 0 0 0 2px rgba(164,141,120,0.15); }
.don-tailoring__unit { font-size: var(--don-text-xs); color: var(--don-text-muted); }

/* How to measure */
.don-tailoring__help { margin-top: 16px; }
.don-tailoring__how-to summary { display: flex; align-items: center; gap: 6px; font-size: var(--don-text-sm); color: var(--don-primary); cursor: pointer; font-weight: 500; }
.don-tailoring__how-to-content { padding: 16px; margin-top: 8px; background: var(--don-white); border-radius: var(--don-radius-sm); font-size: var(--don-text-sm); line-height: 1.7; }
.don-tailoring__how-to-content ol { padding-left: 20px; list-style: decimal; }
.don-tailoring__how-to-content li { margin-bottom: 8px; }
.don-tailoring__how-to-note { margin-top: 12px; color: var(--don-primary); font-style: italic; }

/* Modifications */
.don-tailoring__mods { margin-bottom: 24px; }
.don-tailoring__mods-list { display: grid; gap: 8px; }
.don-tailoring__mod { cursor: pointer; }
.don-tailoring__mod-check { display: none; }
.don-tailoring__mod-card { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; padding: 12px 16px; background: var(--don-white); border: 2px solid var(--don-border-light); border-radius: var(--don-radius-sm); transition: all var(--don-transition-fast); }
.don-tailoring__mod--active .don-tailoring__mod-card { border-color: var(--don-primary); background: var(--don-light); }
.don-tailoring__mod-name { font-size: var(--don-text-sm); font-weight: 500; flex: 1; }
.don-tailoring__mod-price { font-size: var(--don-text-sm); font-weight: 600; color: var(--don-primary); }
.don-tailoring__mod-price--discount { color: var(--don-success); }
.don-tailoring__mod-desc { width: 100%; font-size: var(--don-text-xs); color: var(--don-text-muted); }

/* Price summary */
.don-tailoring__summary { background: var(--don-white); padding: 24px; border-radius: var(--don-radius-md); border: 1px solid var(--don-border-light); }
.don-tailoring__price-lines { margin-bottom: 16px; }
.don-tailoring__price-line { display: flex; justify-content: space-between; padding: 8px 0; font-size: var(--don-text-sm); color: var(--don-text-light); border-bottom: 1px solid var(--don-border-light); }
.don-tailoring__price-total { display: flex; justify-content: space-between; padding: 12px 0; font-size: var(--don-text-lg); font-weight: 600; color: var(--don-dark); }
.don-tailoring__delivery { display: flex; align-items: center; gap: 6px; font-size: var(--don-text-xs); color: var(--don-text-muted); margin-bottom: 16px; }
.don-tailoring__note { font-size: var(--don-text-xs); color: var(--don-text-muted); text-align: center; margin-top: 12px; }

/* ─── CATEGORIES GRID — EDITORIAL ─── */
.don-categories-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--don-grid-gap); }
.don-category-card { display: block; overflow: hidden; position: relative; }
.don-category-card__image { position: relative; aspect-ratio: 3/4; overflow: hidden; }
.don-category-card__img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.6s cubic-bezier(0.25, 0.46, 0.45, 0.94); }
.don-category-card:hover .don-category-card__img { transform: scale(1.06); }
.don-category-card__placeholder { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; background: var(--don-neutral-100); color: var(--don-tertiary); }
.don-category-card__overlay { position: absolute; bottom: 0; left: 0; right: 0; padding: 36px 28px; background: linear-gradient(to top, rgba(0,0,0,0.65) 0%, rgba(0,0,0,0.25) 55%, transparent 100%); color: var(--don-white); transition: padding 0.6s ease; }
.don-category-card:hover .don-category-card__overlay { padding-bottom: 44px; }
.don-category-card__name { font-family: var(--don-font-display); font-size: clamp(1.2rem, 2.4vw, 1.75rem); font-weight: 300; margin-bottom: 6px; letter-spacing: 0.03em; }
.don-category-card__count { font-family: var(--don-font-body); font-size: 9px; opacity: 0.55; text-transform: uppercase; letter-spacing: 0.18em; }

/* ─── WISHLIST ─── */
.don-wishlist-btn { display: inline-flex; align-items: center; gap: 8px; padding: 10px 20px; font-size: var(--don-text-sm); color: var(--don-text-light); border: 1px solid var(--don-border); border-radius: var(--don-radius-sm); transition: all var(--don-transition-fast); background: transparent; cursor: pointer; margin: 12px 0; }
.don-wishlist-btn:hover { border-color: var(--don-primary); color: var(--don-primary); }
.don-wishlist-btn--active { color: var(--don-primary); border-color: var(--don-primary); }
.don-wishlist-btn--active svg { fill: var(--don-primary); }
.don-wishlist__desc { color: var(--don-text-light); margin-bottom: 32px; }
.don-wishlist__empty { text-align: center; padding: 64px 0; }
.don-wishlist__empty-icon { color: var(--don-tertiary); margin-bottom: 16px; }
.don-wishlist__loading { text-align: center; padding: 48px 0; color: var(--don-text-muted); }
.don-wishlist__grid { position: relative; }
.don-wishlist__remove { position: absolute; top: 8px; right: 8px; background: rgba(255,255,255,0.9); color: var(--don-text-muted); width: 28px; height: 28px; border-radius: 50%; display: flex; align-items: center; justify-content: center; z-index: 2; transition: all var(--don-transition-fast); }
.don-wishlist__remove:hover { color: var(--don-error); background: var(--don-white); }
.don-wishlist__grid .don-product-card { position: relative; }
.don-header__wishlist-count { position: absolute; top: 2px; right: 0; background: var(--don-primary); color: var(--don-white); font-size: 10px; font-weight: 600; width: 18px; height: 18px; border-radius: 50%; display: flex; align-items: center; justify-content: center; }

/* Shop toolbar */
.don-shop__header { margin-bottom: 32px; }
.don-shop__title { font-family: var(--don-font-display); font-size: clamp(2rem, 4vw, 3rem); font-weight: 400; margin-bottom: 12px; letter-spacing: 0.01em; }
.don-shop__desc { color: var(--don-text-light); max-width: 640px; line-height: 1.7; }
.don-shop__toolbar { display: flex; justify-content: space-between; align-items: center; margin-bottom: 24px; padding-bottom: 16px; border-bottom: 1px solid var(--don-border-light); }
.don-shop__toolbar .woocommerce-result-count { font-size: var(--don-text-sm); color: var(--don-text-muted); margin: 0; }
.don-shop__toolbar .woocommerce-ordering select { padding: 8px 12px; border: 1px solid var(--don-border); border-radius: var(--don-radius-sm); font-size: var(--don-text-sm); background: var(--don-white); }
.don-shop__pagination { margin-top: 48px; }
.don-shop__empty { text-align: center; padding: 64px 0; }
.don-shop__empty-icon { color: var(--don-tertiary); margin-bottom: 16px; }
.don-shop__empty-text { font-size: var(--don-text-lg); color: var(--don-text-light); margin-bottom: 24px; }

/* ─── SCROLL TO TOP ─── */
.don-scroll-top { position: fixed; bottom: 28px; right: 28px; z-index: 50; background: var(--don-dark); color: var(--don-white); width: 44px; height: 44px; border-radius: 0; display: flex; align-items: center; justify-content: center; box-shadow: none; opacity: 0; visibility: hidden; transform: translateY(12px); transition: all 0.35s ease; }
.don-scroll-top--visible { opacity: 1; visibility: visible; transform: translateY(0); }
.don-scroll-top:hover { background: var(--don-neutral-800); transform: translateY(-2px); }

/* ─── BREADCRUMBS ─── */
.don-breadcrumb { font-size: var(--don-text-xs); color: var(--don-text-muted); padding: 16px 0; }
.don-breadcrumb a { color: var(--don-text-light); }
.don-breadcrumb a:hover { color: var(--don-primary); }
.don-breadcrumb__sep { margin: 0 4px; opacity: 0.5; }

/* ─── WC NOTICES ─── */
.woocommerce-message { background: var(--don-success-bg); border: 1px solid var(--don-success-border); color: var(--don-success); padding: 14px 20px; border-radius: 0; margin-bottom: 20px; font-size: var(--don-text-sm); }
.woocommerce-error { background: var(--don-error-bg); border: 1px solid var(--don-error-border); color: var(--don-error); padding: 14px 20px; border-radius: 0; margin-bottom: 20px; font-size: var(--don-text-sm); list-style: none; }
.woocommerce-info { background: var(--don-info-bg); border: 1px solid var(--don-info-border); color: var(--don-info); padding: 14px 20px; border-radius: 0; margin-bottom: 20px; font-size: var(--don-text-sm); }

/* ─── WC PAGINATION ─── */
.woocommerce-pagination { text-align: center; margin-top: 48px; }
.woocommerce-pagination ul { display: inline-flex; gap: 4px; }
.woocommerce-pagination li { display: inline-block; }
.woocommerce-pagination a, .woocommerce-pagination span { display: flex; align-items: center; justify-content: center; min-width: 40px; height: 40px; padding: 4px 12px; border: 1px solid var(--don-border); border-radius: 0; font-size: var(--don-text-sm); color: var(--don-text); transition: all 0.3s ease; }
.woocommerce-pagination a:hover { border-color: var(--don-dark); color: var(--don-dark); }
.woocommerce-pagination .current { background: var(--don-dark); border-color: var(--don-dark); color: var(--don-white); }

/* ─── WC TABS ─── */
.woocommerce-tabs { border-top: 1px solid var(--don-border-light); }
.woocommerce-tabs ul.tabs { display: flex; gap: 0; border-bottom: 1px solid var(--don-border-light); margin-bottom: 28px; overflow-x: auto; }
.woocommerce-tabs ul.tabs li { flex-shrink: 0; }
.woocommerce-tabs ul.tabs li a { display: block; padding: 14px 24px; font-family: var(--don-font-body); font-size: 12px; font-weight: 500; text-transform: uppercase; letter-spacing: 0.1em; color: var(--don-text-muted); border-bottom: 1px solid transparent; transition: all 0.3s ease; white-space: nowrap; }
.woocommerce-tabs ul.tabs li.active a { color: var(--don-dark); border-bottom-color: var(--don-dark); }
.woocommerce-tabs ul.tabs li a:hover { color: var(--don-dark); }
.woocommerce-tabs .panel { padding: 0 0 28px; }
.woocommerce-tabs .panel h2 { font-family: var(--don-font-display); font-size: var(--don-text-xl); font-weight: 400; margin-bottom: 16px; }

/* ─── WC CART ─── */
.woocommerce-cart-form table { width: 100%; border-collapse: collapse; }
.woocommerce-cart-form th { font-family: var(--don-font-body); font-size: 11px; text-transform: uppercase; letter-spacing: 0.12em; color: var(--don-text-muted); padding: 14px 8px; border-bottom: 1px solid var(--don-border-light); text-align: left; font-weight: 500; }
.woocommerce-cart-form td { padding: 20px 8px; border-bottom: 1px solid var(--don-border-light); vertical-align: middle; }
.woocommerce-cart-form .product-thumbnail img { width: 80px; height: 100px; object-fit: cover; border-radius: 2px; }
.woocommerce-cart-form .product-name a { color: var(--don-dark); font-family: var(--don-font-display); font-weight: 400; font-size: var(--don-text-base); }
.woocommerce-cart-form .product-name a:hover { color: var(--don-primary); }
.woocommerce-cart-form .quantity input { width: 60px; text-align: center; padding: 10px; border: 1px solid var(--don-border); border-radius: 0; font-size: var(--don-text-sm); }
.woocommerce-cart-form .product-remove a { color: var(--don-text-muted); font-size: 1.1em; transition: color 0.3s ease; }
.woocommerce-cart-form .product-remove a:hover { color: var(--don-error); }
.woocommerce-cart-form .actions .button { padding: 12px 28px; font-family: var(--don-font-body); font-size: 12px; font-weight: 500; text-transform: uppercase; letter-spacing: 0.1em; border-radius: 0; background: var(--don-dark); color: var(--don-white); border: 1px solid var(--don-dark); cursor: pointer; transition: all 0.35s ease; }
.woocommerce-cart-form .actions .button:hover { background: var(--don-neutral-800); }

/* Cart totals */
.cart_totals { max-width: 480px; margin-left: auto; margin-top: 32px; }
.cart_totals table { width: 100%; }
.cart_totals th { text-align: left; padding: 12px 8px; font-size: var(--don-text-sm); color: var(--don-text-light); font-weight: 500; }
.cart_totals td { text-align: right; padding: 12px 8px; }
.cart_totals .order-total th, .cart_totals .order-total td { font-size: var(--don-text-lg); font-weight: 600; color: var(--don-dark); border-top: 1px solid var(--don-dark); }
.cart_totals .wc-proceed-to-checkout .checkout-button { display: block; width: 100%; text-align: center; margin-top: 20px; padding: 16px 32px; font-family: var(--don-font-body); font-size: 12px; font-weight: 500; text-transform: uppercase; letter-spacing: 0.14em; border-radius: 0; background: var(--don-dark); color: var(--don-white); border: 1px solid var(--don-dark); transition: all 0.35s ease; }
.cart_totals .wc-proceed-to-checkout .checkout-button:hover { background: var(--don-neutral-800); }

/* ─── WC CHECKOUT ─── */
.woocommerce-checkout .form-row { margin-bottom: 18px; }
.woocommerce-checkout label { display: block; font-family: var(--don-font-body); font-size: var(--don-text-sm); font-weight: 500; color: var(--don-dark); margin-bottom: 6px; letter-spacing: 0.02em; }
.woocommerce-checkout .input-text, .woocommerce-checkout select { width: 100%; padding: 14px 16px; border: 1px solid var(--don-border); border-radius: 0; font-size: var(--don-text-base); font-family: var(--don-font-body); background: var(--don-white); transition: border-color 0.3s ease; }
.woocommerce-checkout .input-text:focus, .woocommerce-checkout select:focus { outline: none; border-color: var(--don-primary); box-shadow: 0 0 0 3px rgba(164,141,120,0.1); }
.woocommerce-checkout .required { color: var(--don-blush-dark); }
.woocommerce-checkout #place_order { width: 100%; padding: 18px; margin-top: 20px; font-family: var(--don-font-body); font-size: 13px; font-weight: 500; text-transform: uppercase; letter-spacing: 0.14em; border-radius: 0; background: var(--don-dark); color: var(--don-white); border: 1px solid var(--don-dark); transition: all 0.35s ease; cursor: pointer; }
.woocommerce-checkout #place_order:hover { background: var(--don-neutral-800); }

/* ─── WC MY ACCOUNT ─── */
.woocommerce-MyAccount-navigation { margin-bottom: 24px; }
.woocommerce-MyAccount-navigation ul { display: flex; flex-wrap: wrap; gap: 0; border-bottom: 1px solid var(--don-border-light); }
.woocommerce-MyAccount-navigation ul li a { display: block; padding: 12px 16px; font-size: var(--don-text-sm); color: var(--don-text-light); border-bottom: 2px solid transparent; }
.woocommerce-MyAccount-navigation ul li.is-active a { color: var(--don-primary); border-bottom-color: var(--don-primary); }

/* ─── EMPTY CART / SHOP ─── */
.cart-empty { text-align: center; padding: 64px 0; }
.cart-empty::before { content: ''; display: block; width: 80px; height: 80px; margin: 0 auto 24px; background: var(--don-light); border-radius: 50%; }
.return-to-shop { text-align: center; margin-top: 24px; }

/* ─── ANIMATIONS — EDITORIAL ─── */
.don-anim { opacity: 0; transform: translateY(28px); transition: opacity 1s cubic-bezier(0.25, 0.46, 0.45, 0.94), transform 1s cubic-bezier(0.25, 0.46, 0.45, 0.94); }
.don-anim.visible { opacity: 1; transform: translateY(0); }

/* Fade in from left/right for editorial layouts */
.don-anim--left { transform: translateX(-24px) translateY(0); }
.don-anim--right { transform: translateX(24px) translateY(0); }
.don-anim--left.visible, .don-anim--right.visible { transform: translateX(0) translateY(0); }

/* Scale reveal for images */
.don-anim--scale { transform: scale(0.96); }
.don-anim--scale.visible { transform: scale(1); }

@media (prefers-reduced-motion: reduce) {
    .don-anim { opacity: 1; transform: none; transition: none; }
    .don-hero__slide { transition: none; }
    .don-preloader__progress { animation: none; width: 100%; }
}

/* ─── RESPONSIVE ─── */

/* Mobile: prevent iOS input zoom + layout fixes */
@media (max-width: 767px) {
    input, select, textarea, .don-btn { font-size: 16px; }
    .don-infobar__inner { gap: 12px; font-size: 10px; }
    .don-infobar__item:nth-child(n+3) { display: none; }
    .don-hero__arrow { display: none; }
    .don-hero__scroll { display: none; }
    .don-hero__img { height: 90vh; min-height: 550px; }
    .don-hero__content { padding-bottom: clamp(5rem, 14vh, 8rem); }
    .don-lightbox__prev, .don-lightbox__next { display: none; }
    .don-single-product__summary { order: -1; }
    .don-header__logo-text { font-size: var(--don-text-base); }
    .woocommerce-cart-form .product-thumbnail { display: none; }
    .cart_totals { max-width: none; }
    .don-tailoring { padding: 20px; }
    .don-tailoring__title { font-size: var(--don-text-xl); }
    .don-footer__trust { gap: 8px; }
    .don-footer__newsletter-form { flex-direction: column; }
    .don-footer__newsletter-input { border-right: 1px solid rgba(255,255,255,0.12); }
    .don-section__title { font-size: clamp(1.5rem, 6vw, 2.25rem); }
    .don-page__title { font-size: clamp(1.75rem, 6vw, 2.5rem); }
    .don-product-card__info { padding: 16px 4px 8px; }
    .don-product-card__name { font-size: var(--don-text-sm); }
    .don-product-card__quick { display: none; }
    .woocommerce-tabs ul.tabs li a { padding: 10px 12px; font-size: 11px; letter-spacing: 0.06em; }
    .don-trust-strip__inner { gap: 16px; }
    .don-trust-strip__text strong { font-size: 10px; }
    .don-hero__title { font-size: clamp(2.25rem, 9vw, 3.5rem); }
    .don-hero__subtitle { font-size: clamp(0.7rem, 2.5vw, 0.85rem); letter-spacing: 0.15em; }
    .don-hero__dots { bottom: 24px; }
    .don-hero .don-btn { padding: 14px 28px; font-size: 10px; }
    .don-single-product__summary .product_title { font-size: clamp(1.75rem, 6vw, 2.25rem); }
    .don-single-product__summary .single_add_to_cart_button { padding: 16px 24px; }
    .don-footer__grid { gap: 28px; }
    .don-footer__title { margin-bottom: 16px; }
    .don-section-banner__img { min-height: 200px; }
    .don-info-grid { gap: 20px; }
    .don-info-card { padding: 24px; }
}

/* 480px+ — Larger phones */
@media (min-width: 480px) {
    .don-product-grid { grid-template-columns: repeat(2, 1fr); }
    .don-categories-grid { grid-template-columns: repeat(2, 1fr); }
    .don-returns__methods { grid-template-columns: repeat(2, 1fr); }
}

/* 600px+ — Small tablets */
@media (min-width: 600px) {
    .don-product-grid { gap: 24px; }
    .don-form__row { grid-template-columns: repeat(2, 1fr); }
    .don-tailoring__fields { grid-template-columns: repeat(2, 1fr); }
    .don-categories-grid { gap: 24px; }
}

/* 768px+ — Tablets */
@media (min-width: 768px) {
    .don-product-grid--3 { grid-template-columns: repeat(3, 1fr); }
    .don-product-grid--4 { grid-template-columns: repeat(3, 1fr); }
    .don-footer__grid { grid-template-columns: repeat(2, 1fr); }
    .don-contact-grid { grid-template-columns: 1fr 1fr; }
    .don-hero__img { height: 85vh; }
    .don-categories-grid { grid-template-columns: repeat(3, 1fr); }
    .don-single-product__trust { flex-direction: row; gap: 24px; }
    .don-single-product__summary { order: initial; }
    .don-infobar__inner { gap: 40px; }
    .don-trust-strip__inner { grid-template-columns: repeat(4, 1fr); gap: 32px; }
    .don-trust-strip { padding: clamp(32px, 5vw, 48px) 0; }
    .don-info-grid { grid-template-columns: repeat(2, 1fr); }
}

/* 1024px+ — Desktop */
@media (min-width: 1024px) {
    .don-nav { display: block; }
    .don-header__actions { gap: 16px; }
    .don-header__action--desktop-only { display: block; }
    .don-hamburger { display: none; }
    .don-product-grid--4 { grid-template-columns: repeat(4, 1fr); }
    .don-footer__grid { grid-template-columns: 1.5fr 1fr 1fr 1fr; }
    .don-hero__img { height: 100vh; }
    .don-footer__bottom { flex-direction: row; justify-content: space-between; }
    .don-single-product { grid-template-columns: 1fr 1fr; gap: 60px; }
    .don-tailoring__grid { grid-template-columns: 1.2fr 1fr; }
    .don-tailoring__fields { grid-template-columns: repeat(2, 1fr); }
    .don-categories-grid { grid-template-columns: repeat(4, 1fr); }
    .don-lightbox__prev { left: -80px; }
    .don-lightbox__next { right: -80px; }
    .woocommerce-MyAccount-navigation ul { flex-wrap: nowrap; }
    .don-info-grid { grid-template-columns: repeat(2, 1fr); gap: 40px; }
}

/* 1200px+ — Wide desktop */
@media (min-width: 1200px) {
    .don-header__inner { height: 84px; }
    .don-product-grid { gap: 2rem; }
    .don-section { padding: var(--don-section-lg) 0; }
    .don-categories-grid { gap: 1.5rem; }
    .don-single-product { gap: 72px; }
}

/* 1440px+ — Ultra-wide */
@media (min-width: 1440px) {
    :root { --don-container-padding: 3rem; }
}
