/*
Theme Name: SacredArt
Theme URI: https://sacredart.niceshop.fr
Description: Thème enfant Astra pour SacredArt — déco spirituelle personnalisée. Design « lueur » (pénombre vêpres → parchemin), or liturgique, sérif Fraunces.
Author: Giarica
Template: astra
Version: 1.0.0
*/

:root{
  --vesper:#241B1F;
  --vesper-2:#2E2329;
  --parchment:#ECE3D1;
  --parchment-2:#E3D8C0;
  --ink:#2A2320;
  --cream:#F2EBDD;
  --gold:#C79A4B;
  --gold-deep:#A57E33;
  --honey:#ECCB86;
  --line-dark:rgba(242,235,221,.14);
  --line-light:rgba(42,35,32,.14);
  --serif:"Fraunces","Palatino Linotype",Palatino,Georgia,serif;
  --sans:system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --maxw:1180px;
}

/* ============ GLOBAL ============ */
body{font-family:var(--sans);color:var(--ink);background:var(--parchment);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4,.entry-title,.site-title{font-family:var(--serif);font-weight:500;letter-spacing:.005em}
a{color:var(--gold-deep)}
::selection{background:var(--gold);color:var(--vesper)}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px}

/* ============ WOOCOMMERCE — restyle pour matcher la marque ============ */
.woocommerce #respond input#submit,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.wp-block-button__link,
.wc-block-components-button{
  background:var(--gold)!important;color:var(--vesper)!important;
  border:none!important;border-radius:2px!important;
  font-family:var(--sans)!important;font-weight:600!important;letter-spacing:.03em!important;
  padding:14px 26px!important;transition:background .25s ease,transform .25s ease!important;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.wc-block-components-button:hover{background:var(--honey)!important;transform:translateY(-2px)}
.woocommerce span.price,
.woocommerce div.product p.price,
.woocommerce div.product span.price{color:var(--gold-deep)!important;font-family:var(--serif)!important;font-weight:500}
.woocommerce ul.products li.product .price{color:var(--gold-deep)!important}
.woocommerce .star-rating span::before{color:var(--gold)}

/* champs de personnalisation produit */
.sa-perso-fields{margin:22px 0;padding:22px 0;border-top:1px solid var(--line-light);border-bottom:1px solid var(--line-light)}
.sa-perso-fields .sa-f{margin-bottom:16px}
.sa-perso-fields label{display:block;font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-deep);margin-bottom:8px}
.sa-perso-fields input[type=text],.sa-perso-fields select{
  width:100%;max-width:380px;padding:13px 14px;border:1px solid var(--line-light);border-radius:2px;
  font-family:var(--serif);font-size:17px;line-height:1.5;min-height:50px;color:var(--ink);background:#fff}
.sa-perso-fields select{appearance:auto}
.sa-perso-fields input:focus,.sa-perso-fields select:focus{border-color:var(--gold);outline:none}

/* ============ ASTRA header/footer — teinte marque (pages internes) ============ */
.site-header,.ast-primary-header-bar,.main-header-bar{background:var(--vesper)!important}
.main-header-bar .site-title a,.ast-site-title-wrap .site-title a,.site-title a{color:var(--cream)!important;font-size:24px}
.main-header-menu a,.ast-header-menu a,.main-navigation a{color:rgba(242,235,221,.85)!important}
.main-header-menu a:hover,.main-navigation a:hover{color:var(--gold)!important}
.ast-site-header-cart .ast-cart-menu-wrap,.ast-header-cart-info-wrap{color:var(--cream)!important}
.site-footer,.ast-small-footer,.footer-sml-layout{background:var(--vesper)!important;color:rgba(242,235,221,.7)!important}
.site-footer a{color:var(--gold)!important}

/* ============ PAGE D'ACCUEIL (front-page.php) — namespace .sa- ============ */
.sa *{box-sizing:border-box}
.sa{background:var(--vesper);color:var(--cream)}
.sa .wrap{max-width:var(--maxw);margin:0 auto;padding:0 28px}
.sa h1,.sa h2,.sa h3{font-family:var(--serif);font-weight:500;margin:0}
.sa p{margin:0}
.sa a{text-decoration:none}
.sa .eyebrow{font-size:12px;font-weight:600;letter-spacing:.26em;text-transform:uppercase;color:var(--gold);display:inline-flex;align-items:center;gap:.7em;font-family:var(--sans)}
.sa .eyebrow::before{content:"";width:26px;height:1px;background:var(--gold)}
.sa .eyebrow.on-light{color:var(--gold-deep)}
.sa .eyebrow.on-light::before{background:var(--gold-deep)}

.sa .btn{font-family:var(--sans);font-size:14px;font-weight:600;letter-spacing:.04em;display:inline-flex;align-items:center;gap:.6em;cursor:pointer;padding:15px 26px;border-radius:2px;border:1px solid transparent;transition:transform .25s ease,background .25s ease,color .25s ease,border-color .25s ease}
.sa .btn-gold{background:var(--gold);color:var(--vesper)}
.sa .btn-gold:hover{background:var(--honey);transform:translateY(-2px)}
.sa .btn-ghost{background:transparent;border-color:var(--line-dark);color:var(--cream)}
.sa .btn-ghost:hover{border-color:var(--gold);color:var(--gold)}
.sa .btn-ink{background:var(--ink);color:var(--parchment)}
.sa .btn-ink:hover{background:#3a2f29;transform:translateY(-2px)}

/* header custom de la home */
.sa-hdr{position:absolute;top:0;left:0;right:0;z-index:30}
.sa-navbar{display:flex;align-items:center;justify-content:space-between;height:74px}
.sa-brand{font-family:var(--serif);font-size:25px;letter-spacing:.02em;color:var(--cream)}
.sa-brand b{color:var(--gold);font-weight:500}
.sa-nav{display:flex;gap:34px;font-size:14px;color:rgba(242,235,221,.82)}
.sa-nav a{color:inherit}
.sa-nav a:hover{color:var(--gold)}
@media(max-width:860px){.sa-nav{display:none}}

.sa-hero{position:relative;overflow:hidden;padding:150px 0 90px}
.sa-hero::before{content:"";position:absolute;inset:0;background:radial-gradient(120% 90% at 28% 38%,rgba(80,55,40,.55),transparent 60%),radial-gradient(100% 80% at 82% 80%,rgba(40,30,34,.6),transparent 70%)}
.sa-hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:1.05fr .95fr;gap:40px;align-items:center}
.sa-hero h1{font-size:clamp(2.6rem,5.4vw,4.5rem);line-height:1.03;margin:22px 0 0;color:var(--cream)}
.sa-hero h1 em{font-style:italic;color:var(--honey)}
.sa-lead{margin-top:26px;max-width:30em;color:rgba(242,235,221,.82);font-size:1.06rem}
.sa-actions{margin-top:36px;display:flex;align-items:center;gap:22px;flex-wrap:wrap}
.sa-price{font-size:14px;color:rgba(242,235,221,.7)}
.sa-price b{font-family:var(--serif);font-size:20px;color:var(--cream);font-weight:500}
.sa-reassure{margin-top:40px;display:flex;gap:26px;flex-wrap:wrap;font-size:13px;color:rgba(242,235,221,.62)}
.sa-reassure span{display:inline-flex;align-items:center;gap:.55em}
.sa-reassure span::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--gold)}

