
/* Tailles des images */
img[src*="/image_hero"], img[src*="/image_upsell"]{width:100% !important; height:auto !important; aspect-ratio:16/9 !important; max-height:min(480px, 58vh) !important; object-fit:cover !important; object-position:center 35% !important;}
img[src*="/image_solution"]{width:100% !important; height:auto !important; aspect-ratio:4/3 !important; max-height:min(400px, 55vh) !important; object-fit:cover !important;}
img[src*="/photo"]{width:100% !important; height:auto !important; aspect-ratio:4/5 !important; max-height:min(440px, 55vh) !important; object-fit:cover !important; object-position:center 25% !important;}

/* Colonnes vides du modèle : aucune hauteur (sinon grands vides sur téléphone) */
.c-column:has(> .inner > .empty-slot) .empty-component-min-height{min-height:0 !important; height:0 !important;}
@media (max-width: 767px){ .c-column:has(> .inner > .empty-slot){display:none !important;} }

/* Offre en plus : titre, prix et bouton d'abord, puis le détail */
div:has(> #section-upsell-action){display:flex !important; flex-direction:column !important;}
#section-confirmation-banner{order:1;} #section-upsell-intro{order:2;} #section-upsell-action{order:3;} #section-upsell-action .c-button button{min-height:56px !important; height:auto !important; padding:14px 24px !important; line-height:1.25 !important;}
#section-upsell-action .c-button button .main-heading-group, #section-upsell-action .c-button button .main-heading-button{padding:0 !important; margin:0 !important; line-height:1.25 !important;}
#section-upsell-action .c-row > .inner, #section-upsell-action .c-column > .inner{padding-top:20px !important; padding-bottom:20px !important;}
.c-button button .button-icon-start:empty, .c-button button .button-icon-end:empty{display:none !important;}
#section-upsell-details{order:4;} #section-footer-minimal{order:5;}
#section-upsell-intro{padding-top:40px !important; padding-bottom:16px !important;}
#section-upsell-intro h1{font-size:clamp(30px, 4.2vw, 46px) !important; line-height:1.12 !important;}
#section-upsell-intro img[src*="/image_upsell"]{max-height:min(170px, 21vh) !important;}
#section-upsell-action{padding-top:8px !important; padding-bottom:32px !important; background:transparent !important;}
#section-upsell-action .c-button button{min-height:56px !important; height:auto !important; padding:14px 24px !important; line-height:1.25 !important;}
#section-upsell-action .c-button button .main-heading-group, #section-upsell-action .c-button button .main-heading-button{padding:0 !important; margin:0 !important; line-height:1.25 !important;}
#section-upsell-action .c-row > .inner, #section-upsell-action .c-column > .inner{padding-top:20px !important; padding-bottom:20px !important;}
#section-upsell-details{padding-top:32px !important; padding-bottom:48px !important;}
#section-upsell-details .c-row{margin-top:0 !important; margin-bottom:0 !important; padding-top:8px !important; padding-bottom:8px !important;}

/* Petites mentions lisibles (bandeau du haut, pied de page) : 14 px au moins */
#section-confirmation-banner p, #section-footer-minimal p, #section-confirmation-banner .text-output, #section-footer-minimal .text-output{font-size:14px !important;}

/* Bon de commande : onglets, trait et flèche dans la couleur de la marque */
.c-order .form-heading.active, .c-order .caret-up{color:var(--brand-primary) !important;}
.c-order .divider-form{background-color:var(--brand-primary) !important;}
:is(#x-renfort, body) .c-order .form-btn{background-color:var(--brand-primary) !important; border-color:transparent !important; color:#fff !important; opacity:1 !important;}
:is(#x-renfort, body) .c-order .form-btn.disabled{opacity:.55 !important; cursor:progress;}

/* Calendrier : couleur de la marque au lieu du bleu */
.c-calendar .vdpCellContent{color:var(--brand-primary) !important;}
.c-calendar .vdpCell.selectable .vdpCellContent{background-color:color-mix(in srgb, var(--brand-primary) 9%, white) !important;}
:is(#x-renfort, body) .c-calendar .vdpRow .vdpCell.selectable.selected .vdpCellContent{background-color:var(--brand-primary) !important; color:#fff !important;}
.c-calendar .vdpCell:not(.selectable) .vdpCellContent{background-color:transparent !important; color:#9aa0a6 !important;}
.c-calendar button.arrowNext, .c-calendar button.arrowPrev{background-color:color-mix(in srgb, var(--brand-primary) 9%, white) !important; color:var(--brand-primary) !important;}

.c-calendar button.arrowNext path, .c-calendar button.arrowPrev path{stroke:var(--brand-primary) !important;}

/* Page Rendez-vous : titre plus petit et calendrier plus haut */
#section-confirmation-header{padding-top:48px !important; padding-bottom:24px !important;}
#section-confirmation-header h1{font-size:clamp(30px, 4.4vw, 54px) !important; line-height:1.1 !important;}
#section-booking-section{padding-top:32px !important;}

/* Cartes « problèmes » : pas de vide sous le numéro */
.c-row:has(.c-svg):not(:has(.c-heading, .c-paragraph, .c-image, .c-button, .c-sub-heading)){padding-top:0 !important; padding-bottom:0 !important; margin-bottom:0 !important;}
.c-row:has(.c-svg):not(:has(.c-heading, .c-paragraph, .c-image, .c-button, .c-sub-heading)) .c-column{padding-top:4px !important; padding-bottom:0 !important;}

/* Premier écran : sous-titre sur 2 lignes au plus (lignes courtes) */
.c-section:first-child .c-paragraph p{max-width:680px; margin-left:auto !important; margin-right:auto !important;}


/* Photo absente (le coach n'en a pas donné) : on retire la colonne vide, le texte prend la place, centré */
.c-column:has(.c-image img[src=""]):not(:has(.c-heading, .c-paragraph, .c-button, .c-bullet-list, .c-sub-heading)),
.c-column:has(.c-image img:not([src])):not(:has(.c-heading, .c-paragraph, .c-button, .c-bullet-list, .c-sub-heading)){display:none !important;}
.c-row:has(.c-image img[src=""]) > .inner, .c-row:has(.c-image img:not([src])) > .inner{justify-content:center !important;}
.c-row:has(.c-image img[src=""]) > .inner > .c-column, .c-row:has(.c-image img:not([src])) > .inner > .c-column{flex:0 1 820px !important; width:auto !important; max-width:820px !important;}


/* Ombres : plus de bleu du modèle */
.c-button a, .c-button button{box-shadow:0 4px 14px color-mix(in srgb, var(--brand-primary) 25%, transparent) !important;}
.c-image img{box-shadow:0 20px 60px rgba(15, 23, 42, 0.08) !important;}

/* Offre en plus : ton sobre (pas de pression) */
#heading-e662c798{display:none !important;}
#section-confirmation-banner .paragraph-8b21ae8a p{font-size:0 !important;}
#section-confirmation-banner .paragraph-8b21ae8a p::after{content:"✓ Commande confirmée. Une option pour aller plus loin, si tu le souhaites :"; font-size:14px;}

/* Téléphone : aucun texte sous 14 px */
@media (max-width: 767px){ .text-output p, .text-output li, .text-output span, .c-faq p, .c-faq div{font-size:max(1em, 14px) !important;} }

/* ===== Calendrier de réservation : rendu premium, tout en français ===== */
:is(#x-renfort, body) .c-calendar{--cal-ligne:#E4DED4;--cal-fond:#FFFDF9;--cal-texte:#2B2A28;--cal-doux:#6E6A64;}
:is(#x-renfort, body) .c-calendar .hl-app, :is(#x-renfort, body) .c-calendar .hl-app *{font-family:inherit !important;}
/* Récapitulatif du rendez-vous */
:is(#x-renfort, body) .c-calendar .widgets--service-name{font-size:22px !important; font-weight:600 !important; color:var(--cal-texte) !important; margin:4px 0 12px !important;}
:is(#x-renfort, body) .c-calendar .appointment_widgets--revamp--booking-info{background:color-mix(in srgb, var(--brand-primary) 7%, white) !important; border:0 !important; border-radius:14px !important; padding:14px 16px !important;}
:is(#x-renfort, body) .c-calendar .booking-info-value{color:var(--cal-texte) !important; font-size:14px !important; font-weight:500 !important;}
:is(#x-renfort, body) .c-calendar .appointment_widgets--revamp--booking-info svg{color:var(--brand-primary) !important; stroke:var(--brand-primary) !important;}
:is(#x-renfort, body) .c-calendar .appointment_widgets--revamp--back-button > div{width:38px !important; height:38px !important; border-radius:50% !important; border:0 !important; background:color-mix(in srgb, var(--brand-primary) 10%, white) !important; display:grid !important; place-items:center !important; cursor:pointer;}
:is(#x-renfort, body) .c-calendar .appointment_widgets--revamp--back-button svg, :is(#x-renfort, body) .c-calendar .appointment_widgets--revamp--back-button path{stroke:var(--brand-primary) !important; color:var(--brand-primary) !important;}
/* Formulaire */
:is(#x-renfort, body) .c-calendar .text-info{font-size:17px !important; font-weight:600 !important; color:var(--cal-texte) !important; margin:22px 0 6px !important;}
:is(#x-renfort, body) .c-calendar .field-label{font-size:13px !important; font-weight:600 !important; color:var(--cal-doux) !important; letter-spacing:.02em; margin-bottom:6px !important;}
:is(#x-renfort, body) .c-calendar .form-control, :is(#x-renfort, body) .c-calendar .iti input, :is(#x-renfort, body) .c-calendar textarea{height:50px !important; border:1px solid var(--cal-ligne) !important; border-radius:12px !important; background:var(--cal-fond) !important; color:var(--cal-texte) !important; font-size:15px !important; box-shadow:none !important; transition:border-color .15s, box-shadow .15s;}
:is(#x-renfort, body) .c-calendar textarea{height:96px !important; padding-top:12px !important; resize:none;}
:is(#x-renfort, body) .c-calendar .form-control:focus, :is(#x-renfort, body) .c-calendar .iti input:focus, :is(#x-renfort, body) .c-calendar textarea:focus{border-color:var(--brand-primary) !important; box-shadow:0 0 0 4px color-mix(in srgb, var(--brand-primary) 14%, transparent) !important; outline:0 !important;}
:is(#x-renfort, body) .c-calendar .form-control::placeholder, :is(#x-renfort, body) .c-calendar textarea::placeholder{color:#A8A29A !important;}
:is(#x-renfort, body) .c-calendar .iti{width:100% !important;}
:is(#x-renfort, body) .c-calendar .iti__selected-flag{border-radius:12px 0 0 12px !important; background:transparent !important;}
/* Case d'accord : texte en français */
:is(#x-renfort, body) .c-calendar .terms-and-conditions{margin-top:6px !important;}
:is(#x-renfort, body) .c-calendar .terms-and-conditions input[type=checkbox]{accent-color:var(--brand-primary); width:17px; height:17px; margin-top:2px;}
:is(#x-renfort, body) .c-calendar .terms-text-container{font-size:0 !important; line-height:0 !important;}
:is(#x-renfort, body) .c-calendar .terms-text-container *{font-size:0 !important;}
:is(#x-renfort, body) .c-calendar .terms-text-container::after{content:"J'accepte d'être recontacté(e) par email, SMS ou téléphone au sujet de mon rendez-vous."; font-size:13px; line-height:1.5; color:var(--cal-doux);}
/* Bouton de réservation */
:is(#x-renfort, body) .c-calendar .widgets-action-buttons{border-top:0 !important; padding:8px 0 4px !important;}
:is(#x-renfort, body) .c-calendar .btn-schedule{height:54px !important; border-radius:14px !important; background:var(--brand-primary) !important; border:0 !important; font-size:0 !important; box-shadow:0 10px 24px -12px color-mix(in srgb, var(--brand-primary) 70%, transparent) !important; transition:transform .15s, filter .15s;}
:is(#x-renfort, body) .c-calendar .btn-schedule::after{content:"Confirmer mon rendez-vous →"; font-size:16px; font-weight:600; color:#fff; letter-spacing:.01em;}
:is(#x-renfort, body) .c-calendar .btn-schedule:hover{filter:brightness(.94); transform:translateY(-1px);}
/* Choix de l'horaire : grille de pastilles */
:is(#x-renfort, body) .c-calendar .label-select-date{font-size:16px !important; font-weight:600 !important; color:var(--cal-texte) !important; text-align:left !important;}
:is(#x-renfort, body) .c-calendar .selected-appointment-date{color:var(--cal-doux) !important; font-size:13px !important; text-align:left !important;}
:is(#x-renfort, body) .c-calendar .widgets-slot-times-section{max-height:none !important; overflow:visible !important; padding:0 !important;}
:is(#x-renfort, body) .c-calendar ul.widgets-time-slots{display:grid !important; grid-template-columns:repeat(3, minmax(0,1fr)) !important; gap:8px !important; padding:0 !important; margin:8px 0 0 !important; max-height:none !important; overflow:visible !important;}
:is(#x-renfort, body) .c-calendar li.widgets-time-slot{position:relative !important; display:block !important; width:auto !important; margin:0 !important; padding:0 !important; list-style:none !important;}
:is(#x-renfort, body) .c-calendar li.widgets-time-slot > svg, :is(#x-renfort, body) .c-calendar li.widgets-time-slot > i{display:none !important;}
:is(#x-renfort, body) .c-calendar li.widgets-time-slot > span, :is(#x-renfort, body) .c-calendar li.widgets-time-slot > div{display:block !important; width:100% !important; margin:0 !important; padding:12px 0 !important; text-align:center !important; border:1px solid color-mix(in srgb, var(--brand-primary) 35%, white) !important; border-radius:12px !important; background:#fff !important; color:var(--brand-primary) !important; font-size:14px !important; font-weight:600 !important; cursor:pointer; transition:background .15s;}
:is(#x-renfort, body) .c-calendar li.widgets-time-slot > span:hover{background:color-mix(in srgb, var(--brand-primary) 8%, white) !important;}
:is(#x-renfort, body) .c-calendar li.widgets-time-slot > button{position:absolute !important; inset:0 !important; width:100% !important; height:100% !important; margin:0 !important; border:0 !important; border-radius:12px !important; background:var(--brand-primary) !important; color:#fff !important; font-size:0 !important; padding:0 !important;}
:is(#x-renfort, body) .c-calendar li.widgets-time-slot > button::after{content:"Choisir ✓"; font-size:14px; font-weight:600;}
:is(#x-renfort, body) .c-calendar li.widgets-time-slot > button.disabled-slot{display:none !important;}
:is(#x-renfort, body) .c-calendar .multiselect__tags{border:1px solid var(--cal-ligne) !important; border-radius:12px !important; background:var(--cal-fond) !important;}
:is(#x-renfort, body) .c-calendar li::before{content:none !important; display:none !important;}
#vitrine-ltt .c-calendar .appointment_widgets--revamp--inner{border:0 !important; box-shadow:none !important; padding:0 !important;}
:is(#x-renfort, body) .c-calendar .appointment-widgets-service-booking-info{border:0 !important; padding:0 !important; background:transparent !important;}
:is(#x-renfort, body) .c-calendar .appointment_widgets--revamp--booking-info{width:100% !important; display:flex !important; flex-wrap:wrap !important; gap:6px 18px !important;}
:is(#x-renfort, body) .c-calendar .appointment_widgets--revamp--booking-info .p-b{padding:0 !important; margin:0 !important;}
:is(#x-renfort, body) .c-calendar .vdpRow .vdpCell.selectable:not(.selected) .vdpCellContent{background-color:color-mix(in srgb, var(--brand-primary) 10%, white) !important; color:var(--brand-primary) !important; font-weight:600 !important;}
:is(#x-renfort, body) .c-calendar button.arrowNext, :is(#x-renfort, body) .c-calendar button.arrowPrevious{background-color:color-mix(in srgb, var(--brand-primary) 10%, white) !important;}
:is(#x-renfort, body) .c-calendar button.arrowNext path, :is(#x-renfort, body) .c-calendar button.arrowPrevious path{stroke:var(--brand-primary) !important;}
:is(#x-renfort, body) .c-calendar .fields-container{display:grid !important; grid-template-columns:1fr 1fr !important; gap:0 12px !important; padding:14px 0 0 !important; margin:0 !important;}
:is(#x-renfort, body) .c-calendar .fields-container > .menu-field-wrap{padding:0 !important; margin:0 0 14px !important; max-width:none !important; width:auto !important; flex:none !important;}
:is(#x-renfort, body) .c-calendar .fields-container > .menu-field-wrap.col-12, :is(#x-renfort, body) .c-calendar .fields-container > :not(.menu-field-wrap){grid-column:1 / -1 !important;}
:is(#x-renfort, body) .c-calendar .ghl-form-wrap{margin-bottom:6px !important;} :is(#x-renfort, body) .c-calendar .form-builder--wrap{margin-bottom:0 !important;}
:is(#x-renfort, body) .c-calendar .terms-and-conditions, :is(#x-renfort, body) .c-calendar .terms-text-container{hyphens:none !important; -webkit-hyphens:none !important; word-break:normal !important;}
:is(#x-renfort, body) .c-calendar .terms-text-container::after{hyphens:none;}
:is(#x-renfort, body) .c-calendar .widgets-action-buttons{padding:14px 21px 6px !important;}
:is(#x-renfort, body) .c-calendar label.label-alignment{font-size:13px !important; font-weight:600 !important; color:var(--cal-doux) !important; letter-spacing:.02em;}
