/* ═══════════════════════════════════════════════════════════════
   REGRET Clothing — style.css
   Premium Dark Editorial Design
   ═══════════════════════════════════════════════════════════════ */

:root {
  --red:      #C0392B;
  --red-h:    #E53E2F;
  --red-dim:  rgba(192,57,43,.1);
  --black:    #000000;
  --surface:  #0E0E0E;
  --surface2: #161616;
  --surface3: #1E1E1E;
  --border:   #232323;
  --border2:  #2E2E2E;
  --white:    #F2F2F0;
  --muted:    #5A5A5A;
  --muted2:   #3A3A3A;

  /* Spacing scale */
  --space-xs:  8px;
  --space-sm: 16px;
  --space-md: 32px;
  --space-lg: 64px;
  --space-xl: 120px;

  /* Typography */
  --font-display: 'Bebas Neue', sans-serif;
  --font-ui:      'Syne', sans-serif;
  --font-body:    'Manrope', system-ui, sans-serif;
}

/* ── RESET & BASE ───────────────────────────────────────────────── */
*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; color-scheme:dark; }
body {
  background: var(--black);
  color: var(--white);
  font-family: var(--font-body);
  font-size: 15px;
  font-weight: 400;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}
a, button, [onclick] { cursor: pointer; }
img { display: block; max-width: 100%; }

::-webkit-scrollbar { width: 4px; }
::-webkit-scrollbar-track { background: var(--black); }
::-webkit-scrollbar-thumb { background: var(--border2); border-radius: 2px; }
::-webkit-scrollbar-thumb:hover { background: var(--muted); }

/* cursor: standard system cursor überall */
*, a, button, [onclick] { cursor: auto; }
a, button, [onclick], label, select,
.product-card, .cat-card, .filter-btn,
.size-btn, .qty-btn, .nav-links a { cursor: pointer; }

/* ── PAGE TRANSITION ────────────────────────────────────────────── */
#page-overlay {
  position: fixed; inset: 0; z-index: 9997;
  background: var(--black); pointer-events: none;
  transform: scaleY(0); transform-origin: bottom center;
}

/* ── NAVIGATION ─────────────────────────────────────────────────── */
nav {
  position: fixed; top:0; left:0; right:0; z-index:200;
  height: 64px; padding: 0 48px;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  background: transparent;
  transition: background .4s, border-color .4s;
  border-bottom: 1px solid transparent;
}
nav.nav-scrolled {
  background: rgba(0,0,0,.92);
  border-bottom-color: var(--border);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
}
.nav-logo {
  display: block; width: 72px; height: 50px;
  background: url('../images/logo.png') center/88px auto no-repeat;
  filter: brightness(0) invert(1);
  justify-self: start;
}
.nav-links {
  display: flex; gap: 36px; list-style: none;
  justify-self: center;
}
.nav-links a {
  text-decoration: none; color: rgba(255,255,255,.5);
  font-family: var(--font-ui);
  font-size: 11px; font-weight: 600;
  letter-spacing: .14em; text-transform: uppercase;
  transition: color .2s;
}
.nav-links a:hover { color: var(--white); }
.nav-right {
  display: flex; align-items: center; gap: 16px;
  justify-self: end;
}

/* Cart icon button */
.nav-cart-icon-btn {
  position: relative; background: none; border: none;
  color: rgba(255,255,255,.8); width: 40px; height: 40px;
  display: flex; align-items: center; justify-content: center;
  transition: color .2s;
}
.nav-cart-icon-btn:hover { color: var(--white); }
.nav-cart-icon-btn .cart-badge {
  position: absolute; top: 2px; right: 2px;
  background: var(--red); color: #fff;
  width: 16px; height: 16px; border-radius: 50%;
  font-size: 9px; font-weight: 700;
  display: flex; align-items: center; justify-content: center;
  pointer-events: none;
}
.nav-login-btn {
  background: none; border: 1px solid rgba(255,255,255,.25);
  color: rgba(255,255,255,.7); height: 34px; padding: 0 16px;
  font-family: var(--font-ui); font-size:10px; font-weight:700;
  letter-spacing:.12em; text-transform:uppercase;
  transition: all .2s;
  overflow:hidden; text-overflow:ellipsis; white-space:nowrap; max-width:120px;
}
.nav-login-btn:hover { border-color:var(--white); color:var(--white); }
.cart-badge {
  position:absolute; top:-1px; right:-1px;
  background:var(--red); color:#fff;
  width:16px; height:16px; border-radius:50%;
  font-size:9px; font-weight:700;
  display:flex; align-items:center; justify-content:center;
}

/* Hamburger */
.nav-hamburger {
  display:none; flex-direction:column; justify-content:center;
  gap:5px; background:none; border:none; padding:4px;
  width:32px; height:32px;
}
.nav-hamburger span {
  display:block; width:22px; height:1.5px; background:var(--white);
  transition: all .3s cubic-bezier(0.22,1,0.36,1);
}
.nav-hamburger.open span:nth-child(1) { transform:rotate(45deg) translate(5px,5px); }
.nav-hamburger.open span:nth-child(2) { opacity:0; transform:scaleX(0); }
.nav-hamburger.open span:nth-child(3) { transform:rotate(-45deg) translate(5px,-5px); }

/* ── MOBILE MENU ────────────────────────────────────────────────── */
.mobile-menu {
  position:fixed; inset:0; z-index:195;
  background:var(--black);
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px;
  transform:translateX(100%); transition:transform .5s cubic-bezier(0.22,1,0.36,1);
}
.mobile-menu.open { transform:translateX(0); }
.mobile-menu-close {
  position:absolute; top:20px; right:20px;
  background:none; border:none; color:var(--muted); font-size:22px; line-height:1;
}
.mobile-nav { display:flex; flex-direction:column; align-items:center; gap:2px; }
.mobile-nav a {
  font-family:var(--font-display);
  font-size:clamp(44px,10vw,68px);
  color:var(--white); text-decoration:none;
  letter-spacing:.05em; line-height:1.15; transition:color .2s;
}
.mobile-nav a:hover { color:var(--red); }
.mobile-social { display:flex; gap:24px; margin-top:36px; }
.social-link {
  font-family:var(--font-ui); font-size:10px; font-weight:700;
  letter-spacing:.16em; text-transform:uppercase;
  color:var(--muted); text-decoration:none; transition:color .2s;
}
.social-link:hover { color:var(--white); }

