/* =========================================================================
   Helipsys — sections des pages vitrine (blocs Gutenberg, classes hlp-m-*)
   + styles de base des blocs utilisés (indépendants de la feuille du cœur).
   ========================================================================= */

/* --- Blocs de base --- */
.wp-block-columns{display:flex;flex-wrap:wrap;gap:28px;margin:0 0 1.5em;align-items:stretch}
.wp-block-column{flex:1 1 0;min-width:0}
@media (max-width:781px){.wp-block-columns{flex-direction:column;gap:20px}.wp-block-column{flex-basis:100%!important}}
.wp-block-image{margin:0 0 1em}
.wp-block-image img{display:block;max-width:100%;height:auto}
.wp-block-buttons{display:flex;flex-wrap:wrap;gap:12px;margin:24px 0 0}
.wp-block-button__link{display:inline-flex;align-items:center;justify-content:center;padding:14px 26px;border-radius:999px;font-weight:600;text-decoration:none;background:var(--h-primary);color:var(--h-primary-text);transition:filter .2s,transform .1s}
.wp-block-button__link:hover{filter:brightness(1.08);color:var(--h-primary-text)}
.wp-block-button.is-style-accent .wp-block-button__link{background:var(--h-accent);color:#111827}
.wp-block-button.is-style-outline .wp-block-button__link{background:transparent;color:var(--h-primary);box-shadow:inset 0 0 0 2px var(--h-primary)}
.wp-block-details{border-bottom:1px solid var(--h-border);padding:18px 4px}
.wp-block-details summary{font-weight:600;font-size:1.05rem;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:16px}
.wp-block-details summary::-webkit-details-marker{display:none}
.wp-block-details summary::after{content:"+";font-size:1.5rem;line-height:1;color:var(--h-primary);transition:transform .2s}
.wp-block-details[open] summary::after{transform:rotate(45deg)}
.wp-block-details p{margin:12px 0 0;color:var(--h-muted)}

/* --- Sections --- */
.site-main--full>.alignfull,.entry-content>.hlp-m-section{margin-left:0;margin-right:0;width:auto;max-width:none}
.hlp-m-section{padding:64px 0}
@media (min-width:900px){.hlp-m-section{padding:96px 0}}
.hlp-m-inner{max-width:var(--h-container);margin:0 auto;padding:0 20px}
.hlp-m-section--alt{background:var(--h-bg-alt)}
.hlp-m-section--dark{background:var(--h-primary);color:var(--h-primary-text)}
.hlp-m-section--dark h2,.hlp-m-section--dark h3{color:var(--h-primary-text)}
.hlp-m-section--dark .hlp-m-feature p{color:color-mix(in srgb,var(--h-primary-text) 85%,transparent)}
.hlp-m-section--cta{background:linear-gradient(130deg,var(--h-primary),color-mix(in srgb,var(--h-primary) 55%,#000));color:#fff;text-align:center}
.hlp-m-section--cta h2{color:#fff;margin-top:0}
.hlp-m-section--cta .hlp-m-lead{color:rgba(255,255,255,.88);margin-left:auto;margin-right:auto}
.hlp-m-section--cta .wp-block-buttons{justify-content:center}
.hlp-m-section--cta .is-style-outline .wp-block-button__link{color:#fff;box-shadow:inset 0 0 0 2px #fff}
.hlp-m-head{text-align:center;max-width:760px;margin:0 auto 48px}
.hlp-m-head h2{margin-top:.2em}
.hlp-m-eyebrow{display:inline-block;text-transform:uppercase;letter-spacing:.14em;font-size:.8rem;font-weight:700;color:var(--h-accent);margin:0 0 .4em}
.hlp-m-lead{font-size:1.15rem;color:var(--h-muted);max-width:680px}
.hlp-m-head .hlp-m-lead{margin-left:auto;margin-right:auto}
.hlp-m-center{justify-content:center}
.hlp-m-rounded img{border-radius:calc(var(--h-radius) * 1.4);box-shadow:0 20px 50px rgba(17,24,39,.15);width:100%;aspect-ratio:4/3;object-fit:cover}

/* --- Bandeau de page --- */
.hlp-m-banner{background:linear-gradient(180deg,var(--h-bg-alt),var(--h-bg));padding:48px 0 64px}
.hlp-m-banner__cols{align-items:center!important;gap:48px!important}
.hlp-m-banner__title{font-size:clamp(2rem,4.5vw,3.2rem);margin:.15em 0 .4em}
.hlp-m-banner__img img{border-radius:28px;box-shadow:0 24px 60px rgba(17,24,39,.18);width:100%;aspect-ratio:4/3;object-fit:cover}
@media (max-width:781px){.hlp-m-banner{padding:28px 0 40px}.hlp-m-banner__cols .wp-block-column:last-child{order:-1}}

/* --- Cartes photo --- */
.hlp-m-cards>.wp-block-column{display:flex}
.hlp-m-card{background:var(--h-bg);border-radius:var(--h-radius);overflow:hidden;box-shadow:0 6px 30px rgba(17,24,39,.08);display:flex;flex-direction:column;width:100%;transition:transform .2s,box-shadow .2s}
.hlp-m-card:hover{transform:translateY(-4px);box-shadow:0 14px 40px rgba(17,24,39,.12)}
.hlp-m-card__img{margin:0}
.hlp-m-card__img img{width:100%;aspect-ratio:16/10;object-fit:cover}
.hlp-m-card h3{margin:20px 22px 8px;font-size:1.2rem}
.hlp-m-card p{margin:0 22px 16px;color:var(--h-muted)}
.hlp-m-card .hlp-m-card__link{margin-top:auto;padding-bottom:6px}
.hlp-m-card__link a{font-weight:600;text-decoration:none}
.hlp-m-section--alt .hlp-m-card{background:#fff}

/* --- Pictogrammes --- */
.hlp-m-feature{text-align:left}
.hlp-m-feature__icon{width:56px;height:56px;border-radius:16px;display:flex;align-items:center;justify-content:center;font-size:28px;background:color-mix(in srgb,var(--h-accent) 18%,transparent);margin:0 0 14px}
.hlp-m-feature h3{font-size:1.1rem;margin:0 0 6px}
.hlp-m-feature p{color:var(--h-muted);margin:0}

/* --- Étapes --- */
.hlp-m-steps{counter-reset:none}
.hlp-m-step{background:#fff;border-radius:var(--h-radius);padding:26px 22px;height:100%;box-shadow:0 4px 20px rgba(17,24,39,.06);position:relative}
.hlp-m-step__num{width:44px;height:44px;border-radius:50%;background:var(--h-primary);color:var(--h-primary-text);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:1.1rem;margin:0 0 14px}
.hlp-m-step h3{font-size:1.1rem;margin:0 0 6px}
.hlp-m-step p:last-child{color:var(--h-muted);margin:0}

/* --- Texte + image --- */
.hlp-m-split{align-items:center!important;gap:56px!important;margin-bottom:72px}
.hlp-m-split:last-child{margin-bottom:0}
.hlp-m-split h2{margin-top:.2em}
@media (max-width:781px){.hlp-m-split{gap:24px!important;margin-bottom:48px}.hlp-m-split--reverse .wp-block-column:last-child{order:-1}}
.hlp-m-checklist{margin:20px 0 0}
.hlp-m-check{position:relative;padding-left:36px;margin:0 0 12px}
.hlp-m-check::before{content:"";position:absolute;left:0;top:.15em;width:24px;height:24px;border-radius:50%;background:var(--h-primary) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12l4 4 8-8'/%3E%3C/svg%3E") center/14px no-repeat}
.hlp-m-section--dark .hlp-m-check::before{background-color:var(--h-accent)}

/* --- Formules --- */
.hlp-m-plans>.wp-block-column{display:flex}
.hlp-m-plan{background:#fff;border:1px solid var(--h-border);border-radius:calc(var(--h-radius) * 1.3);padding:32px 28px;width:100%;position:relative}
.hlp-m-plan h3{margin:0 0 4px;font-size:1.4rem}
.hlp-m-plan__sub{color:var(--h-muted);margin:0 0 8px}
.hlp-m-plan--featured{border:2px solid var(--h-primary);box-shadow:0 20px 50px rgba(11,61,145,.15);transform:translateY(-8px)}
.hlp-m-plan__badge{position:absolute;top:-14px;left:28px;background:var(--h-accent);color:#111827;font-size:.78rem;font-weight:700;padding:5px 12px;border-radius:999px;margin:0}
@media (max-width:781px){.hlp-m-plan--featured{transform:none}}

/* --- Contact --- */
.hlp-m-contact{gap:56px!important}
.hlp-m-contact h1{margin-top:.2em}
.hlp-m-contact .hlp-m-rounded{margin:24px 0}
.hlp-m-contact .hlp-m-rounded img{aspect-ratio:16/9}
.hlp-m-formcard{background:#fff;border-radius:calc(var(--h-radius) * 1.3);padding:28px;box-shadow:0 10px 40px rgba(17,24,39,.1)}
.hlp-hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}

/* --- Bandeau d'accueil : léger effet --- */
.hero{background-color:var(--h-primary);background-position:75% center}
.hero__title{text-shadow:0 2px 20px rgba(0,0,0,.2)}
@media (max-width:600px){.hero{min-height:auto}.hero__inner{padding-top:56px;padding-bottom:56px}.hero__actions .btn{width:100%}}

/* Shortcodes Helipsys dans les sections */
.hlp-m-inner .hlp-catalog,.hlp-m-inner .hlp-partners{margin-top:8px}

/* Mobile : sections plus compactes, catalogue en carrousel horizontal */
@media (max-width:600px){
	.hlp-m-section{padding:48px 0}
	.hlp-m-head{margin-bottom:28px}
	.hlp-catalog--carousel .hlp-catalog__grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:14px;margin:0 -20px;padding:4px 20px 16px;scrollbar-width:none}
	.hlp-catalog--carousel .hlp-catalog__grid::-webkit-scrollbar{display:none}
	.hlp-catalog--carousel .hlp-service-card{flex:0 0 78%;scroll-snap-align:start}
	.hlp-m-features{display:grid!important;grid-template-columns:1fr 1fr;gap:20px!important}
	.hlp-m-steps{display:grid!important;grid-template-columns:1fr 1fr;gap:12px!important}
	.hlp-m-step{padding:18px 16px}
	.hlp-m-card h3{margin:16px 18px 6px}.hlp-m-card p{margin:0 18px 14px}
}
