/* ============================================================================
   SWATI TARA — charte des pages publiques (site autonome india/, 27/10/2026).
   Direction artistique du template vidéo de la séance (quiz 1867) : « Nuit indigo & patrika ivoire ».
   Couleurs du template (template/grid.py) : nuit #0F1330, nuit haute #182050, cartouche #151B40, filet #2C3566,
   or #D8A84E, or doux #F0D28C, texte #EDE6D6, sourd #A9A3C2, ivoire #F6EEDC, encre #2A1E14, numéro #8A6A45,
   safran #E8772E. Polices : Cormorant Garamond (libellés, titres, marque) et Inter (valeurs, texte).
   Chargée après app.css / app-nav.css (structure des pages internes) : re-tokenise leur thème sombre.
   ========================================================================== */

:root{
  --sw-night:#0F1330; --sw-night-hi:#182050; --sw-night-deep:#0A0D24; --sw-cartouche:#151B40; --sw-line:#2C3566;
  --sw-gold:#D8A84E; --sw-gold-soft:#F0D28C; --sw-gold-deep:#B88A36; --sw-text:#EDE6D6; --sw-muted:#A9A3C2;
  --sw-ivory:#F6EEDC; --sw-ink:#2A1E14; --sw-num:#8A6A45; --sw-saffron:#E8772E;
  --sw-serif:"Cormorant Garamond","Cormorant",Garamond,"Iowan Old Style",Georgia,serif;
  --sw-sans:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --sw-r:14px; --sw-r-lg:22px; --sw-maxw:1160px;
  /* thème des pages internes (app.css, auth.css, legal.css) */
  --ink:var(--sw-night); --ink-deep:var(--sw-night-deep); --panel:var(--sw-cartouche); --panel-2:var(--sw-night-hi);
  --glass:rgba(15,19,48,.78); --line:rgba(216,168,78,.22); --line-2:rgba(216,168,78,.34); --line-3:rgba(216,168,78,.55);
  --gold:var(--sw-gold); --gold-bright:var(--sw-gold-soft); --gold-deep:var(--sw-gold-deep);
  --cream:var(--sw-ivory); --text:var(--sw-text); --text-dim:var(--sw-muted); --text-mute:#8E89A8;
  --serif:var(--sw-serif); --sans:var(--sw-sans);
  --glow:0 0 90px -22px rgba(216,168,78,.38);
}

