/* Spin Samurai Casino AU — visual-signal.css */

/* ===== tokens ===== */
:root {
  --color-primary: #ff4e76;
  --color-accent: #d7fd08;
  --color-accent-pressed: #bcdb00;
  --color-bg: #000000;
  --color-bg-elevated: #141414;
  --color-gradient-light: #353535;
  --color-gradient-mid: #222222;
  --color-text: #ffffff;
  --color-text-muted: #c1c1c1;
  --color-rg-banner: #dc2626;

  --font-display: 'Poppins', system-ui, sans-serif;
  --font-body: 'Poppins', system-ui, sans-serif;

  --fs-h1: 44px; --fs-h2: 34px; --fs-h3: 26px; --fs-h4: 20px;
  --fs-h5: 16px; --fs-h6: 14px; --fs-body: 16px; --fs-small: 14px; --fs-micro: 12px;
  --lh-tight: 1.2; --lh-normal: 1.55; --lh-loose: 1.7;
  --ls-tight: -0.01em; --ls-normal: 0; --ls-wide: 0.02em;
  --fw-regular: 400; --fw-medium: 500; --fw-bold: 700;

  --space-2xs: 2px; --space-xs: 6px; --space-sm: 10px; --space-md: 16px;
  --space-lg: 48px; --space-xl: 80px; --space-2xl: 128px; --space-3xl: 200px;
  --sec-y: 48px;

  --container-site: 1240px;
  --container-readable: 710px;
  --container-padding-mobile: 16px;
  --container-padding-tablet: 32px;
  --container-padding-desktop: 48px;

  --radius-xs: 2px; --radius-sm: 8px; --radius-md: 14px; --radius-lg: 22px;
  --radius-pill: 9999px; --radius-circle: 50%;
  --shadow-xs: 0 0 0 1px rgba(255,255,255,0.06) inset;
  --shadow-sm: 0 4px 12px rgba(0,0,0,0.15), 0 0 0 1px rgba(255,255,255,0.08) inset;
  --shadow-md: 0 8px 24px rgba(0,0,0,0.20), 0 0 0 1px rgba(255,255,255,0.10) inset;
  --shadow-lg: 0 16px 48px rgba(0,0,0,0.30), 0 0 0 1px rgba(255,255,255,0.12) inset;
  --border-thin: 1px; --border-medium: 2px; --border-thick: 3px;

  --dur-fast: 120ms; --dur-base: 150ms; --dur-slow: 200ms;
  --ease-out: cubic-bezier(0.25, 0.46, 0.45, 0.94);

  --header-h-desktop: 128px;
  --header-h-mobile: 72px;
}

/* ===== reset / base ===== */
*, *::before, *::after { box-sizing: border-box; }
html, body { overflow-x: clip; }
body {
  margin: 0;
  background: var(--color-bg);
  color: var(--color-text);
  font-family: var(--font-body);
  font-size: var(--fs-body);
  font-weight: var(--fw-regular);
  line-height: var(--lh-normal);
  padding-top: var(--header-h-desktop);
}
img { max-width: 100%; display: block; height: auto; }
a { color: var(--color-accent); text-decoration: none; }
a:hover { color: var(--color-accent-pressed); }
h1, h2, h3, h4, h5, h6 { margin: 0 0 var(--space-sm); line-height: var(--lh-tight); }
p { margin: 0 0 var(--space-md); }
ul, ol { margin: 0 0 var(--space-md); padding-left: 1.4em; }
li { margin-bottom: var(--space-xs); }
strong { font-weight: var(--fw-bold); }

/* ===== a11y ===== */
.skip-link {
  position: absolute; left: var(--space-md); z-index: 200;
  background: var(--color-accent); color: var(--color-bg);
  padding: var(--space-sm) var(--space-md); border-radius: var(--radius-sm);
}
.skip-link:not(:focus) { top: -200px !important; }
.skip-link:focus { top: var(--space-md); }
.main { display: block; width: 100%; }
@media (prefers-reduced-motion: reduce) {
  * { transition: none !important; animation: none !important; }
}