/* ── SECTIONS ───────────────────────────────────────────────────── */
section { display:none; }
section.active { display:block; animation:pageIn .5s cubic-bezier(0.22,1,0.36,1) forwards; }
section.page-exit { animation:pageOut .2s ease forwards; pointer-events:none; }
#home.active { display:block; }
@keyframes pageIn  { from { opacity:0; transform:translateY(16px) } to { opacity:1; transform:none } }
@keyframes pageOut { from { opacity:1 } to { opacity:0; transform:translateY(-8px) } }

/* ══════════════════════════════════════════════════════════════════
   HOME
   ══════════════════════════════════════════════════════════════════ */
#home { padding-top:0; } /* hero starts at top, nav overlays */

/* ── HERO: FULL SCREEN ──────────────────────────────────────────── */
.hero {
  height: 100svh; min-height: 700px;
  position: relative;
  display: flex; flex-direction: column;
  justify-content: flex-end;
  padding: 84px 56px 72px;
  overflow: hidden;
}

.hero-bg { position:absolute; inset:0; z-index:0; }

.hero-img {
  width:100%; height:100%;
  object-fit:cover; object-position:center 40%;
  display:block;
  animation: heroFloat 9s ease-in-out infinite;
  will-change: transform;
}
@keyframes heroFloat {
  0%,100% { transform:scale(1.04) translateY(0); }
  50%      { transform:scale(1.04) translateY(-12px); }
}

.hero-overlay {
  position:absolute; inset:0;
  background:
    linear-gradient(to bottom, rgba(0,0,0,.5) 0%, rgba(0,0,0,0) 35%, rgba(0,0,0,.72) 100%);
}

.hero-noise {
  position:absolute; inset:-8%; pointer-events:none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  opacity:.04; animation:grain .7s steps(1) infinite;
}
.hero-bg { overflow:hidden; }
@keyframes grain {
  0%,100%{ transform:translate(0,0)    }  10%{ transform:translate(-4%,-4%) }
  20%    { transform:translate(4%,4%)  }  30%{ transform:translate(-4%,4%)  }
  40%    { transform:translate(4%,-4%) }  50%{ transform:translate(-4%,0)   }
  60%    { transform:translate(4%,0)   }  70%{ transform:translate(0,4%)    }
  80%    { transform:translate(0,-4%)  }  90%{ transform:translate(-4%,-4%) }
}

/* Top bar */
.hero-topbar {
  position:relative; z-index:1;
  display:flex; justify-content:space-between; align-items:center;
}
.hero-topbar-left, .hero-topbar-right {
  font-family:var(--font-ui); font-size:10px; font-weight:600;
  letter-spacing:.22em; text-transform:uppercase;
  color:rgba(255,255,255,.45);
  display:flex; align-items:center; gap:8px;
}
.hero-tag-pulse {
  width:5px; height:5px; border-radius:50%; background:var(--red);
  box-shadow: 0 0 0 0 rgba(192,57,43,.5);
  animation: tagPulse 2.2s infinite; flex-shrink:0;
}
@keyframes tagPulse {
  0%   { box-shadow:0 0 0 0 rgba(192,57,43,.5); }
  70%  { box-shadow:0 0 0 8px rgba(192,57,43,0); }
  100% { box-shadow:0 0 0 0 rgba(192,57,43,0); }
}

/* Bottom content — links ausgerichtet */
.hero-bottom {
  position: relative; z-index: 1;
}

.hero-title {
  font-family: var(--font-display);
  font-size: clamp(80px, 12vw, 160px);
  font-weight: 400; line-height: .88;
  letter-spacing: .02em; text-transform: uppercase; color: #fff;
  text-shadow: 0 4px 48px rgba(0,0,0,.25);
}
.hero-title em { font-style:normal; color:var(--red); }
.ht-line { display:block; overflow:hidden; }

/* Scroll indicator — mouse wheel style */
.hero-scroll-indicator {
  position:absolute; bottom:52px; left:50%;
  transform:translateX(-50%); z-index:2;
  display:flex; flex-direction:column; align-items:center; gap:10px;
  opacity:0; animation:fadeUp .5s 2.8s forwards;
}
.scroll-wheel {
  width:22px; height:36px;
  border:1.5px solid rgba(255,255,255,.25); border-radius:11px;
  display:flex; justify-content:center; padding-top:6px;
}
.scroll-wheel-dot {
  width:4px; height:4px; background:#fff; border-radius:50%;
  animation:scrollDot 2.2s ease infinite;
}
@keyframes scrollDot {
  0%    { transform:translateY(0); opacity:1; }
  60%   { transform:translateY(12px); opacity:0; }
  61%   { transform:translateY(0); opacity:0; }
  100%  { transform:translateY(0); opacity:1; }
}
.hero-scroll-indicator span {
  font-family:var(--font-ui); font-size:9px; font-weight:700;
  letter-spacing:.22em; text-transform:uppercase; color:rgba(255,255,255,.3);
}

/* ── MARQUEE ────────────────────────────────────────────────────── */
.marquee-band {
  overflow:hidden; background:var(--black);
  border-top:1px solid var(--border); border-bottom:1px solid var(--border);
  padding:13px 0;
}
.marquee-track {
  display:flex; gap:0; white-space:nowrap; will-change:transform;
}
.marquee-track span {
  font-family:var(--font-display); font-size:12px;
  letter-spacing:.22em; text-transform:uppercase;
  color:var(--muted); padding:0 28px; user-select:none;
}
.marquee-dot { color:var(--red) !important; padding:0 8px !important; }