html{ background:var(--sw-night); scroll-behavior:smooth; }
body.sw-site{
  margin:0; color:var(--sw-text); font-family:var(--sw-sans); font-size:clamp(15px,14px + .25vw,17px); line-height:1.65;
  background:
    radial-gradient(1.2px 1.2px at 12% 18%, rgba(255,240,205,.55) 50%, transparent 52%),
    radial-gradient(1px 1px at 72% 12%, rgba(255,240,205,.45) 50%, transparent 52%),
    radial-gradient(1.4px 1.4px at 88% 44%, rgba(240,210,140,.5) 50%, transparent 52%),
    radial-gradient(1px 1px at 33% 62%, rgba(255,240,205,.35) 50%, transparent 52%),
    radial-gradient(1.2px 1.2px at 58% 84%, rgba(255,240,205,.4) 50%, transparent 52%),
    radial-gradient(1px 1px at 6% 90%, rgba(240,210,140,.4) 50%, transparent 52%),
    radial-gradient(110% 70% at 50% -10%, var(--sw-night-hi) 0%, var(--sw-night) 48%, var(--sw-night-deep) 100%);
  background-attachment:fixed; background-size:420px 420px,520px 520px,610px 610px,470px 470px,550px 550px,390px 390px,100% 100%;
  -webkit-font-smoothing:antialiased; overflow-x:hidden; min-height:100vh;
}
body.sw-site::before{ /* champ d'étoiles d'Astra (fond-nuit), très discret, quand il existe */
  content:""; position:fixed; inset:0; z-index:0; pointer-events:none; opacity:.55;
  background:var(--sw-night-img, none) center/cover no-repeat;
}
body.sw-site > header, body.sw-site > main, body.sw-site > footer{ position:relative; z-index:1; } /* jamais la fenêtre de commande ni le bandeau (position:fixed) */
.sw-site img,.sw-site svg{ display:block; max-width:100%; height:auto; }
.sw-site a{ color:inherit; }
.sw-site h1,.sw-site h2,.sw-site h3{ font-family:var(--sw-serif); font-weight:600; color:var(--sw-ivory); letter-spacing:.005em; margin:0; }
.sw-site p{ margin:0; }
.sw-site ::selection{ background:rgba(216,168,78,.32); color:#fff; }
.sw-site :focus-visible{ outline:2px solid var(--sw-gold-soft); outline-offset:3px; border-radius:6px; }
.sw-container{ width:min(var(--sw-maxw), calc(100% - 32px)); margin:0 auto; }
.sw-sr{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }

/* ── Libellés du template ──────────────────────────────────────────────────── */
.sw-label{ font-family:var(--sw-serif); font-weight:600; text-transform:uppercase; letter-spacing:.2em; color:var(--sw-gold); font-size:.82rem; }
.sw-label small{ font-family:var(--sw-sans); text-transform:none; letter-spacing:0; color:var(--sw-gold-soft); font-weight:500; font-size:.8rem; }
.sw-kicker{ display:inline-flex; align-items:center; gap:10px; font-family:var(--sw-serif); font-weight:600; text-transform:uppercase; letter-spacing:.24em; color:var(--sw-gold); font-size:.8rem; }
.sw-dot{ width:9px; height:9px; border-radius:50%; background:var(--sw-saffron); box-shadow:0 0 0 3px rgba(232,119,46,.18); flex:none; }
.sw-h1{ font-size:clamp(2.3rem, 1.6rem + 3.2vw, 4.2rem); line-height:1.02; }
.sw-h2{ font-size:clamp(1.85rem, 1.4rem + 1.9vw, 2.9rem); line-height:1.08; }
.sw-h3{ font-size:clamp(1.3rem, 1.15rem + .5vw, 1.6rem); line-height:1.2; }
.sw-lead{ color:#DCD5C6; font-size:clamp(1.02rem, .98rem + .25vw, 1.16rem); max-width:58ch; }
.sw-muted{ color:var(--sw-muted); }
.sw-gold{ color:var(--sw-gold); }
.sw-fleuron{ display:block; width:min(340px,70%); height:auto; margin:0 auto; opacity:.9; }
.sw-rule{ height:1px; border:0; margin:0; background:linear-gradient(90deg, transparent, rgba(216,168,78,.45), transparent); }

/* ── Boutons ───────────────────────────────────────────────────────────────── */
.sw-btn{ display:inline-flex; align-items:center; justify-content:center; gap:10px; padding:15px 26px; border-radius:999px;
  background:linear-gradient(180deg,#E5BA62,var(--sw-gold) 55%,#C5933B); color:var(--sw-night); font-weight:700; font-size:1rem;
  text-decoration:none; border:1px solid #E9C67A; box-shadow:0 12px 30px -16px rgba(216,168,78,.75), inset 0 1px 0 rgba(255,255,255,.35);
  transition:transform .2s, box-shadow .2s, background .2s; cursor:pointer; font-family:var(--sw-sans); line-height:1.2; }
.sw-btn:hover{ transform:translateY(-1px); background:linear-gradient(180deg,#F0CB7C,#E1B45B 55%,#CC9B44); box-shadow:0 16px 36px -16px rgba(216,168,78,.85), inset 0 1px 0 rgba(255,255,255,.4); }
.sw-btn svg{ width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.sw-btn--lg{ padding:18px 32px; font-size:1.06rem; }
.sw-btn--ghost{ background:transparent; color:var(--sw-gold-soft); border:1px solid rgba(216,168,78,.6); box-shadow:none; }
.sw-btn--ghost:hover{ background:rgba(216,168,78,.1); box-shadow:none; }
.sw-btn--block{ width:100%; }
.sw-link{ color:var(--sw-gold-soft); text-decoration:underline; text-decoration-color:rgba(216,168,78,.45); text-underline-offset:3px; }
.sw-link:hover{ text-decoration-color:var(--sw-gold-soft); }

/* ── En-tête ───────────────────────────────────────────────────────────────── */
.sw-header{ position:sticky; top:0; z-index:40; background:rgba(12,16,40,.82); -webkit-backdrop-filter:blur(12px); backdrop-filter:blur(12px);
  border-bottom:1px solid rgba(216,168,78,.18); }
.sw-header.is-scrolled{ box-shadow:0 10px 30px -22px rgba(0,0,0,.8); }
.sw-header__inner{ display:flex; align-items:center; gap:24px; min-height:72px; width:min(var(--sw-maxw), calc(100% - 32px)); margin:0 auto; }
.sw-wordmark{ display:inline-flex; flex-direction:column; text-decoration:none; line-height:1; margin-right:auto; }
.sw-wordmark__name{ font-family:var(--sw-serif); font-weight:600; font-size:1.55rem; letter-spacing:.16em; color:var(--sw-gold); }
.sw-wordmark__sub{ font-family:var(--sw-serif); font-weight:600; font-size:.62rem; letter-spacing:.24em; color:var(--sw-gold-soft); opacity:.8; margin-top:5px; text-transform:uppercase; }
.sw-nav{ display:flex; align-items:center; gap:26px; }
.sw-nav a{ text-decoration:none; color:var(--sw-text); font-size:.94rem; font-weight:500; padding:6px 0; border-bottom:1px solid transparent; }
.sw-nav a:hover,.sw-nav a[aria-current="page"]{ color:var(--sw-gold-soft); border-bottom-color:rgba(216,168,78,.6); }
.sw-header .sw-btn{ padding:11px 20px; font-size:.92rem; }
.sw-burger{ display:none; width:44px; height:44px; border-radius:12px; border:1px solid rgba(216,168,78,.4); background:transparent; position:relative; }
.sw-burger span{ position:absolute; left:12px; right:12px; height:1.6px; background:var(--sw-gold-soft); transition:transform .25s, opacity .25s; }
.sw-burger span:first-child{ top:17px; } .sw-burger span:last-child{ top:25px; }
.sw-burger[aria-expanded="true"] span:first-child{ transform:translateY(4px) rotate(45deg); }
.sw-burger[aria-expanded="true"] span:last-child{ transform:translateY(-4px) rotate(-45deg); }
.sw-mobile{ display:none; }
@media (max-width:900px){
  .sw-nav,.sw-header .sw-header__cta{ display:none; }
  .sw-burger{ display:block; }
  .sw-mobile{ display:grid; gap:4px; padding:0 16px; max-height:0; overflow:hidden; transition:max-height .3s, padding .3s; border-top:1px solid transparent; }
  .sw-mobile.is-open{ max-height:420px; padding:10px 16px 18px; border-top-color:rgba(216,168,78,.18); }
  .sw-mobile a:not(.sw-btn){ padding:12px 2px; text-decoration:none; color:var(--sw-text); border-bottom:1px solid rgba(44,53,102,.8); }
  .sw-mobile .sw-btn{ margin-top:10px; }
  .sw-wordmark__name{ font-size:1.3rem; }
}

/* ── Bulle de Swati (template : bulle ronde, filet or, roue des 27 nakshatras) ─ */
.sw-bubble{ position:relative; margin:0; width:min(440px, 100%); aspect-ratio:1; }
.sw-bubble::before{ content:""; position:absolute; inset:6%; border-radius:50%; background:radial-gradient(closest-side, rgba(24,32,80,.9), rgba(15,19,48,0) 100%); filter:blur(6px); transform:scale(1.18); }
.sw-bubble__img{ position:absolute; inset:10%; width:80%; height:80%; object-fit:cover; border-radius:50%; background:var(--sw-night-hi); }
.sw-bubble__ring{ position:absolute; inset:0; width:100%; height:100%; }
.sw-bubble--sm{ width:min(180px, 100%); }

/* ── Cartouches (boîtes indigo à filet or du template) ─────────────────────── */
.sw-card{ background:linear-gradient(180deg, rgba(24,32,80,.55), rgba(21,27,64,.92)); border:1px solid var(--sw-line); border-radius:var(--sw-r);
  padding:clamp(18px,2.4vw,26px); box-shadow:0 24px 60px -44px rgba(0,0,0,.9); }
.sw-card--gold{ border-color:rgba(216,168,78,.45); }
.sw-card h3{ font-family:var(--sw-serif); font-size:1.45rem; color:var(--sw-ivory); margin:0 0 8px; }
.sw-card p{ color:#D6CFBF; }
.sw-chip{ display:inline-flex; align-items:center; gap:8px; padding:6px 12px; border-radius:999px; border:1px solid rgba(216,168,78,.4); color:var(--sw-gold-soft); font-size:.82rem; font-weight:500; background:rgba(216,168,78,.06); }
.sw-medal{ display:inline-grid; place-items:center; width:92px; height:92px; border-radius:50%; overflow:hidden; border:2px solid var(--sw-gold); box-shadow:0 0 0 4px rgba(15,19,48,.9), 0 0 0 5px rgba(216,168,78,.45); background:var(--sw-night); flex:none; }
.sw-medal img{ width:118%; height:118%; max-width:none; object-fit:cover; }
.sw-medal--lg{ width:118px; height:118px; }
.sw-medal--sm{ width:64px; height:64px; }

/* ── Patrika (papier ivoire, double filet or) ──────────────────────────────── */
.sw-patrika{ background:var(--sw-ivory) var(--sw-paper-img, none) center/cover; color:var(--sw-ink); border-radius:6px; padding:clamp(16px,2.2vw,24px);
  box-shadow:0 0 0 1px #B88A36, 0 0 0 6px var(--sw-night), 0 0 0 7px rgba(216,168,78,.7), 0 40px 80px -40px rgba(0,0,0,.9); }
.sw-patrika h3,.sw-patrika .sw-label{ color:#7A5524; }
.sw-kundli__svg{ width:100%; height:auto; }

/* ── Sections ─────────────────────────────────────────────────────────────── */
.sw-section{ padding:clamp(56px,8vw,104px) 0; }
.sw-section--tight{ padding:clamp(40px,6vw,72px) 0; }
.sw-section__head{ display:grid; gap:14px; max-width:740px; margin:0 0 clamp(28px,4vw,44px); }
.sw-section__head--center{ text-align:center; margin-left:auto; margin-right:auto; justify-items:center; }
.sw-grid-2{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(18px,2.4vw,28px); }
.sw-grid-3{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(16px,2vw,24px); }
.sw-grid-4{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:clamp(14px,1.8vw,22px); }
@media (max-width:980px){ .sw-grid-4{ grid-template-columns:repeat(2,minmax(0,1fr)); } .sw-grid-3{ grid-template-columns:1fr; } }
@media (max-width:640px){ .sw-grid-2,.sw-grid-4{ grid-template-columns:1fr; } }

/* ── Accueil : héros ───────────────────────────────────────────────────────── */
.sw-hero{ padding:clamp(28px,5vw,64px) 0 clamp(48px,6vw,80px); }
.sw-hero__grid{ display:grid; grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr); gap:clamp(28px,5vw,64px); align-items:center; }
.sw-hero__copy{ display:grid; gap:22px; justify-items:start; }
.sw-hero__cta{ display:flex; flex-wrap:wrap; gap:12px 18px; align-items:center; }
.sw-hero__note{ color:var(--sw-muted); font-size:.9rem; }
.sw-hero__visual{ position:relative; display:grid; justify-items:center; }
.sw-hero__labels{ position:absolute; top:2%; left:0; right:0; display:flex; justify-content:space-between; pointer-events:none; }
.sw-hero__pills{ display:flex; flex-wrap:wrap; gap:8px; }
@media (max-width:900px){
  .sw-hero__grid{ grid-template-columns:1fr; }
  .sw-hero__visual{ order:-1; }
  .sw-hero__visual .sw-bubble{ width:min(300px,78vw); }
  .sw-hero__copy{ justify-items:center; text-align:center; }
  .sw-hero__cta{ justify-content:center; }
  .sw-hero__pills{ justify-content:center; }
}

/* Trois cartouches LAGNA · RASHI · NAKSHATRA (comme l'écran de la séance) */
.sw-trio{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.sw-trio__cell{ display:grid; justify-items:center; gap:12px; text-align:center; padding:18px 14px 20px; background:var(--sw-cartouche); border:1px solid var(--sw-line); border-radius:var(--sw-r); }
.sw-trio__value{ font-family:var(--sw-sans); font-weight:700; color:var(--sw-gold-soft); letter-spacing:.02em; font-size:1.05rem; line-height:1.15; }
.sw-trio__value small{ display:block; font-weight:600; color:#E9D9B0; font-size:.86rem; margin-top:3px; }
@media (max-width:640px){ .sw-trio{ gap:8px; } .sw-trio__cell{ padding:14px 8px; } .sw-trio .sw-medal{ width:62px; height:62px; } .sw-trio__value{ font-size:.86rem; } .sw-trio .sw-label{ font-size:.66rem; letter-spacing:.12em; } }

/* Écran de démonstration : kundli + colonne de cartouches (MAHADASHA, SHANI, GURU, FENÊTRE) */
.sw-screen{ display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr); gap:clamp(18px,2.6vw,30px); align-items:start; }
.sw-screen__col{ display:grid; gap:12px; }
.sw-slot{ padding:12px 16px; border:1px solid var(--sw-line); border-radius:12px; background:var(--sw-cartouche); }
.sw-slot .sw-label{ font-size:.72rem; letter-spacing:.18em; }
.sw-slot b{ display:block; font-weight:700; color:var(--sw-gold-soft); font-size:1.08rem; line-height:1.25; margin-top:2px; }
.sw-window{ margin-top:6px; text-align:center; font-weight:700; color:var(--sw-gold); font-size:1.02rem; letter-spacing:.02em; }
.sw-window span{ color:var(--sw-gold-soft); }
@media (max-width:820px){ .sw-screen{ grid-template-columns:1fr; } }

/* Les quatre portes du quiz */
.sw-door{ display:grid; gap:14px; justify-items:center; text-align:center; text-decoration:none; padding:26px 18px 24px; border-radius:var(--sw-r); border:1px solid var(--sw-line);
  background:linear-gradient(180deg, rgba(24,32,80,.6), rgba(21,27,64,.95)); transition:border-color .2s, transform .2s, box-shadow .2s; }
.sw-door:hover{ border-color:rgba(216,168,78,.6); transform:translateY(-2px); box-shadow:0 26px 60px -40px rgba(216,168,78,.45); }
.sw-door h3{ font-size:1.42rem; }
.sw-door p{ color:#CFC8B8; font-size:.95rem; }
.sw-door__go{ color:var(--sw-gold-soft); font-weight:600; font-size:.9rem; display:inline-flex; gap:6px; align-items:center; }

/* Étapes */
.sw-steps{ counter-reset:sw-step; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(16px,2vw,24px); }
.sw-step{ position:relative; padding:24px 22px 22px; border-radius:var(--sw-r); background:var(--sw-cartouche); border:1px solid var(--sw-line); }
.sw-step::before{ counter-increment:sw-step; content:counter(sw-step); display:grid; place-items:center; width:38px; height:38px; border-radius:50%;
  border:1.5px solid var(--sw-gold); color:var(--sw-gold-soft); font-family:var(--sw-serif); font-weight:700; font-size:1.25rem; margin-bottom:14px; }
.sw-step h3{ font-size:1.4rem; margin-bottom:6px; }
.sw-step p{ color:#CFC8B8; font-size:.96rem; }
@media (max-width:860px){ .sw-steps{ grid-template-columns:1fr; } }

/* Lecture complète : liste des livrables */
.sw-ticks{ list-style:none; margin:0; padding:0; display:grid; gap:12px; }
.sw-ticks li{ display:grid; grid-template-columns:22px 1fr; gap:12px; align-items:start; color:#DCD5C6; }
.sw-ticks li::before{ content:""; width:18px; height:18px; margin-top:3px; border-radius:50%; border:1.5px solid var(--sw-gold);
  background:radial-gradient(circle at 50% 50%, var(--sw-gold) 0 3px, transparent 3.5px); }
.sw-patrika .sw-ticks li{ color:var(--sw-ink); }
.sw-patrika .sw-ticks li::before{ border-color:#B88A36; background:radial-gradient(circle at 50% 50%, #B88A36 0 3px, transparent 3.5px); }

/* Offres (commandes) */
.sw-offer{ display:grid; grid-template-rows:auto 1fr auto; gap:14px; padding:24px 22px; border-radius:var(--sw-r-lg); background:linear-gradient(180deg, rgba(24,32,80,.7), rgba(21,27,64,.96));
  border:1px solid var(--sw-line); text-decoration:none; transition:border-color .2s, transform .2s; position:relative; }
.sw-offer:hover{ border-color:rgba(216,168,78,.55); transform:translateY(-2px); }
.sw-offer__top{ display:flex; gap:16px; align-items:center; }
.sw-offer h3{ font-size:1.5rem; }
.sw-offer__for{ color:var(--sw-gold-soft); font-size:.86rem; font-weight:500; }
.sw-offer__body{ color:#D6CFBF; font-size:.96rem; display:grid; gap:10px; align-content:start; }
.sw-offer__foot{ display:flex; align-items:center; justify-content:space-between; gap:12px; padding-top:14px; border-top:1px solid var(--sw-line); }
.sw-price{ font-family:var(--sw-serif); font-weight:700; font-size:1.7rem; color:var(--sw-ivory); line-height:1; }
.sw-price small{ display:block; font-family:var(--sw-sans); font-weight:500; font-size:.76rem; color:var(--sw-muted); margin-top:5px; }
.sw-badge{ position:absolute; top:-11px; left:22px; padding:4px 12px; border-radius:999px; background:var(--sw-saffron); color:#fff; font-size:.72rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; }

/* FAQ */
.sw-faq{ display:grid; gap:12px; max-width:860px; margin:0 auto; }
.sw-faq details{ border:1px solid var(--sw-line); border-radius:12px; background:rgba(21,27,64,.75); }
.sw-faq summary{ cursor:pointer; list-style:none; padding:18px 52px 18px 20px; position:relative; font-weight:600; color:var(--sw-ivory); }
.sw-faq summary::-webkit-details-marker{ display:none; }
.sw-faq summary::after{ content:"+"; position:absolute; right:20px; top:50%; transform:translateY(-50%); color:var(--sw-gold); font-size:1.4rem; font-weight:400; }
.sw-faq details[open] summary::after{ content:"–"; }
.sw-faq details > div{ padding:0 20px 18px; color:#D6CFBF; }

/* Bandeau final */
.sw-band{ text-align:center; display:grid; gap:18px; justify-items:center; padding:clamp(36px,5vw,56px) clamp(18px,4vw,48px); border-radius:var(--sw-r-lg);
  border:1px solid rgba(216,168,78,.4); background:radial-gradient(120% 120% at 50% 0%, rgba(216,168,78,.12), transparent 60%), var(--sw-cartouche); }

/* ── Pied ──────────────────────────────────────────────────────────────────── */
.sw-footer{ margin-top:clamp(40px,6vw,80px); border-top:1px solid rgba(216,168,78,.2); background:rgba(10,13,36,.85); }
.sw-footer__inner{ width:min(var(--sw-maxw), calc(100% - 32px)); margin:0 auto; padding:44px 0 32px; display:grid; gap:22px; justify-items:center; text-align:center; }
.sw-footer__tag{ font-family:var(--sw-serif); font-size:1.3rem; color:var(--sw-ivory); }
.sw-footer nav{ display:flex; flex-wrap:wrap; justify-content:center; gap:10px 22px; }
.sw-footer nav a{ color:var(--sw-muted); text-decoration:none; font-size:.9rem; }
.sw-footer nav a:hover{ color:var(--sw-gold-soft); }
.sw-footer__legal{ color:#8E89A8; font-size:.8rem; max-width:70ch; line-height:1.6; }

/* ── Pages internes (connexion, compte, contact, mentions, 404, paiement) ──── */
.sw-page{ padding:clamp(28px,5vw,60px) 0 clamp(40px,6vw,72px); }
.sw-page .wrap{ width:min(var(--sw-maxw), calc(100% - 32px)); margin:0 auto; }
.sw-breadcrumb{ display:flex; gap:8px; color:var(--sw-muted); font-size:.86rem; margin-bottom:18px; }
.sw-breadcrumb a{ color:var(--sw-gold-soft); text-decoration:none; }
.sw-site .authcard{ background:radial-gradient(130% 90% at 50% -10%,rgba(216,168,78,.12),transparent 60%),linear-gradient(180deg,var(--sw-cartouche),rgba(15,19,48,.92)); border-color:rgba(216,168,78,.35); }
.sw-site .authcard__title,.sw-site .legal h1,.sw-site .legal h2{ font-family:var(--sw-serif); font-weight:600; }
.sw-site .btn--gold,.sw-site .btn--primary{ background:linear-gradient(180deg,#E5BA62,var(--sw-gold) 55%,#C5933B); color:var(--sw-night); border-color:#E9C67A; }
.sw-site input,.sw-site select,.sw-site textarea{ color-scheme:dark; }


/* ── Accueil : compléments ─────────────────────────────────────────────────── */
.sw-hero__name{ display:grid; justify-items:center; gap:2px; margin-top:-6px; text-align:center; }
.sw-hero__name .sw-label{ font-size:1rem; letter-spacing:.3em; }
.sw-hero__name .sw-muted{ font-family:var(--sw-serif); font-size:.82rem; letter-spacing:.2em; text-transform:uppercase; }
.sw-bubble--hero{ width:min(470px, 100%); }
.sw-photo{ margin:0; position:relative; border-radius:18px; overflow:hidden; border:1px solid rgba(216,168,78,.45);
  box-shadow:0 0 0 6px rgba(15,19,48,.9), 0 0 0 7px rgba(216,168,78,.35), 0 40px 80px -40px rgba(0,0,0,.9); }
.sw-photo img{ width:100%; height:auto; aspect-ratio:3/2; object-fit:cover; }
.sw-door--offer h3{ font-size:1.3rem; }
.sw-kundli{ padding:14px 14px 18px; }
.sw-kundli .sw-label small{ font-family:var(--sw-sans); text-transform:none; letter-spacing:0; color:#7A5524; }

@media (max-width:640px){ .sw-hide-sm{ display:none; } .sw-kicker{ letter-spacing:.18em; } }


/* ── Espace client (templates/jy/account.php) ─────────────────────────────── */
.sw-acc-list{ list-style:none; margin:10px 0 0; padding:0; display:grid; }
.sw-acc-list li{ display:flex; justify-content:space-between; align-items:center; gap:12px 18px; flex-wrap:wrap; padding:14px 0; border-top:1px solid var(--sw-line); }
.sw-acc-list li:first-child{ border-top:0; }
.sw-acc-list b{ display:block; color:var(--sw-ivory); font-family:var(--sw-serif); font-size:1.2rem; }
.sw-acc-list small{ display:block; color:var(--sw-muted); font-size:.86rem; }
.sw-card h2 + p, .sw-card .sw-h3 + p{ margin-top:6px; }
.sw-form{ display:grid; gap:12px; margin-top:12px; }
.sw-form .sw-field input{ width:100%; min-height:46px; padding:10px 14px; border-radius:10px; border:1px solid var(--sw-line); background:#0D1130; color:var(--sw-text); font:inherit; }
.sw-form .sw-field > span{ font-weight:600; color:var(--sw-ivory); font-size:.94rem; }
.sw-form .sw-btn{ justify-self:start; }
.sw-field__error{ color:#F4A196; font-size:.9rem; }

/* ── Mouvement réduit ───────────────────────────────────────────────────────── */
@media (prefers-reduced-motion:reduce){ .sw-site *{ transition:none !important; animation:none !important; } html{ scroll-behavior:auto; } }