/* ===== shared section-inner width (widths gate: literal calc) ===== */
.rixabe-topbar-inner, .rixabe-main-inner, .lelyso-inner, .lila-inner,
.ryzovav-inner, .tamudyv-inner, .domovi-inner, .bidyxa-inner, .page-media-inner,
.lexarig-inner, .mazoda-inner, .kasad-inner, .mokule-inner, .tatoded-inner,
.pikox-inner, .zofaz-inner, .pebyl-inner {
  max-width: calc(var(--container-site) + 2 * var(--container-padding-desktop));
  margin-inline: auto;
  padding-inline: var(--container-padding-desktop);
  width: 100%;
}

/* section roots (spacing A-09: pairs = 96) */
.tamudyv, .bidyxa, .page-media, .lexarig, .mazoda, .kasad, .mokule,
.tatoded, .pikox, .zofaz, .guryly-wrap { padding-block: var(--sec-y); }

/* ===== HEADER (HEAD-03 + STICKY-04) ===== */
.rixabe {
  position: fixed; top: 0; left: 0; right: 0; z-index: 100;
  background: var(--color-bg);
  border-bottom: var(--border-thin) solid rgba(255,255,255,0.10);
  transition: transform var(--dur-base) var(--ease-out);
}
.rixabe.is-hidden { transform: translateY(-100%); }
.rixabe-topbar { background: var(--color-primary); }
.rixabe-main { width: 100%; }
.rixabe-topbar-inner {
  display: flex; align-items: center; justify-content: space-between;
  min-height: 32px;
}
.rixabe-info { background: var(--color-primary); color: var(--color-bg); font-size: var(--fs-micro); font-weight: var(--fw-medium); }
.rixabe-cta-mini {
  color: var(--color-accent); background: var(--color-bg);
  font-size: var(--fs-micro); font-weight: var(--fw-bold);
  text-transform: uppercase; letter-spacing: var(--ls-wide);
  padding: 3px 12px; border-radius: var(--radius-sm);
}
.rixabe-cta-mini:hover { color: var(--color-accent-pressed); background: var(--color-bg); }
.rixabe-main-inner {
  display: flex; align-items: center; justify-content: space-between;
  gap: var(--space-lg); min-height: 96px;
}
.rixabe-logo { flex-shrink: 0; display: inline-flex; align-items: center; }
.rixabe-logo, .rixabe-logo-img { flex-shrink: 0; }
.rixabe-logo-img { height: 88px; width: auto; }
.rixabe-toggle {
  display: none; margin-left: auto; flex-direction: column; gap: 5px;
  background: transparent; border: 0; cursor: pointer; padding: 8px;
}
.rixabe-toggle-bar { width: 26px; height: 3px; background: var(--color-text); border-radius: 2px; display: block; }
.rixabe-nav { display: none; flex-direction: column; gap: var(--space-2xs); }
.rixabe-nav-list {
  display: flex; flex-wrap: nowrap; gap: var(--space-sm);
  list-style: none; margin: 0; padding: 0; justify-content: flex-end;
}
.rixabe-nav-list--top {}
.rixabe-nav-list--bottom { padding-top: var(--space-2xs); border-top: 1px solid rgba(255,255,255,0.08); }
.rixabe-nav-item { margin: 0; }
.rixabe-link {
  font-family: var(--font-body); font-weight: var(--fw-regular);
  font-size: var(--fs-small); color: var(--color-text-muted);
  white-space: nowrap; padding-block: var(--space-2xs);
  transition: color var(--dur-fast) var(--ease-out);
}
.rixabe-link:hover { color: var(--color-text); }
.rixabe-link[aria-current='page'] { color: var(--color-accent); font-weight: var(--fw-medium); }

/* drawer (mobile) — inside <header>, id-first, display toggle */
.rixabe-drawer {
  display: none;
  position: fixed; top: var(--header-h-mobile); left: 0; right: 0; bottom: 0;
  background: var(--color-bg); z-index: 99; overflow-y: auto;
  padding: var(--space-md) 0;
  border-top: 1px solid rgba(255,255,255,0.10);
}
.rixabe-drawer.is-open { display: block; }
.rixabe-drawer-list { list-style: none; margin: 0; padding: 0; }
.rixabe-drawer-item { margin: 0; border-bottom: 1px solid rgba(255,255,255,0.06); }
.rixabe-drawer-link {
  display: block; padding: var(--space-md) var(--container-padding-mobile);
  color: var(--color-text); font-size: var(--fs-h5); font-weight: var(--fw-medium);
}
.rixabe-drawer-link:hover { color: var(--color-accent); }
.rixabe-drawer-link[aria-current='page'] { color: var(--color-accent); }

