/* =========================================================
   AMS-AI — Styles front (Angel Movement Studio)
   Fidèle à la maquette, responsive. Préfixe .amsai
   ========================================================= */
.amsai {
	--ams-bg:#FBF6F8; --ams-ink:#3A2E34; --ams-plum:#4A3540; --ams-plum2:#5A3F4D;
	--ams-rose:#C99FAE; --ams-rose-l:#E7C3D2; --ams-mauve:#B58EA0; --ams-cream:#F3E7EC;
	--ams-muted:#7C6B73; --ams-line:#F0E2E8; --ams-soft:#A98C9A;
	--ams-serif:'Cormorant Garamond',Georgia,serif; --ams-sans:'Mulish',-apple-system,system-ui,sans-serif;
	--ams-pad:80px;
	font-family:var(--ams-sans); color:var(--ams-ink); background:var(--ams-bg);
	-webkit-font-smoothing:antialiased; line-height:1.5;
}
.amsai *,.amsai *::before,.amsai *::after { box-sizing:border-box; }
.amsai img { max-width:100%; display:block; }
.amsai a { color:inherit; text-decoration:none; }

/* --- Typographie utilitaire --- */
.amsai-eyebrow { font-size:12px; letter-spacing:5px; text-transform:uppercase; color:var(--ams-mauve); margin:0 0 12px; font-weight:600; }
.amsai-eyebrow--light { color:var(--ams-rose-l); }
.amsai-eyebrow--rose { color:var(--ams-mauve); letter-spacing:2px; font-size:12px; font-weight:700; }
.amsai-h1 { font-family:var(--ams-serif); font-weight:500; font-size:clamp(34px,6.5vw,56px); line-height:1; color:var(--ams-plum); margin:0 0 18px; }
.amsai-h2 { font-family:var(--ams-serif); font-weight:600; font-size:clamp(32px,5.5vw,46px); line-height:1.05; color:var(--ams-plum); margin:0; }
.amsai-h2--light { color:#FBF1F5; font-weight:500; }
.amsai-h3 { font-family:var(--ams-serif); font-weight:600; font-size:clamp(24px,3.6vw,30px); line-height:1.05; color:#3E2C36; margin:0 0 12px; }
.amsai-text { font-size:15px; line-height:1.7; color:var(--ams-muted); font-weight:300; margin:0 0 22px; }
.amsai-text--light { color:#E0C7D2; }
.amsai-link { font-size:13px; font-weight:700; letter-spacing:.5px; color:#8E6C7C; text-transform:uppercase; text-decoration:none; border-bottom:1px solid var(--ams-rose); padding-bottom:3px; white-space:nowrap; }
.amsai-meta { font-size:13px; color:var(--ams-soft); font-weight:600; }
.amsai-price { font-size:clamp(18px,3vw,22px); font-weight:800; color:var(--ams-plum); }
.amsai-empty { text-align:center; color:var(--ams-muted); font-size:16px; padding:40px 0; }

/* --- Boutons --- */
.amsai-btn { display:inline-block; padding:14px 30px; border-radius:40px; font-weight:700; font-size:13px; letter-spacing:.5px; text-decoration:none; cursor:pointer; text-align:center; transition:transform .15s ease,opacity .15s ease; }
.amsai-btn:hover { transform:translateY(-1px); }
.amsai-btn--light { background:var(--ams-cream); color:var(--ams-plum); }
.amsai-btn--dark { background:var(--ams-plum); color:var(--ams-cream); }
.amsai-btn--soft { background:var(--ams-cream); color:var(--ams-plum); padding:11px 20px; font-size:12.5px; }
.amsai-btn--ghost { background:transparent; color:var(--ams-cream); border:1px solid rgba(243,231,236,.5); }
.amsai-btn--block { width:100%; padding:15px 28px; font-size:14px; }
.amsai-btn--disabled { background:#EDE2E7; color:#B6A4AD; cursor:not-allowed; pointer-events:none; }

/* --- Sections --- */
.amsai-section { width:100%; margin:0; padding:clamp(48px,8vw,80px) var(--ams-pad); }
.amsai-section__head { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; margin-bottom:44px; flex-wrap:wrap; }
.amsai-section__head--center { display:block; text-align:center; margin-bottom:48px; }

/* --- Hero accueil --- */
.amsai-hero { position:relative; padding:clamp(80px,13vw,120px) var(--ams-pad) clamp(84px,13vw,130px); background:linear-gradient(135deg,#3E2C36 0%,#5A3F4D 55%,#6E4E5E 100%); overflow:hidden; }
.amsai-hero::before { content:""; position:absolute; inset:0; background-image:var(--amsai-hero-img); background-size:cover; background-position:center; opacity:.22; mix-blend-mode:luminosity; }
.amsai-hero__inner { position:relative; width:100%; }
.amsai-hero__title { font-family:var(--ams-serif); font-weight:500; font-size:clamp(40px,8.5vw,84px); line-height:1; color:#FBF1F5; margin:0 0 28px; max-width:880px; }
.amsai-hero__title em { font-style:italic; color:var(--ams-rose-l); }
.amsai-hero__lead { font-size:18px; line-height:1.6; color:#E4CDD7; max-width:560px; margin:0 0 40px; font-weight:300; }
.amsai-hero__actions { display:flex; gap:16px; flex-wrap:wrap; }

/* --- Hero pages internes --- */
.amsai-page-hero { background:linear-gradient(135deg,#3E2C36,#5A3F4D); padding:clamp(60px,10vw,80px) var(--ams-pad) clamp(52px,8vw,70px); }
.amsai-page-hero__inner { width:100%; }
.amsai-page-hero__title { font-family:var(--ams-serif); font-weight:500; font-size:clamp(38px,7vw,64px); line-height:1; color:#FBF1F5; margin:0 0 14px; }
.amsai-page-hero__lead { font-size:16px; color:#E0C7D2; max-width:560px; margin:0; font-weight:300; }

/* --- Carte "événement" à la une --- */
.amsai-featured-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(320px,1fr)); gap:24px; margin-bottom:30px; }
.amsai-featured { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); border-radius:20px; overflow:hidden; box-shadow:0 24px 60px -28px rgba(74,53,64,.45); text-decoration:none; }
.amsai-featured__media { background:linear-gradient(150deg,#7A5868,#4A3540); min-height:300px; position:relative; background-size:cover; background-position:center; }
.amsai-featured__body { background:#fff; padding:clamp(28px,4vw,44px); display:flex; flex-direction:column; justify-content:center; }
.amsai-badge { position:absolute; top:22px; left:24px; font-size:11px; letter-spacing:2px; text-transform:uppercase; color:#3E2C36; background:var(--ams-rose-l); padding:7px 14px; border-radius:30px; font-weight:800; }

/* --- Grille cours (accueil) --- */
.amsai-cours-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(210px,1fr)); gap:20px; }
.amsai-cours-card { background:#fff; border:1px solid var(--ams-line); border-radius:16px; padding:26px; display:flex; flex-direction:column; }
.amsai-cours-card__date { display:flex; align-items:baseline; gap:8px; margin-bottom:4px; }
.amsai-day { font-family:var(--ams-serif); font-size:34px; font-weight:600; color:var(--ams-plum); line-height:1; }
.amsai-month { font-size:13px; font-weight:700; letter-spacing:1px; text-transform:uppercase; color:var(--ams-mauve); }
.amsai-cours-card__time { font-size:13px; color:#8A7B82; margin:0 0 18px; }
.amsai-cours-card__style { font-family:var(--ams-serif); font-size:24px; font-weight:600; color:#3E2C36; margin:0 0 6px; }
.amsai-cours-card__loc { font-size:12.5px; color:#A0919A; margin:0 0 22px; line-height:1.5; }
.amsai-cours-card__foot { display:flex; align-items:center; justify-content:space-between; margin-top:auto; gap:10px; }

/* --- Offre 2 cours = 35€ --- */
.amsai-offer { display:flex; align-items:center; gap:14px; flex-wrap:wrap; background:linear-gradient(135deg,#F3E7EC,#E7C3D2); border-radius:16px; padding:16px 22px; margin-bottom:24px; }
.amsai-offer__tag { font-size:11px; letter-spacing:2px; text-transform:uppercase; font-weight:800; color:#F3E7EC; background:#4A3540; padding:7px 15px; border-radius:30px; flex:none; }
.amsai-offer__text { font-size:15px; color:#4A3540; line-height:1.5; }
.amsai-card-offer { display:inline-block; font-size:11px; font-weight:800; letter-spacing:.3px; color:#3E2C36; background:#E7C3D2; padding:5px 11px; border-radius:20px; }
.amsai-cours-card { position:relative; }
.amsai-cours-card .amsai-card-offer { position:absolute; top:16px; right:16px; }
.amsai-cours-row__main .amsai-card-offer { margin-top:8px; }

/* --- Liste cours (page Cours) --- */
.amsai-cours-row { display:flex; flex-wrap:wrap; align-items:center; gap:16px 24px; background:#fff; border:1px solid var(--ams-line); border-radius:16px; padding:22px clamp(18px,3vw,26px); margin-bottom:14px; }
.amsai-cours-row__date { text-align:center; border-right:1px solid var(--ams-line); padding-right:16px; flex:none; min-width:62px; }
.amsai-cours-row__date .amsai-day { font-size:40px; }
.amsai-cours-row__date .amsai-month { display:block; margin-top:4px; }
.amsai-cours-row__main { flex:1 1 180px; min-width:155px; }
.amsai-cours-row__style { font-family:var(--ams-serif); font-size:25px; font-weight:600; color:#3E2C36; margin:0 0 4px; }
.amsai-cours-row__meta { font-size:13.5px; color:#8A7B82; margin:0 0 3px; }
.amsai-cours-row__note { font-size:13px; color:var(--ams-soft); font-style:italic; margin:0; }
.amsai-cours-row__cta { display:flex; align-items:center; gap:18px; flex:none; margin-left:auto; }

/* --- Disciplines --- */
.amsai-disc-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:24px; }
.amsai-disc-card { border-radius:18px; overflow:hidden; background:#fff; box-shadow:0 18px 44px -30px rgba(74,53,64,.4); }
.amsai-disc-card__media { height:300px; background-size:cover; background-position:center; }
.amsai-disc-card__img { width:100%; height:auto; display:block; }
.amsai-disc-card__body { padding:28px; }

/* --- Préparation concours --- */
.amsai-prepa { background:linear-gradient(135deg,#3E2C36,#5A3F4D); padding:clamp(60px,9vw,90px) var(--ams-pad); }
.amsai-prepa__inner { width:100%; margin:0; display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:clamp(40px,5vw,60px); align-items:center; }
.amsai-prepa__media { min-height:420px; border-radius:18px; background-size:cover; background-position:center; }
.amsai-checklist { list-style:none; margin:0 0 36px; padding:0; display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:14px; }
.amsai-checklist li { display:flex; align-items:center; gap:11px; font-size:14px; color:#F1E2E9; }
.amsai-checklist li::before { content:""; width:7px; height:7px; border-radius:50%; background:var(--ams-rose); flex:none; }
.amsai-checklist--dark li { color:#5A4250; }

/* --- Stages (liste) --- */
.amsai-stage-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:26px; }
.amsai-stage-card { border-radius:20px; overflow:hidden; background:#fff; box-shadow:0 20px 50px -32px rgba(74,53,64,.45); border:1px solid var(--ams-line); }
.amsai-stage-card__link { text-decoration:none; display:block; }
.amsai-stage-card__media { height:240px; position:relative; background:linear-gradient(150deg,#7A5868,#4A3540); background-size:cover; background-position:center; }
.amsai-stage-card__body { padding:30px; }
.amsai-stage-card__foot { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:18px; }

/* --- Stage single --- */
.amsai-stage-hero { background:linear-gradient(150deg,#7A5868,#4A3540); background-size:cover; background-position:center; }
.amsai-stage-hero__overlay { background:linear-gradient(180deg,rgba(62,44,54,.15),rgba(62,44,54,.82)); padding:clamp(48px,8vw,70px) var(--ams-pad) clamp(44px,7vw,60px); min-height:clamp(300px,46vw,420px); display:flex; align-items:flex-end; }
.amsai-stage-hero__inner { width:100%; }
.amsai-stage-hero__title { font-family:var(--ams-serif); font-weight:500; font-size:clamp(34px,7vw,62px); line-height:1.02; color:#FBF1F5; margin:14px 0 12px; max-width:760px; }
.amsai-stage-hero__meta { font-size:16px; letter-spacing:1px; color:#F1D9E2; font-weight:600; margin:0; }
.amsai-stage-hero .amsai-badge { position:static; display:inline-block; }
.amsai-back { display:inline-block; font-size:13px; color:#F3E7EC; text-decoration:none; margin-bottom:18px; font-weight:600; letter-spacing:.5px; }
.amsai-stage-detail { display:grid; grid-template-columns:repeat(auto-fit,minmax(290px,1fr)); gap:clamp(36px,5vw,64px); align-items:start; }
.amsai-stage-about { position:sticky; top:90px; }
.amsai-richtext p { margin:0 0 16px; }
.amsai-slots-head { display:flex; align-items:baseline; justify-content:space-between; margin-bottom:22px; gap:12px; }
.amsai-day-group { font-family:var(--ams-serif); font-size:20px; color:var(--ams-plum2); margin:26px 0 12px; font-weight:600; }
.amsai-slot { background:#fff; border:1px solid var(--ams-line); border-radius:16px; padding:20px 24px; margin-bottom:13px; display:flex; align-items:center; justify-content:space-between; gap:18px; flex-wrap:wrap; }
.amsai-slot__style { font-family:var(--ams-serif); font-size:24px; font-weight:600; color:#3E2C36; margin:4px 0 0; }
.amsai-slot__note { font-size:13px; color:#8A7B82; margin:3px 0 0; }
.amsai-slot__cta { display:flex; align-items:center; gap:18px; }
.amsai-cart-hint { margin-top:22px; padding:20px 24px; background:var(--ams-cream); border-radius:16px; display:flex; align-items:center; justify-content:space-between; gap:18px; flex-wrap:wrap; font-size:14px; color:#5A4250; font-weight:600; }

/* --- Hébergement partenaire --- */
.amsai-hebergement__head { text-align:center; margin-bottom:36px; }
.amsai-hebergement__card { display:grid; grid-template-columns:1.25fr 1fr; background:#fff; border-radius:22px; overflow:hidden; box-shadow:0 28px 70px -34px rgba(74,53,64,.4); }

/* Slider photo */
.amsai-hebergement__slider { position:relative; overflow:hidden; aspect-ratio:4/3; background:var(--ams-cream); }
.amsai-hebergement__track { display:flex; height:100%; transition:transform .5s cubic-bezier(.65,0,.35,1); }
.amsai-hebergement__slide { flex:0 0 100%; height:100%; background-size:cover; background-position:center; }
.amsai-hebergement__nav { position:absolute; top:50%; transform:translateY(-50%); width:38px; height:38px; border-radius:50%; background:rgba(255,255,255,.9); border:none; padding:0; display:flex; align-items:center; justify-content:center; cursor:pointer; color:#3E2C36; box-shadow:0 8px 20px -8px rgba(0,0,0,.4); transition:background .15s ease,transform .15s ease; }
.amsai-hebergement__nav:hover { background:#fff; transform:translateY(-50%) scale(1.06); }
.amsai-hebergement__nav--prev { left:14px; }
.amsai-hebergement__nav--next { right:14px; }
.amsai-hebergement__dots { position:absolute; bottom:16px; left:50%; transform:translateX(-50%); display:flex; gap:7px; }
.amsai-hebergement__dot { width:7px; height:7px; border-radius:50%; background:rgba(255,255,255,.6); border:none; padding:0; cursor:pointer; transition:width .2s ease,background .2s ease; }
.amsai-hebergement__dot.is-active { background:#fff; width:22px; border-radius:5px; }
.amsai-hebergement__count { position:absolute; top:14px; left:14px; background:rgba(58,46,52,.55); color:#fff; font-size:11px; font-weight:700; letter-spacing:.5px; padding:5px 12px; border-radius:20px; }

/* Panneau d'informations */
.amsai-hebergement__info { padding:clamp(28px,4vw,44px); display:flex; flex-direction:column; gap:14px; justify-content:center; }
.amsai-hebergement__kicker { display:flex; align-items:center; gap:12px; flex-wrap:wrap; }
.amsai-hebergement__badge { display:inline-flex; align-items:center; background:var(--ams-rose-l); color:#3E2C36; font-weight:800; font-size:12.5px; letter-spacing:.5px; padding:6px 14px; border-radius:30px; }
.amsai-hebergement__hotel { font-family:var(--ams-serif); font-size:clamp(24px,3vw,30px); font-weight:600; color:#3E2C36; margin:0; }
.amsai-hebergement__meta { display:flex; flex-direction:column; gap:9px; }
.amsai-hebergement__meta a { display:inline-flex; align-items:center; gap:9px; font-size:14px; color:var(--ams-muted); text-decoration:none; }
.amsai-hebergement__meta a:hover { color:var(--ams-plum); }
.amsai-hebergement__meta svg { flex:none; color:var(--ams-mauve); }
.amsai-hebergement__note { display:flex; align-items:flex-start; gap:9px; font-size:12.5px; color:#5A4250; font-weight:600; background:var(--ams-cream); padding:12px 14px; border-radius:12px; margin:0; }
.amsai-hebergement__note svg { flex:none; color:var(--ams-mauve); margin-top:1px; }
.amsai-hebergement__actions { display:flex; gap:12px; flex-wrap:wrap; margin-top:4px; }

@media (max-width:720px) {
	.amsai-hebergement__card { grid-template-columns:1fr; }
	.amsai-hebergement__slider { aspect-ratio:16/11; }
}

/* --- Guide pratique (PDF) --- */
.amsai-guide { padding-top:0; }
.amsai-guide__card { display:flex; align-items:center; gap:26px; background:var(--ams-cream); border-radius:22px; padding:clamp(24px,3.5vw,34px) clamp(26px,4vw,40px); flex-wrap:wrap; }
.amsai-guide__icon { flex:none; width:58px; height:58px; border-radius:50%; background:#fff; color:var(--ams-plum); display:flex; align-items:center; justify-content:center; box-shadow:0 10px 26px -14px rgba(74,53,64,.4); }
.amsai-guide__body { flex:1 1 320px; min-width:0; }
.amsai-guide__title { font-family:var(--ams-serif); font-size:clamp(20px,2.6vw,24px); font-weight:600; color:#3E2C36; margin:2px 0 6px; }
.amsai-guide__text { font-size:14px; color:var(--ams-muted); font-weight:300; line-height:1.6; margin:0; }
.amsai-guide__cta { flex:none; white-space:nowrap; }
@media (max-width:640px) { .amsai-guide__card { flex-direction:column; align-items:flex-start; } .amsai-guide__cta { width:100%; text-align:center; } }

/* --- Contact --- */
.amsai-contact { display:grid; grid-template-columns:repeat(auto-fit,minmax(290px,1fr)); gap:clamp(36px,5vw,64px); align-items:start; }
.amsai-phone { display:inline-flex; align-items:center; gap:12px; text-decoration:none; color:var(--ams-plum); font-weight:700; font-size:20px; font-family:var(--ams-serif); margin:8px 0 26px; }
.amsai-phone__icon { width:42px; height:42px; border-radius:50%; background:var(--ams-cream); display:flex; align-items:center; justify-content:center; color:#8E6C7C; }
.amsai-contact__form { background:#fff; border:1px solid var(--ams-line); border-radius:20px; padding:clamp(24px,4vw,38px); box-shadow:0 20px 50px -34px rgba(74,53,64,.4); }
.amsai-form__row { display:grid; grid-template-columns:repeat(auto-fit,minmax(140px,1fr)); gap:16px; }
.amsai-form__field { display:block; margin-bottom:16px; }
.amsai-form__field span { display:block; font-size:12px; font-weight:700; letter-spacing:.5px; text-transform:uppercase; color:var(--ams-soft); margin-bottom:7px; }
.amsai-form__field input,.amsai-form__field textarea { width:100%; padding:13px 15px; border:1px solid #ECDDE4; border-radius:10px; font-family:inherit; font-size:14px; color:var(--ams-ink); background:var(--ams-bg); }
.amsai-form__field textarea { resize:vertical; }
.amsai-hp { position:absolute !important; left:-9999px !important; width:1px; height:1px; opacity:0; }
.amsai-alert { padding:14px 18px; border-radius:12px; font-size:14px; margin-bottom:20px; }
.amsai-alert--ok { background:#E9F6EC; color:#2F6B3C; }
.amsai-alert--err { background:#FBE9EC; color:#9B2D3C; }

/* --- Overrides couleurs (priorité sur le thème) --- */
.amsai a.amsai-link { color:#8E6C7C !important; }
.amsai a.amsai-back { color:#F3E7EC !important; }
.amsai a.amsai-phone { color:var(--ams-plum) !important; }
.amsai .amsai-stage-card__link,.amsai .amsai-featured { color:inherit !important; }
.amsai .amsai-btn--light,.amsai .amsai-btn--soft { color:var(--ams-plum) !important; }
.amsai .amsai-btn--dark,.amsai .amsai-btn--ghost { color:var(--ams-cream) !important; }
.amsai .amsai-btn--disabled { color:#B6A4AD !important; }
.amsai .amsai-h1 { color:var(--ams-plum) !important; }
.amsai .amsai-h2 { color:var(--ams-plum) !important; }
.amsai .amsai-h2--light { color:#FBF1F5 !important; }
.amsai .amsai-h3 { color:#3E2C36 !important; }
.amsai .amsai-hero__title,.amsai .amsai-page-hero__title,.amsai .amsai-stage-hero__title { color:#FBF1F5 !important; }
.amsai .amsai-hero__title em { color:var(--ams-rose-l) !important; }
.amsai .amsai-hero__lead { color:#E4CDD7 !important; }
.amsai .amsai-page-hero__lead { color:#E0C7D2 !important; }
.amsai .amsai-stage-hero__meta { color:#F1D9E2 !important; }

/* --- Contrôle de réservation (états dynamiques) --- */
.amsai-book-ctl { display:inline-flex; align-items:center; gap:10px; flex-wrap:wrap; justify-content:flex-end; }
.amsai-book-ctl.amsai-loading { opacity:.55; pointer-events:none; }
.amsai-btn--reserved { background:#EAF3EC; color:#2F6B3C !important; cursor:default; pointer-events:none; }
.amsai-btn--reserved::before { content:"✓ "; }
.amsai-cart-flag { font-size:12.5px; font-weight:700; color:#8E6C7C; letter-spacing:.3px; }
.amsai-btn--remove { background:transparent; color:#9B2D3C !important; border:1px solid #E3B9C1; padding:11px 18px; }
.amsai-btn--remove:hover { background:#FBE9EC; }

/* --- Popup ajout panier --- */
.amsai-modal-ov { position:fixed; inset:0; z-index:9999; background:rgba(62,44,54,.55); display:flex; align-items:center; justify-content:center; padding:20px; animation:amsaiFade .2s ease; }
.amsai-modal { background:#fff; border-radius:20px; max-width:420px; width:100%; padding:40px 34px; text-align:center; box-shadow:0 30px 70px -24px rgba(62,44,54,.6); animation:amsaiPop .25s ease; font-family:var(--ams-sans,'Mulish',sans-serif); }
.amsai-modal__check { width:60px; height:60px; border-radius:50%; background:#4A3540; color:#F3E7EC; font-size:30px; line-height:60px; margin:0 auto 18px; }
.amsai-modal__title { font-family:var(--ams-serif,Georgia,serif); font-size:26px; color:#4A3540; margin:0 0 8px; }
.amsai-modal__name { font-size:15px; color:#7C6B73; margin:0 0 24px; }
.amsai-modal__actions { display:flex; gap:12px; justify-content:center; flex-wrap:wrap; }
@keyframes amsaiFade { from{opacity:0} to{opacity:1} }
@keyframes amsaiPop { from{opacity:0;transform:translateY(14px) scale(.97)} to{opacity:1;transform:none} }

/* --- Toast --- */
.amsai-toast { position:fixed; bottom:26px; left:50%; transform:translateX(-50%) translateY(20px); z-index:10000; background:#4A3540; color:#F3E7EC; padding:14px 24px; border-radius:40px; font:600 14px/1.3 var(--ams-sans,'Mulish',sans-serif); box-shadow:0 18px 40px -16px rgba(62,44,54,.7); opacity:0; transition:opacity .3s ease,transform .3s ease; }
.amsai-toast.is-in { opacity:1; transform:translateX(-50%) translateY(0); }
.amsai-toast--err { background:#9B2D3C; }

/* --- Pass illimité mis en valeur --- */
.amsai-pass-feature { display:flex; align-items:center; justify-content:space-between; gap:22px; flex-wrap:wrap; background:linear-gradient(135deg,#4A3540,#6E4E5E); border-radius:18px; padding:26px 30px; margin-bottom:24px; box-shadow:0 22px 50px -26px rgba(74,53,64,.7); }
.amsai-pass-feature__tag { display:inline-block; font-size:11px; letter-spacing:2px; text-transform:uppercase; font-weight:800; color:#3E2C36; background:#E7C3D2; padding:6px 13px; border-radius:30px; margin-bottom:12px; }
.amsai-pass-feature__title { font-family:var(--ams-serif); font-size:clamp(22px,3vw,28px); color:#FBF1F5 !important; margin:0 0 6px; font-weight:600; }
.amsai-pass-feature__desc { font-size:14px; color:#E0C7D2; margin:0; max-width:420px; }
.amsai-pass-feature__cta { display:flex; align-items:center; gap:16px; flex-wrap:wrap; }
.amsai-pass-feature__price { font-family:var(--ams-serif); font-size:30px; font-weight:700; color:#FBF1F5; }

/* --- Header / navigation --- */
.amsai-header { position:relative; z-index:300; display:flex; align-items:center; gap:18px; padding:14px var(--ams-pad); background:#FBF6F8; border-bottom:1px solid #ECDDE4; }
.amsai-header__brand { display:flex; align-items:center; gap:12px; text-decoration:none; margin-right:auto; }
.amsai-header__logo { height:46px !important; width:auto !important; max-width:none; display:block; }
.amsai-header__name { font-family:var(--ams-serif); font-weight:600; font-size:18px; letter-spacing:.5px; color:#4A3540; display:block; line-height:1; }
.amsai-header__sub { font-size:9px; letter-spacing:4px; text-transform:uppercase; color:#A98C9A; margin-top:3px; display:block; line-height:1; }
.amsai-header__nav { display:flex; align-items:center; gap:clamp(16px,2.4vw,32px); }
.amsai-header__nav>a { font-size:13px; font-weight:600; letter-spacing:.6px; color:#5A4250 !important; text-transform:uppercase; text-decoration:none; transition:color .15s; }
.amsai-header__nav>a:hover { color:#8E6C7C !important; }
.amsai-header__actions { display:flex; align-items:center; gap:14px; }
.amsai-header__cart { position:relative; display:flex; align-items:center; justify-content:center; width:42px; height:42px; border-radius:50%; background:#4A3540; color:#F3E7EC !important; flex:none; cursor:pointer; }
.amsai-cart-count { position:absolute; top:-4px; right:-4px; min-width:20px; height:20px; padding:0 5px; border-radius:10px; background:#C99FAE; color:#fff; font-size:11px; font-weight:800; display:flex; align-items:center; justify-content:center; border:2px solid #FBF6F8; }
.amsai-cart-count[hidden] { display:none; }
.amsai-header__burger { display:none; flex-direction:column; justify-content:center; gap:5px; width:42px; height:42px; border:1px solid #E3D2DA; border-radius:12px; background:#fff; cursor:pointer; padding:0 11px; flex:none; }
.amsai-header__burger span { display:block; height:2px; width:100%; background:#4A3540; border-radius:2px; transition:transform .25s ease,opacity .2s ease; }
.amsai-header__burger.is-open span:nth-child(1) { transform:translateY(7px) rotate(45deg); }
.amsai-header__burger.is-open span:nth-child(2) { opacity:0; }
.amsai-header__burger.is-open span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }
@media (max-width:860px) {
	.amsai-header__burger { display:flex; }
	.amsai-header__nav { position:absolute; top:100%; left:0; right:0; z-index:299; flex-direction:column; align-items:stretch; gap:0; background:#FBF6F8; border-bottom:1px solid #ECDDE4; box-shadow:0 18px 40px -20px rgba(74,53,64,.4); max-height:0; overflow:hidden; transition:max-height .3s ease; }
	.amsai-header__nav.is-open { max-height:70vh; }
	.amsai-header__nav>a { padding:16px var(--ams-pad); border-top:1px solid #F0E2E8; }
	.amsai-header__nav>a.amsai-header__nav-program { display:inline-flex; width:fit-content; margin:14px var(--ams-pad); padding:9px 10px 9px 16px; border-top:none; }
}

/* --- Lien de navigation différencié : Performers Program --- */
.amsai-header__nav-program { display:inline-flex; align-items:center; gap:9px; padding:7px 8px 7px 15px; border-radius:30px; background:var(--ams-cream); border:1px solid var(--ams-rose-l); flex:none; }
.amsai-header__nav-dot { width:6px; height:6px; border-radius:50%; background:var(--ams-rose); flex:none; box-shadow:0 0 0 3px rgba(201,159,174,.28); }
.amsai-header__nav-label { font-size:13px; font-weight:700; letter-spacing:.6px; color:#5A3F4D; text-transform:uppercase; }
.amsai-header__nav-audition { font-size:9.5px; font-weight:800; letter-spacing:1px; text-transform:uppercase; color:var(--ams-cream); background:var(--ams-plum); padding:4px 9px; border-radius:20px; }

/* --- Drawer panier --- */
.amsai-drawer-ov { position:fixed; inset:0; z-index:9998; background:rgba(62,44,54,.5); opacity:0; transition:opacity .25s ease; }
.amsai-drawer-ov.is-in { opacity:1; }
.amsai-drawer { position:fixed; top:0; right:0; bottom:0; width:min(420px,92vw); z-index:9999; background:#FBF6F8; box-shadow:-20px 0 60px -24px rgba(62,44,54,.6); display:flex; flex-direction:column; transform:translateX(100%); transition:transform .3s ease; font-family:var(--ams-sans); }
.amsai-drawer.is-in { transform:none; }
.amsai-drawer__head { display:flex; align-items:center; justify-content:space-between; padding:22px 24px; border-bottom:1px solid #ECDDE4; }
.amsai-drawer__title { font-family:var(--ams-serif); font-size:24px; font-weight:600; color:#4A3540; margin:0; }
.amsai-drawer__close { background:none; border:none; font-size:26px; line-height:1; color:#8A7B82; cursor:pointer; padding:4px; }
.amsai-drawer__body { flex:1; overflow-y:auto; padding:18px 24px; }
.amsai-drawer__item { display:flex; align-items:flex-start; gap:14px; background:#fff; border:1px solid #F0E2E8; border-radius:14px; padding:14px 16px; margin-bottom:12px; }
.amsai-drawer__item-main { flex:1; min-width:0; }
.amsai-drawer__item-name { font-family:var(--ams-serif); font-size:17px; font-weight:600; color:#3E2C36; line-height:1.2; }
.amsai-drawer__item-price { font-size:14px; font-weight:800; color:#4A3540; white-space:nowrap; }
.amsai-drawer__item-remove { background:none; border:none; color:#C0A6B0; cursor:pointer; font-size:13px; padding:4px 0 0; text-decoration:underline; }
.amsai-drawer__empty { text-align:center; color:#8A7B82; padding:50px 10px; }
.amsai-drawer__foot { border-top:1px solid #ECDDE4; padding:20px 24px; background:#fff; }
.amsai-drawer__total { display:flex; align-items:baseline; justify-content:space-between; margin-bottom:16px; }
.amsai-drawer__total b { font-family:var(--ams-serif); font-size:26px; color:#4A3540; }
.amsai-drawer__confirm { display:block; width:100%; text-align:center; padding:16px; background:#4A3540; color:#F3E7EC !important; border-radius:40px; font-weight:700; font-size:14px; letter-spacing:.4px; text-decoration:none; border:none; cursor:pointer; }
.amsai-drawer__confirm[disabled] { opacity:.5; pointer-events:none; }
.amsai-drawer.amsai-loading { opacity:.7; pointer-events:none; }

/* --- Footer --- */
.amsai-footer { background:#3E2C36; padding:clamp(48px,8vw,64px) var(--ams-pad) 36px; width:100%; }
.amsai-footer__top { width:100%; margin:0; display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:clamp(32px,5vw,48px); align-items:start; padding-bottom:42px; border-bottom:1px solid rgba(243,231,236,.14); }
.amsai-footer__logo { height:40px !important; width:auto !important; max-width:none; filter:brightness(0) invert(1); opacity:.92; margin-bottom:18px; }
.amsai-footer__name { font-family:var(--ams-serif); font-size:24px; color:#FBF1F5; margin-bottom:8px; }
.amsai-footer__desc { font-size:14px; line-height:1.6; color:#C9AEBA; margin:0; max-width:320px; font-weight:300; }
.amsai-footer__title { font-size:11px; letter-spacing:3px; text-transform:uppercase; color:#A98C9A; margin-bottom:18px; }
.amsai-footer__col { display:flex; flex-direction:column; gap:13px; }
.amsai-footer__col>a { font-size:14px; color:#E0C7D2 !important; text-decoration:none; }
.amsai-footer__col>a:hover { color:#FBF1F5 !important; }
.amsai-footer__addr { font-size:14px; color:#E0C7D2; line-height:1.5; }
.amsai-footer__bottom { width:100%; margin:0; padding-top:26px; display:flex; align-items:center; justify-content:space-between; gap:18px; flex-wrap:wrap; }
.amsai-footer__bottom>span { font-size:12px; color:#9A8089; }
.amsai-footer__legal { display:flex; gap:24px; flex-wrap:wrap; }
.amsai-footer__legal>a, .amsai-footer__legal>span { font-size:12px; color:#9A8089 !important; cursor:pointer; text-decoration:none; }
.amsai-footer__legal>a:hover { color:#C9AEBA !important; }

/* --- Single stage (maquette 1.1) --- */
.amsai-stage-hero__meta { display:flex; align-items:center; gap:14px; flex-wrap:wrap; margin:0; }
.amsai-stage-hero__meta span { font-size:15px; color:#F1D9E2; font-weight:600; }
.amsai-dot { width:4px; height:4px; border-radius:50%; background:#C99FAE; display:inline-block; flex:none; }

.amsai-passband-wrap { padding-top:clamp(28px,4vw,40px); padding-bottom:0; }
.amsai-passband { background:#3E2C36; border-radius:24px; padding:clamp(24px,3vw,36px) clamp(24px,4vw,40px); display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:24px; position:relative; overflow:hidden; }
.amsai-passband__best { display:inline-flex; align-items:center; gap:7px; font-size:11px; letter-spacing:3px; text-transform:uppercase; color:#C99FAE; font-weight:800; margin-bottom:12px; }
.amsai-passband__info { flex:1; min-width:220px; position:relative; }
.amsai-passband__title { font-family:var(--ams-serif); font-size:clamp(24px,3.5vw,32px); font-weight:600; color:#FBF1F5; margin-bottom:6px; }
.amsai-passband__desc { font-size:14px; color:#C4A0B4; font-weight:300; line-height:1.5; max-width:460px; }
.amsai-passband__cta { display:flex; align-items:center; gap:clamp(16px,3vw,28px); flex-wrap:wrap; }
.amsai-passband__price { font-family:var(--ams-serif); font-size:clamp(42px,6vw,58px); font-weight:600; color:#FBF1F5; line-height:1; }
.amsai-passband__note { font-size:12px; color:#9A7A8A; text-align:right; margin-top:2px; }
.amsai-passband--days { margin-bottom:22px; }
.amsai-passband__deposit { flex:1 1 100%; display:flex; align-items:flex-start; gap:10px; margin-top:6px; font-size:14px; line-height:1.6; color:#F1D9E2; background:rgba(201,159,174,.16); border:1px solid rgba(201,159,174,.32); border-radius:14px; padding:14px 16px; }
.amsai-passband__deposit svg { flex:none; margin-top:1px; color:#E7C3D2; }
.amsai-passband__deposit strong { color:#FBF1F5; }

.amsai-panier-cta { margin-top:32px; padding:18px 22px; background:var(--ams-cream); border-radius:16px; display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; }
.amsai-panier-cta span { font-size:13.5px; color:#5A4250; font-weight:600; line-height:1.4; }

.amsai-day-tabs { display:flex; gap:8px; margin-bottom:24px; flex-wrap:wrap; }
.amsai-day-tab { padding:10px 18px; border-radius:30px; font-size:13px; font-weight:700; letter-spacing:.3px; cursor:pointer; border:1px solid #E3D2DA; background:#fff; color:#5A4250; font-family:var(--ams-sans); transition:all .15s; }
.amsai-day-tab.is-active { background:#4A3540; color:#F3E7EC; border-color:#4A3540; }
.amsai-day-panel { display:none; }
.amsai-day-panel.is-active { display:block; }

.amsai-daypass { background:#FBF2F6; border:2px solid #E7C3D2; border-radius:18px; padding:18px 22px; margin-bottom:16px; display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; }
.amsai-daypass__tag { font-size:11px; letter-spacing:2.5px; text-transform:uppercase; color:#B58EA0; font-weight:800; margin-bottom:6px; }
.amsai-daypass__day { font-family:var(--ams-serif); font-size:21px; font-weight:600; color:#3E2C36; line-height:1.1; margin-bottom:3px; }
.amsai-daypass__desc { font-size:13px; color:#8A7B82; font-weight:300; }
.amsai-daypass__cta { display:flex; align-items:center; gap:16px; flex-wrap:wrap; }
.amsai-daypass__price { font-family:var(--ams-serif); font-size:28px; font-weight:600; color:#4A3540; }

.amsai-or-sep { display:flex; align-items:center; gap:14px; margin:20px 0 16px; }
.amsai-or-sep::before, .amsai-or-sep::after { content:""; height:1px; flex:1; background:#F0E2E8; }
.amsai-or-sep span { font-size:11px; letter-spacing:2px; text-transform:uppercase; color:#C0A6B0; font-weight:700; }

.amsai-pause { display:flex; align-items:center; gap:14px; padding:10px 0; }
.amsai-pause::before, .amsai-pause::after { content:""; height:1px; flex:1; background:#F5EDF0; }
.amsai-pause span { font-size:12px; letter-spacing:1.5px; text-transform:uppercase; color:#C9B0BC; font-weight:700; white-space:nowrap; }

.amsai-slot-card { background:#fff; border:1px solid #F0E2E8; border-radius:14px; padding:16px 20px; margin-bottom:10px; display:flex; align-items:center; gap:16px; flex-wrap:wrap; }
.amsai-slot-card__main { flex:1; min-width:160px; }
.amsai-slot-card__time { font-size:11.5px; font-weight:700; letter-spacing:1.5px; text-transform:uppercase; color:#B58EA0; margin-bottom:5px; }
.amsai-slot-card__style { font-family:var(--ams-serif); font-size:21px; font-weight:600; color:#3E2C36; margin:0 0 3px; }
.amsai-slot-card__note { font-size:13px; color:#8A7B82; font-style:italic; }
.amsai-slot-card__cta { display:flex; align-items:center; gap:14px; flex:none; }

/* --- Panier custom --- */
.amsai-cart-grid { display:grid; grid-template-columns:1fr minmax(280px,360px); gap:clamp(28px,4vw,48px); align-items:start; }
.amsai-cart-item { display:flex; align-items:center; gap:20px; background:#fff; border:1px solid var(--ams-line); border-radius:16px; padding:20px 24px; margin-bottom:14px; }
.amsai-cart-item__main { flex:1; min-width:0; }
.amsai-cart-item__name { font-family:var(--ams-serif); font-size:22px; font-weight:600; color:#3E2C36; margin:0 0 4px; line-height:1.15; }
.amsai-cart-item__ctx { font-size:13px; color:var(--ams-soft); margin:0; }
.amsai-cart-item__remove { background:none; border:none; color:#C0A6B0; cursor:pointer; display:flex; padding:4px; }
.amsai-cart-item__remove:hover { color:#9B2D3C; }
.amsai-cart-back { display:inline-block; margin-top:14px; }
.amsai-cart-summary { background:#fff; border:1px solid var(--ams-line); border-radius:20px; padding:30px; position:sticky; top:24px; }
.amsai-cart-summary .amsai-h3 { margin:0 0 22px; }
.amsai-cart-row { display:flex; justify-content:space-between; font-size:14px; color:var(--ams-muted); margin-bottom:12px; }
.amsai-cart-row--discount { color:#5c8a4a; font-weight:700; }
.amsai-cart-sep { height:1px; background:var(--ams-line); margin:16px 0 20px; }
.amsai-cart-total { display:flex; justify-content:space-between; align-items:baseline; margin-bottom:24px; }
.amsai-cart-total span { font-size:15px; font-weight:700; color:var(--ams-plum); }
.amsai-cart-total strong { font-family:var(--ams-serif); font-size:36px; font-weight:700; color:var(--ams-plum); }
.amsai-cart-secure { display:flex; align-items:center; justify-content:center; gap:8px; margin-top:16px; font-size:12px; color:var(--ams-soft); }
.amsai-cart-empty { text-align:center; background:#fff; border:1px solid var(--ams-line); border-radius:20px; padding:60px 24px; }
.amsai-cart-empty__actions { display:flex; gap:14px; justify-content:center; margin-top:24px; flex-wrap:wrap; }

/* --- Checkout / remerciement : conteneur de marque (pleine largeur, 80px) --- */
.amsai-wc-wrap { width:100%; padding:clamp(40px,6vw,70px) var(--ams-pad); background:var(--ams-bg); color:var(--ams-ink); font-family:var(--ams-sans); font-size:16px; line-height:1.7; }
.amsai-wc-wrap h1,.amsai-wc-wrap h2,.amsai-wc-wrap h3,.amsai-wc-wrap #order_review_heading,.amsai-wc-wrap .woocommerce-column__title { font-family:var(--ams-serif) !important; color:var(--ams-plum) !important; font-weight:600 !important; }
.amsai-wc-wrap form .form-row label,.amsai-wc-wrap .woocommerce-billing-fields label { font-size:14px !important; font-weight:600 !important; color:var(--ams-muted) !important; }
.amsai-wc-wrap input.input-text,.amsai-wc-wrap textarea,.amsai-wc-wrap select,.amsai-wc-wrap .select2-container .select2-selection { border:1px solid #E3D2DA !important; border-radius:12px !important; background:#fff !important; padding:13px 15px !important; min-height:50px; font-size:16px !important; box-shadow:none !important; }
.amsai-wc-wrap #order_review,.amsai-wc-wrap .woocommerce-order-details,.amsai-wc-wrap .woocommerce-customer-details { background:#fff; border:1px solid var(--ams-line); border-radius:18px; padding:26px; margin-bottom:20px; }
.amsai-wc-wrap table.shop_table { border:none !important; background:transparent !important; }
.amsai-wc-wrap table.shop_table td,.amsai-wc-wrap table.shop_table th { border:none !important; border-bottom:1px solid var(--ams-line) !important; padding:14px 0 !important; background:transparent !important; font-size:16px !important; }
.amsai-wc-wrap .product-name a { font-family:var(--ams-serif) !important; font-size:19px !important; color:var(--ams-plum) !important; text-decoration:none; }
.amsai-wc-wrap .order-total .amount,.amsai-wc-wrap .order-total .woocommerce-Price-amount { font-family:var(--ams-serif) !important; font-size:1.5em !important; color:var(--ams-plum) !important; font-weight:700 !important; }
.amsai-wc-wrap #place_order,.amsai-wc-wrap .button,.amsai-wc-wrap .button.alt,.amsai-wc-wrap .wc-block-components-button { background:var(--ams-plum) !important; color:var(--ams-cream) !important; border:none !important; border-radius:40px !important; font-weight:700 !important; font-size:15px !important; padding:16px 34px !important; text-transform:none !important; }
.amsai-wc-wrap a:not(.button) { color:#8E6C7C; }
.amsai-wc-wrap .woocommerce-message,.amsai-wc-wrap .woocommerce-info { border-radius:14px !important; border-left:4px solid var(--ams-rose) !important; }
.amsai-wc-wrap .woocommerce-thankyou-order-received { text-align:center; font-family:var(--ams-serif); font-size:clamp(26px,4vw,38px); color:#FBF1F5 !important; background:linear-gradient(135deg,#3E2C36,#5A3F4D); padding:44px 28px; border-radius:22px; margin:0 0 28px; font-weight:600; line-height:1.25; }
.amsai-wc-wrap .woocommerce-thankyou-order-received::before { content:"✓"; display:block; width:56px; height:56px; line-height:56px; margin:0 auto 16px; border-radius:50%; background:#E7C3D2; color:#3E2C36; font-size:28px; font-weight:700; }
.amsai-wc-wrap ul.woocommerce-order-overview { display:flex; flex-wrap:wrap; gap:14px; list-style:none; padding:0 !important; margin:0 0 28px !important; border:none !important; }
.amsai-wc-wrap ul.woocommerce-order-overview li { flex:1 1 150px; border:1px solid var(--ams-line) !important; border-radius:14px; background:#fff; padding:18px 22px !important; font-size:13px !important; color:var(--ams-muted); text-transform:uppercase; letter-spacing:.5px; }
.amsai-wc-wrap ul.woocommerce-order-overview li strong { display:block; margin-top:6px; font-family:var(--ams-serif); font-size:22px; color:var(--ams-plum); text-transform:none; letter-spacing:0; font-weight:600; }

/* --- Responsive --- */
@media (max-width:880px) {
	.amsai-cart-grid { grid-template-columns:1fr; }
	.amsai-cart-summary { position:static; }
}
@media (max-width:600px) {
	.amsai { --ams-pad:32px; }
	.amsai-header__brandtext { display:none; }
	.amsai-cart-item { flex-wrap:wrap; gap:8px 14px; padding:18px; }
	.amsai-cart-item__main { flex:1 1 100%; }
	.amsai-cart-item__name { font-size:20px; }
	.amsai-cart-item .amsai-price { font-size:19px; margin-right:auto; }
	.amsai-cart-summary { padding:24px; }
	.amsai-cart-total strong { font-size:30px; }
	.amsai-wc-wrap ul.woocommerce-order-overview li { flex:1 1 100%; }
	.amsai-pass-feature { flex-direction:column; align-items:flex-start; }
	.amsai-cours-row__cta { width:100%; justify-content:space-between; margin-left:0; }
	.amsai-slot { flex-direction:column; align-items:flex-start; }
	.amsai-slot__cta { width:100%; justify-content:space-between; }
	.amsai-stage-about { position:static; }
}

/* =========================================================
   Performers Program — teaser accueil + page dédiée
   ========================================================= */
.amsai-program-kicker { display:inline-flex; align-items:center; gap:8px; }
.amsai-program-dot { width:6px; height:6px; border-radius:50%; background:var(--ams-rose); box-shadow:0 0 0 4px rgba(201,159,174,.22); flex:none; }

/* --- Teaser (accueil) — pleine largeur, photo en overlay --- */
.amsai-program-teaser-wrap { width:100%; margin:clamp(28px,4vw,48px) 0; }
.amsai-program-teaser { position:relative; display:block; overflow:hidden; background:linear-gradient(135deg,#3E2C36 0%,#5A3F4D 58%,#6E4E5E 100%); padding:clamp(56px,9vw,96px) var(--ams-pad); text-decoration:none; }
.amsai-program-teaser::before { content:""; position:absolute; inset:0; background-image:var(--amsai-program-teaser-img); background-size:cover; background-position:center; opacity:.3; mix-blend-mode:luminosity; }
.amsai-program-teaser::after { content:""; position:absolute; inset:0; background:linear-gradient(135deg,rgba(62,44,54,.55) 0%,rgba(90,63,77,.4) 58%,rgba(110,78,94,.35) 100%); pointer-events:none; }
.amsai-program-teaser__inner { position:relative; width:100%; display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:clamp(32px,4vw,56px); align-items:center; }
.amsai-program-teaser__title { font-family:var(--ams-serif); font-weight:500; font-size:clamp(34px,5.5vw,52px); line-height:1; color:#FBF1F5 !important; margin:0 0 18px; }
.amsai-program-teaser__lead { font-size:16px; line-height:1.65; color:#E0C7D2; margin:0 0 32px; font-weight:300; max-width:440px; }
.amsai-program-teaser__stats { position:relative; display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.amsai-program-stat { background:rgba(251,241,245,.07); border:1px solid rgba(231,195,210,.18); border-radius:16px; padding:22px 14px; text-align:center; }
.amsai-program-stat__value { font-family:var(--ams-serif); font-size:clamp(26px,4vw,42px); font-weight:600; color:#FBF1F5; line-height:1; margin-bottom:8px; }
.amsai-program-stat__label { font-size:11px; letter-spacing:1px; text-transform:uppercase; color:#C4A0B4; font-weight:600; line-height:1.4; }

/* --- Hero (page dédiée) --- */
.amsai-program-hero { position:relative; overflow:hidden; background:linear-gradient(135deg,#3E2C36 0%,#5A3F4D 55%,#6E4E5E 100%); padding:clamp(96px,16vw,168px) var(--ams-pad) clamp(64px,10vw,100px); min-height:clamp(420px,58vw,620px); display:flex; align-items:flex-end; }
.amsai-program-hero::before { content:""; position:absolute; inset:0; background-image:var(--amsai-program-hero-img); background-size:cover; background-position:center 25%; opacity:.55; mix-blend-mode:luminosity; }
.amsai-program-hero::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(62,44,54,.05) 0%,rgba(62,44,54,.35) 45%,rgba(62,44,54,.92) 100%); pointer-events:none; }
.amsai-program-hero__inner { position:relative; max-width:720px; }
.amsai-program-hero__title { font-family:var(--ams-serif); font-weight:500; font-size:clamp(42px,8vw,76px); line-height:1; color:#FBF1F5 !important; margin:0 0 16px; text-shadow:0 4px 24px rgba(0,0,0,.3); }
.amsai-program-hero__sub { font-family:var(--ams-serif); font-style:italic; font-size:clamp(19px,3vw,26px); color:var(--ams-rose-l) !important; margin-bottom:24px; }
.amsai-program-hero__lead { font-size:16.5px; line-height:1.7; color:#E0C7D2 !important; max-width:520px; margin:0 0 36px; font-weight:300; }
.amsai-program-hero__actions { display:flex; gap:14px; flex-wrap:wrap; align-items:center; }

.amsai-program-badge { display:inline-flex; align-items:center; gap:9px; padding:16px 26px; background:rgba(251,241,245,.08); border:1px solid rgba(231,195,210,.28); color:#F3E7EC; border-radius:40px; font-weight:600; font-size:13.5px; letter-spacing:.4px; }
.amsai-program-badge svg { flex:none; color:var(--ams-rose-l); }
.amsai-program-badge--pill { padding:11px 18px; background:var(--ams-cream); color:#5A3F4D; border:none; font-size:12.5px; font-weight:800; letter-spacing:.5px; text-transform:uppercase; }
.amsai-program-badge--pill svg { color:#8E6C7C; }

/* --- À propos --- */
.amsai-program-about { display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:clamp(40px,6vw,72px); align-items:start; }
.amsai-program-goal { background:#3E2C36; border-radius:20px; padding:26px 30px; margin-bottom:26px; position:relative; overflow:hidden; }
.amsai-program-goal::before { content:""; position:absolute; right:-40px; top:-40px; width:160px; height:160px; border-radius:50%; background:rgba(201,159,174,.1); pointer-events:none; }
.amsai-program-goal__tag { position:relative; font-size:11px; letter-spacing:2.5px; text-transform:uppercase; color:var(--ams-rose); font-weight:800; margin:0 0 10px; }
.amsai-program-goal__text { position:relative; font-family:var(--ams-serif); font-size:23px; font-weight:500; color:#FBF1F5; line-height:1.3; margin:0; }
.amsai-program-points { background:#fff; border:1px solid var(--ams-line); border-radius:20px; padding:28px 30px; }
.amsai-program-points__list { grid-template-columns:1fr; margin:0 0 24px; }
.amsai-program-points__list li { color:#5A4250; font-weight:500; }

/* --- Planning + intervenants --- */
.amsai-program-planning-wrap { background:#F6ECF1; padding:clamp(52px,8vw,88px) var(--ams-pad); }
.amsai-program-planning-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(320px,1fr)); gap:clamp(40px,5vw,64px); align-items:start; }
.amsai-program-planning-title { margin-bottom:26px; }
.amsai-program-planning { border-radius:20px; overflow:hidden; box-shadow:0 24px 54px -34px rgba(74,53,64,.5); background:#fff; }
.amsai-program-planning__head { background:linear-gradient(135deg,#3E2C36,#5A3F4D); padding:22px 28px; display:flex; align-items:center; justify-content:space-between; gap:14px; flex-wrap:wrap; }
.amsai-program-planning__day { font-family:var(--ams-serif); font-size:26px; font-weight:600; color:#FBF1F5; }
.amsai-program-planning__range { font-size:13px; font-weight:700; letter-spacing:1px; color:var(--ams-rose-l); background:rgba(251,241,245,.1); padding:8px 16px; border-radius:30px; }
.amsai-program-planning__row { display:flex; align-items:center; gap:18px; padding:18px 28px; border-top:1px solid var(--ams-cream); flex-wrap:wrap; }
.amsai-program-planning__time { font-size:12.5px; font-weight:700; letter-spacing:.8px; color:#8E6C7C; font-variant-numeric:tabular-nums; flex:none; min-width:104px; }
.amsai-program-planning__course { flex:1; display:flex; align-items:center; gap:12px; flex-wrap:wrap; }
.amsai-program-planning__course span:first-child { font-family:var(--ams-serif); font-size:21px; font-weight:600; color:#3E2C36; }
.amsai-program-tag { font-size:10.5px; font-weight:800; letter-spacing:.6px; text-transform:uppercase; color:#5A3F4D; background:var(--ams-cream); border:1px solid var(--ams-rose-l); padding:4px 10px; border-radius:20px; }

.amsai-program-guests { display:flex; flex-direction:column; gap:12px; }
.amsai-program-guest { display:flex; align-items:center; gap:18px; background:#fff; border:1px solid var(--ams-line); border-radius:16px; padding:16px 22px; flex-wrap:wrap; }
.amsai-program-guest__avatar { width:52px; height:52px; border-radius:50%; flex:none; display:flex; align-items:center; justify-content:center; font-family:var(--ams-serif); font-size:20px; font-weight:600; color:#FBF1F5; }
.amsai-program-guest__name { flex:1; font-family:var(--ams-serif); font-size:22px; font-weight:600; color:#3E2C36; }
.amsai-program-guest__month { font-size:12px; font-weight:800; letter-spacing:1px; text-transform:uppercase; color:var(--ams-mauve); flex:none; }

/* --- Galerie --- */
.amsai-program-gallery {
	display:grid;
	grid-template-columns:repeat(4,1fr);
	grid-template-rows:repeat(2,minmax(160px,24vw));
	grid-template-areas:"a a b b" "a a c d";
	gap:18px;
}
.amsai-program-gallery__item:nth-child(1) { grid-area:a; }
.amsai-program-gallery__item:nth-child(2) { grid-area:b; }
.amsai-program-gallery__item:nth-child(3) { grid-area:c; }
.amsai-program-gallery__item:nth-child(4) { grid-area:d; }
.amsai-program-gallery__item { border-radius:20px; background-size:cover; background-position:center; box-shadow:0 18px 44px -30px rgba(74,53,64,.4); transition:transform .35s ease, box-shadow .35s ease; }
.amsai-program-gallery__item:hover { transform:scale(1.02); box-shadow:0 26px 56px -26px rgba(74,53,64,.55); }
@media (max-width:760px) {
	.amsai-program-gallery { grid-template-columns:repeat(2,1fr); grid-template-rows:none; grid-template-areas:"a a" "b c" "d d"; }
	.amsai-program-gallery__item:nth-child(1) { aspect-ratio:16/11; }
	.amsai-program-gallery__item:nth-child(4) { aspect-ratio:16/9; }
	.amsai-program-gallery__item:nth-child(2), .amsai-program-gallery__item:nth-child(3) { aspect-ratio:1/1; }
}

/* --- Candidater --- */
.amsai-program-cta { position:relative; overflow:hidden; border-radius:24px; background:linear-gradient(135deg,#3E2C36 0%,#5A3F4D 60%,#6E4E5E 100%); padding:clamp(38px,6vw,58px) clamp(28px,5vw,56px); box-shadow:0 30px 70px -34px rgba(62,44,54,.7); }
.amsai-program-cta::before { content:""; position:absolute; right:-70px; top:-70px; width:300px; height:300px; border-radius:50%; background:rgba(201,159,174,.09); pointer-events:none; }
.amsai-program-cta__intro { position:relative; text-align:center; max-width:600px; margin:0 auto; }
.amsai-program-cta__title { margin:0 0 18px; font-size:clamp(30px,5vw,46px); line-height:1.04; }
.amsai-program-cta__text { font-size:16px; line-height:1.65; color:#E0C7D2; margin:0 0 32px; font-weight:300; }
.amsai-program-cta__form { position:relative; max-width:680px; margin:34px auto 0; background:var(--ams-bg); border-radius:20px; padding:clamp(26px,4vw,38px); }
.amsai-program-cta__form[hidden] { display:none; }

@media (max-width:640px) {
	.amsai-program-planning__row { flex-wrap:wrap; }
	.amsai-program-guest { flex-wrap:wrap; }
}
