/* ===== Sabine & Tristan — styles du thème (front + éditeur) =====
   Palette/typos : theme.json (variables --wp--preset--*). Ici : mise en forme des sections (classes st-*). */
:root{
  --st-ecru:var(--wp--preset--color--ecru,#f8f3ec);
  --st-ecru-d:var(--wp--preset--color--ecru-deep,#efe5d8);
  --st-rose:var(--wp--preset--color--rose,#e9b7b9);
  --st-rose-d:var(--wp--preset--color--rose-deep,#c9737f);
  --st-rose-dd:#a95563;
  --st-orange:var(--wp--preset--color--orange,#f4bf95);
  --st-jaune:var(--wp--preset--color--jaune,#f5d98f);
  --st-vert:var(--wp--preset--color--vert,#a9bfa3);
  --st-prune:var(--wp--preset--color--prune,#5d2e46);
  --st-ink:var(--wp--preset--color--ink,#3a2f33);
  --st-muted:var(--wp--preset--color--muted,#7d6b70);
  --st-line:#e6d9d2;
  --st-serif:var(--wp--preset--font-family--serif,"Cormorant Garamond",Georgia,serif);
  --st-sans:var(--wp--preset--font-family--sans,"Inter",system-ui,sans-serif);
}
html{scroll-behavior:smooth}
body{-webkit-font-smoothing:antialiased}
.st-main{overflow-x:clip}
.st-main > .wp-block-post-content > *{margin-block-start:0;margin-block-end:0}

/* ---- utilitaires ---- */
.st-eyebrow{font-family:var(--st-sans)!important;font-weight:600;font-size:12px!important;letter-spacing:.18em;text-transform:uppercase;color:var(--st-rose-d);margin-bottom:6px}
.st-lead{font-size:19px;max-width:46ch;margin-inline:auto;color:var(--st-ink)}
.st-date{font-family:var(--st-serif);font-size:26px;font-style:italic;color:var(--st-prune);opacity:.85;margin:0 0 12px}
.st-sign{font-family:var(--st-serif);font-size:24px;font-style:italic;color:var(--st-rose-d);margin-top:8px}
.st-center{text-align:center}
.st-section{padding:80px 24px}
.st-section.st-alt{background:var(--st-ecru-d)}
.st-sec-head{margin:0 auto 40px;text-align:center}
.st-sec-head p:not(.st-eyebrow){color:var(--st-muted);font-size:17.5px}
@media(max-width:760px){.st-section{padding:56px 20px}}

/* ---- boutons ---- */
.wp-block-button__link{transition:.18s;text-decoration:none}
.is-style-outline .wp-block-button__link{background:transparent;border:1.5px solid currentColor;color:var(--st-prune)}
.is-style-outline .wp-block-button__link:hover{background:rgba(93,46,70,.08)}
.is-style-light .wp-block-button__link{background:#fff;color:var(--st-prune)}
.is-style-light .wp-block-button__link:hover{background:var(--st-ecru-d)}

/* ---- header ---- */
.st-nav{position:sticky;top:0;z-index:40;background:rgba(248,243,236,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--st-line);padding:0 24px}
.admin-bar .st-nav{top:32px}
@media(max-width:782px){.admin-bar .st-nav{top:46px}}
.st-nav-row{min-height:72px;align-items:center}
.st-brand{gap:12px;align-items:center;text-decoration:none}
.st-brand-logo img{width:44px;height:44px;display:block}
.st-brand-name a,.st-brand-name{font-family:var(--st-serif);font-weight:600;font-size:22px;letter-spacing:.02em;color:var(--st-prune);text-decoration:none}
.st-menu a{font-size:14.5px;font-weight:500;color:var(--st-ink);opacity:.85;text-decoration:none}
.st-menu a:hover,.st-menu .current-menu-item > a{color:var(--st-rose-d);opacity:1}
.st-menu .wp-block-navigation__container{gap:22px}
.st-nav-cta .wp-block-button__link{padding:10px 18px;font-size:14px}
@media(max-width:820px){.st-nav-row{min-height:64px}.st-brand-name{display:none}}
@media(max-width:480px){.st-nav-cta{display:none}}
.wp-block-navigation__responsive-container.is-menu-open{background:var(--st-ecru)}
.wp-block-navigation__responsive-container.is-menu-open a{font-family:var(--st-serif);font-size:28px;color:var(--st-prune)}

/* ---- hero ---- */
.st-hero{padding:96px 24px 104px;text-align:center;color:var(--st-prune)}
.st-hero h1{max-width:14ch;margin-inline:auto;margin-bottom:14px}
.st-hero .st-amp{color:var(--st-rose-d);font-style:italic;font-weight:500}
.st-hero .wp-block-buttons{margin-top:30px}
.st-hero-inner{padding:60px 24px 64px}
.st-hero-inner h1{font-size:clamp(36px,5vw,52px)}
@media(max-width:760px){.st-hero{padding:64px 20px 72px}}

/* fil d'Ariane */
.st-crumb-wrap{padding:0 24px}
.st-crumb{font-size:13px;color:var(--st-muted);padding:14px 0 0}
.st-crumb a{color:var(--st-muted);text-decoration:none}.st-crumb a:hover{color:var(--st-rose-d)}
.st-crumb span{margin:0 8px;opacity:.7}.st-crumb span[aria-current]{margin:0}

/* ---- compte à rebours ---- */
.st-countdown{display:flex;justify-content:center;gap:18px;flex-wrap:wrap;margin:0 auto}
.st-countdown .u{min-width:120px;background:#fff;border:1px solid var(--st-line);border-radius:16px;padding:20px 16px;text-align:center}
.st-countdown .n{font-family:var(--st-serif);font-size:54px;font-weight:600;color:var(--st-rose-d);line-height:1}
.st-countdown .l{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--st-muted);margin-top:8px}
@media(max-width:560px){.st-countdown .u{min-width:calc(50% - 9px)}}

/* ---- notre histoire ---- */
.st-split{gap:50px}
.st-photo img{border-radius:18px;box-shadow:0 18px 40px -22px rgba(93,46,70,.45);width:100%}
.st-photo img:not([src]),.st-photo img[src=""]{background:linear-gradient(135deg,var(--st-rose),var(--st-orange) 55%,var(--st-jaune));min-height:380px}
@media(max-width:760px){.st-split{gap:28px}}

/* ---- cartes infos ---- */
.st-cards{gap:20px}
.st-card{background:#fff;border:1px solid var(--st-line);border-radius:16px;padding:26px 24px}
.st-card .st-ic{font-size:28px;margin:0 0 8px}
.st-card h3{margin-bottom:7px}
.st-card p{color:var(--st-muted);font-size:14.5px}
.st-card a{font-weight:600;font-size:14px;color:var(--st-rose-d);text-decoration:none}

/* ---- programme (frise) ---- */
.st-timeline{position:relative;padding-left:34px}
.st-timeline:before{content:"";position:absolute;left:9px;top:8px;bottom:8px;width:2px;background:var(--st-rose)}
.st-tl{position:relative;padding:0 0 30px}
.st-tl:before{content:"";position:absolute;left:-31px;top:8px;width:14px;height:14px;border-radius:50%;background:var(--st-rose-d);border:3px solid var(--st-ecru)}
.st-time{font-weight:600;font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--st-rose-d);margin:0 0 2px}
.st-tl h3{margin:0 0 6px}
.st-tl p{margin:0}
.st-where{font-size:14px;color:var(--st-muted);margin-top:4px!important}

/* ---- galerie ---- */
.st-gal.wp-block-gallery{gap:14px}
.st-gal .wp-block-image img{border-radius:14px}
.st-gal .wp-block-image img:not([src]),.st-gal .wp-block-image img[src=""]{aspect-ratio:1;background:linear-gradient(135deg,var(--st-rose),#f6d9da)}
.st-gal .wp-block-image:nth-child(3n+2) img[src=""]{background:linear-gradient(135deg,var(--st-orange),#f9dcc5)}
.st-gal .wp-block-image:nth-child(3n) img[src=""]{background:linear-gradient(135deg,var(--st-jaune),#faeccb)}

/* ---- bandeau ---- */
.st-band{padding:80px 24px;text-align:center}
.st-band p{color:#e8d5c4;font-size:18px}
.st-band .wp-block-buttons{margin-top:26px}

/* ---- FAQ ---- */
.st-faq .wp-block-details{border-bottom:1px solid var(--st-line);padding:16px 0}
.st-faq summary{font-family:var(--st-serif);font-size:23px;color:var(--st-prune);cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px}
.st-faq summary::-webkit-details-marker{display:none}
.st-faq summary:after{content:"+";color:var(--st-rose-d);font-size:26px;font-family:var(--st-sans);flex:0 0 auto}
.st-faq details[open] summary:after{content:"–"}
.st-faq details p{color:#4a3e43;margin:12px 0 2px}

/* ---- formulaire RSVP (Contact Form 7) ---- */
.st-form{background:#fff;border-radius:18px;padding:30px;box-shadow:0 20px 50px -30px rgba(93,46,70,.5)}
.st-form label{display:block;font-size:12.5px;font-weight:600;color:var(--st-muted);text-transform:uppercase;letter-spacing:.05em;margin:0 0 6px}
.st-form .wpcf7-form-control:not(.wpcf7-submit):not(.wpcf7-radio):not(.wpcf7-checkbox){width:100%;border:1px solid var(--st-line);border-radius:10px;padding:12px 13px;font:inherit;font-size:15px;background:var(--st-ecru);margin-bottom:14px}
.st-form .wpcf7-form-control:focus{outline:none;border-color:var(--st-rose-d);box-shadow:0 0 0 3px rgba(201,115,127,.18)}
.st-form .st-row2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.st-form .wpcf7-radio{display:flex;gap:10px;margin-bottom:14px}
.st-form .wpcf7-radio .wpcf7-list-item{margin:0;flex:1}
.st-form .wpcf7-radio label{text-transform:none;letter-spacing:0;font-size:15px;font-weight:500;color:var(--st-ink);border:1.5px solid var(--st-line);border-radius:12px;padding:12px;text-align:center;cursor:pointer;margin:0;display:flex;gap:8px;justify-content:center;align-items:center}
.st-form .wpcf7-radio input{accent-color:var(--st-rose-d)}
.st-form .wpcf7-radio label:has(input:checked){border-color:var(--st-rose-d);background:rgba(201,115,127,.08);color:var(--st-rose-dd)}
.st-form .wpcf7-submit{width:100%;font-size:16px;padding:14px;background:var(--st-rose-d);color:#fff;border:0;border-radius:999px;font-weight:600;cursor:pointer;transition:.18s}
.st-form .wpcf7-submit:hover{background:var(--st-rose-dd)}
.st-form .wpcf7-response-output{border-radius:10px;margin:14px 0 0;padding:14px;text-align:center;font-weight:600}
.st-form .wpcf7-mail-sent-ok,.st-form form.sent .wpcf7-response-output{background:#eaf3ea;border-color:#bfd8bf;color:#2f5d34}
.st-form .wpcf7-not-valid-tip{color:var(--st-rose-dd);font-size:13px;margin:-8px 0 12px}
.st-note{font-size:12.5px;color:var(--st-muted);margin:16px 0 0}
@media(max-width:600px){.st-form{padding:22px}.st-form .st-row2{grid-template-columns:1fr}.st-form .wpcf7-radio{flex-direction:column}}

/* ---- footer ---- */
.st-footer{background:var(--st-prune);color:#d9c4cf;font-size:14px;padding:52px 24px 28px}
.st-footer p,.st-footer li{color:#d9c4cf}
.st-footer a{color:#d9c4cf;text-decoration:none}
.st-footer a:hover{color:var(--st-rose)}
.st-footer h4{font-family:var(--st-sans);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--st-rose);margin:0 0 10px}
.st-footer .wp-block-page-list{list-style:none;padding:0;margin:0}
.st-footer .wp-block-page-list li{margin:6px 0}
.st-footer-brand{display:flex;align-items:center;gap:12px;font-family:var(--st-serif);font-size:22px;color:#fff!important}
.st-footer-brand img{width:44px;height:44px}
.st-footer-bot{border-top:1px solid #7a4e66;padding-top:18px;margin-top:28px;font-size:12.5px}
.st-footer-bot p{color:#b797a8;margin:0}

/* ---- éditeur : rendre les placeholders lisibles ---- */
.editor-styles-wrapper .st-hero,.editor-styles-wrapper .st-section{padding-inline:24px}
.editor-styles-wrapper .st-countdown .n{font-size:40px}