@media (min-width: 1200px) {
  .rixabe-nav { display: flex; }
  .rixabe-toggle { display: none; }
  .rixabe-drawer { display: none !important; }
}
@media (max-width: 1199px) {
  .rixabe-topbar { display: none; }
  .rixabe-toggle { display: flex; }
  body { padding-top: var(--header-h-mobile); }
  .rixabe-main-inner { min-height: var(--header-h-mobile); gap: var(--space-md); }
  .rixabe-logo-img { height: 60px; }
}

/* ===== BREADCRUMBS (BREAD-04) ===== */
.ryzovav { padding-block: var(--space-md); border-bottom: 1px solid rgba(255,255,255,0.05); }
.ryzovav-inner { display: flex; align-items: center; gap: var(--space-sm); flex-wrap: wrap; }
.ryzovav-link { color: var(--color-text-muted); font-size: var(--fs-small); text-transform: uppercase; letter-spacing: var(--ls-wide); }
.ryzovav-link:hover { color: var(--color-text); }
.ryzovav-current { color: var(--color-text); font-size: var(--fs-small); text-transform: uppercase; letter-spacing: var(--ls-wide); }
.ryzovav-num { font-family: var(--font-display); font-weight: var(--fw-bold); font-size: var(--fs-h6); color: var(--color-accent); margin-right: var(--space-2xs); }
.ryzovav-sep { color: var(--color-text-muted); margin-inline: var(--space-sm); }

/* ===== PAGE HEADER (PHEAD-01) ===== */
.tamudyv { border-bottom: 1px solid rgba(255,255,255,0.05); }
.tamudyv-inner { display: flex; flex-direction: column; gap: var(--space-md); }
.tamudyv-eyebrow {
  font-family: var(--font-body); font-weight: var(--fw-medium); font-size: var(--fs-small);
  text-transform: uppercase; letter-spacing: var(--ls-wide); color: var(--color-accent);
}
.tamudyv-title {
  font-family: var(--font-display); font-weight: var(--fw-bold); font-size: var(--fs-h1);
  letter-spacing: var(--ls-tight); line-height: var(--lh-tight); color: var(--color-text);
  max-width: 920px;
}
.tamudyv-divider { width: 60px; height: 2px; background: var(--color-accent); }
.tamudyv-description { font-size: var(--fs-h5); line-height: var(--lh-normal); color: var(--color-text-muted); max-width: 720px; }

/* ===== HERO (HERO-06) — no padding-block on root ===== */
.domovi { position: relative; background: var(--color-bg); overflow: hidden; }
.domovi-inner { position: relative; min-height: 640px; }
.domovi-content {
  position: relative; z-index: 2; width: 52%;
  padding-block: var(--space-xl);
  display: flex; flex-direction: column; gap: var(--space-md); align-items: flex-start;
}
.domovi-title { font-family: var(--font-display); font-weight: var(--fw-bold); font-size: var(--fs-h1); letter-spacing: var(--ls-tight); color: var(--color-text); }
.domovi-subtitle { font-size: var(--fs-h5); color: var(--color-text-muted); max-width: 480px; }
.domovi-cta {
  display: inline-block; background: var(--color-accent); color: var(--color-bg);
  font-family: var(--font-body); font-weight: var(--fw-medium); letter-spacing: var(--ls-wide);
  padding: 14px var(--space-lg); border-radius: var(--radius-md);
  transition: background var(--dur-fast) var(--ease-out);
}
.domovi-cta:hover { background: var(--color-accent-pressed); color: var(--color-bg); }
.domovi-figure {
  position: absolute; right: 0; top: -40px; width: 56%; height: calc(100% + 80px);
  margin: 0; overflow: visible; transform: rotate(2deg); box-shadow: var(--shadow-lg);
  border-radius: var(--radius-md);
}
.domovi-img { width: 100%; height: 100%; object-fit: cover; border-radius: var(--radius-md); }
@media (max-width: 831px) {
  .domovi-inner { display: flex; flex-direction: column; min-height: 0; }
  .domovi-content { width: 100%; padding-block: var(--space-lg); }
  .domovi-figure { position: relative; top: 0; right: 0; width: 100%; height: 280px; transform: none; margin-bottom: var(--space-lg); }
}

