@import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@500;600;700&family=Cinzel+Decorative:wght@400;700&display=swap');

/* ORACLASTRA — THÈME GRATUIT / MOBILE POLISH */
body:has(#themeForm){background:#07142d;color:#f5efe3}
body:has(#themeForm) main{background:#07142d}
body:has(#themeForm) .collection{padding:76px 6vw 84px;background:#07142d;color:#f5efe3}
body:has(#themeForm) .collection .section-title{max-width:820px;margin:0 auto 34px;text-align:center}
body:has(#themeForm) .collection .section-title h2{font:600 clamp(30px,4vw,46px)/1.12 Cinzel,Georgia,serif;color:#f0cf8a;margin:8px 0 12px}
body:has(#themeForm) .collection .section-title p:not(.kicker){max-width:680px;margin:0 auto;color:#d9d4dc;line-height:1.65}
body:has(#themeForm) .oracle-form{max-width:900px;margin:0 auto;padding:34px;border:1px solid rgba(216,173,99,.55);border-radius:20px;background:linear-gradient(145deg,#0c1d35,#08152a);box-shadow:0 20px 55px rgba(0,0,0,.28)}
body:has(#themeForm) .form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 22px}
body:has(#themeForm) .form-grid label{display:flex;flex-direction:column;gap:8px;min-width:0;color:#f0cf8a;font:600 14px/1.3 Inter,system-ui,sans-serif}
body:has(#themeForm) .form-grid input,body:has(#themeForm) .form-grid select{width:100%;min-height:50px;padding:11px 14px;border:1px solid rgba(216,173,99,.45);border-radius:9px;background:#f8f6f1;color:#17243a;font:400 16px Inter,system-ui,sans-serif;outline:none;appearance:auto}
body:has(#themeForm) .form-grid input::placeholder{color:#778091}
body:has(#themeForm) .form-grid input:focus,body:has(#themeForm) .form-grid select:focus{border-color:#e7bd62;box-shadow:0 0 0 3px rgba(231,189,98,.14)}
body:has(#themeForm) .oracle-form>button{margin-top:26px;min-height:52px;border:0;border-radius:12px;padding:14px 28px;background:linear-gradient(135deg,#f0cf8a,#dcae4e);box-shadow:0 8px 22px rgba(166,119,42,.2);font:700 15px Inter,system-ui,sans-serif;color:#15243a;cursor:pointer}
body:has(#themeForm) .oracle-form>button:hover{filter:brightness(1.04);transform:translateY(-1px)}
body:has(#themeForm) .form-message{text-align:center;color:#f2a39a;min-height:20px;margin:12px 0 0}
body:has(#themeForm) .loading{text-align:center;padding:42px 20px;color:#f5efe3;min-height:150px}
body:has(#themeForm) .loading div{font-size:40px;color:#f0c35f;animation:oraclePulse 1.8s ease-in-out infinite}
body:has(#themeForm) .loading p{margin:16px auto 8px;color:#f5d782;font:600 clamp(21px,4vw,30px)/1.25 Cinzel,Georgia,serif;letter-spacing:.01em}
body:has(#themeForm) .loading .oracle-generation-subtitle{display:block;max-width:620px;margin:0 auto;color:#f0cf8a;font:400 15px/1.6 Inter,system-ui,sans-serif}
@keyframes oraclePulse{0%,100%{opacity:.55;transform:scale(.94)}50%{opacity:1;transform:scale(1.06)}}
body:has(#themeForm) .result{max-width:900px;margin:30px auto 0;padding:48px 42px 44px;border-radius:26px;background:radial-gradient(circle at 50% 0%,#10264a 0%,#07142d 48%,#061126 100%);color:#fff;border:1px solid #e9bd6380;box-shadow:0 20px 60px rgba(0,0,0,.28);position:relative;overflow:hidden;text-align:center}
body:has(#themeForm) .result:before{content:"✦  ☾  ✦";position:absolute;top:16px;left:0;right:0;color:#d8ad63;font-size:16px;letter-spacing:24px;opacity:.65;pointer-events:none}
body:has(#themeForm) .result:after{content:"";position:absolute;inset:12px;border:1px solid rgba(216,173,99,.16);border-radius:20px;pointer-events:none}
body:has(#themeForm) .result .kicker{margin:22px 0 14px;color:#f0cf8a;letter-spacing:5px}
body:has(#themeForm) .result h3{font:700 clamp(36px,7vw,58px)/1.08 'Cinzel Decorative',Cinzel,Georgia,serif;color:#f6d98e;letter-spacing:.025em;text-shadow:0 2px 18px rgba(240,207,138,.16);margin:0 auto 24px;max-width:760px;text-align:center}
body:has(#themeForm) .result>p:not(.kicker){max-width:760px;margin:0 auto 30px;color:#f1ede5;font:400 clamp(16px,2vw,19px)/1.7 Inter,system-ui,sans-serif;text-align:center}
body:has(#themeForm) .result-grid{max-width:760px;margin:30px auto 34px;display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
body:has(#themeForm) .result-grid>div{padding:24px 14px;text-align:center;border:1px solid rgba(233,189,99,.55);border-radius:18px;background:linear-gradient(145deg,rgba(15,35,66,.92),rgba(7,20,45,.92));box-shadow:inset 0 0 25px rgba(216,173,99,.035)}
body:has(#themeForm) .result-grid small{display:block;color:#d8ad63;font-size:10px;letter-spacing:.25em;margin-bottom:10px}
body:has(#themeForm) .result-grid strong{font:600 clamp(21px,4vw,28px) 'Cinzel Decorative',Cinzel,Georgia,serif;color:#fff3d2}
body:has(#themeForm) .reading-copy{max-width:760px;margin:0 auto;text-align:center}
body:has(#themeForm) .reading-copy h4{font:700 21px/1.2 'Cinzel Decorative',Cinzel,Georgia,serif;color:#f1ce78;margin:32px 0 8px;letter-spacing:.04em}
body:has(#themeForm) .reading-copy p{margin:0 auto;color:#e8e4dc;line-height:1.72;max-width:720px}
body:has(#themeForm) .year-banner{max-width:1120px;margin:0 auto;padding:0;min-height:390px;display:grid;grid-template-columns:1.08fr .92fr;align-items:stretch;background:#0b1735;border:1px solid #e9bd6380;border-radius:24px;box-shadow:0 18px 55px rgba(0,0,0,.24)}
body:has(#themeForm) .year-banner>div:first-child{padding:52px 48px;display:flex;flex-direction:column;justify-content:center}
body:has(#themeForm) .year-banner .kicker{margin:0 0 10px;color:#e9bd63}
body:has(#themeForm) .year-banner h2{font:600 clamp(30px,4vw,48px)/1.08 Cinzel,Georgia,serif;color:#f5d782;margin:0 0 16px}
body:has(#themeForm) .year-banner>div:first-child>p:not(.kicker){color:#e4e0d8;line-height:1.7;max-width:560px;margin:0 0 20px}
body:has(#themeForm) .year-banner strong{font:600 25px Cinzel,Georgia,serif;color:#f5d782;margin:0 0 16px}
body:has(#themeForm) .year-banner .buy{align-self:flex-start;border:0;min-height:50px;padding:14px 24px;border-radius:10px;font-size:14px;cursor:pointer}
body:has(#themeForm) .year-cards{position:relative;min-height:390px;overflow:hidden;background-image:url('/images/file_000000003d4081f4924373c5534fd10a.png');background-size:cover;background-position:center}
body:has(#themeForm) .year-cards:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#0b1735 0%,rgba(11,23,53,.25) 38%,rgba(11,23,53,.05) 100%)}
body:has(#themeForm) .year-cards>div{position:absolute;z-index:2;padding:10px 16px;border:1px solid #f0cc75aa;border-radius:10px;background:rgba(7,20,45,.82);backdrop-filter:blur(5px);color:#f7e3aa;font:500 13px/1.35 Cinzel,Georgia,serif;letter-spacing:.08em;box-shadow:0 8px 22px rgba(0,0,0,.2)}
body:has(#themeForm) .year-cards>div:first-child{left:28px;bottom:28px}
body:has(#themeForm) .year-cards>div:last-child{right:28px;top:28px}
body:has(#themeForm) .home-horoscope-mini{max-width:1120px;margin:42px auto 70px;padding:0;min-height:270px;display:grid;grid-template-columns:1fr 1fr;align-items:center;overflow:hidden;border:1px solid #e9bd6380;border-radius:22px;background:#0b1735;box-shadow:0 16px 45px rgba(0,0,0,.22)}
body:has(#themeForm) .home-horoscope-mini:before{content:"";display:block;grid-column:1;grid-row:1;height:270px;background:url('/images/file_00000000600481f493b94485cec4d72c.png') center/cover no-repeat}
body:has(#themeForm) .home-horoscope-mini>div{grid-column:2;grid-row:1;padding:38px 44px}
body:has(#themeForm) .home-horoscope-mini h2{font:600 32px/1.12 Cinzel,Georgia,serif;color:#f5d782;margin:8px 0 12px}
body:has(#themeForm) .home-horoscope-mini p:not(.kicker){color:#e2ded6;line-height:1.65;margin:0 0 20px}
body:has(#themeForm) .home-horoscope-mini>a{grid-column:2;grid-row:1;justify-self:start;margin:150px 44px 0;z-index:3}
body:has(#themeForm) .oracle-form .form-grid label input,body:has(#themeForm) .oracle-form .form-grid label select{display:block;box-sizing:border-box;opacity:1;visibility:visible}
body:has(#themeForm) .oracle-form .form-grid label{position:relative}
body:has(#themeForm) .oracle-form>button{width:auto;max-width:100%}

/* MASTER MOBILE — page full-bleed, header lisible, hero moins massif */
@media(max-width:650px){
  body:has(#themeForm) .master-header{display:flex!important;position:relative!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:12px!important;padding:12px 14px 14px!important;background:rgba(7,20,39,.98)!important}
  body:has(#themeForm) .master-brand{justify-content:center!important;margin:0!important}
  body:has(#themeForm) .master-brand img{width:40px!important;height:40px!important}
  body:has(#themeForm) .master-brand strong{font-size:1.35rem!important}
  body:has(#themeForm) .master-nav{width:100%!important;display:flex!important;justify-content:center!important;gap:7px 11px!important;flex-wrap:wrap!important;overflow:visible!important}
  body:has(#themeForm) .master-nav>a{font-size:.63rem!important;letter-spacing:.035em!important}
  body:has(#themeForm) .master-langs{gap:5px!important;margin-left:2px!important}
  body:has(#themeForm) .master-langs a{font-size:.58rem!important}
  body:has(#themeForm) .hero{width:100%!important;max-width:none!important;min-height:0!important;display:block!important;background:#071427!important}
  body:has(#themeForm) .hero::before{inset:0!important;background:linear-gradient(180deg,rgba(7,20,39,.91),rgba(7,20,39,.96)),url('/images/file_00000000600481f493b94485cec4d72c.png?v=theme-mobile-20260904') center/cover no-repeat!important}
  body:has(#themeForm) .hero-copy{width:min(100% - 36px,680px)!important;padding:66px 0 72px!important;margin:0 auto!important}
  body:has(#themeForm) .hero-copy .kicker{font-size:10px!important;letter-spacing:.18em!important;margin-bottom:12px!important}
  body:has(#themeForm) .hero h1{font-size:clamp(3rem,13vw,4rem)!important;line-height:.94!important;margin:10px 0 22px!important;max-width:100%!important}
  body:has(#themeForm) .hero-copy>p:not(.kicker){font-size:1rem!important;line-height:1.65!important;max-width:100%!important;margin-bottom:27px!important}
  body:has(#themeForm) .hero-actions{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;width:100%!important}
  body:has(#themeForm) .hero-actions .gold-btn,body:has(#themeForm) .hero-actions .ghost-btn{width:100%!important;min-height:52px!important;border-radius:12px!important;padding:0 16px!important;font-size:.72rem!important}
  body:has(#themeForm) .collection{padding:58px 18px 64px!important}
  body:has(#themeForm) .collection .section-title{margin-bottom:30px!important}
  body:has(#themeForm) .collection .section-title h2{font-size:32px!important;line-height:1.05!important}
  body:has(#themeForm) .collection .section-title p:not(.kicker){font-size:15px!important;line-height:1.6!important}
  body:has(#themeForm) .oracle-form{padding:20px 16px!important;border-radius:18px!important}
  body:has(#themeForm) .form-grid{grid-template-columns:1fr!important;gap:16px!important}
  body:has(#themeForm) .oracle-form>button{width:100%!important;margin-top:20px!important}
  body:has(#themeForm) .result{padding:40px 17px 30px!important;border-radius:20px!important}
  body:has(#themeForm) .result h3{font-size:31px!important;line-height:1.08!important}
  body:has(#themeForm) .result-grid{grid-template-columns:1fr 1fr!important;gap:10px!important}
  body:has(#themeForm) .result-grid>div{padding:18px 7px!important}
  body:has(#themeForm) .year-banner{grid-template-columns:1fr!important;margin:0!important;border-radius:18px!important}
  body:has(#themeForm) .year-banner>div:first-child{padding:32px 22px!important}
  body:has(#themeForm) .year-cards{min-height:220px!important}
  body:has(#themeForm) .home-horoscope-mini{grid-template-columns:1fr!important;margin:30px 0 45px!important;border-radius:18px!important}
  body:has(#themeForm) .home-horoscope-mini:before{grid-column:1!important;grid-row:1!important;height:180px!important}
  body:has(#themeForm) .home-horoscope-mini>div{grid-column:1!important;grid-row:2!important;padding:26px 20px 10px!important}
  body:has(#themeForm) .home-horoscope-mini>a{grid-column:1!important;grid-row:3!important;margin:0 20px 26px!important;justify-self:start!important}
}
@media(max-width:420px){body:has(#themeForm) .result h3{font-size:29px!important}body:has(#themeForm) .year-banner h2{font-size:30px!important}}

/* FINAL ALIGNMENT — mobile sections share the same master content rail */
@media(max-width:650px){
  body:has(#themeForm) .collection{padding-left:18px!important;padding-right:18px!important}
  body:has(#themeForm) .year-banner,
  body:has(#themeForm) .home-horoscope-mini{width:calc(100% - 36px)!important;max-width:none!important;margin-left:auto!important;margin-right:auto!important;box-sizing:border-box!important}
  body:has(#themeForm) .year-banner{margin-bottom:30px!important}
  body:has(#themeForm) .home-horoscope-mini{margin-top:30px!important;margin-bottom:45px!important}
  body:has(#themeForm) .year-banner>div:first-child{padding-left:22px!important;padding-right:22px!important}
  body:has(#themeForm) .year-cards{width:100%!important}
}
