@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;1,400;1,500&family=Inter:wght@400;500&display=swap');

/* ============================================================
   Oui & Vous — Charte éditoriale
   Ivoire / Encre / Doré · Cormorant Garamond + Inter
   Un seul accent (doré). Zéro arrondi, zéro ombre, zéro gradient.
   ============================================================ */

:root{
  --ivoire:#FBF7EF;
  --ivoire-fonce:#F3EDE0;
  --encre:#1B1612;
  --encre-62:rgba(27,22,18,.62);
  --blush:#E5C3B0;
  --blush-clair:#F1DFD3;
  --dore:#9C7A4A;
  --filet:rgba(27,22,18,.18);

  /* Anciennes variables remappées sur la charte (accent verrouillé sur le doré) */
  --rose:var(--dore);
  --accent:var(--dore);
  --dark:var(--encre);
  --muted:var(--encre-62);
  --bg:var(--ivoire);
  --card:var(--ivoire);
  --line:var(--filet);
  --green:var(--dore);
  --amber:var(--dore);
  --red:var(--encre);

  --font-serif:"Cormorant Garamond",Georgia,"Times New Roman",serif;
  --font-sans:"Inter",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
}

*{box-sizing:border-box}
body{margin:0;background:var(--ivoire);color:var(--encre);font-family:var(--font-sans);font-weight:400;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
h1,h2,h3,h4,h5{font-family:var(--font-serif);font-weight:500;letter-spacing:-.01em;color:var(--encre)}

/* ——— Barre de navigation publique ——— */
.topbar-shell{width:100%;background:var(--ivoire);border-bottom:1px solid var(--filet);position:sticky;top:0;z-index:100}
.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;max-width:1280px;width:100%;margin:0 auto;padding:0 clamp(16px,5vw,64px);min-height:64px;background:transparent;border:0;position:relative;z-index:102}
.brand{font-family:var(--font-serif);font-size:24px;font-weight:500;color:var(--encre);text-decoration:none}
nav{display:flex;align-items:center;gap:16px}
a{color:inherit}
nav a{text-decoration:none;font-weight:500;color:var(--encre);font-size:13px}
nav a:hover{color:var(--dore)}
.menu-group{position:relative;display:inline-flex;align-items:center}
.submenu{display:none;position:absolute;top:100%;left:0;min-width:210px;background:var(--ivoire);border:1px solid var(--filet);border-radius:0;padding:8px;box-shadow:none;z-index:20}
.submenu a{display:block;padding:10px 12px;border-radius:0}
.submenu a:hover{background:var(--ivoire-fonce)}
.menu-group:hover .submenu,.menu-group:focus-within .submenu{display:block}
.inline{display:inline}
.inline-form{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.container{max-width:1280px;margin:0 auto;padding:64px}

/* ——— Hero (page courante / dashboards simples) ——— */
.hero{display:grid;grid-template-columns:1.15fr .85fr;gap:40px;align-items:center;padding:40px 0}
.hero h1{font-family:var(--font-serif);font-size:clamp(40px,5vw,72px);line-height:1;letter-spacing:-1px;margin:12px 0}
.hero p{font-family:var(--font-serif);font-size:22px;font-weight:300;line-height:1.5;color:var(--encre-62)}
.eyebrow{display:inline-flex;align-items:center;gap:14px;background:transparent;color:var(--dore);padding:0;border-radius:0;font-family:var(--font-sans);font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.22em}
.eyebrow::before{content:"";width:28px;height:1px;background:var(--dore)}

/* ——— Boutons ——— */
.button,button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--encre);border-radius:0;background:var(--encre);color:var(--ivoire);padding:18px 32px;font-family:var(--font-sans);font-weight:500;font-size:13px;text-transform:uppercase;letter-spacing:.12em;text-decoration:none;cursor:pointer;transition:background-color .2s ease,color .2s ease,border-color .2s ease}
.button:hover,button:hover{background:var(--dore);border-color:var(--dore);color:var(--ivoire)}
.button.secondary,button.secondary{background:transparent;color:var(--encre);border:1px solid var(--encre)}
.button.secondary:hover,button.secondary:hover{background:var(--encre);color:var(--ivoire)}
.button.small{padding:11px 18px}
button.danger,.button.danger{background:transparent;color:var(--encre);border:1px solid var(--encre)}
button.danger:hover,.button.danger:hover{background:var(--encre);color:var(--ivoire)}
button:disabled{opacity:.45;cursor:not-allowed}
.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}
.actions-cell{display:flex;gap:8px;flex-wrap:wrap}
.actions-cell form{display:inline}
.actions-cell button{padding:8px 12px;font-size:12px}

/* ——— Cartes / formulaires ——— */
.card,.form-card{background:var(--ivoire);border:1px solid var(--filet);border-radius:0;padding:24px;box-shadow:none;margin-bottom:22px}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:26px 0}
.grid3 strong{display:block;font-family:var(--font-serif);font-size:44px;font-weight:400;margin-top:8px}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border:1px solid var(--filet)}
.stats h2{grid-column:1/-1}
.stats div{background:var(--ivoire);border-right:1px solid var(--filet);padding:24px}
.stats div:last-child{border-right:0}
.stats strong{font-family:var(--font-serif);font-size:44px;font-weight:400;display:block}
.stats span,.card span,small{color:var(--encre-62)}
.form-card{max-width:560px;margin:0 auto}
.settings-card{max-width:780px}
.form-card form,.card form{display:grid;gap:14px}
label{display:grid;gap:7px;font-family:var(--font-sans);font-weight:500;font-size:14px;color:var(--encre)}
.check{display:flex;align-items:center;gap:10px;font-weight:400}
.check input{width:auto}
fieldset{border:1px solid var(--filet);border-radius:0;padding:14px}
legend{font-weight:500;font-size:13px;color:var(--encre)}
input,select,textarea{width:100%;border:1px solid var(--filet);border-radius:0;padding:12px 14px;font:inherit;font-family:var(--font-sans);background:var(--ivoire);color:var(--encre)}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--encre)}
input[type=color]{height:52px;padding:6px}
textarea{min-height:130px}
.variable-buttons{display:flex;flex-wrap:wrap;gap:8px;margin-top:-6px}

/* ——— Messages ——— */
.flash{max-width:1000px;margin:24px auto 0;background:var(--ivoire-fonce);color:var(--encre);border:1px solid var(--filet);border-radius:0;padding:14px 18px}
.flash.warning,.notice{background:var(--ivoire-fonce);color:var(--encre);border-color:var(--filet)}
.heading,.row{display:flex;align-items:center;justify-content:space-between;gap:18px}
.list{display:grid;gap:12px}
.list.compact{gap:6px}
.line{border-bottom:1px solid var(--filet);padding:10px 0}
.row{text-decoration:none}
.row small{display:block;margin-top:4px}
.row em{font-style:normal;background:transparent;color:var(--dore);padding:0;border-radius:0;font-weight:500;text-transform:uppercase;letter-spacing:.12em;font-size:13px}
.split{display:grid;grid-template-columns:1fr 360px;gap:22px}
.split.wide{grid-template-columns:minmax(0,1fr) 420px}

/* ——— Tableaux ——— */
table{width:100%;border-collapse:collapse;display:block;overflow-x:auto}
tbody{display:table;width:100%}
th,td{text-align:left;padding:12px;border-bottom:1px solid var(--filet);vertical-align:top}
th{color:var(--encre-62);font-size:11px;text-transform:uppercase;letter-spacing:.12em}
.pill{display:inline-block;background:transparent;color:var(--dore);border:1px solid var(--filet);border-radius:0;padding:4px 9px;margin:2px;font-size:12px;font-weight:500}
.muted{color:var(--encre-62)}
@media(max-width:900px){.hero,.grid3,.split,.split.wide{grid-template-columns:1fr}.stats{grid-template-columns:1fr}.stats div{border-right:0;border-bottom:1px solid var(--filet)}.heading,.row{align-items:flex-start;flex-direction:column}.submenu{position:static;display:block;box-shadow:none;margin-top:8px}.menu-group{display:block}}

/* ——— Editeur de tokens ——— */
.token-editor{width:100%;min-height:150px;border:1px solid var(--filet);border-radius:0;padding:12px 14px;background:var(--ivoire);line-height:1.6;white-space:pre-wrap}
.token-editor.single-line{min-height:48px;white-space:normal}
.template-token{display:inline-block;background:var(--ivoire-fonce);color:var(--dore);border:1px solid var(--filet);border-radius:0;padding:2px 9px;margin:0 2px;font-weight:500;user-select:all;white-space:nowrap}
.template-token::selection{background:var(--encre);color:var(--ivoire)}

/* ——— Cartes événement (dashboard) ——— */
.event-card{position:relative;transition:transform .15s ease}
.event-card:hover,.event-card:focus-within{transform:none}
.event-parts-panel{display:none;margin-top:18px;border-top:1px solid var(--filet);padding-top:16px;background:var(--ivoire)}
.event-card:hover .event-parts-panel,.event-card:focus-within .event-parts-panel{display:block}
.event-parts-panel h3{margin:0 0 12px}
.event-parts-panel .line small{display:block;margin-top:4px}
.events-submenu{min-width:320px;max-height:70vh;overflow:auto}
.submenu-title{display:block;margin:8px 10px 4px;color:var(--encre-62);font-size:12px;font-weight:500;text-transform:uppercase}
.submenu-event{display:block;border-top:1px solid var(--filet);padding-top:6px;margin-top:6px}
.submenu-event>a{font-weight:500;color:var(--dore)}
.submenu-parts{display:block;padding:0 10px 8px}
.submenu-parts span,.submenu-parts a{display:block;color:var(--encre-62);font-size:13px;padding:3px 0 3px 12px;text-decoration:none}
.submenu-parts a:hover{color:var(--dore);background:var(--ivoire-fonce);border-radius:0}
.template-token.selected{background:var(--encre);color:var(--ivoire);border-color:var(--encre);outline:2px solid var(--filet)}
.emoji-picker{border:1px solid var(--filet);border-radius:0;padding:14px;background:var(--ivoire-fonce)}
.emoji-picker-head{display:flex;gap:12px;align-items:center;justify-content:space-between;margin-bottom:12px}
.emoji-picker-head input{max-width:360px}
.emoji-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(42px,1fr));gap:8px;max-height:260px;overflow:auto}
.emoji-button{border-radius:0;background:var(--ivoire);color:var(--encre);border:1px solid var(--filet);padding:8px;font-size:22px;line-height:1}

/* ——— Sections réglages ——— */
.settings-section{border:1px solid var(--filet);border-radius:0;padding:18px;background:var(--ivoire);margin-bottom:18px}
.settings-section h2{margin-top:0}
.settings-section .card{box-shadow:none;background:var(--ivoire-fonce)}
.settings-card{max-width:880px}
.settings-section{overflow:hidden;padding:0}
.settings-toggle{width:100%;border-radius:0;background:var(--ivoire);color:var(--encre);border:0;padding:18px 20px;display:flex;align-items:center;justify-content:space-between;font-family:var(--font-serif);font-size:20px;text-align:left;text-transform:none;letter-spacing:normal}
.settings-toggle:hover{background:var(--ivoire-fonce);color:var(--encre)}
.settings-toggle span{transition:transform .15s ease}
.settings-section.open .settings-toggle span{transform:rotate(180deg)}
.settings-panel{display:none;padding:0 18px 18px}
.settings-section.open .settings-panel{display:grid;gap:14px}
.notice{border:1px solid var(--filet);border-radius:0;padding:12px 14px;margin:8px 0;font-weight:500}

/* ——— Champ téléphone ——— */
.phone-field{display:grid;gap:8px;position:relative}
.field-label{font-weight:500}
.country-trigger{width:100%;border:1px solid var(--filet);border-radius:0;background:var(--ivoire);color:var(--encre);padding:12px 14px;display:flex;align-items:center;justify-content:space-between;text-align:left;text-transform:none;letter-spacing:normal}
.country-trigger:hover{background:var(--ivoire)}
.country-panel{display:none;position:absolute;left:0;right:0;top:74px;background:var(--ivoire);border:1px solid var(--filet);border-radius:0;padding:12px;box-shadow:none;z-index:50}
.phone-field.open .country-panel{display:block}
.country-panel input{margin-bottom:10px}
.country-options{display:grid;gap:4px;max-height:260px;overflow:auto}
.country-options button{background:var(--ivoire);color:var(--encre);border:0;border-radius:0;padding:9px 10px;text-align:left;font-weight:500;text-transform:none;letter-spacing:normal}
.country-options button:hover{background:var(--ivoire-fonce);color:var(--dore)}
.settings-page{max-width:920px}
.settings-page--rsvp-theme{max-width:1180px}

/* ——— Editeur de thème RSVP ——— */
.rsvp-theme-editor{display:grid;grid-template-columns:minmax(280px,1fr) minmax(300px,1.05fr);gap:28px;align-items:start;margin-top:8px}
@media(max-width:960px){.rsvp-theme-editor{grid-template-columns:1fr}}
.rsvp-theme-editor-main{display:flex;flex-direction:column;gap:0;min-width:0}
.rsvp-theme-editor-form{min-width:0;flex:0 0 auto;align-self:stretch}
.rsvp-theme-editor-footer{margin-top:20px;padding-top:18px;border-top:1px solid var(--filet);display:flex;flex-direction:column;align-items:flex-start;gap:10px}
.rsvp-theme-editor-preview{min-width:0;max-width:100%;display:flex;flex-direction:column;align-self:start}
#rsvp-theme-preview-host{min-height:200px;overflow-y:auto;overflow-x:hidden;box-sizing:border-box}
@media(max-width:960px){#rsvp-theme-preview-host{height:auto!important;max-height:none!important;min-height:280px}}
.rsvp-theme-preview-wrap{min-width:0;max-width:100%;position:static;top:auto}
.rsvp-theme-preview-toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:12px}
.rsvp-theme-preview-toolbar-label{font-weight:500;color:var(--encre-62);margin-right:4px}
.rsvp-theme-preview-toolbar .button.is-active{background:var(--dore);color:var(--ivoire);border-color:var(--dore)}
.rsvp-theme-preview-draft-note{margin:0 0 12px;font-size:13px}
.rsvp-theme-live-preview{background:var(--ivoire-fonce);border-radius:0;padding:8px}
#rsvp-theme-preview-host .rsvp-theme-live-preview{margin:0;border-radius:0}
#rsvp-theme-preview-host [data-rsvp-story-section][hidden],
#rsvp-theme-preview-host [data-rsvp-program-section][hidden]{display:none!important}
#rsvp-theme-preview-host .rsvp-theme-preview-toolbar{position:sticky;top:0;z-index:2;background:var(--ivoire-fonce);padding-bottom:8px;margin-bottom:8px}
.rsvp-theme-preview-form{display:grid;gap:14px;margin-top:8px}
.rsvp-theme-preview-form-note{margin:0 0 4px;font-size:13px}
.rsvp-theme-preview-form input[disabled],.rsvp-theme-preview-form select[disabled]{opacity:.85;cursor:not-allowed}
.rsvp-theme-hero-delete-form,.rsvp-theme-reset-form{margin:0}
.rsvp-theme-hero-saved{margin:4px 0 8px}
.settings-page-head{margin-bottom:16px}
.settings-page-head .muted{margin:0}
.has-app-shell .settings-page-head{display:none}
.settings-panel-card{margin-bottom:18px}
.settings-panel-card h2{margin-top:0}
.settings-panel-form{display:grid;gap:14px}
.settings-panel-card .token-editor{min-height:92px;max-height:220px;overflow:auto;line-height:1.45}
.settings-panel-card .token-editor.single-line{min-height:46px;max-height:58px}
.settings-panel-card .emoji-grid{max-height:180px}
.settings-variables-groups{display:grid;gap:16px}
.settings-variables-group{padding:14px;border:1px solid var(--filet);border-radius:0;background:var(--ivoire-fonce)}
.settings-variables-group h3{margin:0 0 10px;font-size:15px}
.app-sidebar-settings .app-nav-sublink.active{background:var(--ivoire-fonce);color:var(--dore);font-weight:500}
.event-dashboard{grid-template-columns:repeat(4,1fr)}
@media(max-width:900px){.event-dashboard{grid-template-columns:1fr}}

/* ——— Page invitation invité ——— */
.invitation-page{max-width:860px;margin:0 auto}
.invitation-hero{text-align:center;background:var(--ivoire-fonce);border:1px solid var(--filet);border-radius:0;padding:42px 28px;box-shadow:none;margin-bottom:22px}
.invitation-hero h1{font-family:var(--font-serif);font-size:clamp(36px,7vw,72px);line-height:1;margin:14px 0;color:var(--encre)}
.invitation-dear{font-family:var(--font-serif);font-size:24px;font-weight:400;color:var(--encre);margin:18px 0 8px}
.invitation-message{max-width:620px;margin:0 auto;color:var(--encre-62);font-size:18px;line-height:1.7}
.invitation-card{background:var(--ivoire);border:1px solid var(--filet);border-radius:0;padding:24px;box-shadow:none;margin-bottom:20px}
.invitation-card form{display:grid;gap:14px}
.invitation-timeline{display:grid;gap:16px;width:100%;max-width:100%}
.invitation-moment{display:grid;grid-template-columns:24px 1fr;gap:14px;align-items:start;padding:14px;border-radius:0;background:var(--ivoire-fonce);min-width:0;max-width:100%;overflow:hidden}
.invitation-moment>div{min-width:0;max-width:100%}
.invitation-moment strong{display:block;font-family:var(--font-serif);font-size:19px;color:var(--encre);max-width:100%;overflow-wrap:anywhere;word-break:break-word;text-wrap:balance;hyphens:auto;line-height:1.35}
.invitation-moment small{display:block;margin-top:4px;max-width:100%;overflow-wrap:anywhere;word-break:break-word}
.invitation-dot{width:14px;height:14px;border-radius:0;background:var(--dore);box-shadow:none;margin-top:5px}