/* ===== PROSE (PROSE-07 numbered) ===== */
.bidyxa { counter-reset: section; }
.bidyxa-inner > * { max-width: var(--container-readable); margin-inline: auto; }
.bidyxa h2 {
  font-family: var(--font-display); font-weight: var(--fw-bold); font-size: var(--fs-h2);
  color: var(--color-text); margin-top: var(--space-lg);
}
.bidyxa h2::before {
  counter-increment: section;
  content: counter(section, decimal-leading-zero) ". ";
  color: var(--color-accent); font-family: var(--font-display); font-weight: var(--fw-bold);
  margin-right: var(--space-sm);
}
.bidyxa h3 { font-family: var(--font-body); font-weight: var(--fw-bold); font-size: var(--fs-h3); color: var(--color-text); margin-top: var(--space-md); }
.bidyxa h4 { font-size: var(--fs-h4); color: var(--color-text); }
.bidyxa p { color: var(--color-text-muted); line-height: var(--lh-loose); }
.bidyxa li { color: var(--color-text-muted); line-height: var(--lh-normal); }
.bidyxa a { color: var(--color-accent); text-decoration: underline; }
.bidyxa a:hover { color: var(--color-accent-pressed); }

/* ===== PAGE MEDIA ===== */
.page-media-inner { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: var(--space-md); }
.page-media-fig { margin: 0; border-radius: var(--radius-md); overflow: hidden; box-shadow: var(--shadow-sm); }
.page-media-fig img { width: 100%; height: auto; }

/* ===== ITEMS GRID (GRID-07 editorial) ===== */
.lexarig-heading { font-family: var(--font-display); font-weight: var(--fw-bold); font-size: var(--fs-h2); color: var(--color-text); margin-bottom: var(--space-lg); }
.lexarig-list { display: flex; flex-direction: column; gap: var(--space-lg); }
.lexarig-item { }
.lexarig-item-title { font-family: var(--font-display); font-weight: var(--fw-bold); font-size: var(--fs-h3); color: var(--color-text); }
.lexarig-item-divider { width: 60px; height: 2px; background: var(--color-accent); margin: var(--space-sm) 0; }
.lexarig-item-text { color: var(--color-text-muted); font-size: var(--fs-body); line-height: var(--lh-loose); }

/* ===== TABLE (TABLE-02 borderless editorial) ===== */
.mazoda-table { width: 100%; border-collapse: collapse; }
.mazoda-thead { background: transparent; }
.mazoda-tbody { }
.mazoda-tr { }
.mazoda-th {
  text-align: left; font-family: var(--font-display); font-weight: var(--fw-bold);
  font-size: var(--fs-small); text-transform: uppercase; letter-spacing: var(--ls-wide);
  color: var(--color-text); padding-block: var(--space-md); padding-inline: var(--space-md);
  border-bottom: 2px solid var(--color-accent);
}
.mazoda-td { padding: var(--space-md); font-size: var(--fs-body); color: var(--color-text-muted); border-bottom: 1px solid rgba(255,255,255,0.06); }
.mazoda-td:first-child { color: var(--color-text); font-weight: var(--fw-medium); }
.mazoda-tbody .mazoda-tr:last-child .mazoda-td { border-bottom: none; }

/* ===== REVIEWS (REV-10 minimal) ===== */
.kasad-heading { font-family: var(--font-display); font-weight: var(--fw-bold); font-size: var(--fs-h2); color: var(--color-text); margin-bottom: var(--space-md); }
.kasad-list { display: flex; flex-direction: column; }
.kasad-item { padding-block: var(--space-md); border-bottom: 1px dotted rgba(255,255,255,0.25); }
.kasad-head { margin-bottom: var(--space-xs); }
.kasad-author { font-size: var(--fs-body); font-weight: var(--fw-medium); color: var(--color-text); }
.kasad-rating { font-size: var(--fs-body); color: var(--color-text-muted); }
.kasad-text { font-size: var(--fs-body); line-height: var(--lh-loose); color: var(--color-text-muted); margin: 0; }