/* objet lumineux */
.sa-stage{position:relative;display:flex;align-items:center;justify-content:center;min-height:440px}
.sa-halo{position:absolute;width:430px;height:430px;border-radius:50%;background:radial-gradient(circle,rgba(236,203,134,.55) 0%,rgba(199,154,75,.25) 38%,transparent 68%);filter:blur(6px)}
.sa-votive{position:relative;z-index:2;width:208px;height:280px;border-radius:104px 104px 30px 30px;background:linear-gradient(160deg,#f3ecdd 0%,#e7dcc4 46%,#cdbf9f 100%);box-shadow:inset 0 8px 22px rgba(255,255,255,.5),inset 0 -26px 40px rgba(120,95,60,.35),0 40px 60px -30px rgba(0,0,0,.7);display:flex;align-items:center;justify-content:center}
.sa-cross{width:96px;height:150px;margin-top:-6px;clip-path:polygon(38% 0,62% 0,62% 30%,100% 30%,100% 48%,62% 48%,62% 100%,38% 100%,38% 48%,0 48%,0 30%,38% 30%);background:linear-gradient(180deg,#fff5dd,var(--honey));box-shadow:0 0 26px 6px rgba(236,203,134,.85),0 0 60px 18px rgba(236,203,134,.4)}
.sa-engrave{position:absolute;bottom:34px;left:0;right:0;text-align:center;font-family:var(--serif);font-style:italic;font-size:21px;color:#9c8253;text-shadow:0 1px 0 rgba(255,255,255,.6);letter-spacing:.02em;z-index:3}
.sa-cast{position:absolute;bottom:54px;width:360px;height:70px;background:radial-gradient(ellipse at center,rgba(236,203,134,.4),transparent 70%);filter:blur(8px)}
@media(prefers-reduced-motion:no-preference){.sa-halo{animation:sa-breathe 6.5s ease-in-out infinite}.sa-cross{animation:sa-flicker 6.5s ease-in-out infinite}}
@keyframes sa-breathe{0%,100%{transform:scale(1);opacity:.92}50%{transform:scale(1.06);opacity:1}}
@keyframes sa-flicker{0%,100%{filter:none}50%{filter:brightness(1.12)}}

/* photo produit réelle (remplace l'objet CSS dès qu'une image est définie sur le produit) */
.sa-photo{position:relative;z-index:2;width:78%;max-width:340px;height:auto;border-radius:10px;box-shadow:0 40px 60px -30px rgba(0,0,0,.7)}
.sa-perso-stage .sa-photo{max-width:260px}
.sa-engrave-cap{position:absolute;bottom:22px;z-index:3;font-family:var(--serif);font-style:italic;font-size:20px;color:var(--honey);text-shadow:0 2px 10px rgba(0,0,0,.7)}

/* sections */
.sa-pane-light{background:var(--parchment);color:var(--ink)}
.sa-pane-light-2{background:var(--parchment-2);color:var(--ink)}
.sa-pane-dark{background:var(--vesper);color:var(--cream)}
.sa-pad{padding:96px 0}
.sa-head{max-width:40em}
.sa-head h2{font-size:clamp(2rem,3.6vw,3rem);line-height:1.08;margin-top:18px}
.sa-head .sub{margin-top:18px;font-size:1.05rem;color:rgba(42,35,32,.72);max-width:34em}
.sa-pane-dark .sa-head .sub{color:rgba(242,235,221,.74)}

.sa-perso-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:60px;align-items:center;margin-top:54px}
.sa-perso-stage{position:relative;display:flex;align-items:center;justify-content:center;min-height:420px;background:radial-gradient(circle at 50% 42%,#3a2c2f,#241b1f 72%);border-radius:4px;overflow:hidden}
.sa-perso-stage .sa-halo{width:360px;height:360px}
.sa-perso-stage .sa-votive{width:178px;height:240px;border-radius:90px 90px 26px 26px}
.sa-perso-stage .sa-cross{width:82px;height:128px}
.sa-perso-stage .sa-engrave{font-size:18px;bottom:30px}
/* option « Lumière : Non » -> objet sans lueur */
.sa-perso-stage .sa-halo,.sa-perso-stage .sa-cast,.sa-perso-stage .sa-cross{transition:opacity .5s ease,box-shadow .5s ease,background .5s ease}
.sa-perso-stage.light-off .sa-halo,.sa-perso-stage.light-off .sa-cast{opacity:0;animation:none}
.sa-perso-stage.light-off .sa-cross{box-shadow:none;animation:none;background:linear-gradient(180deg,#e6dcc4,#cdbf9f)}
.sa-field{margin-bottom:26px}
.sa-field label{display:block;font-size:12px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-deep);margin-bottom:10px;font-family:var(--sans)}
.sa-field input[type=text]{width:100%;background:#fff;border:1px solid var(--line-light);border-radius:2px;padding:14px 16px;font-family:var(--serif);font-size:18px;color:var(--ink)}
.sa-field input:focus{border-color:var(--gold);outline:none}
.sa-swatches{display:flex;gap:12px}
.sa-swatch{cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:8px;font-size:12px;color:rgba(42,35,32,.7)}
.sa-swatch .chip{width:40px;height:40px;border-radius:50%;border:2px solid transparent;box-shadow:0 2px 6px rgba(0,0,0,.18)}
.sa-swatch.active .chip{border-color:var(--gold-deep)}
.sa-swatch.active{color:var(--ink);font-weight:600}
.sa-opt-row{display:flex;flex-wrap:wrap;gap:10px}
.sa-opt{cursor:pointer;font-family:var(--serif);font-style:italic;font-size:15px;padding:9px 15px;border:1px solid var(--line-light);border-radius:2px;background:#fff7;transition:all .2s;color:var(--ink)}
.sa-opt:hover{border-color:var(--gold)}
.sa-opt.active{background:var(--ink);color:var(--parchment);border-color:var(--ink)}
.sa-perso-foot{margin-top:30px;display:flex;align-items:center;gap:22px;flex-wrap:wrap}

.sa-steps{display:grid;grid-template-columns:repeat(3,1fr);margin-top:56px;border-top:1px solid var(--line-light)}
.sa-step{padding:34px 30px 34px 0;border-right:1px solid var(--line-light)}
.sa-step:last-child{border-right:none;padding-right:0}
.sa-step .num{font-family:var(--serif);font-size:40px;color:var(--gold-deep);line-height:1}
.sa-step h3{font-size:1.4rem;margin:18px 0 10px}
.sa-step p{color:rgba(42,35,32,.72);font-size:.98rem}
@media(max-width:760px){.sa-steps{grid-template-columns:1fr}.sa-step{border-right:none;border-bottom:1px solid var(--line-light);padding:28px 0}}

.sa-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:54px}
.sa-card{background:#fff8ec;border:1px solid var(--line-light);border-radius:3px;padding:30px 24px;transition:transform .3s ease,box-shadow .3s ease}
.sa-card:hover{transform:translateY(-4px);box-shadow:0 24px 40px -28px rgba(60,40,20,.5)}
.sa-card .ic{width:42px;height:42px;color:var(--gold-deep)}
.sa-card h3{font-size:1.25rem;margin:18px 0 8px}
.sa-card p{font-size:.92rem;color:rgba(42,35,32,.7)}
@media(max-width:860px){.sa-cards{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.sa-cards{grid-template-columns:1fr}}

.sa-manifesto{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}
.sa-manifesto h2{font-size:clamp(1.9rem,3.4vw,2.7rem);line-height:1.12;color:var(--cream)}
.sa-quote{font-family:var(--serif);font-style:italic;font-size:clamp(1.4rem,2.4vw,2rem);color:var(--honey);line-height:1.4;border-left:2px solid var(--gold);padding-left:26px}
@media(max-width:760px){.sa-manifesto,.sa-perso-grid,.sa-hero-grid{grid-template-columns:1fr}.sa-hero-grid{gap:10px}.sa-perso-stage{min-height:340px;order:-1}}

.sa-final{text-align:center;padding:110px 0}
.sa-final h2{font-size:clamp(2.2rem,4.4vw,3.6rem);line-height:1.06;max-width:14em;margin:18px auto 0;color:var(--cream)}
.sa-final .sa-lead{margin:22px auto 0;max-width:34em}
.sa-final .sa-actions{justify-content:center;margin-top:38px}

.sa-foot{border-top:1px solid var(--line-dark);padding:46px 0;font-size:14px;color:rgba(242,235,221,.6);background:var(--vesper)}
.sa-foot-row{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}
.sa-foot-links{display:flex;gap:24px}
.sa-foot-links a{color:rgba(242,235,221,.75)}
.sa-foot-links a:hover{color:var(--gold)}