/* ── CATEGORY CARDS: PORTRAIT ──────────────────────────────────── */
.home-categories {
  display:grid; grid-template-columns:repeat(3,1fr);
  gap:2px; background:var(--black);
  margin-top:80px;
  margin-bottom:80px;
}
.cat-card {
  position:relative; overflow:hidden; background:var(--surface);
  cursor:pointer;
}
.cat-img-wrap {
  aspect-ratio:3/4;
  background:var(--surface2); position:relative; overflow:hidden;
}
.cat-img-wrap img {
  width:100%; height:100%; object-fit:cover;
  transition:transform .9s cubic-bezier(0.22,1,0.36,1), filter .4s;
}
.cat-card:hover .cat-img-wrap img { transform:scale(1.07); filter:brightness(.85); }
.cat-img-fallback {
  display:none; position:absolute; inset:0;
  align-items:center; justify-content:center; background:var(--surface2);
}
.cat-img-fallback span { font-family:var(--font-display); font-size:28px; color:var(--muted); }
.cat-label {
  position:absolute; bottom:0; left:0; right:0;
  padding:64px 24px 24px;
  background:linear-gradient(to top, rgba(0,0,0,.88) 0%, transparent 100%);
  display:flex; align-items:flex-end; justify-content:space-between;
  gap:8px;
}
.cat-label-num {
  font-family:var(--font-ui); font-size:9px; font-weight:700;
  letter-spacing:.18em; color:var(--red); align-self:flex-start;
  padding-top:2px;
}
.cat-label-name {
  font-family:var(--font-display); font-size:32px; letter-spacing:.05em; color:#fff;
  flex:1; line-height:1;
}
.cat-arrow {
  font-size:16px; color:rgba(255,255,255,.4);
  transition:transform .35s cubic-bezier(0.22,1,0.36,1), color .25s;
}
.cat-card:hover .cat-arrow { transform:translate(5px,-5px); color:var(--red); }

/* ── MANIFESTO ──────────────────────────────────────────────────── */
.manifesto {
  background: var(--black);
  border-top: 1px solid var(--border);
  overflow: hidden;
}
.manifesto-img-wrap {
  width: 100%; line-height: 0;
}
.manifesto-quote-img {
  width: 100%; height: auto;
  display: block;
  max-height: 90vh;
  object-fit: contain;
  object-position: center;
}
/* Fallback text layout */
.manifesto .manifesto-inner {
  min-height: 88vh;
  display: flex; flex-direction: column;
  align-items: center; justify-content: center;
  position: relative;
}
.manifesto .manifesto-inner::before {
  content:'';
  position:absolute; inset:0;
  background:radial-gradient(ellipse 60% 50% at 50% 50%, rgba(192,57,43,.06), transparent);
  pointer-events:none;
}
.manifesto::before {
  content:'';
  position:absolute; inset:0;
  background:radial-gradient(ellipse 60% 50% at 50% 50%, rgba(192,57,43,.06), transparent);
  pointer-events:none;
}
.manifesto-inner {
  text-align:center; padding:var(--space-xl) var(--space-lg);
  position:relative; z-index:1; max-width:1000px;
}
.manifesto-eyebrow {
  font-family:var(--font-ui); font-size:10px; font-weight:700;
  letter-spacing:.24em; text-transform:uppercase;
  color:var(--red); margin-bottom:48px;
  display:flex; align-items:center; justify-content:center; gap:16px;
}
.manifesto-line-deco {
  display:inline-block; width:32px; height:1px; background:var(--red); opacity:.4;
}
.manifesto-text {
  font-family: var(--font-ui);
  font-weight: 700;
  font-size: clamp(48px,8vw,112px);
  letter-spacing: -.01em; line-height: .92;
  text-transform: uppercase;
  margin-bottom: 48px;
  display: flex; flex-direction: column;
}
.mf-line { display:block; overflow:hidden; }
.mf-accent { color:var(--red); }
.manifesto-sub {
  font-size:14px; color:var(--muted); letter-spacing:.06em;
  margin-bottom:52px; font-family:var(--font-body);
}
.manifesto-cta {
  display:inline-flex; align-items:center; gap:10px;
  background:transparent; border:1px solid var(--border2);
  color:var(--white); padding:14px 32px;
  font-family:var(--font-ui); font-size:10px; font-weight:700;
  letter-spacing:.16em; text-transform:uppercase;
  transition:all .35s cubic-bezier(0.22,1,0.36,1);
  position:relative; overflow:hidden;
}
.manifesto-cta::before {
  content:''; position:absolute; inset:0;
  background:var(--red); transform:scaleX(0); transform-origin:left;
  transition:transform .4s cubic-bezier(0.22,1,0.36,1); z-index:0;
}
.manifesto-cta:hover::before { transform:scaleX(1); }
.manifesto-cta:hover { border-color:var(--red); }
.manifesto-cta span, .manifesto-cta svg { position:relative; z-index:1; }
.manifesto-cta svg { transition:transform .3s; }
.manifesto-cta:hover svg { transform:translate(3px,-3px); }

/* ══════════════════════════════════════════════════════════════════
   SHOP
   ══════════════════════════════════════════════════════════════════ */
#shop { padding:120px 48px 80px; }

.section-header {
  display:flex; align-items:flex-end; justify-content:space-between;
  margin-bottom:32px; padding-bottom:24px;
  border-bottom:1px solid var(--border);
}
.section-tag {
  font-family:var(--font-ui); font-size:10px; font-weight:700;
  letter-spacing:.2em; text-transform:uppercase;
  color:var(--red); margin-bottom:8px;
  display:flex; align-items:center; gap:8px;
}
.section-tag::before { content:''; display:inline-block; width:16px; height:1px; background:var(--red); }
.section-title {
  font-family:var(--font-display); font-size:52px; letter-spacing:.03em; line-height:1; color:var(--white);
}

.filter-row { display:flex; gap:6px; flex-wrap:wrap; margin-bottom:32px; }
.filter-btn {
  height:34px; padding:0 18px; border:1px solid var(--border);
  background:transparent; font-family:var(--font-ui);
  color:var(--muted); font-size:10px; font-weight:600;
  letter-spacing:.14em; text-transform:uppercase; transition:all .2s;
}
.filter-btn:hover { border-color:var(--white); color:var(--white); }
.filter-btn.active { background:var(--white); color:var(--black); border-color:var(--white); }

/* Product Grid */
.product-grid {
  display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr));
  gap:2px; background:var(--black);
}
.product-card {
  position:relative; background:var(--surface); overflow:hidden;
}
.product-card::after {
  content:''; position:absolute; bottom:0; left:0; right:0; height:2px;
  background:var(--red); transform:scaleX(0); transform-origin:left;
  transition:transform .4s cubic-bezier(0.22,1,0.36,1);
}
.product-card:hover::after { transform:scaleX(1); }