/* ===== FAQ (FAQ-07 compact) ===== */
.mokule-heading { font-family: var(--font-display); font-weight: var(--fw-bold); font-size: var(--fs-h2); color: var(--color-text); margin-bottom: var(--space-md); }
.mokule-list { display: flex; flex-direction: column; gap: var(--space-sm); }
.mokule-item { border-bottom: 1px solid rgba(255,255,255,0.06); }
.mokule-q {
  font-size: var(--fs-small); font-weight: var(--fw-medium); color: var(--color-text);
  padding-block: var(--space-xs); cursor: pointer; list-style: none;
}
.mokule-q::-webkit-details-marker { display: none; }
.mokule-q::after { content: '+'; float: right; color: var(--color-accent); }
.mokule-item[open] .mokule-q::after { content: '\2212'; }
.mokule-a { font-size: var(--fs-small); line-height: var(--lh-normal); color: var(--color-text-muted); padding-block: var(--space-xs); }

/* ===== CTA (CTA-05 dual action) ===== */
.tatoded { background: var(--color-bg-elevated); }
.tatoded-inner { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-md); }
.tatoded-title { font-family: var(--font-display); font-weight: var(--fw-bold); font-size: var(--fs-h2); color: var(--color-text); }
.tatoded-text { color: var(--color-text-muted); max-width: 580px; }
.tatoded-actions { display: flex; gap: var(--space-md); flex-wrap: wrap; }
.tatoded-button { display: inline-block; font-family: var(--font-body); font-weight: var(--fw-medium); letter-spacing: var(--ls-wide); padding: 14px var(--space-lg); border-radius: var(--radius-md); transition: background var(--dur-fast) var(--ease-out); }
.tatoded-button--primary { background: var(--color-accent); color: var(--color-bg); }
.tatoded-button--primary:hover { background: var(--color-accent-pressed); color: var(--color-bg); }
.tatoded-button--secondary { background: var(--color-bg); color: var(--color-text); border: 1px solid var(--color-text-muted); }
.tatoded-button--secondary:hover { background: var(--color-bg-elevated); color: var(--color-text); border-color: var(--color-text); }

/* ===== BYLINE (BYLINE-06) — narrow, not -inner ===== */
.sebe { padding-block: var(--space-md); }
.sebe-hold {
  max-width: var(--container-readable); margin-inline: auto;
  padding-inline: var(--container-padding-desktop);
  display: flex; align-items: center; gap: var(--space-md);
}
.sebe-text { flex: 1; font-size: var(--fs-small); font-style: italic; color: var(--color-text-muted); margin: 0; }
.sebe-label { text-transform: uppercase; letter-spacing: var(--ls-wide); font-style: normal; font-size: var(--fs-micro); color: var(--color-text-muted); margin-right: var(--space-xs); }
.sebe-name { color: var(--color-accent); text-decoration: underline; font-style: normal; font-weight: var(--fw-medium); }
.sebe-name:hover { color: var(--color-accent); text-decoration-thickness: 2px; }
.sebe-divider { margin-inline: var(--space-xs); }
.sebe-role { }
.sebe-portrait { width: 40px; height: 40px; border-radius: var(--radius-circle); object-fit: cover; flex-shrink: 0; }

/* ===== AUTHOR CARD (AUTH-05 compact) ===== */
.guryly-wrap { }
.guryly {
  display: flex; gap: var(--space-sm); align-items: flex-start;
  background: var(--color-bg-elevated); border-radius: var(--radius-md);
  padding: var(--space-md); max-width: 480px;
  box-shadow: var(--shadow-xs);
}
.guryly-portrait { width: 56px; height: 56px; border-radius: var(--radius-circle); object-fit: cover; flex-shrink: 0; }
.guryly-body { display: flex; flex-direction: column; gap: var(--space-2xs); }
.guryly-job { font-size: var(--fs-micro); text-transform: uppercase; letter-spacing: var(--ls-wide); color: var(--color-accent); }
.guryly-name { font-size: var(--fs-body); font-weight: var(--fw-bold); color: var(--color-text); }
.guryly-bio { font-size: var(--fs-small); color: var(--color-text-muted); margin: 0; }