/* ——— RSVP : cartes de réponse ——— */
.rsvp-response-list{display:grid;gap:12px}
.rsvp-part-card{border:1px solid var(--filet);background:var(--ivoire-fonce);border-left:1px solid var(--filet);border-radius:0;padding:16px;display:grid;gap:10px}
.rsvp-part-card:nth-of-type(2n){border-left-color:var(--filet);background:var(--ivoire-fonce)}
.rsvp-part-card:nth-of-type(3n){border-left-color:var(--filet);background:var(--ivoire-fonce)}
.rsvp-part-card legend{display:none!important}
.rsvp-part-heading{margin:0 0 8px;padding:8px 10px;background:var(--ivoire);border:1px solid var(--filet);border-radius:0;box-sizing:border-box}
.rsvp-part-heading .rsvp-part-title,.rsvp-part-card>.rsvp-part-title{display:block;width:100%;max-width:100%;box-sizing:border-box;font-family:var(--font-serif);font-size:18px;font-weight:400;color:var(--encre);padding:0;margin:0;white-space:normal;overflow-wrap:anywhere;word-break:break-word;text-wrap:balance;hyphens:auto;line-height:1.35;background:transparent;border:0}
.rsvp-part-card label{font-weight:500}
.rsvp-part-card small{line-height:1.5}
.rsvp-part-card.locked{border-left-color:var(--filet);background:var(--ivoire-fonce)}
.rsvp-lock-note{border:1px solid var(--filet);background:var(--ivoire-fonce);color:var(--encre);border-radius:0;padding:12px 14px;margin:4px 0 0;font-weight:500}
.rsvp-count-field.is-hidden{display:none}
.rsvp-count-field select:invalid{color:var(--encre-62)}

/* ——— Tableau de bord sous-événements ——— */
.subevent-dashboard{margin:20px 0;padding:18px;border:1px solid var(--filet);border-radius:0;background:var(--ivoire-fonce)}
.subevent-dashboard h2{margin-top:0}
.subevent-dashboard table{background:var(--ivoire);border-radius:0}
.subevent-dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}
.subevent-dashboard-card{background:var(--ivoire);border:1px solid var(--filet);border-left:1px solid var(--filet);border-radius:0;padding:16px}
.subevent-dashboard-card h3{margin:0 0 4px;color:var(--encre)}
.subevent-counts{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:14px}
.subevent-counts span{background:var(--ivoire-fonce);border-radius:0;padding:10px;color:var(--encre-62)}
.subevent-counts em{display:block;font-style:normal;font-family:var(--font-serif);font-size:24px;font-weight:400;color:var(--encre)}
.collapsible-card summary{cursor:pointer;font-family:var(--font-serif);font-weight:400;font-size:20px;color:var(--encre);list-style:none}
.collapsible-card summary::-webkit-details-marker{display:none}
.collapsible-card summary:after{content:"Ouvrir";float:right;background:transparent;color:var(--dore);font-size:12px;border:1px solid var(--filet);border-radius:0;padding:6px 10px;text-transform:uppercase;letter-spacing:.08em}
.collapsible-card[open] summary{margin-bottom:16px}
.collapsible-card[open] summary:after{content:"Reduire"}
.site-footer{margin-top:0;padding:40px 0 28px;border-top:1px solid var(--filet);background:var(--ivoire-fonce);text-align:left;position:relative;z-index:2}
.site-footer-inner{max-width:1280px;margin:0 auto;padding:0 clamp(20px,5vw,64px);display:flex;flex-direction:column;gap:20px;text-align:left}
.site-footer--compact .site-footer-inner{gap:16px}
.site-footer-top{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:20px 32px}
.site-footer-links{display:flex;flex-wrap:wrap;gap:10px 18px;align-items:center;max-width:640px}
.site-footer-links a{font-size:13px;font-weight:500;text-decoration:none;color:var(--encre-62);line-height:1.35}
.site-footer-links a:hover{color:var(--dore)}
.site-footer-legal{display:flex;flex-wrap:wrap;gap:8px 16px;justify-content:center;padding-top:4px;border-top:1px solid var(--filet)}
.site-footer-legal a{font-size:12px;text-decoration:none;color:var(--encre-62)}
.site-footer-legal a:hover{color:var(--dore)}
/* Bloc marque */
.site-footer-brand-col{display:flex;flex-direction:column;gap:14px}
.site-footer-brand{margin:0;font-family:var(--font-serif);font-size:26px;font-weight:400;letter-spacing:.01em;color:var(--encre)}
.site-footer-tagline{margin:0;font-size:14px;line-height:1.6;color:var(--encre-62);max-width:320px}
.site-footer-contact{font-size:14px;font-weight:500;text-decoration:none;color:var(--dore)}
.site-footer-contact:hover{text-decoration:underline}
/* Colonnes (details/summary, mais comportement statique sur desktop) */
.site-footer-cols{display:contents}
.site-footer-col{border:0;background:transparent;margin:0;padding:0}
.site-footer-col__title{margin:0 0 16px;font-family:var(--font-sans);font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--encre);list-style:none;display:flex;align-items:center;justify-content:space-between;cursor:default;pointer-events:none}
.site-footer-col__title::-webkit-details-marker{display:none}
.site-footer-col__title::after{content:"";display:none}
.site-footer-col__links{display:flex;flex-direction:column;gap:11px}
.site-footer-col__links a{font-size:14px;font-weight:400;text-decoration:none;color:var(--encre-62);line-height:1.4}
.site-footer-col__links a:hover{color:var(--dore)}
/* Copyright sur toute la largeur */
.site-footer-copy{margin:0;font-size:12px;color:var(--encre-62);text-align:center}
@media(max-width:600px){
.site-footer{padding:28px 0 24px}
.site-footer-brand{font-size:22px}
}

/* ——— Pages légales ——— */
.legal-page{display:grid;gap:22px;max-width:860px}
.legal-section h2{margin:0 0 10px;font-size:22px}
.legal-section h3{margin:18px 0 8px;font-size:17px;color:var(--encre)}
.legal-section p,.legal-section li{line-height:1.7;color:var(--encre-62)}
.legal-section ul{padding-left:22px}

/* ——— Bandeau cookies ——— */
.cookie-consent{position:fixed;inset:auto 0 0 0;z-index:100;padding:16px;background:var(--ivoire-fonce)}
.cookie-consent-panel{max-width:920px;margin:0 auto;box-shadow:none}
.cookie-consent h2{margin:0 0 8px}
.cookie-consent-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
.cookie-consent-customize{margin-top:16px;padding-top:16px;border-top:1px solid var(--filet);display:grid;gap:8px}
.cookie-consent-option{align-items:flex-start}
body.site-body:has(#cookie-consent:not([hidden])) .site-footer{padding-bottom:100px}
@media(max-width:900px){.cookie-consent-actions .button,.cookie-consent-actions .button.secondary{flex:1 1 100%}}

/* ——— Navigation responsive ——— */
.nav-toggle{display:none!important}
.topbar-head{display:contents}
.main-nav{display:flex;align-items:center;gap:16px;flex-wrap:wrap;justify-content:flex-end;flex:1}
@media(min-width:901px){
.topbar-shell::before{display:none}
.topbar{align-items:center;justify-content:space-between;flex-wrap:nowrap;flex-direction:row;gap:16px}
.topbar-head{display:contents}
.nav-toggle{display:none!important}
.topbar .main-nav{display:flex!important;position:static;width:auto;max-width:none;margin:0;padding:0;opacity:1!important;visibility:visible!important;transform:none!important;overflow:visible;background:transparent;flex-direction:row;align-items:center;gap:16px;flex-wrap:wrap;justify-content:flex-end;flex:1}
.topbar .main-nav>a:not(.button){display:inline;padding:0;border:0;font-family:var(--font-sans);font-size:13px;font-weight:500}
.topbar .main-nav .button,.topbar .main-nav a.button,.topbar .main-nav a.button.small{display:inline-flex;width:auto;margin-top:0;padding:11px 18px!important}
.topbar .main-nav form{margin-top:0;width:auto}
.main-nav{display:flex!important;width:auto;flex-direction:row;align-items:center}
.menu-group{display:inline-flex;width:auto}
.menu-group.open .submenu{display:none}
.menu-group:hover .submenu,.menu-group:focus-within .submenu{display:block}
.topbar .main-nav .nav-link-arrow{display:inline-flex;align-items:center}
.topbar .main-nav .nav-link-arrow .nav-arrow{display:none}
}

/* ——— App-shell (espace organisateur) ——— */
.has-app-shell .container{padding:0}
.has-app-shell .site-footer{margin-top:24px;padding-bottom:32px}
.app-shell{display:grid;grid-template-columns:260px minmax(0,1fr);min-height:100vh}
.app-mobile-bar{display:none}
.app-sidebar{background:var(--ivoire);border-right:1px solid var(--filet);padding:20px 16px;position:sticky;top:0;height:100vh;overflow:auto;display:flex;flex-direction:column}
.app-sidebar-nav{display:grid;gap:6px}
.app-sidebar-logout{margin-top:auto;padding-top:18px;border-top:1px solid var(--filet)}
.app-sidebar-logout__btn{width:100%;justify-content:center}
.app-nav-link{display:block;padding:12px 14px;border-radius:0;text-decoration:none;font-family:var(--font-sans);font-weight:500;color:var(--encre)}
.app-nav-link:hover,.app-nav-link.active{background:var(--ivoire-fonce);color:var(--dore)}
.app-sidebar-recent{margin-top:22px;padding-top:18px;border-top:1px solid var(--filet);display:grid;gap:6px}
.app-sidebar-label{display:block;font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.12em;color:var(--encre-62);margin-bottom:4px}
.app-nav-sublink{display:block;padding:8px 12px;border-radius:0;text-decoration:none;font-size:13px;font-weight:500;color:var(--encre-62)}
.app-nav-sublink:hover{background:var(--ivoire-fonce);color:var(--dore)}
.app-main{min-width:0;display:flex;flex-direction:column}
.app-topbar-shell{width:100%;border-bottom:1px solid var(--filet);background:transparent}
.app-topbar{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;max-width:1200px;width:100%;margin:0;padding:24px 32px 8px;background:transparent;border:0}
.app-topbar-brand{flex:0 0 auto}
.app-topbar-eyebrow{margin:0 0 4px;font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.22em;color:var(--dore)}
.app-topbar-title{margin:0;font-family:var(--font-serif);font-size:clamp(22px,2.5vw,32px);line-height:1.12}
.app-topbar-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.app-user-name{font-weight:500;color:var(--encre-62);font-size:14px}
.app-content{padding:24px 32px 32px;max-width:1200px;width:100%;margin:0}
.app-flash{margin:0 0 12px;max-width:1200px;width:100%;padding:0 32px;box-sizing:border-box}
.app-page-lead{margin:0 0 18px;font-size:16px;line-height:1.6}
.app-page-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px;flex-wrap:wrap}
.app-quick-actions{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 22px}
.app-stat-grid{margin-top:0}
.app-stat-card span{font-size:13px}
.app-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px;flex-wrap:wrap}
.app-panel-head h2{margin:0 0 6px}
.app-panel-head .actions,.app-panel-head .button{margin:0}
.app-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 22px;padding:6px;background:var(--ivoire);border:1px solid var(--filet);border-radius:0}
.app-tab{padding:10px 16px;border-radius:0;text-decoration:none;font-weight:500;color:var(--encre-62)}
.app-tab:hover{background:var(--ivoire-fonce);color:var(--dore)}
.app-tab.active{background:var(--encre);color:var(--ivoire)}
.app-event-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px;flex-wrap:wrap}

/* ——— Compte à rebours ——— */
.countdown-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin:0 0 22px}
.countdown-card{background:var(--ivoire-fonce);border:1px solid var(--filet);border-radius:0;padding:16px}
.countdown-card-title{margin:0 0 10px;font-size:17px;color:var(--encre)}
.countdown-values{display:flex;flex-wrap:wrap;gap:8px}
.countdown-segment{min-width:58px;background:var(--ivoire);border:1px solid var(--filet);border-radius:0;padding:8px 10px;text-align:center}
.countdown-segment strong{display:block;font-family:var(--font-serif);font-size:24px;line-height:1}
.countdown-segment small{display:block;color:var(--encre-62);font-weight:500;text-transform:uppercase;font-size:11px}
.countdown-ended-label{margin:0;font-weight:500;color:var(--encre-62)}
.countdown-timer.countdown-done .countdown-values{font-size:18px;font-weight:500;color:var(--dore)}
.event-retention-countdown{margin:0 0 20px}
.event-retention-countdown .countdown-card--retention{background:var(--ivoire-fonce);border-color:var(--filet)}
.event-retention-countdown .countdown-card-title{font-size:18px;color:var(--encre)}
.event-retention-countdown-lead{margin:0 0 12px;font-size:14px;line-height:1.5}
.event-retention-countdown-foot{margin:12px 0 0;font-size:13px;line-height:1.45}
.event-retention-countdown-ended{color:var(--encre);font-size:16px}
.legal-register-check--required{border-left:1px solid var(--dore);padding-left:12px}

/* ——— Filtres / chips ——— */
.app-filter-chips{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px}
.app-chip{display:inline-block;padding:8px 14px;border-radius:0;border:1px solid var(--filet);background:var(--ivoire);text-decoration:none;font-weight:500;font-size:13px;color:var(--encre-62);text-transform:uppercase;letter-spacing:.08em}
.app-chip:hover,.app-chip.active{background:var(--encre);border-color:var(--encre);color:var(--ivoire)}
.app-filters-form{margin-bottom:16px}
.app-panel-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}

/* ——— Affectation invités en masse ——— */
.guest-bulk-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:16px}
@media(max-width:800px){.guest-bulk-grid{grid-template-columns:1fr}}
.guest-bulk-panel{padding:16px}
.guest-bulk-panel-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.guest-bulk-panel-head h2{margin:0}
.guest-check-list{max-height:420px;overflow:auto;border:1px solid var(--filet);border-radius:0;padding:12px;display:flex;flex-direction:column;gap:8px;margin-bottom:16px}
.guest-check-row{align-items:flex-start}
.guest-check-row span{display:block;line-height:1.4}
.guest-bulk-form select{width:100%;margin:12px 0}
.guest-import-page .card{margin-top:16px}