.product-img-wrap {
  aspect-ratio:1/1; background:var(--surface2); position:relative; overflow:hidden;
}
.product-img-wrap img {
  width:100%; height:100%; object-fit:cover; display:block;
  transition:transform .75s cubic-bezier(0.22,1,0.36,1);
}
.product-card:hover .product-img-wrap img { transform:scale(1.06); }
.product-img-fallback {
  display:none; position:absolute; inset:0;
  flex-direction:column; align-items:center; justify-content:center;
  gap:10px; background:var(--surface2);
}
.product-img-fallback img { width:48px; opacity:.05; }
.product-img-fallback span {
  font-family:var(--font-ui); font-size:9px; letter-spacing:.12em;
  text-transform:uppercase; color:var(--muted);
}
.product-badge {
  position:absolute; top:12px; left:12px;
  background:var(--red); color:#fff;
  font-family:var(--font-ui); font-size:9px; font-weight:700;
  letter-spacing:.12em; text-transform:uppercase; padding:3px 8px; z-index:1;
}
.product-hover-overlay {
  position:absolute; inset:0; z-index:1;
  background:linear-gradient(to top, rgba(0,0,0,.72) 0%, transparent 60%);
  display:flex; align-items:flex-end; justify-content:center;
  padding-bottom:20px;
  opacity:0; transition:opacity .3s ease;
}
.product-card:hover .product-hover-overlay { opacity:1; }
.product-hover-overlay span {
  font-family:var(--font-ui); color:#fff; font-size:10px; font-weight:700;
  letter-spacing:.18em; text-transform:uppercase;
  transform:translateY(10px); transition:transform .35s cubic-bezier(0.22,1,0.36,1);
}
.product-card:hover .product-hover-overlay span { transform:none; }
.product-info {
  padding:16px 18px 20px;
  border-top:1px solid var(--border);
}
.product-cat {
  font-family:var(--font-ui); font-size:9px; font-weight:700;
  letter-spacing:.16em; text-transform:uppercase; color:var(--muted); margin-bottom:5px;
}
.product-name {
  font-family:var(--font-display); font-size:20px; letter-spacing:.04em;
  margin-bottom:6px; color:var(--white);
}
.product-price { font-size:14px; font-weight:700; color:var(--white); }
.product-price .old-price {
  text-decoration:line-through; color:var(--muted);
  font-weight:400; margin-right:6px;
}

/* ══════════════════════════════════════════════════════════════════
   PRODUKT DETAIL
   ══════════════════════════════════════════════════════════════════ */
#product { padding:100px 48px 80px; }
.product-detail-layout { display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:start; }

.pd-main-img {
  aspect-ratio:1/1; background:var(--surface);
  position:relative; overflow:hidden; margin-bottom:10px;
}
.pd-main-img img { width:100%; height:100%; object-fit:cover; display:block; }
.pd-img-fallback {
  position:absolute; inset:0; display:flex;
  align-items:center; justify-content:center; background:var(--surface);
}
.pd-thumbs { display:flex; gap:8px; }
.pd-thumb {
  width:72px; height:72px; background:var(--surface);
  overflow:hidden; border:1.5px solid transparent; transition:border-color .2s;
}
.pd-thumb.active { border-color:var(--red); }
.pd-thumb img { width:100%; height:100%; object-fit:cover; display:block; }

.pd-tag {
  font-family:var(--font-ui); font-size:10px; font-weight:700;
  letter-spacing:.2em; text-transform:uppercase;
  color:var(--red); margin-bottom:12px;
  display:flex; align-items:center; gap:8px;
}
.pd-tag::before { content:''; display:inline-block; width:12px; height:1px; background:var(--red); }
.pd-name {
  font-family:var(--font-display); font-size:52px; letter-spacing:.02em;
  line-height:.9; margin-bottom:16px; color:var(--white);
}
.pd-price { font-size:24px; font-weight:700; margin-bottom:24px; color:var(--white); }
.pd-price .old-price { text-decoration:line-through; color:var(--muted); font-weight:400; font-size:16px; margin-right:8px; }
.pd-desc { font-size:14px; line-height:1.85; color:var(--muted); margin-bottom:32px; }

.pd-sizes { margin-bottom:28px; }
.pd-sizes-label-row { display:flex; align-items:center; justify-content:space-between; margin-bottom:12px; }
.pd-sizes-label {
  font-family:var(--font-ui); font-size:10px; font-weight:700;
  letter-spacing:.16em; text-transform:uppercase;
}
.pd-sizes-grid { display:flex; gap:6px; flex-wrap:wrap; }
.size-btn {
  height:40px; min-width:48px; padding:0 14px;
  border:1px solid var(--border); background:transparent;
  color:var(--white); font-family:var(--font-body); font-size:13px; font-weight:600;
  transition:all .2s;
}
.size-btn:hover { border-color:var(--white); }
.size-btn.active { background:var(--white); color:var(--black); border-color:var(--white); }

.pd-qty-row { display:flex; align-items:center; gap:24px; margin-bottom:24px; }
.pd-qty-label {
  font-family:var(--font-ui); font-size:10px; font-weight:700;
  letter-spacing:.16em; text-transform:uppercase; color:var(--muted);
}
.qty-control { display:flex; align-items:center; }
.qty-btn {
  width:38px; height:38px; background:transparent;
  border:1px solid var(--border); font-size:16px;
  color:var(--white); transition:all .2s;
}
.qty-btn:hover { background:var(--white); color:var(--black); border-color:var(--white); }
.qty-num {
  width:46px; height:38px; display:flex; align-items:center; justify-content:center;
  border-top:1px solid var(--border); border-bottom:1px solid var(--border);
  font-size:14px; font-weight:700; color:var(--white);
}
.pd-add-btn { width:100%; height:52px; font-size:12px; letter-spacing:.14em; margin-bottom:14px; display:block; }
.pd-back-btn {
  background:none; border:none; color:var(--muted);
  font-family:var(--font-ui); font-size:11px; font-weight:600;
  letter-spacing:.1em; transition:color .2s; padding:0;
}
.pd-back-btn:hover { color:var(--white); }
.size-guide-link {
  background:none; border:none;
  font-family:var(--font-ui); font-size:10px; font-weight:600;
  letter-spacing:.1em; text-transform:uppercase;
  color:var(--muted); text-decoration:underline; transition:color .2s; padding:0;
}
.size-guide-link:hover { color:var(--red); }