/* ===== LEGAL (LEGAL-07 magazine) ===== */
.pikox-inner > * { max-width: var(--container-readable); margin-inline: auto; }
.pikox-intro { font-family: var(--font-display); font-style: italic; font-size: var(--fs-h4); color: var(--color-text); line-height: var(--lh-normal); margin-bottom: var(--space-lg); }
.pikox-h3 { font-family: var(--font-display); font-style: italic; font-size: var(--fs-h3); color: var(--color-text); margin-top: var(--space-lg); }
.pikox-rule { width: 80px; height: 2px; background: var(--color-accent); border: 0; margin: var(--space-sm) 0 var(--space-md); text-align: left; margin-inline: 0; }
.pikox-p { color: var(--color-text-muted); line-height: var(--lh-loose); }
.pikox-p:first-of-type::first-letter { font-size: 3em; float: left; line-height: 0.9; padding-right: var(--space-xs); color: var(--color-accent); font-family: var(--font-display); font-weight: var(--fw-bold); }
.pikox-support { color: var(--color-text-muted); }
.pikox-support-item { color: var(--color-text-muted); line-height: var(--lh-normal); }
.pikox-disclaimer { font-size: var(--fs-small); color: var(--color-text-muted); font-style: italic; margin-top: var(--space-lg); }

/* ===== FORM (FORM-06 floating labels) ===== */
.zofaz-inner > * { max-width: var(--container-readable); margin-inline: auto; }
.zofaz-intro { color: var(--color-text-muted); margin-bottom: var(--space-lg); }
.zofaz-form { display: flex; flex-direction: column; gap: var(--space-md); max-width: var(--container-readable); margin-inline: auto; }
.zofaz-field { position: relative; }
.zofaz-input, .zofaz-textarea {
  width: 100%; padding: var(--space-lg) var(--space-md) var(--space-sm);
  background: var(--color-bg-elevated); border: 1px solid rgba(255,255,255,0.12);
  border-radius: var(--radius-sm); color: var(--color-text); font-family: var(--font-body); font-size: var(--fs-body);
}
.zofaz-textarea { resize: vertical; }
.zofaz-input:focus, .zofaz-textarea:focus { outline: 2px solid var(--color-accent); outline-offset: 1px; border-color: var(--color-accent); }
.zofaz-label {
  position: absolute; top: var(--space-md); left: var(--space-md);
  color: var(--color-text-muted); pointer-events: none;
  transition: top var(--dur-base), font-size var(--dur-base), color var(--dur-base);
}
.zofaz-input:focus + .zofaz-label,
.zofaz-input:not(:placeholder-shown) + .zofaz-label,
.zofaz-textarea:focus + .zofaz-label,
.zofaz-textarea:not(:placeholder-shown) + .zofaz-label {
  top: var(--space-xs); font-size: var(--fs-micro); color: var(--color-accent);
}
.zofaz-submit {
  align-self: flex-start; background: var(--color-accent); color: var(--color-bg);
  font-family: var(--font-body); font-weight: var(--fw-medium); letter-spacing: var(--ls-wide);
  padding: 14px var(--space-lg); border: 0; border-radius: var(--radius-md); cursor: pointer;
  transition: background var(--dur-fast) var(--ease-out);
}
.zofaz-submit:hover { background: var(--color-accent-pressed); color: var(--color-bg); }
.zofaz-success { color: var(--color-accent); font-weight: var(--fw-medium); }