/* ——— Grille d'événements ——— */
.event-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}
.event-grid-card{background:var(--ivoire);border:1px solid var(--filet);border-radius:0;padding:20px;box-shadow:none}
.event-grid-card h3{margin:0 0 8px;font-size:20px}
.event-grid-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.event-grid-parts{margin:12px 0 0;padding-left:18px;color:var(--encre-62);font-size:13px;line-height:1.5}
.table-wrap{overflow-x:auto}
.app-table{display:table;width:100%;overflow:visible}
@media(max-width:900px){
.home-hero-pro__fan-wrap{display:none!important}
.home-hero-pro__grid{gap:16px}
.home-hero-pro__kicker{margin:0;padding:0 4px;font-size:10px;letter-spacing:.16em;line-height:1.45}
.home-hero-pro__kicker::before{width:24px;flex-shrink:0}
.home-hero-pro__brand{width:100%;max-width:min(100%,400px);margin:12px auto 0;padding:0 4px;gap:10px}
.home-hero-pro__brand .home-mockup--dashboard{width:100%;max-width:100%;margin:0}
.home-hero-pro__brand .home-mockup__img{width:100%;max-width:100%}
.home-hero-pro__copy{margin-top:0}
.home-hero-pro__actions{display:flex;flex-direction:column;align-items:stretch;width:100%;gap:10px}
.home-hero-pro__actions .button{width:100%;justify-content:center}
.home-cta-pro .actions,.form-card .actions,.onboarding-panel .actions,.container > .actions:not(.inline){flex-direction:column;align-items:stretch;width:100%}
.home-cta-pro .actions .button,.form-card .actions .button,.onboarding-panel .actions .button,.container > .actions:not(.inline) .button{width:100%;justify-content:center}
.rsvp-theme-form-actions{flex-direction:column;align-items:stretch;width:100%}
.rsvp-theme-form-actions .button{width:100%;justify-content:center}
/* Masquer l'aperçu de la page RSVP sur mobile */
.has-app-shell .rsvp-theme-editor-preview{display:none}
.rsvp-theme-carousel.is-single-view .rsvp-theme-carousel-controls{display:flex}
.rsvp-theme-carousel.is-single-view .rsvp-theme-carousel-viewport{overflow-x:auto;overflow-y:hidden;border:1px solid var(--filet);background:var(--ivoire-fonce);scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}
.rsvp-theme-carousel.is-single-view .rsvp-theme-template-grid{display:flex!important;gap:12px;max-height:none!important;overflow:visible!important;padding:12px 8%;border:0;background:transparent;min-width:100%}
.rsvp-theme-carousel.is-single-view .rsvp-theme-template-card{display:grid!important;flex:0 0 84%!important;max-width:84%!important;margin:0!important;scroll-snap-align:center;opacity:.66;transform:scale(.96);transition:transform .2s ease,opacity .2s ease;overflow:hidden;box-sizing:border-box}
.rsvp-theme-carousel.is-single-view .rsvp-theme-template-card.is-carousel-active{opacity:1;transform:scale(1)}
.rsvp-theme-carousel.is-single-view .rsvp-theme-template-thumb{aspect-ratio:16/10;min-height:168px;width:100%;max-width:100%;margin:0;box-sizing:border-box;overflow:hidden}
.rsvp-theme-carousel.is-single-view .rsvp-theme-template-card-text{display:grid;gap:6px;width:100%;max-width:100%;min-width:0;box-sizing:border-box;overflow:hidden}
.rsvp-theme-carousel.is-single-view .rsvp-theme-template-card-text strong,
.rsvp-theme-carousel.is-single-view .rsvp-theme-template-card-text small,
.rsvp-theme-carousel.is-single-view .rsvp-theme-template-card-text .muted{display:block;max-width:100%;min-width:0;overflow-wrap:anywhere;word-break:break-word}
/* Bouton "Sélectionner" sous le thème affiché (mobile uniquement) */
.rsvp-theme-carousel.is-single-view .rsvp-theme-card-select{display:none}
.rsvp-theme-carousel.is-single-view .rsvp-theme-template-card.is-carousel-active .rsvp-theme-card-select{display:flex;width:100%;max-width:100%;justify-content:center;margin:12px 0 0;box-sizing:border-box}
.rsvp-theme-carousel.is-single-view .rsvp-theme-carousel-controls{position:sticky;top:52px;z-index:6;background:var(--ivoire);padding:10px 0 12px;margin:0 0 8px;border-bottom:1px solid var(--filet)}
.rsvp-theme-carousel.is-single-view .rsvp-theme-carousel-btn{flex:0 0 auto;min-width:0;padding:12px 14px!important}
.rsvp-theme-carousel.is-single-view .rsvp-theme-carousel-status{font-size:14px}
.rsvp-theme-carousel__title{margin:0 0 12px;font-size:20px}
.app-shell{grid-template-columns:1fr}
.app-mobile-bar{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:var(--ivoire);border-bottom:1px solid var(--filet);position:sticky;top:0;z-index:30}
/* Menu mobile : pop-up plein écran sous le header, sans overlay */
.app-sidebar{position:fixed;inset:56px 0 0 0;width:100%;max-width:100vw;height:auto;z-index:40;padding:16px 20px 32px;border-right:0;border-top:1px solid var(--filet);background:var(--ivoire);overflow-y:auto;box-shadow:none;opacity:0;visibility:hidden;transform:translateY(-6px);pointer-events:none;transition:opacity .2s ease,transform .2s ease,visibility .2s}
.app-shell.sidebar-open .app-sidebar{opacity:1;visibility:visible;transform:none;pointer-events:auto}
.app-topbar-shell,.app-topbar,.app-content,.app-flash{padding-left:16px;padding-right:16px}
.app-topbar-shell{padding-left:0;padding-right:0}
.app-topbar{padding-left:16px;padding-right:16px}
.app-flash{margin-left:16px;margin-right:16px}
.app-tabs{overflow:auto;flex-wrap:nowrap}
}
@media(max-width:900px){
/* Topbar fine : marque à gauche, menu à droite */
.topbar{align-items:center;flex-wrap:nowrap;padding:0 16px;min-height:52px;gap:0;position:relative}
.topbar .main-nav{left:0;right:0}
.topbar-head{display:flex;align-items:center;justify-content:space-between;width:100%;flex:1 1 auto;min-width:0}
.brand{font-size:17px;flex:0 1 auto;margin-right:12px}
.nav-toggle{flex:0 0 auto;margin-left:auto}

/* Bouton hamburger (3 barres) — sans fond au clic */
button.nav-toggle,.topbar .nav-toggle{display:inline-flex!important;align-items:center;justify-content:center;width:44px;height:44px;min-height:44px;min-width:44px;padding:0!important;border:0!important;background:transparent!important;color:var(--encre)!important;box-shadow:none!important;cursor:pointer;position:relative;z-index:103;-webkit-tap-highlight-color:transparent}
button.nav-toggle:hover,button.nav-toggle:active,button.nav-toggle:focus,button.nav-toggle:focus-visible{background:transparent!important;border:0!important;color:var(--encre)!important;outline:none}
button.nav-toggle:focus-visible{outline:2px solid var(--dore);outline-offset:2px}
.nav-toggle__label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.nav-toggle__bars,.nav-toggle__bars::before,.nav-toggle__bars::after{content:"";display:block;width:22px;height:1.5px;background:var(--encre);transition:transform .25s ease,opacity .2s ease}
.nav-toggle__bars{position:relative;background:var(--encre)}
.nav-toggle__bars::before{position:absolute;top:-7px;left:0}
.nav-toggle__bars::after{position:absolute;top:7px;left:0}
.topbar-shell.nav-open .nav-toggle__bars{background:transparent}
.topbar-shell.nav-open .nav-toggle__bars::before{transform:translateY(7px) rotate(45deg)}
.topbar-shell.nav-open .nav-toggle__bars::after{transform:translateY(-7px) rotate(-45deg)}

/* Menu déroulant sous la topbar (sans overlay, le contenu reste accessible) */
.topbar .main-nav{
  display:flex;flex-direction:column;align-items:stretch;gap:0;
  position:absolute;left:0;right:0;top:100%;
  width:100%;max-width:100vw;margin:0;padding:8px 20px 24px;
  background:var(--ivoire);z-index:101;border-bottom:1px solid var(--filet);
  box-shadow:0 18px 30px -22px rgba(27,22,18,.4);
  overflow-x:hidden;overflow-y:auto;max-height:calc(100vh - 52px);
  opacity:0;visibility:hidden;transform:translateY(-6px);pointer-events:none;
  transition:opacity .22s ease,transform .22s ease,visibility .22s;
  box-sizing:border-box;
}
.topbar-shell.nav-open .main-nav{opacity:1;visibility:visible;transform:none;pointer-events:auto}
.topbar .main-nav>a:not(.button){
  display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 0;
  font-family:var(--font-serif);font-size:22px;font-weight:500;color:var(--encre)!important;
  border-bottom:1px solid var(--filet);text-decoration:none;background:transparent;
}
.topbar .main-nav>a:not(.button):hover{color:var(--dore)!important}
.topbar .main-nav .nav-link-arrow .nav-arrow{flex:0 0 auto;color:var(--dore);transition:transform .2s ease}
.topbar .main-nav .nav-link-arrow:hover .nav-arrow{transform:translateX(4px)}
.topbar .main-nav .button,
.topbar .main-nav a.button,
.topbar .main-nav a.button.small{
  display:flex;align-items:center;justify-content:center;
  width:100%;margin-top:16px;padding:16px 20px!important;
  font-family:var(--font-sans);font-size:13px;font-weight:500;
  color:var(--ivoire)!important;background:var(--encre)!important;border:1px solid var(--encre)!important;
  text-transform:uppercase;letter-spacing:.12em;text-decoration:none;
}
.topbar .main-nav .button:hover,
.topbar .main-nav a.button:hover{background:var(--dore)!important;border-color:var(--dore)!important;color:var(--ivoire)!important}
.topbar .main-nav form{margin-top:16px;width:100%}
.topbar .main-nav form .button,
.topbar .main-nav form button{width:100%;color:var(--ivoire)!important;background:var(--encre)!important}

/* Sous-menus déroulants dans le menu plein écran */
.menu-group{display:block;width:100%}
.menu-group>a:first-child{display:block}
.submenu{display:none;position:static;box-shadow:none;margin:0 0 8px;padding:0 0 8px 12px;width:100%;max-height:none;overflow:visible;border:0}
.submenu a{font-family:var(--font-sans);font-size:15px;padding:10px 0;border-bottom:1px solid var(--filet)}
.menu-group.open .submenu{display:block}
.menu-group:hover .submenu{display:none}
.menu-group.open:hover .submenu,.menu-group.open .submenu{display:block}
.events-submenu{min-width:0}
}

/* ——— Offre / vanity ——— */
.offer-slug-rules{margin:14px 0;padding:14px 16px;border-radius:0;background:var(--ivoire-fonce);border:1px solid var(--filet)}
.offer-slug-rules ul{margin:8px 0 0;padding-left:20px}
.offer-slug-rules li{margin:6px 0}
.offer-slug-ok{color:var(--dore);font-weight:500}
.offer-slug-ko{color:var(--encre);font-weight:500}
#offer-vanity-normalized{font-weight:500;color:var(--encre)}
.offer-checkout-price{font-size:1.15rem;margin:16px 0}