/* ── BUTTONS ────────────────────────────────────────────────────── */
.btn-primary {
  height:50px; padding:0 36px;
  background:var(--red); color:#fff; border:none;
  font-family:var(--font-ui); font-size:10px; font-weight:700;
  letter-spacing:.18em; text-transform:uppercase;
  transition:background .2s, transform .15s;
}
.btn-primary:hover { background:var(--red-h); }
.btn-primary:active { transform:scale(.97); }

.btn-secondary {
  height:50px; padding:0 32px;
  background:transparent; color:var(--white); border:1px solid var(--border2);
  font-family:var(--font-ui); font-size:10px; font-weight:700;
  letter-spacing:.18em; text-transform:uppercase;
  transition:all .2s; display:inline-flex; align-items:center;
}
.btn-secondary:hover { background:var(--white); color:var(--black); border-color:var(--white); }

.btn-ghost {
  height:50px; padding:0; background:none; border:none;
  color:rgba(255,255,255,.65); font-family:var(--font-ui);
  font-size:10px; font-weight:700; letter-spacing:.18em; text-transform:uppercase;
  transition:color .2s; display:flex; align-items:center;
}
.btn-ghost:hover { color:#fff; }

/* ══════════════════════════════════════════════════════════════════
   CART
   ══════════════════════════════════════════════════════════════════ */
#cart { padding:100px 48px 80px; }
.cart-layout { display:grid; grid-template-columns:1fr 320px; gap:48px; align-items:start; }
.cart-item {
  display:grid; grid-template-columns:96px 1fr auto;
  gap:24px; padding:24px 0; border-bottom:1px solid var(--border); align-items:start;
}
.cart-item-img { aspect-ratio:1/1; background:var(--surface); overflow:hidden; }
.cart-item-img img { width:100%; height:100%; object-fit:cover; display:block; }
.cart-item-img-fallback {
  display:none; width:100%; height:100%; align-items:center; justify-content:center;
  font-size:11px; color:var(--muted); background:var(--surface);
}
.cart-item-name { font-family:var(--font-display); font-size:22px; letter-spacing:.04em; margin-bottom:4px; color:var(--white); }
.cart-item-meta { font-family:var(--font-ui); font-size:10px; font-weight:600; letter-spacing:.12em; text-transform:uppercase; color:var(--muted); margin-bottom:16px; }
.cart-remove { background:none; border:none; color:var(--muted); font-size:16px; transition:color .2s; padding:4px; }
.cart-remove:hover { color:var(--red); }
.cart-item-price { font-size:15px; font-weight:700; color:var(--white); }

.cart-summary { background:var(--surface); border:1px solid var(--border); padding:32px; position:sticky; top:80px; }
.summary-title { font-family:var(--font-display); font-size:26px; letter-spacing:.06em; margin-bottom:24px; padding-bottom:16px; border-bottom:1px solid var(--border); color:var(--white); }
.summary-row { display:flex; justify-content:space-between; font-size:13px; margin-bottom:12px; color:var(--muted); }
.summary-free-shipping { font-family:var(--font-ui); font-size:10px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--red); margin-bottom:16px; }
.summary-total { display:flex; justify-content:space-between; font-size:16px; font-weight:700; padding-top:16px; margin-top:10px; border-top:1px solid var(--border); margin-bottom:24px; color:var(--white); }
.checkout-btn { width:100%; background:var(--red); color:#fff; border:none; height:50px; font-family:var(--font-ui); font-size:10px; font-weight:700; letter-spacing:.18em; text-transform:uppercase; transition:background .2s; }
.checkout-btn:hover { background:var(--red-h); }
.empty-cart { text-align:center; padding:80px 0; color:var(--muted); }
.empty-cart-title { font-family:var(--font-display); font-size:44px; letter-spacing:.05em; color:var(--white); margin-bottom:16px; }
.empty-cart p { margin-bottom:36px; font-size:14px; }

/* ══════════════════════════════════════════════════════════════════
   CHECKOUT
   ══════════════════════════════════════════════════════════════════ */
#checkout { padding:100px 48px 80px; }
.checkout-layout { display:grid; grid-template-columns:1fr 360px; gap:56px; align-items:start; }
.checkout-block { margin-bottom:44px; padding-bottom:44px; border-bottom:1px solid var(--border); }
.checkout-block-title { font-family:var(--font-display); font-size:24px; letter-spacing:.05em; margin-bottom:24px; color:var(--white); }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.form-row { margin-bottom:16px; }
.form-label { display:block; font-family:var(--font-ui); font-size:9px; font-weight:700; letter-spacing:.18em; text-transform:uppercase; color:var(--muted); margin-bottom:8px; }
.form-input, .form-textarea {
  width:100%; background:var(--surface); border:1.5px solid var(--border);
  padding:12px 14px; font-family:var(--font-body); font-size:14px;
  color:var(--white); outline:none; transition:border-color .2s;
}
.form-input:focus, .form-textarea:focus { border-color:var(--red); background:var(--surface2); }
.form-input::placeholder, .form-textarea::placeholder { color:var(--muted2); }
.form-textarea { resize:none; height:100px; }

.payment-options { display:flex; flex-direction:column; gap:12px; margin-bottom:16px; }
.payment-option { display:flex; align-items:center; gap:12px; }
.payment-option input { accent-color:var(--red); width:16px; height:16px; }
.payment-label { font-size:14px; font-weight:500; color:var(--white); }
.payment-info { font-size:13px; color:var(--muted); background:var(--surface); padding:12px 16px; border-left:3px solid var(--red); min-height:40px; }

.checkout-right { position:sticky; top:80px; }
.checkout-summary { background:var(--surface); border:1px solid var(--border); padding:32px; }
.checkout-summary-title { font-family:var(--font-display); font-size:22px; letter-spacing:.05em; margin-bottom:24px; padding-bottom:16px; border-bottom:1px solid var(--border); color:var(--white); }
.co-item { display:flex; align-items:center; gap:14px; padding:12px 0; border-bottom:1px solid var(--border); }
.co-item-info { flex:1; }
.co-item-name { font-size:13px; font-weight:600; color:var(--white); }
.co-item-qty { font-size:11px; color:var(--muted); margin-top:2px; }
.co-item-price { font-size:13px; font-weight:700; color:var(--white); white-space:nowrap; }
.checkout-totals .summary-row { color:var(--muted); }
.checkout-totals .summary-total { color:var(--white); }
.checkout-legal { font-size:11px; color:var(--muted); line-height:1.7; margin-bottom:16px; text-align:center; }
.checkout-legal a { color:var(--muted); text-decoration:underline; }
.checkout-legal a:hover { color:var(--red); }
.trust-badges { display:flex; gap:8px; flex-wrap:wrap; margin-bottom:20px; }
.trust-badge { font-family:var(--font-ui); font-size:10px; font-weight:600; color:var(--muted); background:var(--surface); border:1px solid var(--border); padding:6px 12px; letter-spacing:.06em; }

/* ══════════════════════════════════════════════════════════════════
   SUCCESS
   ══════════════════════════════════════════════════════════════════ */
#success { padding:100px 48px 80px; }
.success-wrap { max-width:480px; margin:0 auto; text-align:center; padding:80px 0; }
.success-icon { width:72px; height:72px; background:var(--red-dim); border:1px solid var(--red); color:var(--red); border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:28px; margin:0 auto 28px; }
.success-title { font-family:var(--font-display); font-size:56px; letter-spacing:.04em; margin-bottom:18px; color:var(--white); }
.success-desc { font-size:15px; line-height:1.85; color:var(--muted); margin-bottom:24px; }
.success-order-id { font-family:var(--font-ui); font-size:12px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--red); margin-bottom:40px; }

