/*
Theme Name: Vedic FR
Description: Thème WordPress léger et premium pour astrologie védique et services spirituels. Français, SEO-ready, sans dépendance externe.
Version: 1.0.0
Requires at least: 6.3
Requires PHP: 7.4
License: GPL-2.0-or-later
Text Domain: vedicfr
*/
:root{--cream:#fbf5e9;--cream2:#f4e9d2;--saffron:#d9660a;--saffron-d:#b85206;--gold:#c9962b;--brown:#3b2416;--brown2:#6b4a35;--maroon:#7a1f1f;--r:14px;--sh:0 6px 24px rgba(59,36,22,.09);--w:1140px;--serif:Georgia,"Times New Roman",serif}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--brown);font:17px/1.65 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;-webkit-font-smoothing:antialiased}
img,svg{max-width:100%;height:auto;display:block}
a{color:var(--saffron-d)}a:hover{color:var(--maroon)}
h1,h2,h3{font-family:var(--serif);line-height:1.2;margin:0 0 .5em;color:var(--brown)}
h1{font-size:clamp(1.9rem,5vw,3rem)}h2{font-size:clamp(1.5rem,3.5vw,2.2rem)}h3{font-size:1.2rem}
p{margin:0 0 1em}
[hidden]{display:none!important}
.wrap{width:min(100% - 2rem,var(--w));margin-inline:auto}
.skip{position:absolute;left:-999px;top:0;background:var(--brown);color:#fff;padding:.6rem 1rem;z-index:100}.skip:focus{left:0}
:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
/* header */
.site-header{position:sticky;top:0;z-index:50;background:rgba(251,245,233,.96);backdrop-filter:blur(6px);border-bottom:1px solid rgba(201,150,43,.35)}
.hbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:64px}
.brand{display:flex;align-items:center;gap:.5rem;text-decoration:none;color:var(--brown);font:700 1.25rem var(--serif)}
.brand .om{color:var(--saffron);font-size:1.6rem}.brand img{max-height:48px;width:auto}
.nav-toggle{background:none;border:1px solid var(--gold);border-radius:8px;padding:.45rem .7rem;font-size:1rem;color:var(--brown);cursor:pointer}
.nav{list-style:none;margin:0;padding:0}
.js .nav-wrap{display:none;position:absolute;left:0;right:0;top:100%;background:var(--cream);border-bottom:1px solid var(--gold);padding:.5rem 1rem 1rem}
.js .nav-wrap.open{display:block}
.nav a{display:block;padding:.6rem .2rem;text-decoration:none;color:var(--brown);font-weight:600;border-bottom:1px solid rgba(201,150,43,.2)}
.nav a:hover,.nav .current-menu-item>a{color:var(--saffron)}
/* buttons */
.btn{display:inline-block;background:var(--saffron);color:#fff;padding:.8rem 1.4rem;border-radius:999px;font-weight:700;text-decoration:none;border:2px solid var(--saffron);cursor:pointer;font-size:1rem;transition:background .2s,transform .2s;text-align:center}
.btn:hover{background:var(--saffron-d);color:#fff;transform:translateY(-1px)}
.btn.alt{background:transparent;color:var(--brown);border-color:var(--gold)}.btn.alt:hover{background:var(--gold);color:#fff}
.btn.wa{background:#1f8f4e;border-color:#1f8f4e}.btn.wa:hover{background:#17703c}
.btn.sm{padding:.55rem 1rem;font-size:.95rem}
.btns{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.2rem}
/* sections */
.sec{padding:3.5rem 0}.sec.alt{background:var(--cream2)}
.sec-head{text-align:center;max-width:680px;margin:0 auto 2rem}
.sec-head p{color:var(--brown2)}
.eyebrow{color:var(--saffron);font-weight:700;letter-spacing:.14em;text-transform:uppercase;font-size:.8rem}
.orn{display:flex;align-items:center;justify-content:center;gap:.7rem;color:var(--gold);margin:.6rem 0 1rem}
.orn::before,.orn::after{content:"";height:1px;width:60px;background:var(--gold)}
/* hero */
.hero{position:relative;overflow:hidden;background:linear-gradient(160deg,var(--cream) 0%,#f7e6c4 100%);padding:3.5rem 0 4rem}
.hero .mandala{position:absolute;right:-120px;top:-60px;width:520px;color:var(--gold);opacity:.22;pointer-events:none}
.hero-in{position:relative;display:grid;gap:2rem}
.hero p.lead{font-size:1.15rem;color:var(--brown2);max-width:560px}
.trust{display:flex;flex-wrap:wrap;gap:.5rem 1.2rem;list-style:none;padding:0;margin:1.5rem 0 0;color:var(--brown2);font-size:.95rem}
.trust li::before{content:"✦ ";color:var(--gold)}
/* placeholders */
.ph{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.3rem;background:repeating-linear-gradient(45deg,#f1e2c2,#f1e2c2 10px,#f6ebd0 10px,#f6ebd0 20px);border:2px dashed var(--gold);color:var(--brown2);text-align:center;padding:1rem;min-height:200px;height:100%}
.ph span{font-size:2.2rem;color:var(--saffron)}.ph small{font-weight:700;letter-spacing:.03em}
.hero .ph{min-height:300px;border-radius:var(--r)}
/* grid+cards */
.grid{display:grid;gap:1.3rem}
.card{background:#fff;border:1px solid rgba(201,150,43,.35);border-radius:var(--r);box-shadow:var(--sh);overflow:hidden;display:flex;flex-direction:column}
.card-body{padding:1.2rem 1.3rem 1.4rem;display:flex;flex-direction:column;flex:1}
.card-body .btn,.card-body .more{margin-top:auto}
.card-img{display:block;aspect-ratio:16/10;overflow:hidden;background:var(--cream2)}
.card-img img{width:100%;height:100%;object-fit:cover}
.card-img .ph{min-height:0}
.card h3 a{text-decoration:none;color:var(--brown)}.card h3 a:hover{color:var(--saffron)}
.tag{display:inline-block;background:var(--cream2);color:var(--maroon);font-size:.78rem;font-weight:700;padding:.15rem .7rem;border-radius:999px;margin-bottom:.6rem;align-self:flex-start;text-decoration:none}
.more{font-weight:700;text-decoration:none}
.skt{font-family:var(--serif);color:var(--saffron);font-size:1.5rem;margin:0 0 .3rem}
.yagya .card-body{border-top:4px solid var(--gold)}
.portrait{aspect-ratio:1/1;overflow:hidden}.portrait img{width:100%;height:100%;object-fit:cover}
.spec{color:var(--saffron-d);font-weight:700;margin:0 0 .5rem}.meta{font-size:.88rem;color:var(--brown2)}
.svc{padding:1.3rem;background:#fff;border-radius:var(--r);border:1px solid rgba(201,150,43,.35)}
.svc h3::before{content:"❂ ";color:var(--gold)}
/* chips */
.chips{display:flex;flex-wrap:wrap;gap:.6rem;justify-content:center;margin-bottom:1.5rem}
.chip{background:#fff;border:1.5px solid var(--gold);color:var(--brown);border-radius:999px;padding:.55rem 1.1rem;font:600 1rem system-ui,sans-serif;cursor:pointer;text-decoration:none}
.chip:hover,.chip[aria-pressed="true"]{background:var(--saffron);border-color:var(--saffron);color:#fff}
.panel{max-width:760px;margin:0 auto;padding:1.6rem}
.mantra-box{background:linear-gradient(160deg,#fff7e4,#f6e3b8);border:1px solid var(--gold);border-radius:var(--r);padding:1.2rem;text-align:center;margin-bottom:1.2rem}
.mantra-box .skt{font-size:clamp(1.4rem,4.5vw,2rem)}.translit{font-style:italic;margin:0}
.mdl dt{font-weight:700;color:var(--maroon);margin-top:1rem}.mdl dd{margin:.2rem 0 0}
.note{font-size:.88rem;color:var(--brown2);text-align:center;max-width:720px;margin:1.5rem auto 0}
/* breadcrumbs */
.crumbs{font-size:.88rem;padding:1rem 0 0;color:var(--brown2)}
.crumbs ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.3rem}
.crumbs li+li::before{content:"›";margin-right:.3rem;color:var(--gold)}
.crumbs a{text-decoration:none}
/* page/post */
.page-head{padding:1.5rem 0 1rem;text-align:center}.page-head p{color:var(--brown2);max-width:640px;margin-inline:auto}
.entry{max-width:740px;margin-inline:auto;padding-bottom:2rem}
.entry img{border-radius:var(--r)}.entry h2{margin-top:1.6em}
.cta-box{background:linear-gradient(160deg,var(--brown),#5a3520);color:#fff;border-radius:var(--r);padding:2rem;text-align:center}
.cta-box h2,.cta-box h3{color:#fff}.cta-box p{color:#f3e3c6}
.cta-band{background:linear-gradient(160deg,var(--maroon),var(--brown));color:#fff;text-align:center;padding:3.5rem 0}
.cta-band h2{color:#fff}.cta-band p{color:#f3e3c6;max-width:600px;margin-inline:auto}
.pager{display:flex;justify-content:center;gap:.4rem;margin-top:2rem;flex-wrap:wrap}
.pager a,.pager span{padding:.4rem .9rem;border:1px solid var(--gold);border-radius:8px;text-decoration:none;background:#fff}.pager .current{background:var(--saffron);color:#fff;border-color:var(--saffron)}
/* footer */
.site-footer{background:var(--brown);color:#e9d9bd;padding:3rem 0 1.5rem;margin-top:0}
.site-footer a{color:#f3c777}.site-footer h2{color:#fff;font-size:1.1rem}
.fgrid{display:grid;gap:1.5rem}
.fnav{list-style:none;padding:0;margin:0}.fnav li{margin:.3rem 0}
.legal{border-top:1px solid rgba(233,217,189,.2);margin-top:2rem;padding-top:1rem;font-size:.85rem;color:#c9b795}
.wa-float{position:fixed;right:16px;bottom:16px;z-index:60;width:56px;height:56px;border-radius:50%;background:#1f8f4e;display:grid;place-items:center;box-shadow:0 6px 18px rgba(0,0,0,.28)}
.wa-float svg{width:30px;height:30px;fill:#fff}
/* breakpoints */
@media(min-width:720px){.grid.g2{grid-template-columns:repeat(2,1fr)}.grid.g3{grid-template-columns:repeat(2,1fr)}.fgrid{grid-template-columns:2fr 1fr 1fr}.hero-in{grid-template-columns:1.15fr .85fr;align-items:center}}
@media(min-width:960px){.nav-toggle{display:none}.js .nav-wrap,.nav-wrap{display:block!important;position:static;background:none;border:0;padding:0}.nav{display:flex;gap:1.1rem}.nav a{border:0;padding:.4rem .1rem;font-size:.95rem}.grid.g3{grid-template-columns:repeat(3,1fr)}.grid.g4{grid-template-columns:repeat(4,1fr)}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

.hero-img{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:var(--r);box-shadow:var(--sh);border:3px solid var(--gold)}
.avis{margin:0}.avis blockquote{margin:0 0 1rem;padding-left:1rem;border-left:3px solid var(--gold);font-style:italic}.avis blockquote p{margin:0}.avis figcaption{margin-top:auto}.stars{color:var(--gold);letter-spacing:.15em;font-size:1.1rem;margin:0 0 .6rem}