/* ——— Page d'accueil pro ——— */
.home-page{margin:0}
.home-kicker{display:inline-flex;align-items:center;gap:14px;margin:0 0 12px;padding:0;border-radius:0;background:transparent;border:0;color:var(--dore);font-family:var(--font-sans);font-size:11px;font-weight:500;letter-spacing:.22em;text-transform:uppercase}
.home-kicker::before{content:"";width:28px;height:1px;background:var(--dore)}
.home-kicker--light{background:transparent;border:0;color:var(--dore)}
.home-btn-lg{padding:18px 36px;font-size:13px}
.home-btn-block{display:block;text-align:center;width:100%;margin-top:auto}
/* Bouton blanc (sur bandeau image) */
.button.home-btn-white,a.button.home-btn-white{background:#fff!important;color:var(--encre)!important;border:1px solid #fff!important}
.button.home-btn-white:hover,a.button.home-btn-white:hover{background:var(--dore)!important;border-color:var(--dore)!important;color:var(--ivoire)!important}

/* ——— Hero en bandeau (image de fond, contenu centré) ——— */
.home-hero-banner{position:relative;padding-left:0!important;padding-right:0!important;padding-top:0;padding-bottom:0;
  background-image:linear-gradient(rgba(27,22,18,.5),rgba(27,22,18,.5)),var(--home-hero-banner-img);
  background-size:cover;background-position:center;background-repeat:no-repeat;color:#fff}
.home-hero-banner__inner{max-width:760px;margin:0 auto;padding:120px var(--edge) 120px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:0}
.home-hero-banner__kicker{color:#fff!important;margin:0 0 18px}
.home-hero-banner__kicker::before{background:#fff}
.home-hero-banner__title{margin:0 0 20px;font-family:var(--font-serif);font-size:clamp(40px,5vw,72px);line-height:1.05;font-weight:400;color:#fff;letter-spacing:-1px}
.home-hero-banner__lead{margin:0 0 32px;font-family:var(--font-serif);font-size:22px;font-weight:300;line-height:1.5;color:rgba(255,255,255,.88);max-width:600px}
.home-hero-banner__actions{margin:0;display:flex;justify-content:center}
.home-hero-pro{padding:8px 0 48px}
.home-hero-pro__grid{display:grid;grid-template-columns:1.05fr .95fr;grid-template-areas:"kicker visual" "copy visual";gap:40px 40px;align-items:center}
.home-hero-pro__kicker{grid-area:kicker;margin:0 0 4px}
.home-hero-pro__copy{grid-area:copy;min-width:0}
.home-hero-pro__brand{grid-area:visual}
.home-hero-pro__title{margin:0 0 16px;font-family:var(--font-serif);font-size:clamp(40px,5vw,72px);line-height:1;font-weight:400;color:var(--encre);letter-spacing:-1px}
.home-hero-pro__lead{margin:0 0 20px;font-family:var(--font-serif);font-size:22px;font-weight:300;line-height:1.5;color:var(--encre-62);max-width:540px}
.home-hero-pro__bullets{margin:0 0 24px;padding:0;list-style:none;display:grid;gap:10px}
.home-hero-pro__bullets li{position:relative;padding-left:22px;color:var(--encre);line-height:1.5}
.home-hero-pro__bullets li::before{content:"";position:absolute;left:0;top:.55em;width:8px;height:8px;border-radius:0;background:var(--dore)}
.home-hero-pro__actions{margin-top:0}
.home-hero-pro__note{margin:14px 0 0;font-size:13px}
.home-hero-pro__brand{display:flex;flex-direction:column;align-items:center;gap:20px}
.home-logo-frame{position:relative;margin:0;padding:22px 26px 20px;background:var(--ivoire-fonce);border:1px solid var(--filet);border-radius:0;box-shadow:none}
.home-logo-frame::before{content:"";position:absolute;inset:12px;border:1px solid var(--filet);border-radius:0;pointer-events:none}
.home-logo-frame::after{content:"";position:absolute;top:10px;left:50%;width:48px;height:1px;margin-left:-24px;border-radius:0;background:var(--dore);opacity:.7}
.home-logo-frame__img{display:block;width:min(100%,300px);height:auto;margin:0 auto;border-radius:0}
.home-trust{margin:32px 0 40px;padding:20px 24px;background:var(--ivoire);border:1px solid var(--filet);border-radius:0;box-shadow:none;position:relative;z-index:2;clear:both}
.home-trust__list{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:0;padding:0;list-style:none}
.home-trust__list li{text-align:center}
.home-trust__list strong{display:block;font-family:var(--font-serif);font-size:44px;font-weight:400;color:var(--dore);margin-bottom:4px}
.home-trust__list span{font-size:13px;color:var(--encre-62)}
.home-block{margin:100px 0}
.home-block--cream{background:var(--ivoire-fonce);border:0;border-top:1px solid var(--filet);border-bottom:1px solid var(--filet);border-radius:0}
.home-block--dark{background:var(--encre);border-radius:0;color:var(--ivoire)}
.home-block--dark h2{color:var(--ivoire)}
.home-block--dark .home-block__intro{color:rgba(251,247,239,.7)}
.home-block__head{margin-bottom:28px;max-width:720px}
.home-block__head--center{margin-left:auto;margin-right:auto;text-align:center}
.home-block__head--center .home-block__intro{margin-left:auto;margin-right:auto}
.home-block__head h2{margin:0;font-family:var(--font-serif);font-size:clamp(34px,3.5vw,56px);line-height:1.15;font-weight:400}
.home-block__intro{margin:12px 0 0;font-size:15px;line-height:1.55;color:var(--encre-62);max-width:640px}
.home-audience{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.home-audience__card{padding:0 20px 24px;background:var(--ivoire);border:1px solid var(--filet);border-radius:0;box-shadow:none;transition:none;overflow:hidden}
.home-audience__card:hover{transform:none;box-shadow:none}
.home-audience__icon{display:none}
.home-audience__img{display:block;width:calc(100% + 40px);margin:0 -20px 22px;aspect-ratio:16/9;object-fit:cover}
.home-audience__card h3{margin:0 0 8px;font-size:24px}
.home-audience__card p{margin:0;font-size:14px;line-height:1.55;color:var(--encre-62)}
.home-features-bento{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.home-feat{padding:20px 18px;background:var(--ivoire);border:1px solid var(--filet);border-radius:0;box-shadow:none}
.home-feat__icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;margin:0 0 16px;background:var(--ivoire-fonce);border:1px solid var(--filet);border-radius:0;color:var(--dore)}
.home-feat__svg{display:block;width:24px;height:24px}
.home-feat--accent .home-feat__icon{background:var(--ivoire);border-color:var(--dore);color:var(--dore)}
.home-feat h3{margin:0 0 8px;font-size:24px;color:var(--encre)}
.home-feat p{margin:0;font-size:14px;line-height:1.55;color:var(--encre-62)}
.home-feat code{font-size:12px;background:var(--ivoire-fonce);padding:2px 6px;border-radius:0}
.home-feat--wide{grid-column:span 2}
.home-feat--accent{background:var(--ivoire-fonce);border-color:var(--filet)}
.home-split-pro{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:start}
.home-checklist{margin:20px 0 0;padding:0;list-style:none;display:grid;gap:12px}
.home-checklist li{position:relative;padding-left:26px;line-height:1.5;color:var(--encre-62)}
.home-checklist li::before{content:"";position:absolute;left:0;top:.5em;width:10px;height:1px;background:var(--dore)}
.home-panel-card{padding:26px 24px;background:var(--ivoire);border:1px solid var(--filet);border-radius:0;box-shadow:none}
.home-panel-card h3{margin:0 0 16px;font-size:24px}
.home-guest-steps{margin:0;padding:0;list-style:none;display:grid;gap:16px}
.home-guest-steps li{display:grid;gap:4px;padding-bottom:16px;border-bottom:1px solid var(--filet)}
.home-guest-steps li:last-child{padding-bottom:0;border-bottom:0}
.home-guest-steps strong{font-family:var(--font-serif);font-size:24px;font-weight:400;color:var(--encre)}
.home-guest-steps span{font-size:14px;color:var(--encre-62);line-height:1.5}
.home-pipeline{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:0;padding:0;list-style:none}
.home-pipeline li{padding:20px 16px;background:transparent;border:1px solid rgba(251,247,239,.2);border-radius:0;text-align:center}
.home-pipeline__num{display:inline-flex;align-items:center;justify-content:center;width:auto;height:auto;margin-bottom:12px;border-radius:0;background:transparent;color:var(--dore);border:0;box-shadow:none;font-family:var(--font-serif);font-weight:400;font-size:36px;line-height:1}
.home-pipeline strong{display:block;margin-bottom:6px;color:var(--ivoire);font-family:var(--font-serif);font-size:24px;font-weight:400}
.home-pipeline span{font-size:13px;color:rgba(251,247,239,.62);line-height:1.4}
.home-pricing{display:grid;grid-template-columns:repeat(4,1fr);gap:0;align-items:stretch;border:1px solid var(--filet)}
.home-pricing--cols-1{grid-template-columns:1fr}
.home-pricing--cols-2{grid-template-columns:repeat(2,1fr)}
.home-pricing--cols-3{grid-template-columns:repeat(3,1fr)}
.home-pricing--cols-4{grid-template-columns:repeat(4,1fr)}
.home-pricing--cols-5{grid-template-columns:repeat(5,1fr)}
.home-pricing--cols-6{grid-template-columns:repeat(6,1fr)}
.home-price{display:flex;flex-direction:column;padding:24px 20px;background:var(--ivoire);border:0;border-right:1px solid var(--filet);border-radius:0;box-shadow:none}
.home-price:last-child{border-right:0}
.home-price--featured{border-color:var(--filet);box-shadow:none;background:var(--encre);color:var(--ivoire)}
.home-price--featured h3,.home-price--featured .home-price__amount strong{color:var(--ivoire)}
.home-price--featured ul{color:rgba(251,247,239,.7)}
/* Bouton "Démarrer gratuitement" : visible sur la carte sombre + survol franc */
.home-price--featured .button.home-btn-block,.home-price--featured a.button.home-btn-block{background:var(--ivoire)!important;color:var(--encre)!important;border:1px solid var(--ivoire)!important}
.home-price--featured .button.home-btn-block:hover,.home-price--featured a.button.home-btn-block:hover{background:var(--dore)!important;color:var(--ivoire)!important;border-color:var(--dore)!important;transform:translateY(-1px)}
.home-price__tag{margin:0 0 8px;font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.16em;color:var(--dore)}
.home-price h3{margin:0 0 8px;font-family:var(--font-serif);font-size:24px;font-weight:400}
.home-price__amount{margin:0 0 16px}
.home-price__amount strong{font-family:var(--font-serif);font-size:44px;font-weight:400;color:var(--encre)}
.home-price__amount span{display:block;font-size:13px;color:var(--encre-62);margin-top:4px}
.home-price ul{margin:0 0 20px;padding:0 0 0 18px;flex:1;font-size:14px;line-height:1.65;color:var(--encre-62)}
.home-price li{margin:6px 0}
.home-faq{max-width:none;margin:0;display:grid;gap:0;border-top:1px solid var(--filet)}
.home-faq__item{padding:16px 20px;background:transparent;border:0;border-bottom:1px solid var(--filet);border-radius:0}
.home-faq__item summary{cursor:pointer;font-family:var(--font-serif);font-size:20px;font-weight:400;color:var(--encre);list-style:none}
.home-faq__item summary::-webkit-details-marker{display:none}
.home-faq__item p{margin:12px 0 0;font-size:15px;line-height:1.6;color:var(--encre-62)}
.home-cta-pro{margin:0;padding-top:112px;padding-bottom:112px;background:var(--encre);border:0;border-top:1px solid var(--filet);border-radius:0;text-align:center;box-shadow:none;color:var(--ivoire)}
.home-cta-pro__inner{max-width:760px;margin:0 auto}
.home-cta-pro h2{margin:0 0 12px;font-family:var(--font-serif);font-size:clamp(44px,3.5vw,80px);line-height:1.02;font-weight:400;color:var(--ivoire)}
.home-cta-pro p{margin:0 0 24px;font-family:var(--font-serif);font-size:17px;font-style:italic;color:rgba(251,247,239,.7);line-height:1.6}
.home-cta-pro .actions{justify-content:center}
.home-cta-pro .button.secondary,.home-cta-pro a.button.secondary{background:transparent;color:var(--ivoire)!important;border:1px solid rgba(251,247,239,.5)}
.home-cta-pro .button.secondary:hover,.home-cta-pro a.button.secondary:hover{background:var(--ivoire);color:var(--encre)!important;border-color:var(--ivoire)}

/* ——— Eventail de thèmes (accueil) ——— */
.home-hero-pro__fan-wrap{width:100%;max-width:420px;margin:0 auto 20px;padding-bottom:16px}
.home-theme-fan-eyebrow{margin:0 0 10px;font-size:11px;font-weight:500;text-align:center;color:var(--encre-62);text-transform:uppercase;letter-spacing:.16em}
.home-theme-fan{position:relative;width:100%;height:min(300px,48vw);min-height:220px;margin:0 auto 4px;list-style:none;padding:0;isolation:isolate}
.home-theme-fan-card{position:absolute;left:50%;bottom:12px;width:min(44%,170px);border-radius:0;overflow:hidden;box-shadow:none;border:1px solid var(--filet);transform:translateX(-50%) rotate(calc(var(--fan-rotate,0) * 1deg));transform-origin:50% 100%;z-index:var(--fan-z,1);transition:transform .25s ease}
.home-theme-fan-card.is-center{z-index:6}
.home-theme-fan-card.is-center .home-theme-fan-card__inner{box-shadow:none;outline:1px solid var(--dore)}
.home-theme-fan-card:hover{transform:translateX(-50%) rotate(calc(var(--fan-rotate,0) * 1deg)) translateY(-6px) scale(1.02);box-shadow:none;z-index:9}
.home-theme-fan-card__inner{display:flex;flex-direction:column;width:100%;aspect-ratio:3/4;background:var(--ivoire);transition:opacity .35s ease}
.home-theme-fan-card.is-swapping .home-theme-fan-card__inner{opacity:.35}
.home-theme-fan-thumb{transition:opacity .35s ease}
.home-theme-fan-progress{margin:10px 0 0;font-size:12px;font-weight:500;text-align:center;color:var(--encre-62);min-height:1.25em}
.rsvp-theme-save-status{margin:0 0 12px;font-size:13px;min-height:1.25em}
.rsvp-theme-save-status.is-pending{color:var(--encre-62)}
.rsvp-theme-save-status.is-success{color:var(--dore);font-weight:500}
.rsvp-theme-save-status.is-error{color:var(--encre);font-weight:500}
.home-theme-fan-thumb{display:block;flex:1;min-height:0;background-color:var(--ivoire-fonce);background-size:cover;background-position:center;background-repeat:no-repeat}
.home-theme-fan-thumb--palette{display:grid;grid-template-rows:58% 28% 14%}
.home-theme-fan-thumb__band{display:block;width:100%;min-height:0}
.home-theme-fan-thumb__band--bg{background:var(--amb-bg,var(--ivoire))}
.home-theme-fan-thumb__band--accent{background:var(--amb-accent,var(--dore))}
.home-theme-fan-thumb__band--text{background:var(--amb-text,var(--encre))}
.home-theme-fan-label{display:block;padding:8px 10px;font-size:11px;font-weight:500;line-height:1.25;text-align:center;color:var(--encre);background:var(--ivoire)}
.home-theme-scroll{position:relative}
.home-themes-detail .home-theme-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}
.home-theme-grid-card{display:flex;flex-direction:column;gap:8px;scroll-snap-align:start}
.home-theme-grid-card .home-ambiance-card{flex:1;border-radius:0;overflow:hidden;box-shadow:none;border:1px solid var(--filet);aspect-ratio:4/5;min-height:0}
.home-theme-grid-caption{margin:0;font-size:12px;font-weight:500;text-align:center;color:var(--encre-62);line-height:1.3}
.home-theme-palette-note{margin:16px 0 0;text-align:center;font-size:13px}
.home-ambiance-card{display:grid;grid-template-rows:58% 28% 14%;width:100%;height:100%;min-height:100%;border-radius:inherit;overflow:hidden}
.home-ambiance-card__band{display:block;width:100%;min-height:0}
.home-ambiance-card__band--bg{background:var(--amb-bg)}
.home-ambiance-card__band--accent{background:var(--amb-accent)}
.home-ambiance-card__band--text{background:var(--amb-text)}
@media(max-width:1024px){
.home-hero-pro__grid{display:flex;flex-direction:column;align-items:stretch;gap:20px}
.home-hero-pro__kicker{order:1;align-self:center;justify-content:center;width:100%;max-width:22rem;margin:0 auto;text-align:center;flex-wrap:wrap}
.home-hero-pro__copy{order:2;width:100%;margin-top:0}
.home-hero-pro__brand{order:3;align-self:center;width:100%;max-width:min(100%,420px);margin:8px auto 0}
.home-trust__list{grid-template-columns:repeat(2,1fr)}
.home-features-bento{grid-template-columns:repeat(2,1fr)}
.home-feat--wide{grid-column:span 2}
.home-pricing{grid-template-columns:repeat(2,1fr)}
.home-pipeline{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:700px){
.home-audience,.home-split-pro{grid-template-columns:1fr}
.home-features-bento{grid-template-columns:1fr}
.home-feat--wide{grid-column:auto}
.home-pricing,.home-pipeline,.home-trust__list{grid-template-columns:1fr}
.home-hero-pro__fan-wrap{width:100%;max-width:none}
}
@media(max-width:720px){
.home-theme-fan{height:min(280px,58vw);min-height:200px}
.home-theme-fan-card{width:min(38vw,140px)}
.home-theme-fan-label{font-size:10px;padding:6px 8px}
}
@media(max-width:520px){
.home-logo-frame{padding:16px 18px}
.home-theme-fan{height:min(240px,62vw);min-height:180px}
.home-theme-fan-card{width:min(42vw,128px);border-width:1px}
}

/* ——— Templates de thème RSVP ——— */
.rsvp-theme-carousel{display:grid;gap:12px;margin:0 0 16px}
.rsvp-theme-carousel__title{margin:0;font-family:var(--font-serif);font-size:22px;font-weight:400}
.rsvp-theme-carousel-controls{display:none;align-items:center;justify-content:space-between;gap:10px;flex-wrap:nowrap}
.rsvp-theme-carousel-status{flex:1;text-align:center;font-size:13px;font-weight:500;min-width:4.5em}
.rsvp-theme-carousel-viewport{min-width:0}
.rsvp-theme-category-filter{margin:0}
.rsvp-theme-template-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:12px;border:1px solid var(--filet);border-radius:0;background:var(--ivoire-fonce);max-height:min(62vh,520px);overflow-y:auto;overflow-x:hidden}
.rsvp-theme-template-grid legend{position:sticky;top:0;z-index:2;background:var(--ivoire-fonce);padding:4px 4px 8px;margin:0}
.rsvp-theme-template-grid legend{font-weight:500;padding:0 4px}
.rsvp-theme-template-card{display:grid;gap:8px;padding:10px;border:1px solid var(--filet);border-radius:0;background:var(--ivoire);cursor:pointer}
.rsvp-theme-template-card input{position:absolute;opacity:0;pointer-events:none;width:0;height:0;margin:0}
.rsvp-theme-template-thumb{display:block;width:100%;aspect-ratio:16/10;border-radius:0;background-color:var(--ivoire-fonce);background-size:cover;background-position:center;background-repeat:no-repeat;border:1px solid var(--filet)}
.rsvp-theme-template-thumb--palette{display:grid;grid-template-rows:58% 28% 14%;background:transparent;border:0;overflow:hidden}
.rsvp-theme-template-thumb__band{display:block;width:100%;min-height:0}
.rsvp-theme-template-thumb__band--bg{background:var(--thumb-bg,var(--ivoire))}
.rsvp-theme-template-thumb__band--accent{background:var(--thumb-accent,var(--dore))}
.rsvp-theme-template-thumb__band--text{background:var(--thumb-text,var(--encre))}
.rsvp-theme-template-card-text{display:grid;gap:4px}
.rsvp-theme-template-card strong{font-size:14px}
.rsvp-theme-template-card small{color:var(--encre-62)}
.rsvp-theme-template-card.is-selected{border-color:var(--dore);box-shadow:none;outline:1px solid var(--dore)}
.rsvp-theme-card-select{display:none}
.rsvp-theme-section-fields{display:grid;gap:12px;padding:14px;border:1px solid var(--filet);border-radius:0;background:var(--ivoire)}
.rsvp-theme-category-filter{display:grid;gap:6px;margin:0 0 10px;font-weight:500;font-size:13px;color:var(--encre-62)}
.rsvp-theme-category-filter select{max-width:100%;font-weight:400}
.rsvp-custom-hero-visual{display:grid;gap:10px;margin:4px 0 8px}
.rsvp-custom-hero-preview{margin:0;border-radius:0;overflow:hidden;border:1px solid var(--filet);background:var(--ivoire-fonce);box-shadow:none}
.rsvp-custom-hero-preview img{display:block;width:100%;max-height:200px;object-fit:cover}
.rsvp-custom-hero-badge{display:inline-block;margin:0;padding:6px 12px;border-radius:0;font-size:12px;font-weight:500;letter-spacing:.04em;text-transform:uppercase;background:var(--ivoire-fonce);color:var(--encre-62);border:1px solid var(--filet)}
.rsvp-custom-hero-fields.has-custom-hero-pending{border-color:var(--dore);box-shadow:none}
.rsvp-custom-hero-fields.has-custom-hero-pending .rsvp-custom-hero-badge{background:var(--ivoire-fonce);color:var(--dore)}
.rsvp-custom-hero-fields.has-custom-hero-active{border-color:var(--dore);box-shadow:none}
.rsvp-custom-hero-fields.has-custom-hero-active .rsvp-custom-hero-badge{background:var(--ivoire-fonce);color:var(--dore)}
.invitation-page .invitation-hero.invitation-hero--custom-photo{display:block;grid-template-columns:none;position:relative;overflow:hidden;min-height:280px;padding:0;background:none!important;background-image:none!important}
.invitation-page .invitation-hero.invitation-hero--custom-photo .invitation-hero-visual--photo{background-image:none!important}
.invitation-page .invitation-hero .rsvp-custom-hero-photo{position:absolute;inset:0;z-index:1;pointer-events:none;overflow:hidden;width:100%;height:100%}
.invitation-page .invitation-hero .rsvp-custom-hero-photo::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(0,0,0,.28),rgba(0,0,0,.12) 45%,rgba(0,0,0,.2));pointer-events:none}
.invitation-page .invitation-hero .rsvp-custom-hero-photo img{position:relative;z-index:0;display:block;width:100%;height:100%;min-height:280px;object-fit:cover;object-position:center}
.invitation-page .invitation-hero.invitation-hero--custom-photo .invitation-hero-content{position:relative;z-index:2;background:transparent!important;box-shadow:none!important}
.rsvp-theme-section-fields[hidden]{display:none!important}
.rsvp-theme-section-legend{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;width:100%;padding:0 4px}
.rsvp-theme-section-toggle{flex-shrink:0;min-width:96px}
.rsvp-theme-section-toggle.is-active{background:var(--dore);color:var(--ivoire);border-color:var(--dore)}
.rsvp-theme-section-body{display:grid;gap:12px}
.rsvp-theme-section-fields.is-collapsed .rsvp-theme-section-body{display:none}
.rsvp-theme-section-fields.is-expanded .rsvp-theme-section-body{display:grid}
.legal-register-intro{margin:0 0 12px;font-size:14px}
.legal-register-check,.legal-offer-check{display:block;margin:0 0 12px;padding:12px 14px;border:1px solid var(--filet);border-radius:0;background:var(--ivoire-fonce);line-height:1.55;font-size:14px}
.legal-register-check a,.legal-offer-check a{font-weight:500}
.offer-checkout-pay-form{display:grid;gap:14px}
.offer-checkout-legal{display:grid;gap:10px;margin:0 0 4px}
.invitation-legal-footer{margin-top:28px;padding:16px 12px 8px;border-top:1px solid var(--filet);text-align:center}
.invitation-legal-footer p{margin:0;font-size:12px;line-height:1.5;max-width:640px;margin-left:auto;margin-right:auto;color:var(--encre-62)}
.invitation-legal-footer a{color:inherit;text-decoration:underline}
.event-retention-notice{margin:12px 0 16px}
.event-retention-policy{margin:0;font-size:14px;line-height:1.55}
.rsvp-theme-legal-notice{margin:0 0 16px}
.rsvp-theme-legal-accept{display:block;margin:16px 0;padding:12px 14px;border:1px solid var(--filet);border-radius:0;background:var(--ivoire-fonce);line-height:1.5}
.rsvp-theme-legal-accept a{font-weight:500}
.onboarding-theme-form .rsvp-theme-legal-accept{display:flex;align-items:flex-start;gap:6px;margin:3px 0;padding:5px 8px;line-height:1.22;font-size:13px}
.onboarding-theme-form .rsvp-theme-legal-accept input[type="checkbox"]{margin:1px 0 0;flex:0 0 auto}
.onboarding-theme-form .onboarding-legal-group{margin:8px 0;border:1px solid var(--filet);background:var(--ivoire-fonce)}
.onboarding-theme-form .onboarding-legal-group .rsvp-theme-legal-accept{margin:0;padding:6px 8px;border:0;background:transparent}
.onboarding-theme-form .onboarding-legal-group .rsvp-theme-legal-accept + .rsvp-theme-legal-accept{border-top:1px solid var(--filet)}
.actions.rsvp-theme-form-actions{display:flex!important;flex-direction:column!important;flex-wrap:nowrap!important;align-items:stretch!important;gap:10px;width:100%;margin-top:16px}
.rsvp-theme-form-actions{display:flex;flex-direction:column;align-items:stretch;gap:10px;width:100%;margin-top:16px}
.rsvp-theme-form-actions .button,
.rsvp-theme-form-actions .button.secondary,
.rsvp-theme-form-actions .rsvp-theme-preview-btn{display:flex;width:100%;justify-content:center;box-sizing:border-box;text-align:center}
.rsvp-theme-form-actions .button.secondary,
.rsvp-theme-form-actions .rsvp-theme-preview-btn{background:var(--ivoire)!important;color:var(--encre)!important;border:1px solid var(--encre)!important}
.rsvp-theme-form-actions .button.secondary:hover,
.rsvp-theme-form-actions .rsvp-theme-preview-btn:hover{background:var(--encre)!important;color:var(--ivoire)!important;border-color:var(--encre)!important}
.rsvp-full-preview-banner{position:sticky;top:0;z-index:100;padding:12px 16px;background:var(--encre);color:var(--ivoire);text-align:center;font-size:14px;line-height:1.45}
.rsvp-full-preview-banner strong{color:var(--dore)}
.invitation-standalone-body{margin:0;background:var(--ivoire)}
.invitation-standalone-main{max-width:none;padding:0;margin:0}
.invitation-standalone-main .invitation-page{max-width:none;margin:0;border-radius:0;min-height:100vh}
.rsvp-theme-live-preview{font-family:var(--invitation-font,var(--font-sans))}
.rsvp-theme-live-preview .invitation-hero h1{font-family:var(--invitation-font,var(--font-serif))}

/* ——— Admin : liens, alertes, références ——— */
.admin-layout{
  display:grid;
  grid-template-columns:260px minmax(0,1fr);
  gap:40px;
  align-items:start;
  margin-top:8px;
}
.admin-layout__aside{
  position:sticky;
  top:88px;
  max-height:calc(100vh - 104px);
  overflow-y:auto;
  background:var(--ivoire);
  z-index:1;
}
.admin-layout__body{
  min-width:0;
}
nav.admin-quick-links{
  display:grid;
  gap:6px;
  margin:0;
  padding:0;
}
.admin-quick-link{
  display:block;
  text-decoration:none;
  padding:12px 14px;
  border-radius:0;
  border:1px solid transparent;
  background:transparent;
  color:var(--encre);
  font-family:var(--font-sans);
  font-weight:500;
  line-height:1.35;
  text-align:left;
}
.admin-quick-link:hover{background:var(--ivoire-fonce);color:var(--dore);border-color:var(--filet)}
.admin-quick-link.is-active{background:var(--ivoire-fonce);color:var(--dore);border-color:var(--filet);font-weight:600}
.admin-nav-search{margin:0 0 14px}
.admin-nav-search__label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.admin-nav-search__input{
  width:100%;
  box-sizing:border-box;
  padding:10px 12px;
  border:1px solid var(--filet);
  background:var(--ivoire);
  font-family:var(--font-sans);
  font-size:14px;
}
.admin-nav-search__input:focus{outline:2px solid var(--dore);outline-offset:1px;border-color:var(--dore)}
.admin-nav-search__results{
  list-style:none;
  margin:6px 0 0;
  padding:0;
  max-height:280px;
  overflow-y:auto;
  border:1px solid var(--filet);
  background:var(--ivoire);
}
.admin-nav-search__item{border-bottom:1px solid var(--filet)}
.admin-nav-search__item:last-child{border-bottom:none}
.admin-nav-search__item.is-active{background:var(--ivoire-fonce)}
.admin-nav-search__link{display:block;padding:10px 12px;text-decoration:none;color:var(--encre)}
.admin-nav-search__link:hover{color:var(--dore)}
.admin-nav-search__item-label{display:block;font-weight:500;line-height:1.35}
.admin-nav-search__item-group{display:block;font-size:12px;color:var(--encre-62);margin-top:2px}
.admin-nav-group{display:grid;gap:0;margin:0 0 6px}
.admin-nav-group__bar{display:flex;align-items:stretch;gap:0;border:1px solid transparent}
.admin-nav-group__bar:hover{border-color:var(--filet)}
.admin-nav-group__toggle{
  flex:0 0 36px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0;
  border:none;
  border-right:1px solid var(--filet);
  background:var(--ivoire-fonce);
  cursor:pointer;
  color:var(--encre);
}
.admin-nav-group__toggle:hover{color:var(--dore)}
.admin-nav-group__chevron{
  display:block;
  width:8px;
  height:8px;
  border-right:2px solid currentColor;
  border-bottom:2px solid currentColor;
  transform:rotate(-45deg);
  transition:transform .15s ease;
  margin-top:-3px;
}
.admin-nav-group--open .admin-nav-group__chevron{transform:rotate(45deg);margin-top:3px}
.admin-nav-group--open .admin-nav-sublinks{display:grid}
.admin-nav-group__head{flex:1;font-weight:600;min-width:0}
.admin-nav-sublinks{
  display:none;
  gap:2px;
  padding:4px 0 6px 10px;
  border-left:2px solid var(--filet);
  margin:0 0 4px 38px;
}
.admin-quick-sublink{
  padding:8px 12px;
  font-size:13px;
  font-weight:400;
  line-height:1.4;
}
.admin-quick-sublink.is-active{font-weight:600}
.admin-newsletter-tabs{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:10px;
  margin:0 0 18px;
  padding:0;
  position:static;
  width:auto;
  max-width:none;
}
.admin-newsletter-tabs .button{
  flex:0 0 auto;
  width:auto;
  min-width:0;
  text-align:center;
  justify-content:center;
}
.admin-dashboard-stats{margin-bottom:20px}
.admin-alerts{display:grid;gap:10px;margin:0 0 20px}
.admin-alert{padding:12px 14px;border-radius:0;border:1px solid var(--filet);font-size:14px;line-height:1.45;background:var(--ivoire-fonce)}
.admin-alert--warning{background:var(--ivoire-fonce);border-color:var(--filet);border-left:2px solid var(--dore)}
.admin-alert--error{background:var(--ivoire-fonce);border-color:var(--filet);border-left:2px solid var(--encre)}
.admin-alert--info{background:var(--ivoire-fonce);border-color:var(--filet);border-left:2px solid var(--filet)}
.admin-alert--success{background:var(--ivoire-fonce);border-color:var(--filet);border-left:2px solid var(--dore)}
.admin-alert__body .muted{color:inherit;opacity:.9}
.admin-reference-panel{margin-bottom:20px}
.admin-reference-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px}
.admin-reference-sub{margin:0 0 8px;font-size:15px}
.admin-reference-list{margin:0;padding-left:18px}
.admin-reference-list li{margin-bottom:6px}
.admin-code-break{word-break:break-all;font-size:12px}
.admin-ops-checklist,.admin-page-guide{margin-bottom:20px}
.admin-ops-checklist summary,.admin-page-guide summary{cursor:pointer;font-size:15px}
.admin-ops-list{margin:12px 0 0;padding-left:20px}
.admin-ops-list li{margin-bottom:8px;line-height:1.45}
.admin-retention-watch{margin-bottom:20px}
.admin-badge{display:inline-block;padding:2px 8px;border:1px solid var(--filet);border-radius:0;font-size:11px;font-weight:500;margin-left:6px;vertical-align:middle;text-transform:uppercase;letter-spacing:.04em}
.admin-badge--ok{background:transparent;color:var(--dore);border-color:var(--dore)}
.admin-badge--warn{background:transparent;color:var(--encre);border-color:var(--filet)}

/* ——— Admin : thèmes ——— */
.admin-theme-stats{margin-bottom:20px}
.admin-theme-table-card{overflow-x:auto}
.admin-theme-table{width:100%;border-collapse:collapse;font-size:14px}
.admin-theme-table th,.admin-theme-table td{padding:12px 10px;border-bottom:1px solid var(--filet);vertical-align:top;text-align:left}
.admin-theme-table th{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--encre-62)}
.admin-theme-name{display:flex;align-items:center;gap:10px}
.admin-theme-swatch{display:inline-block;width:36px;height:22px;border-radius:0;border:1px solid var(--filet);flex-shrink:0}
.admin-theme-badge{display:inline-block;padding:4px 10px;border:1px solid var(--filet);border-radius:0;font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:.04em}
.admin-theme-badge--active{background:transparent;color:var(--dore);border-color:var(--dore)}
.admin-theme-badge--disabled{background:transparent;color:var(--encre-62);border-color:var(--filet)}
.admin-theme-badge--deleted{background:transparent;color:var(--encre);border-color:var(--encre)}
.admin-theme-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-start}
.admin-theme-delete-details{margin-top:4px}
.admin-theme-delete-details summary{list-style:none;cursor:pointer}
.admin-theme-delete-details summary::-webkit-details-marker{display:none}
.admin-theme-delete-form{display:grid;gap:10px;margin-top:10px;padding:12px;border:1px solid var(--filet);border-radius:0;background:var(--ivoire-fonce);max-width:320px}
.admin-theme-delete-phrase{display:block;padding:8px 10px;background:var(--ivoire);border:1px solid var(--filet);border-radius:0;font-size:13px}
.admin-theme-delete-submit:disabled{opacity:.45;cursor:not-allowed}
.admin-theme-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:18px;margin-top:8px}
.admin-theme-card{display:flex;flex-direction:column;border:1px solid var(--filet);border-radius:0;background:var(--ivoire);overflow:hidden;box-shadow:none}
.admin-theme-card--disabled{opacity:.88}
.admin-theme-card--deleted{opacity:.65}
.admin-theme-card__visual{display:block;aspect-ratio:16/10;background:var(--ivoire-fonce);overflow:hidden;text-decoration:none}
.admin-theme-card__visual img{width:100%;height:100%;object-fit:cover;display:block}
.admin-theme-card__palette{display:flex;height:100%;min-height:140px}
.admin-theme-card__band{flex:1}
.admin-theme-card__band--bg{background:var(--thumb-bg,var(--ivoire))}
.admin-theme-card__band--accent{background:var(--thumb-accent,var(--dore))}
.admin-theme-card__body{padding:14px 16px 16px;display:grid;gap:8px}
.admin-theme-card__head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.admin-theme-card__title{margin:0;font-size:24px;line-height:1.25}
.admin-theme-card__desc{margin:0;font-size:13px;line-height:1.45}
.admin-theme-card__meta{margin:0;font-size:12px}
.admin-theme-card__actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:4px}
.admin-theme-admin-filters{margin-bottom:12px}
.admin-theme-admin-filters .button.is-active{background:var(--dore);color:var(--ivoire);border-color:var(--dore)}
.admin-theme-list-tools h2{margin:0 0 6px;font-size:18px}
.admin-theme-bulk-bar{display:flex;flex-wrap:wrap;gap:12px 16px;align-items:center;margin-top:14px;padding-top:14px;border-top:1px solid var(--filet)}
.admin-theme-bulk-select-all{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:500;margin:0;cursor:pointer}
.admin-theme-bulk-count{font-size:13px}
.admin-theme-bulk-category{display:flex;flex-direction:column;gap:4px;font-size:13px;font-weight:500;margin:0}
.admin-theme-bulk-category select{min-width:200px;font-weight:400}
.admin-theme-card{position:relative}
.admin-theme-card--selectable .admin-theme-card__select{position:absolute;top:10px;left:10px;z-index:2;margin:0;padding:6px 8px;border-radius:0;background:var(--ivoire);box-shadow:none;border:1px solid var(--filet);cursor:pointer}
.admin-theme-card--selectable.admin-theme-card--selected-outline{outline:1px solid var(--dore);outline-offset:0}
.admin-theme-card__select input{width:18px;height:18px;margin:0;vertical-align:middle}