/* ══════════════════════════════════════════════════════════════════
   CONTACT
   ══════════════════════════════════════════════════════════════════ */
#contact { padding:100px 48px 80px; }
.contact-layout { display:grid; grid-template-columns:1fr 1fr; gap:96px; }
.contact-info-title { font-family:var(--font-display); font-size:64px; letter-spacing:.03em; line-height:.9; margin-bottom:20px; color:var(--white); }
.contact-info-desc { font-size:15px; line-height:1.85; color:var(--muted); margin-bottom:48px; }
.contact-detail { display:flex; gap:16px; align-items:flex-start; margin-bottom:24px; }
.contact-detail-icon { width:36px; height:36px; background:var(--red-dim); border:1px solid var(--border2); color:var(--red); display:flex; align-items:center; justify-content:center; font-size:14px; flex-shrink:0; }
.contact-detail-label { font-family:var(--font-ui); font-size:9px; font-weight:700; letter-spacing:.18em; text-transform:uppercase; color:var(--muted); margin-bottom:3px; }
.contact-detail-value { font-size:14px; font-weight:500; color:var(--white); }
.submit-btn { width:100%; background:var(--red); color:#fff; border:none; height:50px; font-family:var(--font-ui); font-size:10px; font-weight:700; letter-spacing:.18em; text-transform:uppercase; transition:background .2s; margin-top:10px; }
.submit-btn:hover { background:var(--red-h); }

/* ══════════════════════════════════════════════════════════════════
   NEWSLETTER
   ══════════════════════════════════════════════════════════════════ */
.newsletter-section { background:var(--surface); border-top:1px solid var(--border); padding:var(--space-xl) 48px; }
.newsletter-inner { max-width:960px; margin:0 auto; display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center; }
.newsletter-tag { font-family:var(--font-ui); font-size:10px; font-weight:700; letter-spacing:.22em; text-transform:uppercase; color:var(--red); margin-bottom:14px; }
.newsletter-title { font-family:var(--font-display); font-size:clamp(44px,5vw,72px); color:var(--white); letter-spacing:.04em; line-height:1; margin-bottom:14px; }
.newsletter-desc { font-size:14px; color:var(--muted); line-height:1.85; }
.newsletter-row { display:flex; }
.newsletter-input { flex:1; padding:14px 18px; background:var(--black); border:1px solid var(--border); border-right:none; color:var(--white); font-size:13px; font-family:var(--font-body); outline:none; transition:border-color .2s; }
.newsletter-input:focus { border-color:var(--red); }
.newsletter-input::placeholder { color:var(--muted2); }
.newsletter-btn { background:var(--red); color:#fff; border:none; padding:14px 28px; font-family:var(--font-ui); font-size:10px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; white-space:nowrap; transition:background .2s; }
.newsletter-btn:hover { background:var(--red-h); }
.newsletter-note { font-size:11px; color:var(--muted); margin-top:12px; line-height:1.7; }
.newsletter-note a { color:var(--muted); text-decoration:underline; }

/* ══════════════════════════════════════════════════════════════════
   FOOTER
   ══════════════════════════════════════════════════════════════════ */
footer { background:var(--surface); border-top:1px solid var(--border); padding:64px 48px 32px; margin-top:80px; }
.footer-grid { display:grid; grid-template-columns:2fr 1fr 1fr; gap:56px; margin-bottom:56px; }
.footer-logo-text { font-family:var(--font-display); font-size:48px; color:var(--white); letter-spacing:.1em; display:block; line-height:1; margin-bottom:16px; }
.footer-desc { font-size:13px; line-height:1.85; color:var(--muted); }
.footer-heading { font-family:var(--font-ui); font-size:10px; font-weight:700; letter-spacing:.2em; text-transform:uppercase; color:var(--red); margin-bottom:18px; }
.footer-links { list-style:none; }
.footer-links li { margin-bottom:12px; }
.footer-links a { text-decoration:none; color:var(--muted); font-size:13px; transition:color .2s; }
.footer-links a:hover { color:var(--white); }
.footer-social { display:flex; gap:20px; margin-top:20px; }
.footer-social-link { font-family:var(--font-ui); font-size:10px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--muted); text-decoration:none; transition:color .2s; }
.footer-social-link:hover { color:var(--white); }
.footer-bottom { border-top:1px solid var(--border); padding-top:20px; display:flex; justify-content:space-between; font-family:var(--font-ui); font-size:10px; color:var(--muted); letter-spacing:.06em; }
.footer-trust { display:flex; gap:16px; }

/* ══════════════════════════════════════════════════════════════════
   MISC / COMPONENTS
   ══════════════════════════════════════════════════════════════════ */
.toast { position:fixed; bottom:32px; right:32px; background:var(--surface); border:1px solid var(--border); color:var(--white); padding:14px 22px; font-size:13px; font-weight:500; z-index:999; transform:translateY(16px); opacity:0; transition:transform .25s ease,opacity .25s ease; border-left:3px solid var(--red); }
.toast.show { transform:none; opacity:1; }

.modal-overlay { position:fixed; inset:0; z-index:500; background:rgba(0,0,0,.85); display:flex; align-items:center; justify-content:center; opacity:0; pointer-events:none; transition:opacity .25s; }
.modal-overlay.open { opacity:1; pointer-events:all; }
.modal-box { background:var(--surface); border:1px solid var(--border); padding:40px; max-width:480px; width:90%; position:relative; animation:modalIn .35s cubic-bezier(0.22,1,0.36,1); }
.modal-close { position:absolute; top:16px; right:16px; background:none; border:none; font-size:18px; color:var(--muted); transition:color .2s; }
.modal-close:hover { color:var(--white); }
.modal-title { font-family:var(--font-display); font-size:30px; letter-spacing:.05em; margin-bottom:24px; color:var(--white); }
.size-table { width:100%; border-collapse:collapse; font-size:13px; color:var(--white); }
.size-table th { text-align:left; font-family:var(--font-ui); font-size:9px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--muted); padding:8px 12px; border-bottom:1px solid var(--border2); }
.size-table td { padding:10px 12px; border-bottom:1px solid var(--border); color:var(--muted); }
.size-table tr:last-child td { border-bottom:none; }
.size-note { font-size:12px; color:var(--muted); margin-top:16px; line-height:1.7; }
@keyframes modalIn { from { transform:translateY(16px);opacity:0 } to { transform:none;opacity:1 } }