/* ===== ERROR (ERR-01) ===== */
.pebyl { padding-block: var(--sec-y); }
.pebyl-inner { display: flex; flex-direction: column; align-items: center; gap: var(--space-lg); text-align: center; min-height: 60vh; justify-content: center; }
.pebyl-code { font-family: var(--font-display); font-weight: var(--fw-bold); font-size: clamp(80px, 18vw, 200px); line-height: var(--lh-tight); color: var(--color-accent); }
.pebyl-title { font-family: var(--font-display); font-weight: var(--fw-bold); font-size: var(--fs-h1); color: var(--color-text); max-width: 720px; }
.pebyl-text { font-size: var(--fs-h5); color: var(--color-text-muted); max-width: 600px; }
.pebyl-button {
  background: var(--color-accent); color: var(--color-bg); font-family: var(--font-display);
  font-weight: var(--fw-bold); text-transform: uppercase; letter-spacing: var(--ls-wide);
  padding: 16px var(--space-xl); border-radius: var(--radius-md);
  transition: background var(--dur-fast) var(--ease-out);
}
.pebyl-button:hover { background: var(--color-accent-pressed); color: var(--color-bg); }

/* ===== FOOTER (FOOT-04 sticky mini) ===== */
.lelyso {
  position: sticky; bottom: 0; z-index: 5;
  background: rgba(0,0,0,0.95); backdrop-filter: blur(8px);
  border-top: 1px solid rgba(255,255,255,0.10);
}
.lelyso-inner { display: flex; align-items: center; justify-content: space-between; min-height: 64px; gap: var(--space-md); }
.lelyso-copy { font-size: var(--fs-micro); color: var(--color-text-muted); }
.lelyso-nav { display: flex; align-items: center; gap: var(--space-sm); }
.lelyso-link {
  font-size: var(--fs-micro); text-transform: uppercase; letter-spacing: var(--ls-wide);
  color: var(--color-text-muted); padding-left: var(--space-sm); border-left: 1px solid rgba(255,255,255,0.15);
}
.lelyso-nav .lelyso-link:first-child { border-left: 0; padding-left: 0; }
.lelyso-link:hover { color: var(--color-text); }
@media (max-width: 719px) {
  .lelyso-inner { flex-direction: column; min-height: 80px; gap: var(--space-xs); align-items: flex-start; justify-content: center; }
}

/* ===== COOKIE (COOK-02 full-width strip) ===== */
.lila {
  position: fixed; bottom: 0; left: 0; right: 0; z-index: 90;
  background: var(--color-primary); border-top: 1px solid rgba(255,255,255,0.08);
  padding-block: var(--space-md);
}
.lila-inner { display: flex; align-items: center; justify-content: space-between; gap: var(--space-md); }
.lila-message { flex: 1; font-size: var(--fs-small); color: var(--color-bg); margin: 0; }
.lila-actions { flex-shrink: 0; display: flex; gap: var(--space-sm); }
.lila-button { font-family: var(--font-body); font-weight: var(--fw-medium); font-size: var(--fs-small); padding: 10px var(--space-md); border-radius: var(--radius-sm); border: 0; cursor: pointer; }
.lila-button--accept { background: var(--color-accent); color: var(--color-bg); }
.lila-button--accept:hover { background: var(--color-accent-pressed); color: var(--color-bg); }
.lila-button--decline { background: var(--color-bg); color: var(--color-text); border: 1px solid rgba(255,255,255,0.25); }
.lila-button--decline:hover { background: var(--color-bg-elevated); color: var(--color-text); }
@media (max-width: 720px) {
  .lila, .lila-inner { padding: 12px 14px !important; gap: 8px !important; font-size: 13px !important; line-height: 1.35 !important; }
  .lila-inner { flex-direction: column; align-items: stretch; }
  .lila-button { padding: 8px 14px !important; font-size: 12px !important; min-height: 36px !important; }
}

/* ===== mobile type scale (TYPO-02) ===== */
@media (max-width: 831px) {
  :root {
    --fs-h1: 30px; --fs-h2: 24px; --fs-h3: 20px; --fs-h4: 18px;
    --fs-h5: 15px; --fs-h6: 13px; --fs-body: 15px; --fs-small: 13px; --fs-micro: 11px;
    --container-padding-desktop: 16px;
  }
}
@media (min-width: 832px) and (max-width: 1135px) {
  :root { --container-padding-desktop: 32px; }
}

[class*='-fig'] img, [class*='-media'] img, main figure img, article figure img { width: 100% !important; max-height: 58vh !important; object-fit: cover; object-position: center; }