/* ——— Bandeau promo ——— */
.site-promo-banner{background:var(--encre);color:var(--ivoire);padding:10px 16px;font-size:14px;line-height:1.45;position:relative;z-index:11}
.site-promo-banner__inner{max-width:1200px;margin:0 auto;text-align:center}
.site-promo-banner__item strong{text-transform:uppercase;letter-spacing:.06em;font-size:12px;color:var(--dore)}
.site-promo-banner__sep{margin:0 10px;opacity:.65}
.site-promo-banner .price-display__was-inline s{opacity:.85}

/* ——— Affichage des prix ——— */
.price-display{display:inline-flex;flex-wrap:wrap;align-items:baseline;gap:8px}
.price-display__badge{display:inline-block;padding:3px 10px;border-radius:0;background:transparent;color:var(--dore);border:1px solid var(--dore);font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.05em}
.price-display__was{color:var(--encre-62);font-size:.92em}
.price-display__was s{text-decoration:line-through;text-decoration-thickness:1px}
.price-display__now{font-size:1.15em;color:inherit}
.price-display--promo .price-display__now{color:var(--dore)}
.home-price__amount .price-display{display:flex;flex-direction:column;align-items:flex-start;gap:6px}
.home-price__amount .price-display__now{font-family:var(--font-serif);font-size:44px}
.offer-checkout-price .price-display{align-items:center}
.offer-checkout-price .price-display__now{font-family:var(--font-serif);font-size:32px}

/* ——— Admin : promotions ——— */
.admin-promo-list{display:grid;gap:14px;margin-top:20px}
.admin-promo-card__head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.admin-promo-card__head h3{margin:0}
.admin-promo-status{display:inline-block;padding:4px 10px;border:1px solid var(--filet);border-radius:0;font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:.04em}
.admin-promo-status--active{background:transparent;color:var(--dore);border-color:var(--dore)}
.admin-promo-status--scheduled{background:transparent;color:var(--encre);border-color:var(--filet)}
.admin-promo-status--expired{background:transparent;color:var(--encre-62);border-color:var(--filet)}
.admin-promo-status--disabled{background:var(--ivoire-fonce);color:var(--encre-62);border-color:var(--encre-62)}
.admin-marketing-alerts{margin-bottom:20px}
.admin-marketing-alert-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.admin-marketing-alert{display:grid;gap:6px;padding:12px 14px;border:1px solid var(--filet);background:var(--ivoire-fonce)}
.admin-marketing-alert--warning{border-color:var(--dore)}
.admin-marketing-alert .button.small{justify-self:start}
.admin-marketing-table .admin-marketing-detail{max-width:280px}
.admin-marketing-live{color:var(--dore);font-weight:600}
.admin-marketing-ref-table tr.admin-marketing-ref--current{background:var(--ivoire-fonce);border-left:3px solid var(--dore)}
.admin-marketing-ref-badge{display:inline-block;margin-left:6px;padding:2px 8px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;border:1px solid var(--dore);color:var(--dore)}

/* Tableaux admin compacts (alignement en-têtes / colonnes) */
.admin-table-compact,
.admin-marketing-table,
.admin-marketing-ref-table{
  display:table;
  width:100%;
  border-collapse:collapse;
  table-layout:auto;
  overflow-x:visible;
}
.admin-table-compact thead,
.admin-marketing-table thead,
.admin-marketing-ref-table thead{display:table-header-group}
.admin-table-compact tbody,
.admin-marketing-table tbody,
.admin-marketing-ref-table tbody{display:table-row-group;width:auto}
.admin-table-compact tr,
.admin-marketing-table tr,
.admin-marketing-ref-table tr{display:table-row}
.admin-table-compact th,
.admin-table-compact td,
.admin-marketing-table th,
.admin-marketing-table td,
.admin-marketing-ref-table th,
.admin-marketing-ref-table td{
  display:table-cell;
  padding:10px 12px;
  border-bottom:1px solid var(--filet);
  text-align:left;
  vertical-align:top;
}
.admin-table-compact th,
.admin-marketing-table th,
.admin-marketing-ref-table th{
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.12em;
  color:var(--encre-62);
  font-weight:500;
  white-space:nowrap;
}
.admin-marketing-table th:last-child,
.admin-marketing-table td:last-child{width:1%;white-space:nowrap}
.admin-offer-card--active{border-left:4px solid var(--dore);background:var(--ivoire)}
.admin-offer-card--inactive{border-left:4px solid var(--encre-62);background:var(--ivoire-fonce);opacity:.92}
.admin-offer-card--inactive .admin-promo-card__head h3{color:var(--encre-62)}
.admin-offer-visibility{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 0}
.admin-offer-visibility__pill{display:inline-block;padding:4px 10px;border:1px solid var(--filet);font-size:11px;font-weight:500;letter-spacing:.03em;text-transform:uppercase;line-height:1.3}
.admin-offer-visibility__pill.is-on{color:var(--dore);border-color:var(--dore);background:rgba(201,162,39,.08)}
.admin-offer-visibility__pill.is-off{color:var(--encre-62);border-color:var(--filet);background:transparent}
.admin-cms-section{margin-top:24px}
.admin-cms-section h2{margin-top:0}
.admin-cms-group-title{margin:20px 0 8px;font-size:15px;font-weight:500;color:var(--encre-62);text-transform:uppercase;letter-spacing:.06em}
.admin-cms-warn{margin:8px 0 0;padding:10px 12px;border-left:3px solid var(--dore);background:var(--ivoire-fonce);font-size:14px}
.admin-cms-editor{font-family:ui-monospace,Consolas,monospace;font-size:13px;line-height:1.45;min-height:280px}
.cms-page-body{font-size:16px;line-height:1.65}
.cms-page-body code,.marketing-page code{font-family:ui-monospace,Consolas,monospace;font-size:.9em;background:var(--ivoire-fonce);padding:2px 6px;border-radius:2px}
.cms-admin-preview-wrap{margin-top:10px;padding:12px;border:1px solid var(--filet);background:var(--ivoire)}
.cms-page-body h2,.cms-page-body h3,.cms-page-body h4{margin-top:1.4em;margin-bottom:.5em;font-family:var(--font-serif)}
.cms-page-body ul,.cms-page-body ol{padding-left:1.25em}
.cms-page-body a{color:var(--dore);text-decoration:underline}
.cms-page-body table{width:100%;border-collapse:collapse;margin:1em 0}
.cms-page-body th,.cms-page-body td{padding:8px 10px;border:1px solid var(--filet);text-align:left}
.marketing-hero--compact{margin-bottom:20px}
.marketing-hero--compact h1{margin-bottom:0}
.admin-cms-preview-details{margin:16px 0 20px;border:1px solid var(--filet);padding:12px 14px;background:var(--ivoire-fonce)}
.admin-cms-preview-details summary{cursor:pointer;margin-bottom:10px}
.cms-admin-preview{max-height:320px;overflow:auto;padding:12px;background:var(--ivoire);border:1px solid var(--filet);margin-top:8px}
.cms-page-updated{margin-top:6px}
.cms-page-body img{max-width:100%;height:auto;display:block;margin:12px 0}
.admin-cms-editor-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:8px 0 10px;padding:10px 12px;border:1px solid var(--filet);background:var(--ivoire-fonce)}
.admin-cms-editor-toolbar__hint{font-size:12px}
.cms-editor-upload-btn{cursor:pointer;margin:0}
.cms-editor-upload-btn input{display:none}
.site-announcement-banner{font-size:15px;line-height:1.35;border-bottom:1px solid var(--filet);box-sizing:border-box}
.site-announcement-banner__inner{max-width:1280px;margin:0 auto;padding:0 clamp(16px,5vw,64px);display:flex;align-items:center;justify-content:center;text-align:center}
.site-announcement-banner__text{margin:0;color:inherit}
.site-announcement-banner__text strong,.site-announcement-banner__text b{font-weight:600;color:inherit}
.site-announcement-banner__text em{font-style:italic;color:inherit}
.site-announcement-banner__link{margin-left:8px;font-weight:600;text-decoration:underline;color:inherit}
.site-announcement-banner__link:hover{opacity:.88}
.site-announcement-banner--preview{margin-top:8px;border:1px dashed var(--filet)}
.admin-announcement-preview-wrap{margin:16px 0 8px}
.admin-announcement-preview-wrap input[type="color"]{width:100%;height:42px;padding:2px;cursor:pointer}
.admin-announcement-message-editor{margin:0 0 18px}
.admin-announcement-message-editor .admin-field-label{display:block;margin:0 0 8px;font-weight:500}
.admin-announcement-editor-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin:0 0 10px;padding:10px 12px;border:1px solid var(--filet);background:var(--ivoire-fonce)}
.admin-announcement-editor-toolbar .button.small{min-height:36px;padding:8px 14px}
.admin-announcement-editor-toolbar__hint{font-size:13px;line-height:1.4}
.admin-announcement-editor-toolbar code{font-size:12px}
.admin-announcement-message-field{display:block;width:100%;margin:0;box-sizing:border-box}
.admin-datetime-clear-row{margin:4px 0 12px}
.admin-datetime-clear-row .button.small{min-height:36px}