.cookie-banner { position:fixed; bottom:0; left:0; right:0; z-index:9990; background:var(--surface); border-top:1px solid var(--border); padding:16px 48px; display:flex; align-items:center; justify-content:space-between; gap:20px; animation:slideUp .4s ease; }
.cookie-text { display:flex; align-items:baseline; gap:10px; font-size:13px; color:var(--muted); }
.cookie-text strong { color:var(--white); white-space:nowrap; }
.cookie-btns { display:flex; align-items:center; gap:16px; flex-shrink:0; }
.cookie-accept { background:var(--red); color:#fff; border:none; padding:8px 20px; font-family:var(--font-ui); font-size:10px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; transition:background .2s; }
.cookie-accept:hover { background:var(--red-h); }
.cookie-link { font-size:11px; color:var(--muted); text-decoration:none; white-space:nowrap; transition:color .2s; }
.cookie-link:hover { color:var(--white); }
@keyframes slideUp { from{transform:translateY(100%)} to{transform:none} }

/* ── ACCOUNT / AUTH ─────────────────────────────────────────────── */
#account { padding:88px 48px 80px; }
.account-wrap { max-width:780px; margin:0 auto; }

.auth-box {
  max-width: 420px; margin: 0 auto;
  padding: 56px 48px;
  background: var(--surface); border: 1px solid var(--border);
  display: flex; flex-direction: column; align-items: center; text-align: center;
}
.auth-box-logo {
  font-family: var(--font-display); font-size: 28px; letter-spacing: .14em;
  color: var(--red); margin-bottom: 24px;
}
.auth-box-title {
  font-family: var(--font-display); font-size: 32px; letter-spacing: .04em;
  color: var(--white); margin-bottom: 8px;
}
.auth-box-sub { font-size: 13px; color: var(--muted); margin-bottom: 36px; }

.social-btns { display: flex; flex-direction: column; gap: 12px; width: 100%; }

.social-btn {
  width: 100%; height: 50px;
  display: flex; align-items: center; justify-content: center; gap: 12px;
  border: 1px solid var(--border2); background: var(--surface2);
  color: var(--white); font-family: var(--font-ui);
  font-size: 13px; font-weight: 600; letter-spacing: .04em;
  transition: all .2s; border-radius: 4px;
}
.social-btn:hover { background: var(--surface3); border-color: var(--white); }
.social-btn:active { transform: scale(.98); }

.social-apple { background: var(--white); color: var(--black); border-color: var(--white); }
.social-apple:hover { background: var(--g100); border-color: var(--g100); }
.social-apple svg { color: var(--black); }

.auth-divider {
  width: 100%; display: flex; align-items: center; gap: 16px;
  margin: 24px 0; color: var(--muted); font-size: 12px;
}
.auth-divider::before, .auth-divider::after {
  content: ''; flex: 1; height: 1px; background: var(--border);
}

.auth-email-btn {
  width: 100%; height: 50px;
  background: transparent; border: 1px solid var(--border2);
  color: var(--white); font-family: var(--font-ui);
  font-size: 12px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase;
  transition: all .2s; border-radius: 4px;
}
.auth-email-btn:hover { border-color: var(--white); }

.auth-register-hint {
  margin-top: 20px; font-size: 13px; color: var(--muted);
}
.auth-register-link {
  background: none; border: none; color: var(--white);
  font-size: 13px; font-weight: 600; text-decoration: underline;
  transition: color .2s;
}
.auth-register-link:hover { color: var(--red); }
.auth-cards { display:grid; grid-template-columns:1fr 1fr; gap:24px; margin-top:8px; }
.auth-card { border:1px solid var(--border); background:var(--surface); padding:36px; display:flex; flex-direction:column; gap:16px; }
.auth-card h3 { font-family:var(--font-display); font-size:24px; letter-spacing:.05em; color:var(--white); }
.auth-card p { font-size:14px; color:var(--muted); line-height:1.7; flex:1; }
.account-header { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; margin-bottom:44px; flex-wrap:wrap; }
.account-email { font-size:14px; color:var(--muted); margin-top:4px; }
.account-section { border-top:1px solid var(--border); padding-top:36px; }
.account-section-title { font-family:var(--font-display); font-size:24px; letter-spacing:.05em; margin-bottom:24px; color:var(--white); }
.account-order { border:1px solid var(--border); background:var(--surface); padding:22px; margin-bottom:12px; transition:border-color .2s; }
.account-order:hover { border-color:var(--border2); }
.account-order-top { display:flex; justify-content:space-between; align-items:flex-start; margin-bottom:10px; }
.account-order-id { font-family:monospace; font-size:12px; font-weight:700; color:var(--red); }
.account-order-date { font-size:12px; color:var(--muted); margin-top:2px; }
.account-order-total { font-size:16px; font-weight:700; margin-bottom:4px; color:var(--white); }
.account-order-status { display:inline-block; padding:2px 10px; border-radius:10px; font-size:10px; font-weight:700; color:#fff; letter-spacing:.04em; }
.account-order-items { font-size:12px; color:var(--muted); line-height:1.6; }

/* Legal */
#shipping,#privacy,#imprint { padding:88px 48px 80px; }
.legal-wrap { max-width:720px; margin:0 auto; }
.legal-back { background:none; border:none; font-family:var(--font-ui); font-size:11px; font-weight:600; letter-spacing:.12em; text-transform:uppercase; color:var(--muted); padding:0; margin-bottom:36px; display:block; transition:color .2s; }
.legal-back:hover { color:var(--red); }
.legal-block { margin-bottom:40px; }
.legal-block h3 { font-family:var(--font-ui); font-size:13px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; margin-bottom:14px; color:var(--white); }
.legal-block p { font-size:14px; line-height:1.9; color:var(--muted); margin-bottom:12px; }
.legal-block ul { padding-left:20px; margin-top:8px; }
.legal-block ul li { font-size:14px; line-height:1.9; color:var(--muted); margin-bottom:4px; }
.legal-block a { color:var(--red); text-decoration:none; }
.legal-block a:hover { text-decoration:underline; }

/* Stripe */
#stripeCardElement { padding:12px 14px; background:var(--surface); border:1.5px solid var(--border); transition:border-color .2s; }

/* Load screen */
#loadScreen { position:fixed; inset:0; z-index:10000; background:var(--black); display:flex; flex-direction:column; align-items:center; justify-content:center; gap:14px; transition:transform .9s cubic-bezier(0.76,0,0.24,1); overflow:hidden; }
#loadScreen.out { transform:translateY(-100%); }
.load-logo { width:280px; height:196px; background:url('../images/logo.png') center/340px auto no-repeat; filter:brightness(0) invert(1); opacity:0; animation:loadIn .8s .3s cubic-bezier(0.22,1,0.36,1) forwards; }
.load-sub { font-family:var(--font-ui); font-size:10px; font-weight:600; letter-spacing:.36em; text-transform:uppercase; color:var(--muted); opacity:0; animation:loadIn .5s .85s ease forwards; }
.load-bar-wrap { position:absolute; bottom:0; left:0; right:0; height:2px; background:var(--border); }
.load-bar { height:100%; background:var(--red); width:0; animation:loadBar 2s .3s cubic-bezier(0.22,1,0.36,1) forwards; }
@keyframes loadIn  { from{opacity:0;transform:translateY(22px)} to{opacity:1;transform:none} }
@keyframes loadBar { to{width:100%} }

/* GSAP helpers */
.word-wrap  { overflow:hidden; display:inline-block; }
.word-inner { display:inline-block; }

/* Scroll reveal */
.scroll-reveal { opacity:0; transform:translateY(28px); transition:opacity .7s cubic-bezier(0.22,1,0.36,1),transform .7s cubic-bezier(0.22,1,0.36,1); }
.scroll-reveal.visible { opacity:1; transform:none; }

/* Cart badge pulse */
@keyframes pulse { 0%{transform:scale(1)} 50%{transform:scale(1.28)} 100%{transform:scale(1)} }
.cart-badge.pulse { animation:pulse .3s ease; }

/* Global animations */
@keyframes fadeUp { from{opacity:0;transform:translateY(14px)} to{opacity:1;transform:none} }
@keyframes fadeIn { from{opacity:0} to{opacity:1} }

/* Prefers-reduced-motion */
@media (prefers-reduced-motion: reduce) {
  *,*::before,*::after { animation-duration:.01ms !important; transition-duration:.01ms !important; }
}

/* ══════════════════════════════════════════════════════════════════
   RESPONSIVE
   ══════════════════════════════════════════════════════════════════ */
@media (max-width:1100px) {
  .hero { padding:80px 32px 48px; }
  .hero-title { font-size:clamp(64px,9vw,120px); }
  .home-categories { grid-template-columns:1fr 1fr 1fr; }
}

@media (max-width:900px) {
  nav { padding:0 24px; }
  .nav-links,.nav-login-btn { display:none; }
  .nav-hamburger { display:flex; }

  .hero { padding:80px 24px 48px; }
  .hero-title { font-size:clamp(56px,14vw,96px); }
  .hero-bottom { flex-direction:column; align-items:flex-start; gap:28px; }
  .hero-info { max-width:100%; }
  .hero-cta { flex-direction:row; }

  .home-categories { grid-template-columns:1fr; }
  .cat-img-wrap { aspect-ratio:16/9; }

  #shop,#cart,#checkout,#contact,#product,#success { padding:88px 20px 60px; }
  #shipping,#privacy,#imprint,#agb { padding:88px 20px 60px; }
  #account { padding:88px 20px 60px; }

  .product-grid { grid-template-columns:repeat(2,1fr); }
  .cart-layout,.checkout-layout,.contact-layout,.product-detail-layout { grid-template-columns:1fr; }
  .checkout-right,.cart-summary { position:static; }
  .footer-grid { grid-template-columns:1fr; }
  .form-grid { grid-template-columns:1fr; }
  .newsletter-inner { grid-template-columns:1fr; }
  .newsletter-section,.footer { padding-left:24px; padding-right:24px; }
  .manifesto-inner { padding:var(--space-lg) var(--space-md); }
  .auth-cards { grid-template-columns:1fr; }
  .cookie-banner { flex-direction:column; align-items:flex-start; padding:16px 24px; }
  .footer-trust { flex-wrap:wrap; gap:10px; }
}