/* Animation saisonnière (pages marketing indexées uniquement) */
/* Retour en haut de page */
.scroll-to-top{
  position:fixed;
  right:clamp(16px,3vw,28px);
  bottom:clamp(20px,4vw,32px);
  z-index:90;
  width:48px;
  height:48px;
  padding:0;
  border:1px solid var(--filet);
  border-radius:50%;
  background:var(--ivoire);
  color:var(--dore);
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 6px 24px rgba(28,28,28,.1);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translateY(10px);
  transition:opacity .28s ease,transform .28s ease,visibility .28s,background .2s ease,color .2s ease,border-color .2s ease,box-shadow .2s ease;
}
.scroll-to-top.is-visible{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}
.scroll-to-top:hover{background:var(--encre);color:var(--ivoire);border-color:var(--encre);box-shadow:0 8px 28px rgba(28,28,28,.16)}
.scroll-to-top:focus-visible{outline:2px solid var(--dore);outline-offset:3px}
.scroll-to-top svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:1.5}
body.site-body:has(#cookie-consent:not([hidden])) .scroll-to-top{bottom:calc(92px + env(safe-area-inset-bottom,0px))}
@media (prefers-reduced-motion:reduce){
  .scroll-to-top{transition:opacity .15s,visibility .15s,background .2s,color .2s,border-color .2s}
  .scroll-to-top.is-visible{transform:none}
}

.site-seasonal-layer{position:fixed;inset:0;pointer-events:none;z-index:9;overflow:hidden}
.site-seasonal-particle{position:absolute;top:-3rem;opacity:.82;animation:site-seasonal-fall linear infinite;user-select:none;will-change:transform}
.site-seasonal-particle--confetti{opacity:.9;box-shadow:0 0 1px rgba(28,28,28,.12)}
.site-seasonal-particle--bubble{border:1px solid rgba(156,122,74,.35);border-radius:50%;background:rgba(255,255,255,.28);opacity:.55;box-shadow:inset 0 0 8px rgba(255,255,255,.4)}
.site-seasonal-layer--snow .site-seasonal-particle:not(.site-seasonal-particle--confetti):not(.site-seasonal-particle--bubble){color:rgba(255,255,255,.92);text-shadow:0 1px 3px rgba(28,28,28,.25)}
.site-seasonal-layer--hearts .site-seasonal-particle:not(.site-seasonal-particle--confetti):not(.site-seasonal-particle--bubble){color:#b84d6a;text-shadow:0 1px 2px rgba(255,255,255,.35)}
.site-seasonal-layer--petals .site-seasonal-particle:not(.site-seasonal-particle--confetti):not(.site-seasonal-particle--bubble){color:#d4a0a8;text-shadow:0 1px 2px rgba(255,255,255,.4)}
.site-seasonal-layer--wedding .site-seasonal-particle:not(.site-seasonal-particle--confetti):not(.site-seasonal-particle--bubble){color:#c9a227;text-shadow:0 1px 2px rgba(255,255,255,.35)}
.site-seasonal-layer--confetti .site-seasonal-particle--confetti{opacity:.88}
.site-seasonal-layer--sparkles .site-seasonal-particle:not(.site-seasonal-particle--confetti):not(.site-seasonal-particle--bubble){color:#c9a227;text-shadow:0 0 6px rgba(201,162,39,.45)}
.site-seasonal-layer--easter .site-seasonal-particle:not(.site-seasonal-particle--confetti):not(.site-seasonal-particle--bubble){color:#9cb88a;text-shadow:0 1px 2px rgba(255,255,255,.5)}
.site-seasonal-layer--summer .site-seasonal-particle--bubble{border-color:rgba(100,160,200,.4);background:rgba(200,230,255,.25)}
.site-seasonal-layer--leaves .site-seasonal-particle:not(.site-seasonal-particle--confetti):not(.site-seasonal-particle--bubble){opacity:.88}
.site-seasonal-layer--halloween .site-seasonal-particle:not(.site-seasonal-particle--confetti):not(.site-seasonal-particle--bubble){opacity:.75}
@keyframes site-seasonal-fall{
  0%{transform:translate3d(0,0,0) rotate(0deg)}
  100%{transform:translate3d(var(--seasonal-drift,0),110vh,0) rotate(360deg)}
}
@media (prefers-reduced-motion:reduce){
  .site-seasonal-layer{display:none!important}
}
.admin-legal-version-current{margin:0 0 12px;padding:10px 12px;background:var(--ivoire-fonce);border:1px solid var(--filet)}
.admin-audit-table{font-size:13px}
.admin-audit-date{white-space:nowrap}
.admin-audit-details{max-width:280px;word-break:break-word}
.admin-db-ok{color:var(--encre);font-weight:600}
.admin-db-missing{color:#8b2e2e;font-weight:600}
.admin-db-schema-group{margin-bottom:16px}
.admin-db-summary ul{margin:0}
.admin-hosting-quota-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;margin-top:12px}
.admin-hosting-quota-block{padding:14px 16px;border:1px solid var(--filet);background:var(--ivoire-fonce)}
.admin-hosting-quota-block--warning{border-left:3px solid var(--dore)}
.admin-hosting-quota-block--danger{border-left:3px solid #8b2e2e}
.admin-hosting-quota-block h3{margin:0 0 10px;font-size:16px}
.admin-hosting-quota-figures{margin:0 0 10px;font-size:14px}
.admin-hosting-quota-path{margin:0 0 10px;font-size:12px;word-break:break-all}
.admin-hosting-quota-percent{margin:8px 0 0;font-size:13px;font-weight:500}
.admin-quota-bar{height:10px;background:var(--ivoire);border:1px solid var(--filet);overflow:hidden}
.admin-quota-bar__fill{height:100%;background:var(--dore);transition:width .25s ease}
.admin-quota-bar__fill--warning{background:#c9a227}
.admin-quota-bar__fill--danger{background:#8b2e2e}
.admin-hosting-quota-details{margin-top:16px}
.admin-hosting-quota-details summary{cursor:pointer;font-weight:500}
.admin-cms-arbo{margin-top:8px}
.admin-cms-publish-hint{margin:0 0 10px;padding:8px 10px;border-left:3px solid var(--dore);background:var(--ivoire-fonce)}
.admin-cms-arbo__intro{margin:0 0 16px}
.admin-cms-arbo__branch{border:1px solid var(--filet);margin-bottom:10px;background:var(--ivoire)}
.admin-cms-arbo__branch-summary{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;padding:12px 14px;cursor:pointer;list-style:none;background:var(--ivoire-fonce);font-weight:500}
.admin-cms-arbo__branch-summary::-webkit-details-marker{display:none}
.admin-cms-arbo__branch[open] .admin-cms-arbo__branch-icon{transform:rotate(90deg)}
.admin-cms-arbo__branch-icon{display:inline-block;transition:transform .15s ease;color:var(--dore);font-size:12px}
.admin-cms-arbo__branch-title{flex:1;min-width:12rem}
.admin-cms-arbo__branch-count{font-size:12px;font-weight:400}
.admin-cms-arbo__branch-action{margin-left:auto}
.admin-cms-arbo__branch--custom .admin-cms-arbo__branch-summary{background:linear-gradient(90deg,var(--ivoire-fonce) 0%,var(--ivoire) 100%)}
.admin-cms-arbo__table-wrap{overflow-x:auto}
.admin-cms-arbo__table{width:100%;border-collapse:collapse;font-size:14px}
.admin-cms-arbo__table thead th{padding:8px 12px;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--encre-62);border-bottom:1px solid var(--filet);text-align:left;font-weight:500;background:var(--ivoire)}
.admin-cms-arbo__table tbody td{padding:10px 12px;border-bottom:1px solid var(--filet);vertical-align:middle}
.admin-cms-arbo__row--disabled{background:var(--ivoire-fonce);opacity:.88}
.admin-cms-arbo__row--custom-active td:first-child{border-left:3px solid var(--dore)}
.admin-cms-arbo__row--meta td{padding-top:0;border-bottom:1px solid var(--filet)}
.admin-cms-arbo__cell--title{min-width:11rem}
.admin-cms-arbo__cell--path code{font-size:12px;color:var(--encre-62)}
.admin-cms-arbo__cell--status{white-space:nowrap;width:1%}
.admin-cms-arbo__cell--actions{white-space:nowrap;text-align:right}
.admin-cms-arbo__cell--actions .button,.admin-cms-arbo__cell--actions form.inline{margin:2px 0 2px 4px}
.admin-cms-arbo__tree{display:inline-block;width:10px;height:10px;margin-right:6px;border-left:1px solid var(--encre-62);border-bottom:1px solid var(--encre-62);vertical-align:middle;opacity:.45}
.admin-cms-arbo__hint{margin-left:6px;color:var(--dore);cursor:help;font-size:13px}
.admin-cms-arbo__empty{padding:12px 14px 16px;margin:0}
@media(max-width:900px){
.admin-cms-arbo__table thead{display:none}
.admin-cms-arbo__table tbody tr{display:block;padding:10px 12px;border-bottom:1px solid var(--filet)}
.admin-cms-arbo__table tbody td{display:block;padding:4px 0;border:none;text-align:left}
.admin-cms-arbo__cell--actions{text-align:left;margin-top:8px}
}
.admin-promo-preview-line{margin:8px 0 0}
.admin-promo-form{display:grid;gap:12px}
.admin-promo-form-card{margin-bottom:20px}

/* ——— Admin : paiements / ventes ——— */
.admin-customer-payments{margin:20px 0}
.admin-payments-table-wrap{overflow-x:auto}
.admin-payments-table{display:table;width:100%;border-collapse:collapse;font-size:14px;table-layout:auto}
.admin-payments-table thead{display:table-header-group}
.admin-payments-table tbody{display:table-row-group;width:auto}
.admin-payments-table tr{display:table-row}
.admin-payments-table th,.admin-payments-table td{padding:10px 12px;border-bottom:1px solid var(--filet);text-align:left;vertical-align:top}
.admin-payments-table th{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--encre-62)}
.admin-payments-table tfoot td{border-top:1px solid var(--encre);background:var(--ivoire-fonce);font-weight:500}
.admin-payments-status{display:inline-block;padding:4px 10px;border:1px solid var(--filet);border-radius:0;font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:.04em}
.admin-payments-status--paid{background:transparent;color:var(--dore);border-color:var(--dore)}
.admin-payments-status--pending{background:transparent;color:var(--encre);border-color:var(--filet)}
.admin-payments-status--cancelled,.admin-payments-status--failed{background:transparent;color:var(--encre);border-color:var(--encre)}
.admin-payments-note{margin-top:10px;font-size:12px}
.admin-sales-filters{margin-bottom:20px}
.admin-sales-filter-form{display:grid;gap:14px}
.admin-sales-period-type{display:flex;flex-wrap:wrap;gap:16px;border:0;padding:0;margin:0}
.admin-sales-period-type legend{font-weight:500;margin-bottom:8px;width:100%}
.admin-sales-period-fields label[data-sales-field]{display:block}
.admin-sales-stats{margin-bottom:20px}
.admin-sales-by-product{width:100%;border-collapse:collapse}
.admin-sales-by-product th,.admin-sales-by-product td{padding:10px 12px;border-bottom:1px solid var(--filet);text-align:left}
.admin-sales-by-product tfoot td{font-weight:500;background:var(--ivoire-fonce)}
.admin-sales-detail{margin-top:20px}
.admin-sales-table .muted{font-size:12px}
@media(max-width:900px){
.admin-theme-table thead{display:none}
.admin-theme-table tr{display:block;margin-bottom:16px;border:1px solid var(--filet);border-radius:0;padding:10px}
.admin-theme-table td{display:block;border:none;padding:6px 0}
.admin-theme-table td::before{content:attr(data-label);font-weight:500;font-size:11px;text-transform:uppercase;color:var(--encre-62);display:block;margin-bottom:4px}
.admin-marketing-table thead,.admin-marketing-ref-table thead{display:none}
.admin-marketing-table tbody,.admin-marketing-ref-table tbody{display:block;width:100%}
.admin-marketing-table tr,.admin-marketing-ref-table tr{display:block;margin:0 0 14px;padding:14px;border:1px solid var(--filet);background:var(--ivoire)}
.admin-marketing-table td,.admin-marketing-ref-table td{display:block;border:none;padding:6px 0;width:auto;white-space:normal}
.admin-marketing-table td::before,.admin-marketing-ref-table td::before{content:attr(data-label);display:block;font-weight:500;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--encre-62);margin-bottom:2px}
.admin-marketing-table td:last-child,.admin-marketing-ref-table td:last-child{margin-top:8px}
}
.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}

/* ——— Mobile : lisibilité, navigation, tableaux admin ——— */
@media(max-width:900px){
.app-sidebar{z-index:40}
/* Pop-up menu mobile : liens plus grands, pleine largeur */
.app-sidebar .app-nav-link{padding:16px 4px;font-family:var(--font-serif);font-size:22px;font-weight:400;border-bottom:1px solid var(--filet)}
.app-sidebar .app-sidebar-recent{margin-top:18px}
.app-sidebar .app-nav-sublink{padding:12px 4px;font-size:15px;border-bottom:1px solid var(--filet)}
.app-sidebar .app-sidebar-logout{margin-top:24px}
.app-sidebar .app-sidebar-logout__btn{padding:16px 20px}
.app-topbar{flex-direction:column;align-items:stretch}
.app-topbar-actions{width:100%;justify-content:space-between}
.heading,.heading h1{flex-direction:column;align-items:flex-start;width:100%}
.heading .button,.heading .button.secondary{width:100%;text-align:center;justify-content:center}
.admin-layout{display:block;margin-top:0}
.admin-layout__aside{position:static;max-height:none;overflow:visible;background:transparent;margin:0 0 16px}
nav.admin-quick-links{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:0;
  position:static;
  width:auto;
  max-height:none;
  overflow:visible;
  padding:0;
}
.admin-quick-link{flex:1 1 auto;min-width:calc(50% - 6px);text-align:left;padding:10px 12px}
.admin-nav-group{width:100%}
.admin-nav-group__bar{width:100%}
.admin-nav-group--open .admin-nav-sublinks{display:grid!important}
.admin-nav-sublinks{padding-left:8px;margin:4px 0 8px 32px}
.admin-nav-search__input{font-size:16px}
.admin-quick-sublink{min-width:100%;font-size:12px}
.admin-newsletter-tabs{flex-direction:column;align-items:stretch}
.admin-newsletter-tabs .button{width:100%}
.site-promo-banner{padding:10px 12px;font-size:13px;line-height:1.5}
.site-promo-banner__inner{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center}
.site-promo-banner__sep{display:none}
.site-promo-banner__item{display:block;width:100%}
.home-price__amount .price-display{align-items:center;text-align:center;width:100%}
.home-hero-pro__actions .button,.home-hero-pro__actions .button.secondary{flex:1 1 100%;text-align:center;justify-content:center}
.admin-theme-grid{grid-template-columns:1fr}
.admin-payments-table thead,.admin-sales-table thead,.admin-sales-by-product thead{display:none}
.admin-payments-table tbody,.admin-sales-table tbody{display:block;width:100%}
.admin-payments-table tr,.admin-sales-table tr{display:block;margin:0 0 14px;padding:14px;border:1px solid var(--filet);border-radius:0;background:var(--ivoire)}
.admin-payments-table td,.admin-sales-table td{display:block;border:none;padding:6px 0;text-align:left}
.admin-payments-table td::before,.admin-sales-table td::before{content:attr(data-label);display:block;font-weight:500;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--encre-62);margin-bottom:2px}
.admin-payments-table tfoot,.admin-sales-table tfoot{display:block;margin-top:8px}
.admin-payments-table tfoot tr,.admin-sales-table tfoot tr{border:1px solid var(--encre);background:var(--ivoire-fonce)}
.admin-sales-by-product tbody{display:table;width:100%}
.admin-sales-by-product tfoot{display:table-footer-group}
.admin-sales-filter-form .grid2,.admin-sales-filter-form .grid3,.admin-sales-period-fields{grid-template-columns:1fr}
.admin-promo-form .grid2{grid-template-columns:1fr}
.admin-sales-stats .card,.admin-customer-payments+.grid3 .card{text-align:left}
.actions .button,.actions .button.secondary{min-height:44px}
.offer-checkout-price .price-display{flex-wrap:wrap;justify-content:center}
}
@media(max-width:720px){
body.site-body{overflow-x:hidden;overflow-x:clip}
.container{padding:56px 20px}
.has-app-shell .app-content{padding:8px 16px 24px}
/* Boutons d'action empilés pleine largeur sur mobile (dashboard, panneaux) */
.app-quick-actions{flex-direction:column;align-items:stretch}
.app-quick-actions .button{width:100%;justify-content:center}
.app-page-toolbar{flex-direction:column;align-items:stretch}
.app-page-toolbar .button{width:100%;justify-content:center}
.app-panel .actions:not(.guest-actions-share):not(.onboarding-theme-actionbar__actions){flex-direction:column;align-items:stretch}
.app-panel .actions:not(.guest-actions-share):not(.onboarding-theme-actionbar__actions) .button{width:100%;justify-content:center}
.grid2,.grid3,.stats,.admin-sales-stats,.admin-theme-stats{grid-template-columns:1fr!important}
.card,.form-card{padding:18px 16px;border-radius:0;margin-bottom:16px}
table:not(.app-table):not(.admin-table-compact):not(.admin-payments-table):not(.admin-marketing-table):not(.admin-marketing-ref-table):not(.admin-sales-by-product){display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}
/* Tableau invités : cartes empilées avec libellés inline sous le bouton filtre */
.app-table--guests{display:block;width:100%}
.app-table--guests tr:first-child{display:none}
.app-table--guests tr{display:block;border:1px solid var(--filet);background:var(--ivoire);padding:12px 14px;margin:0 0 12px}
.app-table--guests td{display:block;border:0;padding:8px 0;width:auto}
.app-table--guests td+td{border-top:1px solid var(--filet)}
.app-table--guests td::before{content:attr(data-label);display:inline-block;margin-right:8px;font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--encre-62)}
.app-table--guests .guest-actions-cell{min-width:0}
.app-table--guests .guest-actions-cell::before{display:block;margin:0 0 8px}
input,select,textarea{font-size:16px}
.button,button:not(.nav-toggle):not(.app-sidebar-toggle){min-height:44px;padding:12px 18px}
button.app-sidebar-toggle.nav-toggle,button.nav-toggle{min-height:44px;padding:0}
.invitation-page{padding:14px 12px 32px;margin:0}
.invitation-hero{padding:28px 18px;border-radius:0}
.invitation-card{padding:18px 16px;border-radius:0}
.invitation-hero h1{font-size:clamp(28px,9vw,48px)}
.rsvp-theme-template-grid{max-height:none}
.home-hero-pro{padding:28px 0 20px}
.home-hero-pro__title{font-size:clamp(48px,9vw,56px)}
.home-hero-banner__inner{padding-top:80px;padding-bottom:80px}
.home-hero-banner__title{font-size:clamp(40px,9vw,56px)}
.home-hero-banner__lead{font-size:18px}
.home-hero-banner__actions{width:100%}
.home-hero-banner__actions .button{width:100%;justify-content:center}
.flash{margin-left:16px;margin-right:16px;border-radius:0}
.split,.split.wide{gap:16px}
.admin-event-billing{padding-top:14px;margin-top:14px;border-top:1px solid var(--filet)}
.admin-gift-vanity-form label{display:grid}
.admin-gift-vanity-form .button{width:100%}
}
@media(max-width:480px){
.brand{font-size:20px}
.home-hero-pro__kicker{max-width:100%;flex-direction:column;gap:8px;font-size:9px;letter-spacing:.12em}
.home-hero-pro__kicker::before{width:32px;height:1px}
.home-hero-pro__brand{max-width:100%;padding:0}
.home-hero-pro__bullets{padding-left:20px}
.admin-quick-link{min-width:100%}
.price-display__badge{font-size:10px}
}

/* ——— Pages marketing / SEO ——— */
.marketing-page{display:block;margin:0;padding:0 0 48px}
.seo-breadcrumb{font-size:13px;margin-top:12px;margin-bottom:12px}
.seo-breadcrumb a{color:var(--dore);font-weight:500;text-decoration:none}
.marketing-hero h1{margin:8px 0 12px;font-size:clamp(34px,4vw,56px);line-height:1.15}
.marketing-lead{font-family:var(--font-serif);font-size:18px;font-weight:300;line-height:1.6;margin:0 0 8px;color:var(--encre-62)}
.marketing-section h2{margin-top:0;font-size:24px}
.marketing-section p,.marketing-section li{line-height:1.65}
.marketing-faq{display:grid;gap:28px}
.marketing-faq__category h2{font-size:24px;margin:0 0 12px;color:var(--encre)}
.marketing-faq__item{border:1px solid var(--filet);border-radius:0;padding:12px 16px;background:var(--ivoire);margin-bottom:8px}
.marketing-faq__item summary{cursor:pointer;font-family:var(--font-serif);font-weight:400;font-size:18px;color:var(--encre)}
.marketing-faq__item p{margin:10px 0 0}
.marketing-related ul{margin:0;padding-left:20px}
.marketing-links{line-height:1.8}
.marketing-cta{text-align:center;padding:28px 24px;background:var(--ivoire-fonce);border:1px solid var(--filet)}
.marketing-cta h2{margin-top:0}
.marketing-cta .actions{justify-content:center}
.home-audience__card h3 a{color:inherit;text-decoration:none}
.home-audience__card h3 a:hover{color:var(--dore)}

/* ——— Blog ——— */
.blog-grid{display:grid;gap:18px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}
.blog-card h2{margin:8px 0;font-size:24px}
.blog-card h2 a{color:inherit;text-decoration:none}
.blog-card h2 a:hover{color:var(--dore)}
.blog-card__meta{margin:0 0 6px;font-size:12px}
.blog-card__cat{font-weight:600;color:var(--dore)}
.blog-hub__title{margin:0 0 16px;font-size:28px}
.marketing-section.blog-hub-section{margin-top:32px}
.home-seo-hub__grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));margin:0 0 16px}
.home-seo-hub__link{display:block;padding:14px 16px;text-decoration:none;color:inherit;font-weight:600;text-align:center}
.home-seo-hub__link:hover{color:var(--dore);border-color:var(--dore)}
.home-seo-hub__more{text-align:center;margin:0}
.home-audience__img,.home-audience picture img{width:100%;height:auto;display:block;border-radius:8px}
.oev-illustration,.blog-illustration{margin:0 0 24px}
.oev-illustration--card,.blog-illustration--card{margin:0 0 14px}
.oev-illustration__media,.blog-illustration__media{margin:0;border-radius:12px;overflow:hidden;background:var(--ivoire-fonce);border:1px solid var(--filet)}
.oev-illustration__img,.blog-illustration__img{display:block;width:100%;height:auto;max-height:min(52vh,520px);object-fit:cover;object-position:center}
.oev-illustration--card .oev-illustration__img,.blog-illustration--card .blog-illustration__img{max-height:220px}
.oev-illustration__caption,.blog-illustration__caption{margin:8px 0 0;font-size:12px;line-height:1.45;text-align:center;letter-spacing:.01em}
.blog-card .oev-illustration__caption,.blog-card .blog-illustration__caption{font-size:11px}
.marketing-hero+.oev-illustration,.marketing-hero+.blog-illustration{margin-top:-8px}
.marketing-hero .oev-illustration,.marketing-hero .blog-illustration{margin:16px 0 20px}
.marketing-quote{margin:16px 0;padding:14px 18px;border-left:3px solid var(--dore);background:var(--ivoire-fonce);border-radius:0 8px 8px 0}
.marketing-quote p{margin:0;line-height:1.65}
.blog-article h2{margin-top:22px;font-size:24px}
.blog-article h3{margin-top:16px;font-size:18px}
.blog-article .blog-intro{font-size:1.05rem;line-height:1.7}
.blog-article ul,.blog-article ol{padding-left:20px;line-height:1.65}
.blog-article details.blog-faq__item{margin:12px 0;padding:12px 14px;border:1px solid var(--border, #e8e4df);border-radius:8px;background:var(--surface-alt, #faf9f7)}
.blog-article details.blog-faq__item summary{cursor:pointer;font-weight:600}
.blog-article details.blog-faq__item p{margin:10px 0 0}
.blog-search{margin-bottom:24px;padding:20px 22px}
.blog-search__label{display:block;margin:0 0 10px;font-size:13px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--encre-62)}
.blog-search__row{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.blog-search__input{flex:1 1 220px;min-width:0;margin:0;padding:12px 14px;font-size:16px;border:1px solid var(--filet);border-radius:8px;background:var(--ivoire)}
.blog-search__input:focus{outline:2px solid var(--dore);outline-offset:1px;border-color:var(--dore)}
.blog-search__status{min-height:1.25em;margin:10px 0 0}
.blog-search__empty{margin:0 0 20px;padding:20px;text-align:center}
#admin-blog-table[hidden]{display:none}
.admin-blog-list--filtering .blog-search__empty:not([hidden]){margin-bottom:16px}

/* ——— Tickets assistance ——— */
.support-badge{display:inline-block;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:600;letter-spacing:.02em;border:1px solid transparent;white-space:nowrap}
.support-badge--new{background:#dbeafe;color:#1d4ed8;border-color:#93c5fd}
.support-badge--in_progress{background:#ede9fe;color:#6d28d9;border-color:#c4b5fd}
.support-badge--waiting_user{background:#ffedd5;color:#c2410c;border-color:#fdba74}
.support-badge--answered{background:#dcfce7;color:#15803d;border-color:#86efac}
.support-badge--closed{background:#f3f4f6;color:#4b5563;border-color:#d1d5db}
.support-badge--priority-urgent{box-shadow:0 0 0 1px #ef4444 inset}
.support-badge--priority{background:transparent;color:var(--encre-62);border-color:var(--filet);font-weight:500}
.support-badge--priority-high{background:#fef3c7;color:#b45309;border-color:#fcd34d}
.support-badge--priority-urgent{background:#fee2e2;color:#b91c1c;border-color:#fca5a5}
.support-ticket-head{display:flex;flex-wrap:wrap;gap:16px;align-items:flex-start;justify-content:space-between}
.support-ticket-head__badges{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.support-thread__list{display:grid;gap:14px}
.support-message{padding:14px 16px;border:1px solid var(--filet);border-radius:8px;background:var(--ivoire)}
.support-message--admin{border-color:#86efac;background:#f0fdf4}
.support-message--user{border-color:#bfdbfe;background:#eff6ff}
.support-message--internal{border-style:dashed;border-color:#fcd34d;background:#fffbeb}
.support-message__head{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:baseline;justify-content:space-between;margin:0 0 10px}
.support-message__body{margin:0;line-height:1.55;overflow-wrap:anywhere;word-break:break-word}
.support-pagination{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:16px}
.admin-support-stats{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;margin:0 0 20px}
.admin-support-stat{display:block;text-decoration:none;color:inherit;padding:16px 18px}
.admin-support-stat span{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--encre-62);margin-bottom:6px}
.admin-support-stat strong{display:block;font-size:28px;line-height:1.1;color:var(--encre)}
.admin-support-stat small{display:block;margin-top:6px;font-size:11px;color:var(--encre-62);line-height:1.35}
.admin-support-stat--active{outline:2px solid var(--dore);outline-offset:-2px}
.admin-support-stat--new strong{color:#1d4ed8}
.admin-support-stat--in_progress strong{color:#6d28d9}
.admin-support-stat--waiting_user strong{color:#c2410c}
.admin-support-stat--answered strong{color:#15803d}
.admin-support-stat--closed strong{color:#4b5563}
.admin-support-stat--open strong{color:#b45309}
.admin-support-stat--urgent strong{color:#b91c1c}
.admin-staff-roles{display:grid;gap:12px}
.admin-staff-role-card{border:1px solid var(--filet);padding:12px 14px;border-radius:8px;background:var(--ivoire)}
.admin-staff-role-card summary{cursor:pointer;font-size:15px}
.admin-staff-role-perms{margin:10px 0 0;padding-left:18px;font-size:13px;line-height:1.5}
.admin-staff-role-perms li{margin:4px 0}
.admin-staff-help{margin-bottom:20px}
.admin-staff-help__list{margin:10px 0 0;padding-left:20px;line-height:1.55}
.admin-staff-help__list li{margin:6px 0}
.admin-perm-matrix{display:grid;gap:16px;margin:16px 0}
.admin-perm-matrix__all{padding:12px 14px;border:1px solid var(--dore);background:rgba(156,122,74,.08)}
.admin-perm-matrix__group{border:1px solid var(--filet);padding:12px 14px;margin:0}
.admin-perm-matrix__group legend{padding:0 6px;font-weight:600}
.admin-perm-matrix__items{display:grid;gap:8px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}
.admin-perm-matrix__item{margin:0;font-size:14px}
.admin-team-role-form{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-bottom:6px}
.admin-team-role-form select{min-width:140px;margin:0}

.blog-page--filtering .blog-hub__count{display:none}
.blog-page--filtering .blog-hub-section[data-blog-section][hidden]{display:none!important}
.blog-card[hidden]{display:none!important}

/* ——— Page welcome ——— */
.welcome-page{display:grid;gap:24px;max-width:1100px;margin:0 auto}
.welcome-hero{position:relative;overflow:hidden;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:0;align-items:stretch;border-radius:0;border:1px solid var(--filet)}
.welcome-hero__glow{display:none}
.welcome-hero__inner{padding:36px 32px;position:relative;z-index:1}
.welcome-hero__logo{display:block;margin:0 auto 12px;border-radius:0;box-shadow:none}
.welcome-hero__brand{margin:0 0 8px;font-family:var(--font-serif);font-size:22px;font-weight:500;color:var(--encre);text-align:center}
.welcome-hero__eyebrow{margin:0 0 6px;font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.22em;color:var(--dore);text-align:center}
.welcome-hero__title{margin:0 0 10px;font-family:var(--font-serif);font-size:clamp(34px,4vw,56px);line-height:1.12;text-align:center;color:var(--encre)}
.welcome-hero__lead{margin:0 auto 18px;max-width:36em;font-family:var(--font-serif);font-size:18px;font-weight:300;line-height:1.6;text-align:center;color:var(--encre-62)}
.welcome-hero__actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-bottom:10px}
.welcome-btn-lg{min-height:48px;padding:18px 32px}
.welcome-hero__note{text-align:center;margin:0;font-size:13px}
.welcome-hero__visual{min-height:260px;background:var(--ivoire-fonce)}
.welcome-hero__visual img{width:100%;height:100%;object-fit:cover;display:block;min-height:260px}
.welcome-gallery__label{text-align:center;margin:0 0 10px;font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.22em;color:var(--dore)}
.welcome-gallery__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.welcome-gallery__item{margin:0;border-radius:0;overflow:hidden;border:1px solid var(--filet);box-shadow:none}
.welcome-gallery__item img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}
.welcome-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}
.welcome-step{position:relative;padding:22px 18px 18px 18px;border:1px solid var(--filet)}
.welcome-step__num{display:inline-flex;align-items:center;justify-content:center;width:auto;height:auto;border-radius:0;background:transparent;color:var(--dore);font-family:var(--font-serif);font-weight:400;font-size:44px;margin-bottom:10px}
.welcome-step h2{margin:0 0 8px;font-size:24px}
.welcome-step p{margin:0;color:var(--encre-62);line-height:1.55;font-size:14px}
@media(max-width:900px){
.welcome-hero{grid-template-columns:1fr}
.welcome-hero__visual{order:-1;min-height:200px}
.welcome-hero__inner{padding:24px 18px}
.welcome-gallery__grid{grid-template-columns:1fr}
}

/* ——— Newsletter (admin) ——— */
.newsletter-compose{display:grid;grid-template-columns:minmax(280px,1fr) minmax(300px,1.05fr);gap:24px;align-items:start;margin-top:16px}
.newsletter-compose-form{display:flex;flex-direction:column;gap:4px}
.newsletter-compose-form label{margin-top:10px}
.newsletter-hero-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:6px}
.newsletter-hero-row input[type=url]{flex:1;min-width:200px}
.newsletter-hero-upload-btn{margin:0;cursor:pointer}
.newsletter-hero-hint{margin:4px 0 0;font-size:12px}
.newsletter-compose-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.newsletter-compose-preview-wrap{position:sticky;top:16px;background:var(--ivoire-fonce);border:1px solid var(--filet);border-radius:0;padding:14px;min-height:520px;display:flex;flex-direction:column}
.newsletter-compose-preview-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}
.newsletter-compose-preview-head h3{margin:0;font-size:16px}
.newsletter-compose-preview{flex:1;width:100%;min-height:480px;border:1px solid var(--filet);border-radius:0;background:var(--ivoire)}
.admin-theme-leaderboard{margin:20px 0}
.admin-theme-leaderboard-grid{display:grid;gap:12px}
.admin-theme-leaderboard-item{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;border:1px solid var(--filet);border-radius:0;background:var(--ivoire)}
.admin-theme-leaderboard-rank{font-family:var(--font-serif);font-size:24px;font-weight:400;color:var(--dore);min-width:28px}
.admin-theme-leaderboard-body{flex:1;min-width:0}
.admin-theme-leaderboard-body strong{display:block;margin-bottom:2px}
.admin-theme-leaderboard-bar{height:6px;background:var(--ivoire-fonce);border-radius:0;margin:8px 0 4px;overflow:hidden}
.admin-theme-leaderboard-bar span{display:block;height:100%;background:var(--dore);border-radius:0}
.admin-theme-leaderboard-count{font-size:12px;color:var(--encre-62)}
.admin-theme-import-card{margin-bottom:24px}
.admin-theme-import-form label{display:block;margin-top:10px}
.admin-theme-import-sample{margin-top:12px}
.admin-theme-import-sample pre{max-height:220px;overflow:auto;font-size:12px;background:var(--ivoire-fonce);padding:12px;border-radius:0}
@media(max-width:960px){
.newsletter-compose{grid-template-columns:1fr}
.newsletter-compose-preview-wrap{position:static;min-height:420px}
.newsletter-compose-preview{min-height:360px}
}

/* ——— Réglages : éditeur mail ——— */
.settings-mail-editor{display:grid;gap:16px}
.settings-mail-editor__head{padding:16px 18px;border:1px solid var(--filet);border-radius:0;background:var(--ivoire-fonce)}
.settings-mail-editor__head h2{margin:0 0 8px}
.settings-mail-editor__head .muted{margin:0}
.settings-mail-block{padding:16px;border:1px solid var(--filet);border-radius:0;background:var(--ivoire)}
.settings-mail-block h3{margin:0 0 6px;font-size:16px}
.settings-mail-block .muted{margin:0 0 10px}
.settings-mail-block .token-editor{border-color:var(--filet);box-shadow:none}
.settings-mail-block .token-editor{resize:vertical;overflow:auto;max-height:none;min-height:140px}
.settings-mail-block .token-editor.single-line{min-height:54px;max-height:none}
.settings-mail-tools{margin-top:10px;padding-top:10px;border-top:1px dashed var(--filet)}
.settings-mail-tools__label{display:block;font-size:11px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--encre-62);margin-bottom:8px}
.settings-mail-tools .variable-buttons{display:flex;flex-wrap:wrap;gap:8px}
.settings-mail-help{padding:14px 16px;border:1px solid var(--filet);border-radius:0;background:var(--ivoire-fonce)}
.settings-mail-help h3{margin:0 0 8px;font-size:15px}
.settings-mail-help ul{margin:0;padding-left:18px;color:var(--encre-62);line-height:1.55}
.settings-mail-help li+li{margin-top:4px}
.settings-mail-preview{padding:14px 16px;border:1px solid var(--filet);border-radius:0;background:var(--ivoire);box-shadow:none}
.settings-mail-preview__head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}
.settings-mail-preview__head h3{margin:0;font-size:15px}
.settings-mail-preview__head .muted{margin:0;font-size:12px}
.settings-mail-preview__card{border:1px solid var(--filet);border-radius:0;padding:12px;background:var(--ivoire-fonce)}
.settings-mail-preview__label{margin:0 0 4px;font-size:11px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--encre-62)}
.settings-mail-preview__subject{margin:0 0 12px;font-weight:500;color:var(--encre);line-height:1.4}
.settings-mail-preview__body{margin:0;color:var(--encre);line-height:1.6;white-space:normal}

/* ——— Réglages : éditeur whatsapp ——— */
.settings-whatsapp-editor{display:grid;gap:16px}
.settings-whatsapp-editor__head{padding:16px 18px;border:1px solid var(--filet);border-radius:0;background:var(--ivoire-fonce)}
.settings-whatsapp-editor__head h2{margin:0 0 8px}
.settings-whatsapp-editor__head .muted{margin:0}
.settings-whatsapp-block{padding:16px;border:1px solid var(--filet);border-radius:0;background:var(--ivoire)}
.settings-whatsapp-block h3{margin:0 0 6px;font-size:16px}
.settings-whatsapp-block .muted{margin:0 0 10px}
.settings-whatsapp-block .token-editor{resize:vertical;overflow:auto;max-height:none;min-height:160px}
.settings-whatsapp-preview{padding:14px 16px;border:1px solid var(--filet);border-radius:0;background:var(--ivoire-fonce);box-shadow:none}
.settings-whatsapp-preview__head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}
.settings-whatsapp-preview__head h3{margin:0;font-size:15px}
.settings-whatsapp-preview__head .muted{margin:0;font-size:12px}
.settings-whatsapp-preview__phone{background:var(--ivoire-fonce);border:1px solid var(--filet);border-radius:0;padding:10px}
.settings-whatsapp-preview__bubble{background:var(--ivoire);border:1px solid var(--filet);border-radius:0;padding:10px 12px;color:var(--encre);line-height:1.55;box-shadow:none}
.settings-whatsapp-help{padding:14px 16px;border:1px solid var(--filet);border-radius:0;background:var(--ivoire-fonce)}
.settings-whatsapp-help h3{margin:0 0 8px;font-size:15px}
.settings-whatsapp-help ul{margin:0;padding-left:18px;color:var(--encre-62);line-height:1.55}
.settings-whatsapp-help li+li{margin-top:4px}

/* ——— Actions invités (partage) ——— */
.guest-actions-cell{min-width:280px}
.guest-actions-main{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:6px}
.guest-actions-share{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-start}
.guest-actions-share form,.guest-actions-main form{margin:0}
.guest-share-action{display:flex;flex-direction:column;gap:4px;max-width:168px}
.guest-share-action form{margin:0}
.guest-share-action__icon{display:none}
.guest-share-action__icon--whatsapp{display:none}
.guest-share-action__label{font-size:12px;font-weight:500}
.guest-share-action__hint{margin:0;font-size:11px;line-height:1.35;color:var(--encre-62)}
.guest-share-action.is-disabled .guest-share-action__hint{color:var(--encre-62)}
.guest-actions-main .button.small,
.guest-actions-main button.button.small{
min-height:30px;
padding:0 10px;
font-size:12px;
font-weight:500;
border-radius:0;
line-height:1.1;
}
.guest-actions-share .button.small,
.guest-actions-share button.button.small{
min-height:30px;
padding:0 10px;
font-size:12px;
font-weight:500;
border-radius:0;
line-height:1.1;
}
.guest-action-mail{background:transparent;color:var(--encre);border:1px solid var(--encre)}
.guest-action-mail:hover{background:var(--encre);color:var(--ivoire)}
.guest-action-whatsapp{background:transparent;color:var(--encre);border:1px solid var(--encre)}
.guest-action-whatsapp:hover{background:var(--encre);color:var(--ivoire)}
.guest-share-action.is-disabled .guest-action-mail,
.guest-share-action.is-disabled .guest-action-whatsapp,
.guest-action-mail:disabled,
.guest-action-whatsapp:disabled{
background:var(--ivoire-fonce)!important;
color:var(--encre-62)!important;
border-color:var(--filet)!important;
opacity:1;
cursor:not-allowed;
filter:none;
box-shadow:none;
}
.guest-share-action.is-disabled .guest-action-mail:hover,
.guest-share-action.is-disabled .guest-action-whatsapp:hover,
.guest-action-mail:disabled:hover,
.guest-action-whatsapp:disabled:hover{background:var(--ivoire-fonce)!important;color:var(--encre-62)!important}
.guest-share-action .button.small{display:inline-flex;align-items:center;gap:6px}
@media(min-width:1020px){
.settings-mail-editor{grid-template-columns:minmax(0,1.6fr) minmax(300px,1fr)}
.settings-mail-editor__head,.settings-mail-block{grid-column:1}
.settings-mail-preview,.settings-mail-help{grid-column:2}
.settings-mail-preview{grid-row:1 / span 2;align-self:start;position:sticky;top:16px;max-height:calc(100vh - 32px);overflow:auto}
.settings-mail-help{align-self:start;margin-top:8px}
.settings-whatsapp-editor{grid-template-columns:minmax(0,1.6fr) minmax(300px,1fr)}
.settings-whatsapp-editor__head,.settings-whatsapp-block{grid-column:1}
.settings-whatsapp-preview,.settings-whatsapp-help{grid-column:2}
.settings-whatsapp-preview{grid-row:1 / span 2;align-self:start;position:sticky;top:16px;max-height:calc(100vh - 32px);overflow:auto}
.settings-whatsapp-help{align-self:start;margin-top:8px}
}

/* ============================================================
   Page d'accueil — lisibilité (textes secondaires plus grands,
   numéros de méthode plus marqués) + largeur alignée au header.
   ============================================================ */

/* La home remplit le conteneur (déjà 1280px/64px via .container), même largeur que le header */
.home-page{margin:0;width:100%}

/* Hero : sous-titre et note plus lisibles */
.home-hero-pro__lead{font-size:22px;line-height:1.55;color:var(--encre-62)}
.home-hero-pro__bullets li{font-size:16px;line-height:1.55;color:var(--encre)}
.home-hero-pro__note{font-size:14px;color:var(--encre-62)}

/* Intros de section : plus grandes et un peu plus contrastées */
.home-block__intro{font-size:17px;line-height:1.6;color:var(--encre-62)}
.home-block__head h2{font-size:clamp(34px,3.5vw,56px)}

/* Stats / chiffres clés (eyebrow + légendes) */
.home-trust__list strong{font-size:48px}
.home-trust__list span{font-size:15px;color:var(--encre-62)}

/* Étapes "À chaque étape" — description plus lisible */
.home-guest-steps strong{font-size:24px}
.home-guest-steps span{font-size:15px;line-height:1.55;color:var(--encre-62)}

/* Pipeline (section sombre) — numéros dorés légèrement plus grands que les titres */
.home-pipeline__num{font-size:36px;color:var(--dore);line-height:1}
.home-pipeline strong{font-size:22px}
.home-pipeline span{font-size:15px;line-height:1.5;color:rgba(251,247,239,.78)}

/* Cartes audience / features : titres et corps plus lisibles */
.home-audience__card h3,.home-feat h3{font-size:24px}
.home-audience__card p,.home-feat p{font-size:15px;line-height:1.6;color:var(--encre-62)}

/* Tarifs : description et listes ≥14px, montant bien lisible */
.home-price h3{font-size:24px}
.home-price__amount span{font-size:14px;color:var(--encre-62)}
.home-price ul{font-size:15px;line-height:1.7}
.home-price__tag{font-size:11px;letter-spacing:.16em}

/* Galerie de thèmes : légendes et labels ≥13px (jamais sous 13) */
.home-theme-grid-caption{font-size:14px;color:var(--encre)}
.home-theme-fan-label{font-size:13px}
.home-theme-fan-eyebrow{font-size:12px}
.home-theme-fan-progress{font-size:13px}

/* FAQ : question plus présente, réponse lisible */
.home-faq__item summary{font-size:22px}
.home-faq__item p{font-size:15px;line-height:1.6}

/* Eyebrows / kickers home : filet doré + taille charte */
.home-kicker{font-size:11px;letter-spacing:.22em}

@media(max-width:720px){
.home-hero-pro__lead{font-size:18px}
.home-block__intro{font-size:15px}
.home-pipeline__num{font-size:30px}
}

/* ============================================================
   Ajustements demandés : titres 500, cœur logo, check listes,
   flèche FAQ, typo du chapô hero.
   ============================================================ */

/* Titres en gras (weight 500) partout, y compris les titres home */
h1,h2,h3,h4,h5,
.home-hero-pro__title,.home-block__head h2,.home-audience__card h3,.home-feat h3,
.home-price h3,.home-panel-card h3,.marketing-hero h1,.home-guest-steps strong,
.home-pipeline strong{font-weight:500}

/* Cœur doré (trait fin) à gauche du logo texte "Oui & Vous" */
.brand{display:inline-flex;align-items:center;gap:10px}
.brand::before{
  content:"";
  width:18px;height:18px;flex-shrink:0;
  background-color:var(--dore);
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.4'%3E%3Cpath d='M12 20.5C12 20.5 3.5 15 3.5 8.8 3.5 6 5.7 4 8.1 4c1.7 0 3 1 3.9 2.3C12.9 5 14.2 4 15.9 4c2.4 0 4.6 2 4.6 4.8C20.5 15 12 20.5 12 20.5Z'/%3E%3C/svg%3E") no-repeat center / contain;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.4'%3E%3Cpath d='M12 20.5C12 20.5 3.5 15 3.5 8.8 3.5 6 5.7 4 8.1 4c1.7 0 3 1 3.9 2.3C12.9 5 14.2 4 15.9 4c2.4 0 4.6 2 4.6 4.8C20.5 15 12 20.5 12 20.5Z'/%3E%3C/svg%3E") no-repeat center / contain;
}

/* Listes à puces avec check doré (trait fin) — checklist + bullets du hero */
.home-checklist,.home-hero-pro__bullets{list-style:none;padding-left:0}
.home-checklist li,.home-hero-pro__bullets li{position:relative;padding-left:30px}
.home-checklist li::before,.home-hero-pro__bullets li::before{
  content:"";
  position:absolute;left:0;top:.18em;
  width:18px;height:18px;border-radius:0;
  background:var(--dore);
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12.5 9.5 18 20 6.5'/%3E%3C/svg%3E") no-repeat center / contain;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12.5 9.5 18 20 6.5'/%3E%3C/svg%3E") no-repeat center / contain;
}

/* FAQ : flèche à droite du summary, pivote à l'ouverture */
.home-faq__item summary,.marketing-faq__item summary{
  position:relative;padding-right:34px;list-style:none;cursor:pointer;
}
.home-faq__item summary::-webkit-details-marker,
.marketing-faq__item summary::-webkit-details-marker{display:none}
.home-faq__item summary::after,.marketing-faq__item summary::after{
  content:"";
  position:absolute;right:4px;top:50%;margin-top:-7px;
  width:14px;height:14px;
  background-color:var(--dore);
  transition:transform .2s ease;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat center / contain;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat center / contain;
}
.home-faq__item[open] summary::after,.marketing-faq__item[open] summary::after{transform:rotate(180deg)}

/* Chapô du hero : sans-serif léger (Inter 300), pas Cormorant */
.home-hero-pro__lead,.marketing-lead{
  font-family:var(--font-sans);
  font-weight:400;
  font-style:normal;
}

/* Maquettes produit (mocks SVG dashboard / template mariage) */
.home-mockup{margin:0;width:100%}
.home-mockup__img{display:block;width:100%;height:auto;border:1px solid var(--filet);background:var(--ivoire)}
.home-mockup__caption{margin-top:12px;font-family:var(--font-serif);font-style:italic;font-size:14px;color:var(--encre-62);text-align:center}
.home-mockup--template .home-mockup__img{max-width:380px;margin:0 auto}
/* Deux maquettes côte à côte dans une section */
.home-mockup-pair{display:grid;grid-template-columns:1.3fr 0.7fr;gap:18px;align-items:start;margin-top:8px}
@media(max-width:720px){.home-mockup-pair{grid-template-columns:1fr}}

/* ============================================================
   Pages publiques (accueil + SEO) : FOND pleine largeur,
   CONTENU aligné sur 1280px (comme le header). Pas de blocs internes.
   --edge = marge latérale qui recentre le contenu sur 1280px.
   ============================================================ */

/* On neutralise le bornage du .container UNIQUEMENT pour ces pages */
.container:has(> .home-page),
.container:has(> .marketing-page){max-width:none;padding:0;margin:0}

.home-page,.marketing-page{--edge:max(20px, calc((100% - 1280px) / 2 + 64px))}

/* Chaque section : fond bord à bord, contenu aligné via padding latéral fluide */
.home-page > section,
.home-page > .home-trust,
.home-page > .home-mockup,
.marketing-page > *{
  padding-left:var(--edge);
  padding-right:var(--edge);
}

/* Le hero et les sections sans fond : padding vertical de rythme */
.home-hero-pro{padding-top:56px;padding-bottom:56px}
.home-block{margin:0;padding-top:88px;padding-bottom:88px;border-top:1px solid var(--filet)}
.home-block:first-of-type{border-top:0}
/* Bandes colorées : fond bord à bord déjà, on garde juste le padding latéral fluide */
.home-block--cream,.home-block--dark{margin:0}
.home-cta-pro{margin:0}
.home-trust{margin:0;padding-top:32px;padding-bottom:40px;border:0;border-top:1px solid var(--filet);border-bottom:1px solid var(--filet);background:transparent}

/* Marketing (pages SEO) : plus de cartes encadrées -> sections à filets pleine largeur */
.marketing-page{padding-top:0}
.marketing-page > .marketing-hero{padding-top:56px;padding-bottom:40px}
.marketing-page .marketing-section,
.marketing-page .marketing-section.card{
  background:transparent;border:0;border-radius:0;box-shadow:none;
  border-top:1px solid var(--filet);
  margin:0;padding-top:56px;padding-bottom:56px;
}
.marketing-page .home-mockup{padding-top:8px;padding-bottom:8px}
/* Le bloc CTA marketing garde son fond mais pleine largeur */
.marketing-page .home-cta-pro{margin-top:0}

/* Largeur de lecture confortable pour le texte courant des sections SEO
   (les titres et les grilles restent pleine largeur ; seuls les paragraphes,
   listes simples et le chapô sont limités à ~70 caractères). */
.marketing-hero .marketing-lead,
.marketing-section > p,
.marketing-section > ul:not([class]),
.marketing-section > ol:not([class]),
.marketing-section .home-checklist,
.marketing-section .marketing-links{
  max-width:68ch;
}
/* Les étapes numérotées et grilles gardent leur pleine largeur de section */
.marketing-section .home-guest-steps,
.marketing-section .home-audience,
.marketing-section .home-mockup-pair{max-width:none}

@media(max-width:720px){
.home-hero-pro{padding-top:32px;padding-bottom:32px}
.home-block{padding-top:56px;padding-bottom:56px}
.marketing-page .marketing-section{padding-top:40px;padding-bottom:40px}
}

/* ============================================================
   Anti débordement horizontal (overscroll latéral mobile).
   À tous les breakpoints : rien ne dépasse la largeur de l'écran.
   ============================================================ */
/* overflow-x:clip plutôt que hidden : coupe le débordement SANS casser
   position:sticky (la topbar reste collée). Fallback hidden pour vieux navigateurs. */
html,body{max-width:100%;overflow-x:hidden;overflow-x:clip}

/* Médias et iframes ne débordent jamais */
img,svg,video,iframe,table{max-width:100%}

/* L'éventail de thèmes : les cartes pivotées restent dans leur cadre */
.home-hero-pro__fan-wrap{overflow:hidden}
.home-theme-fan{overflow:hidden}

/* Sous-menus du menu mobile : pas de min-width qui dépasse l'écran */
@media(max-width:900px){
  .submenu,.events-submenu{min-width:0;max-width:100%}
  .main-nav{max-width:100vw}
}

/* Grilles : les colonnes peuvent rétrécir (évite le débordement flex/grid) */
.home-hero-pro__grid,.home-split-pro,.home-mockup-pair,.home-audience,
.home-features-bento,.home-pricing,.home-trust__list{min-width:0}
.home-hero-pro__grid > *,.home-split-pro > *,.home-mockup-pair > *{min-width:0}

/* ——— Paramètres : onglets internes ——— */
.settings-section-tabs{margin-bottom:20px}
.settings-tab-panel{display:none;margin-top:8px}
.settings-tab-panel.is-active{display:block}
.settings-tab-panel h2{margin-top:0}
.settings-panel-card--nested{border:0;padding:0;background:transparent;box-shadow:none;margin:0}

/* ——— Onboarding ——— */
.app-shell--onboarding{grid-template-columns:1fr}
.app-shell--onboarding .app-main{width:100%}
.has-onboarding-shell .app-content{max-width:760px;margin:0 auto}
.onboarding-wizard{display:grid;gap:20px}
.onboarding-wizard__head .muted{margin:0 0 16px}
.onboarding-steps{display:flex;flex-wrap:wrap;gap:10px;margin:0;padding:0;list-style:none}
.onboarding-steps__item{display:flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid var(--filet);background:var(--ivoire)}
.onboarding-steps__item.is-current{border-color:var(--dore);background:var(--ivoire-fonce)}
.onboarding-steps__item.is-done .onboarding-steps__num{background:var(--encre);color:var(--ivoire)}
.onboarding-steps__num{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:var(--filet);font-size:12px;font-weight:600}
.onboarding-steps__label{font-size:13px;font-weight:500}
.onboarding-panel h3{margin:22px 0 10px;font-size:16px}
.onboarding-theme-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px;border:0;padding:0;margin:0 0 16px}
.onboarding-theme-grid__legend{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.onboarding-theme-card{cursor:pointer}
.onboarding-summary{margin:0 0 20px;padding-left:20px;line-height:1.7}
.onboarding-summary li{margin:4px 0}

/* Accueil — ajustements de mise en page */
.home-hero-banner__inner{max-width:1180px}
.home-hero-banner__title{max-width:980px}
.home-hero-banner__lead{max-width:920px}
.home-hero-banner__actions{width:100%;justify-content:center}

.home-audience__card{display:flex;flex-direction:column;overflow:hidden;padding:0 0 24px}
.home-audience__img{width:100%;max-width:none;margin:0 0 22px;display:block;object-fit:cover;object-position:center}
.home-audience__card h3,.home-audience__card p{padding:0 20px}

.home-block--dark .home-pipeline__num{
  font-size:36px;
  line-height:1;
  display:block;
}

.home-price--featured,
.home-price--featured h3,
.home-price--featured p,
.home-price--featured li,
.home-price--featured code{color:var(--ivoire)}
.home-price--featured .home-price__amount span{color:rgba(251,247,239,.82)}
.home-price--featured .home-price__tag{color:var(--dore)}

@media(max-width:720px){
.site-footer-top{flex-direction:column}
.site-footer-links{max-width:none}
}

/* Top bar onboarding : "Oui et Vous" centré, header masqué */
.onboarding-topbar{display:flex;align-items:center;justify-content:center;height:64px;border-bottom:1px solid var(--filet);background:var(--ivoire);position:sticky;top:0;z-index:50}
.onboarding-topbar__brand{font-family:var(--font-serif);font-size:20px;font-weight:400;letter-spacing:.02em;color:var(--encre)}

/* Suivi d'étapes numéroté */
.onboarding-steps{counter-reset:onboarding-step}
.onboarding-steps__num{font-family:var(--font-sans)}

/* Barre d'action fixe en bas (étape 2 — thème) */
.onboarding-theme-actionbar{position:fixed;left:0;right:0;bottom:0;z-index:60;
  display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;
  padding:14px clamp(16px,5vw,32px);background:var(--ivoire);border-top:1px solid var(--filet);
  box-shadow:0 -10px 24px -18px rgba(27,22,18,.4)}
.onboarding-theme-form .onboarding-theme-actionbar .rsvp-theme-legal-accept{margin:0;padding:0;border:0;background:transparent;flex:1 1 auto;min-width:0}
.onboarding-panel .actions.onboarding-theme-actionbar__actions{margin:0;display:flex;flex-direction:row;align-items:center;gap:10px;width:auto;flex:0 0 auto}
.onboarding-panel .actions.onboarding-theme-actionbar__actions .button{width:auto}
/* Espace pour ne pas masquer le contenu derrière la barre fixe */
.has-onboarding-shell .app-content:has(.onboarding-theme-actionbar){padding-bottom:120px}

@media(max-width:900px){
.app-mobile-bar .app-sidebar-toggle{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:auto;min-width:44px;padding:8px 12px}
.app-mobile-bar .app-sidebar-toggle .nav-toggle__bars{display:block}
}
@media(max-width:600px){
.home-block--dark .home-pipeline__num{font-size:30px;line-height:1}
.onboarding-theme-actionbar{flex-direction:column;align-items:stretch;gap:12px;padding:14px 16px env(safe-area-inset-bottom,14px)}
.onboarding-panel .actions.onboarding-theme-actionbar__actions{width:100%;flex-direction:row}
.onboarding-panel .actions.onboarding-theme-actionbar__actions .button{flex:1 1 0;width:auto;justify-content:center}
.has-onboarding-shell .app-content:has(.onboarding-theme-actionbar){padding-bottom:170px}
}
