/* ========================================================================== 
   CARPRASSUR — COUCHE RESPONSIVE FINALE
   Chargée en dernier pour préserver le rendu desktop et fiabiliser tablette/mobile.
   ========================================================================== */

:root {
    --cp-responsive-gutter: clamp(16px, 4vw, 34px);
    --cp-responsive-section-y: clamp(42px, 8vw, 84px);
    --cp-responsive-icon-sm: clamp(30px, 8vw, 48px);
    --cp-responsive-icon-md: clamp(48px, 12vw, 78px);
    --cp-responsive-icon-lg: clamp(72px, 19vw, 124px);
}

html {
    overflow-x: clip;
    -webkit-text-size-adjust: 100%;
}

body {
    min-width: 320px;
    overflow-x: clip;
}

img,
svg,
video,
iframe,
canvas {
    max-width: 100%;
}

input,
select,
textarea,
button {
    max-width: 100%;
}

@media (max-width: 1024px) {
    /* Header compact : logo à gauche, burger réellement visible à droite. */
    .site-header__topbar {
        height: 72px !important;
        border-top: 0 !important;
        background: var(--cp-blue-dark) !important;
    }

    .site-header__container--topbar {
        min-height: 72px !important;
        height: 72px !important;
        padding-inline: var(--cp-responsive-gutter) !important;
    }

    .site-header__burger {
        display: inline-flex !important;
        position: relative !important;
        width: 48px !important;
        height: 48px !important;
        min-height: 48px !important;
        padding: 0 !important;
        margin: 0 !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 6px !important;
        border: 1px solid rgba(255,255,255,.28) !important;
        border-radius: 50% !important;
        background: rgba(255,255,255,.06) !important;
        overflow: visible !important;
        clip-path: none !important;
        transition: background .25s ease, transform .25s ease, border-color .25s ease !important;
        z-index: 2;
    }

    .site-header__burger:hover,
    .site-header__burger:focus-visible {
        background: rgba(255,255,255,.14) !important;
        border-color: rgba(255,255,255,.6) !important;
        transform: scale(1.04) !important;
        outline: none;
    }

    .site-header__burger > span {
        display: block !important;
        position: static !important;
        width: 22px !important;
        height: 2px !important;
        min-height: 2px !important;
        margin: 0 !important;
        padding: 0 !important;
        border-radius: 99px !important;
        background: #fff !important;
        transform-origin: center !important;
        transition: transform .28s ease, opacity .2s ease !important;
    }

    .site-header__burger[aria-expanded="true"] > span:nth-child(1) { transform: translateY(8px) rotate(45deg) !important; }
    .site-header__burger[aria-expanded="true"] > span:nth-child(2) { opacity: 0 !important; }
    .site-header__burger[aria-expanded="true"] > span:nth-child(3) { transform: translateY(-8px) rotate(-45deg) !important; }

    .site-header__main {
        overflow: hidden;
    }

    .site-header__container--main {
        width: 100% !important;
        padding-inline: var(--cp-responsive-gutter) !important;
    }

    .site-header__brand {
        padding-block: clamp(18px, 4vw, 28px) !important;
    }

    .site-header__logo-link {
        min-height: 0 !important;
    }

    .site-header__logo-link,
    .site-header__logo-link img {
        width: clamp(190px, 31vw, 245px) !important;
    }

    .site-header__hero {
        padding-top: clamp(8px, 2vw, 22px) !important;
        padding-bottom: clamp(38px, 7vw, 66px) !important;
    }

    .site-header__hero-visual img {
        width: clamp(250px, 46vw, 390px) !important;
    }

    .site-header__hero-title {
        font-size: clamp(1.45rem, 4vw, 2rem) !important;
        line-height: 1.18 !important;
        letter-spacing: clamp(.08em, .8vw, .16em) !important;
    }

    .site-header__hero-text p {
        margin-inline: auto !important;
        font-size: clamp(.82rem, 1.8vw, .94rem) !important;
        text-align: center !important;
    }

    /* Volet mobile */
    .mobile-drawer__overlay {
        background: rgba(9, 18, 53, .62) !important;
        backdrop-filter: blur(4px);
        -webkit-backdrop-filter: blur(4px);
    }

    .mobile-drawer__panel {
        width: min(92vw, 460px) !important;
        height: 100dvh !important;
        overflow-y: auto !important;
        overscroll-behavior: contain;
        background: linear-gradient(180deg, #1a2a68 0%, #162351 100%) !important;
        box-shadow: -24px 0 60px rgba(0,0,0,.34) !important;
        transition: transform .42s cubic-bezier(.22,1,.36,1) !important;
    }

    .mobile-drawer__top {
        min-height: 92px;
        display: flex;
        align-items: center;
        padding: 20px 72px 18px 24px !important;
        border-left: 5px solid #325DCE !important;
        border-bottom: 1px solid rgba(255,255,255,.11);
    }

    .mobile-drawer__logo-link img {
        width: clamp(170px, 43vw, 210px) !important;
    }

    .mobile-drawer__close {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        top: 22px !important;
        right: 20px !important;
        width: 46px !important;
        height: 46px !important;
        min-height: 46px !important;
        padding: 0 !important;
        border: 1px solid rgba(255,255,255,.25) !important;
        border-radius: 50% !important;
        font-size: 2rem !important;
        font-weight: 300 !important;
        background: rgba(255,255,255,.06) !important;
        overflow: visible !important;
        transition: transform .25s ease, background .25s ease !important;
    }

    .mobile-drawer__close:hover { transform: rotate(90deg) !important; background: rgba(255,255,255,.14) !important; }

    .mobile-drawer__main {
        padding: 8px 0 20px !important;
    }

    .mobile-menu__item {
        border-top-color: rgba(255,255,255,.1) !important;
    }

    .mobile-menu__toggle,
    .mobile-menu__direct-link {
        width: 100% !important;
        min-height: 64px !important;
        padding: 14px 24px !important;
        border-radius: 0 !important;
        overflow: visible !important;
        font-size: clamp(.78rem, 2.5vw, .92rem) !important;
        line-height: 1.35 !important;
        letter-spacing: .14em !important;
        transition: background .25s ease, color .25s ease !important;
    }

    .mobile-menu__toggle:hover,
    .mobile-menu__toggle[aria-expanded="true"],
    .mobile-menu__direct-link:hover,
    .mobile-menu__direct-link.is-active {
        background: rgba(50,93,206,.32) !important;
    }

    .mobile-menu__label {
        display: block !important;
        width: auto !important;
        height: auto !important;
        text-align: left !important;
        line-height: inherit !important;
    }

    .mobile-menu__plus {
        display: block !important;
        width: 30px !important;
        height: 30px !important;
        min-height: 30px !important;
        flex: 0 0 30px !important;
        margin: 0 0 0 18px !important;
        padding: 0 !important;
        border: 1px solid rgba(255,255,255,.22);
        border-radius: 50%;
        transform: rotate(0deg) !important;
        transition: transform .32s ease, background .25s ease !important;
    }

    .mobile-menu__plus::before,
    .mobile-menu__plus::after {
        content: "" !important;
        display: block !important;
        position: absolute !important;
    }

    .mobile-menu__toggle[aria-expanded="true"] .mobile-menu__plus {
        transform: rotate(180deg) !important;
        background: rgba(255,255,255,.12);
    }

    .mobile-menu__toggle[aria-expanded="true"] .mobile-menu__plus::after {
        transform: translate(-50%, -50%) scaleY(0) !important;
    }

    .mobile-menu__panel {
        display: block;
        max-height: 0;
        overflow: hidden;
        padding: 0 24px !important;
        background: #f3f4f8 !important;
        opacity: 0;
        transform: translateY(-8px);
        transition: max-height .48s cubic-bezier(.22,1,.36,1), opacity .3s ease, transform .36s ease, padding .36s ease !important;
    }

    .mobile-menu__panel.is-open {
        max-height: var(--mobile-panel-height, 1200px);
        padding-top: 18px !important;
        padding-bottom: 20px !important;
        opacity: 1;
        transform: translateY(0);
    }

    .mobile-menu__panel[hidden] { display: none !important; }

    .mobile-menu__group-title,
    .mobile-menu__group-title--link {
        font-size: .66rem !important;
        line-height: 1.45 !important;
        letter-spacing: .17em !important;
    }

    .mobile-menu__sublink {
        min-height: 48px !important;
        padding-block: 9px !important;
        font-size: .67rem !important;
        line-height: 1.45 !important;
        letter-spacing: .13em !important;
    }

    .mobile-menu__sublink.has-icon {
        min-height: 54px !important;
        padding-left: 48px !important;
    }

    .mobile-menu__sublink.has-icon::before {
        width: 34px !important;
        height: 34px !important;
        background-size: contain !important;
    }

    .mobile-drawer__actions {
        margin-top: auto;
    }

    .mobile-drawer__action {
        min-height: 62px !important;
        padding: 14px 22px 14px 64px !important;
        font-size: .72rem !important;
        line-height: 1.35 !important;
        letter-spacing: .12em !important;
    }

    .mobile-drawer__action > span {
        justify-content: flex-start !important;
        text-align: left !important;
        line-height: 1.35 !important;
    }

    .mobile-drawer__socials {
        padding: 18px 22px 24px !important;
        gap: 12px !important;
    }

    .mobile-drawer__social-link {
        width: 46px !important;
        height: 46px !important;
        min-height: 46px !important;
        font-size: 1.15rem !important;
    }

    /* Cadre commun pour tous les cartouches/partials. */
    main,
    .page-wrap,
    [class*="cartouche"] {
        min-width: 0;
    }

    [class*="__inner"],
    [class*="__container"] {
        max-width: 100%;
    }

	[class*="cartouche"] img:not(.not-image-top),
	img[class*="picto"]:not(.not-image-top) {
		object-fit: contain;
		max-width: 60%;
		width: auto;
		max-height: 100%;
		height: 250px;
	}
	
	[class*="icon"] img:not(.not-image-top):not(.agriassur-cartouche-8__icon):not(.courtage-cartouche-7__icon):not(.comparateur-grele-cartouche-8__top-icon),
	img[class*="icon"]:not(.not-image-top):not(.agriassur-cartouche-8__icon):not(.courtage-cartouche-7__icon):not(.comparateur-grele-cartouche-8__top-icon){
		object-fit: contain;
		max-width: 60%;
		width: auto;
		max-height: 100%;
		height: 120px;
	}
}

@media (max-width: 767px) {
    h1,
    h2 {
        font-size: clamp(1.35rem, 6.4vw, 1.75rem) !important;
        line-height: 1.22 !important;
        letter-spacing: clamp(2px, .9vw, 4px) !important;
        overflow-wrap: anywhere;
    }

    h3:not(.stats *):not([class*="stat"]):not([class*="gr-none-bold"]):not([class*="team"]),
    [class*="item-title"]:not(.stats *):not([class*="stat"]):not([class*="gr-none-bold"]):not([class*="team"]) {
        font-size: clamp(.88rem, 3.8vw, 1rem) !important;
        line-height: 1.4 !important;
        letter-spacing: clamp(1.5px, .8vw, 2.5px) !important;
    }

    p {
        max-width: 100% !important;
        font-size: clamp(13px, 3.55vw, 15px) !important;
        line-height: 1.68 !important;
        letter-spacing: clamp(.55px, .35vw, 1.2px) !important;
        overflow-wrap: anywhere;
    }

    .section,
    section[class*="cartouche"],
    [class*="-cartouche-"] {
        scroll-margin-top: 76px;
    }

    .section {
        padding: var(--cp-responsive-section-y) var(--cp-responsive-gutter) !important;
    }

    [class*="cartouche"] [class*="__inner"],
    [class*="cartouche"] [class*="__container"] {
        width: 100% !important;
        max-width: 100% !important;
        padding-left: var(--cp-responsive-gutter);
        padding-right: var(--cp-responsive-gutter);
    }

    /* Les colonnes deviennent lisibles sans écraser les cartes existantes. */
    [class*="cartouche"] [class*="__grid"],
    [class*="cartouche"] [class*="__columns"],
    [class*="cartouche"] [class*="__row"] {
        min-width: 0;
    }

    [class*="cartouche"] [class*="__content"],
    [class*="cartouche"] [class*="__text"],
    [class*="cartouche"] [class*="__media"],
    [class*="cartouche"] [class*="__visual"] {
        min-width: 0;
        max-width: 100%;
    }

	[class*="cartouche"] [class*="__icon"]:not([class*="container"]):not([class*="wrap"]):not(.agent-general-cartouche-9-addresses__icon):not(.agriassur-cartouche-8__icon):not(.courtage-cartouche-7__icon):not(.comparateur-grele-cartouche-8__top-icon),
	[class*="cartouche"] [class*="__picto"]:not([class*="container"]):not([class*="wrap"]) {
		max-width: var(--cp-responsive-icon-md) !important;
		max-height: var(--cp-responsive-icon-md) !important;
		flex-basis: var(--cp-responsive-icon-md) !important;
	}

	[class*="cartouche"] [class*="__icon"] img:not(.agent-general-cartouche-9-addresses__icon):not(.agriassur-cartouche-8__icon):not(.courtage-cartouche-7__icon):not(.comparateur-grele-cartouche-8__top-icon),
	[class*="cartouche"] [class*="__picto"] img,
	[class*="cartouche"] img[class*="icon"]:not(.agent-general-cartouche-9-addresses__icon):not(.agriassur-cartouche-8__icon):not(.courtage-cartouche-7__icon):not(.comparateur-grele-cartouche-8__top-icon),
	[class*="cartouche"] img[class*="picto"] {
		width: auto !important;
		height: auto !important;
		max-width: var(--cp-responsive-icon-md) !important;
		max-height: var(--cp-responsive-icon-md) !important;
		margin-inline: auto;
	}

	[class*="button"],
	a[class*="btn"],
	a[class*="button"],
	a[class*="bouton"],
	button:not(.comparateur-grele-pill)
		  :not(.site-header__burger)
		  :not(.mobile-menu__toggle)
		  :not(.mobile-drawer__close)
		  :not(.comparateur-grele-testimonials__dots button) {
		max-width: 100% !important;
		min-height: 46px !important;
		padding: 12px 18px !important;
		white-space: normal !important;
		line-height: 1.3 !important;
	}	

    table {
        max-width: 100%;
    }

    .table-responsive,
    [class*="table-wrap"],
    [class*="table-container"] {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    .site-footer__container {
        padding-left: var(--cp-responsive-gutter) !important;
        padding-right: var(--cp-responsive-gutter) !important;
    }
}

@media (max-width: 420px) {
    .site-header__container--topbar { padding-inline: 14px !important; }
    .site-header__burger { width: 44px !important; height: 44px !important; min-height: 44px !important; }
    .mobile-drawer__panel { width: 100% !important; }
    .mobile-menu__toggle,
    .mobile-menu__direct-link { padding-inline: 20px !important; }
    .mobile-menu__panel { padding-inline: 20px !important; }
}

@media (prefers-reduced-motion: reduce) {
    .mobile-drawer__panel,
    .mobile-drawer__overlay,
    .mobile-menu__panel,
    .mobile-menu__plus,
    .site-header__burger > span {
        transition-duration: .01ms !important;
    }
}

/* ========================================================================== 
   CORRECTIF RESPONSIVE V2 — pictogrammes, alignement menu et adresses
   Uniquement tablette/mobile : aucun impact sur la version ordinateur.
   ========================================================================== */

@media (max-width: 1024px) {
    /* Tous les niveaux du menu sont ancrés à gauche. */
    .mobile-menu,
    .mobile-menu__item,
    .mobile-menu__group,
    .mobile-menu__sublist,
    .mobile-menu__subitem {
        text-align: left !important;
    }

    .mobile-menu__toggle {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        text-align: left !important;
    }

    .mobile-menu__direct-link,
    .mobile-menu__sublink,
    .mobile-menu__group-title,
    .mobile-menu__group-title--link {
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        text-align: left !important;
    }

    .mobile-menu__label,
    .mobile-menu__sublink > span {
        flex: 1 1 auto !important;
        min-width: 0 !important;
        text-align: left !important;
    }

    .mobile-menu__panel {
        text-align: left !important;
    }

    /* Les pictogrammes du volet restent bien visibles et proportionnés. */
    .mobile-menu__sublink.has-icon {
        min-height: 64px !important;
        padding-left: 62px !important;
    }

    .mobile-menu__sublink.has-icon::before {
        width: 44px !important;
        height: 44px !important;
    }
}

@media (max-width: 767px) {
    :root {
        --cp-responsive-icon-sm: clamp(44px, 12vw, 62px);
        --cp-responsive-icon-md: clamp(72px, 20vw, 108px);
        --cp-responsive-icon-lg: clamp(100px, 28vw, 148px);
    }

    /*
     * Les règles précédentes limitaient trop fortement les pictogrammes.
     * On conserve leur ratio, sans agrandir les photos et visuels de contenu.
     */
	[class*="cartouche"] [class*="__icon"]
		:not([class*="container"])
		:not([class*="wrap"])
		:not(.agent-general-cartouche-9-addresses__icon),
	[class*="cartouche"] [class*="__picto"]
		:not([class*="container"])
		:not([class*="wrap"]) {
		width: 80px !important;
		max-width: 80px !important;
		height: auto !important;
		max-height: none !important;
		flex: 0 0 auto !important;
	}

	[class*="cartouche"] [class*="__icon"] img:not(.team-members__phone-icon-image):not(.agent-general-cartouche-9-addresses__icon):not(.agriassur-cartouche-8__icon):not(.courtage-cartouche-7__icon):not(.comparateur-grele-cartouche-8__top-icon),
	[class*="cartouche"] [class*="__picto"] img:not(.team-members__phone-icon-image),
	[class*="cartouche"] img[class*="icon"]:not(.team-members__phone-icon-image):not(.agent-general-cartouche-9-addresses__icon):not(.agriassur-cartouche-8__icon):not(.courtage-cartouche-7__icon):not(.comparateur-grele-cartouche-8__top-icon),
	[class*="cartouche"] img[class*="picto"]:not(.team-members__phone-icon-image),
	[class*="cartouche"] svg[class*="icon"],
	[class*="cartouche"] svg[class*="picto"] {
		width: var(--cp-responsive-icon-md) !important;
		height: auto !important;
		max-width: var(--cp-responsive-icon-md) !important;
		max-height: none !important;
	}

    /* Pictos d'adresse : plus grands, mais sans déformer les cartes. */
    .agent-general-cartouche-9-addresses__icon,
    .courtage-cartouche-7__icon,
    .groupe-addresses__pin,
    .contact-cartouche-3__pin svg,
    .epargne-cartouche-3__pin svg {
        width: clamp(46px, 14vw, 66px) !important;
        height: auto !important;
        max-width: none !important;
    }

    /* Toutes les listes d'adresses restent en deux colonnes sur mobile. */
    .agent-general-cartouche-9-addresses__grid,
    .groupe-addresses__grid,
    .courtage-cartouche-7__grid,
    .courtage-cartouche-7__grid--count-1,
    .courtage-cartouche-7__grid--count-2,
    .courtage-cartouche-7__grid--count-3,
    .courtage-cartouche-7__grid--count-4,
    .courtage-cartouche-7__grid--count-5,
    .courtage-cartouche-7__grid--count-6,
    .courtage-cartouche-7__grid--count-7,
    .courtage-cartouche-7__grid--count-8,
    .courtage-cartouche-7__grid--count-9,
    .contact-cartouche-3__grid,
    .epargne-cartouche-3__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        column-gap: clamp(14px, 5vw, 28px) !important;
        row-gap: clamp(34px, 9vw, 52px) !important;
        align-items: start !important;
    }

    .agent-general-cartouche-9-addresses__item,
    .groupe-address-card,
    .courtage-cartouche-7__item,
    .contact-cartouche-3__office,
    .epargne-cartouche-3__office {
        width: 100% !important;
        min-width: 0 !important;
        grid-column: auto !important;
        justify-self: stretch !important;
        text-align: center !important;
    }

    /* Quand le nombre d'adresses est impair, la dernière reste centrée et lisible. */
    .agent-general-cartouche-9-addresses__item:last-child:nth-child(odd),
    .groupe-address-card:last-child:nth-child(odd),
    .courtage-cartouche-7__item:last-child:nth-child(odd),
    .contact-cartouche-3__office:last-child:nth-child(odd),
    .epargne-cartouche-3__office:last-child:nth-child(odd) {
        grid-column: 1 / -1 !important;
        width: min(100%, 260px) !important;
        justify-self: center !important;
    }

    .agent-general-cartouche-9-addresses__city,
    .groupe-address-card__city,
    .courtage-cartouche-7__city,
    .contact-cartouche-3__city,
    .epargne-cartouche-3__city {
        font-size: clamp(.78rem, 3.45vw, .94rem) !important;
        line-height: 1.3 !important;
        letter-spacing: .07em !important;
        overflow-wrap: normal !important;
        word-break: normal !important;
        hyphens: none !important;
    }

    .agent-general-cartouche-9-addresses__street,
    .agent-general-cartouche-9-addresses__postal,
    .groupe-address-card__street,
    .groupe-address-card__postal,
    .courtage-cartouche-7__street,
    .courtage-cartouche-7__postal,
    .contact-cartouche-3__address,
    .contact-cartouche-3__hours,
    .contact-cartouche-3__phone,
    .epargne-cartouche-3__address,
    .epargne-cartouche-3__hours,
    .epargne-cartouche-3__phone {
        max-width: 100% !important;
        font-size: clamp(.74rem, 3.15vw, .88rem) !important;
        line-height: 1.5 !important;
        letter-spacing: .015em !important;
        overflow-wrap: normal !important;
        word-break: normal !important;
        hyphens: none !important;
    }
	
	img.team-members__phone-icon-image{
		max-width: 10px !important;
		width: 10px !important;
	}
}

@media (max-width: 390px) {
    /* Deux colonnes sont conservées, avec un espacement optimisé pour les petits mobiles. */
    .agent-general-cartouche-9-addresses__grid,
    .groupe-addresses__grid,
    .courtage-cartouche-7__grid,
    .contact-cartouche-3__grid,
    .epargne-cartouche-3__grid {
        column-gap: 10px !important;
    }

    .agent-general-cartouche-9-addresses__inner,
    .courtage-cartouche-7__container,
    .contact-cartouche-3,
    .epargne-cartouche-3 {
        padding-left: 12px !important;
        padding-right: 12px !important;
    }
}

/* ========================================================================== */
/* CARPRASSUR - harmonisation largeur cartouches / footer + icones chiffres   */
/* Référence : .site-footer__container = 1450px avec 34px de gouttière       */
/* ========================================================================== */
@media (min-width: 901px) {
    /* Agriassur : tous les cartouches, y compris le bloc différences. */
	[class*="cartouche"][class*="__inner"],
	.agriassur-container,
    .agriassur-cartouche-6__container,
    .agriassur-cartouche-7__container,
    .agriassur-cartouche-7__inner,
    .agriassur-cartouche-8__container,
    .agriassur-cartouche-9__container,
    .agriassur-cartouche-9__inner,
    .agriassur-cartouche-10__container,
    .agriassur-cartouche-10__inner,
    .agriassur-social-banner__inner,
	.audit-cartouche-3__inner,
	.audit-cartouche-2__inner,
	.audit-cartouche-2__inner,
	.epargne-cartouche-3__inner,
	.epargne-cartouche-5__inner,
	.agent-general-cartouche-6__grid,
	.ag-sinistre-highlight__container,

    /* Protection sociale. */
    .protection-sociale-cartouche-1__container,
    .protection-sociale-cartouche-2__container,
    .protection-sociale-cartouche-3__container,
    .protection-sociale-cartouche-5__container,
    .protection-sociale-cartouche-6__container,
    .protection-sociale-cartouche-6__inner,
    .protection-sociale-cartouche-7__container,
    .protection-sociale-cartouche-7__inner,
    .protection-sociale-cartouche-8__container,
    .protection-sociale-cartouche-9__container,
    .protection-sociale-cartouche-9__inner,

    /* Assurance récolte / comparateur grêle. */
    .comparateur-grele-cartouche-1__inner,
    .comparateur-grele-cartouche-3__inner,
    .comparateur-grele-cartouche-4__inner,
    .comparateur-grele-cartouche-6__inner,
    .comparateur-grele-cartouche-8__inner,
    .comparateur-grele-cartouche-9__inner,
    .comparateur-grele-cartouche-10__inner,
    .comparateur-grele-cartouche-11__inner,
    .comparateur-grele-cartouche-12__inner,

    /* Service sinistre + prévention des risques. */
    .service-sinistre-cartouche-1__inner,
    .service-sinistre-cartouche-2__inner,
    .service-sinistre-cartouche-3__inner,
    .service-sinistre-cartouche-5__container,
    .service-sinistre-cartouche-5__inner,
    .prevention-risques-cartouche-1__inner,
    .prevention-risques-cartouche-2__inner,
    .prevention-risques-cartouche-3__inner,
    .prevention-risques-cartouche-4__inner,
    .prevention-risques-cartouche-5__container,
    .prevention-risques-cartouche-5__inner,

    /* Coassurance. */
    .coassurance-cartouche-1__inner,
    .coassurance-cartouche-2__inner,
    .coassurance-cartouche-3__inner,
    .coassurance-cartouche-4__inner,
    .coassurance-cartouche-5__container,
    .coassurance-cartouche-5__inner,

    /* Guichet unique. */
    .guichet-unique-cartouche-1__inner,
    .guichet-unique-cartouche-2__inner,
    .guichet-unique-cartouche-3__inner,
    .guichet-unique-cartouche-4__inner,
    .guichet-unique-cartouche-5__container,
    .guichet-unique-cartouche-5__inner,

    /* Nos équipes : cartouches spécifiques. */
    .nos-equipes-cartouche-0-0__container,
    .nos-equipes-cartouche-0-1__container {
        width: min(100%, 1450px) !important;
        max-width: 1450px !important;
        margin-left: auto !important;
        margin-right: auto !important;
        padding-left: 34px !important;
        padding-right: 34px !important;
        box-sizing: border-box !important;
    }

    /* Nos équipes : les cartouches 1 à 8 utilisent un .container générique. */
    .nos-equipes-cartouche-1 > .container,
    .nos-equipes-cartouche-2 > .container,
    .nos-equipes-cartouche-3 > .container,
    .nos-equipes-cartouche-4 > .container,
    .nos-equipes-cartouche-5 > .container,
    .nos-equipes-cartouche-6 > .container,
    .nos-equipes-cartouche-7 > .container,
    .nos-equipes-cartouche-8 > .container,
    .nos-equipes-cartouche > .container {
        width: min(100%, 1450px) !important;
        max-width: 1450px !important;
        margin-left: auto !important;
        margin-right: auto !important;
        padding-left: 34px !important;
        padding-right: 34px !important;
        box-sizing: border-box !important;
    }
	
	[class*="cartouche"][class*="image"] img,
	[class*="cartouche"][class*="visual"] img {
		width: auto !important;
		max-width: 250px !important;
		height: auto !important;
	}
}

/* Le groupe : mêmes dimensions d'icônes que Agent Général / EN CHIFFRES. */
.groupe-stat-card__icon-wrap {
    height: 120px !important;
    min-height: 120px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}
.groupe-stat-card__icon {
    width: auto !important;
    height: auto !important;
    max-width: 120px !important;
    max-height: 120px !important;
    object-fit: contain !important;
}

@media (max-width: 767px) {
    .groupe-stat-card__icon-wrap {
        height: 120px !important;
        min-height: 120px !important;
    }
    .groupe-stat-card__icon {
        width: auto !important;
        height: auto !important;
        max-width: 120px !important;
        max-height: 120px !important;
    }
}

/* === CARPRASSUR responsive final 16/09/2026 === */
.agent-general-cartouche-1__visual{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:flex-start!important;gap:24px!important;height:auto!important;overflow:visible!important}
.agent-general-cartouche-1__visual .agent-general-cartouche-1__visual-image{width:auto!important;height:180px!important;max-width:250px!important;max-height:180px!important;object-fit:contain!important;object-position:center!important}
.site-header__mobile-brand{display:none!important}

@media(max-width:1024px){
.site-header__topbar{height:72px!important;min-height:72px!important;display:flex!important;align-items:center!important}
.site-header__container--topbar{width:100%!important;max-width:none!important;height:72px!important;min-height:72px!important;padding:0 20px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:20px!important}
.site-header__mobile-brand{display:flex!important;align-items:center!important;justify-content:flex-start!important;width:auto!important;max-width:210px!important;height:48px!important}
.site-header__mobile-brand img{display:block!important;width:auto!important;max-width:210px!important;height:auto!important;max-height:48px!important;object-fit:contain!important}
.site-header__burger{display:flex!important;flex:0 0 auto!important;align-items:center!important;justify-content:center!important;margin:0!important}
.site-header__container--main{display:contents!important}
.site-header__main>.site-header__container--main>.site-header__brand,.site-header__inner-spacer{display:none!important}

.agent-general-cartouche-1__intro{grid-template-columns:1fr!important;row-gap:30px!important}
.agent-general-cartouche-1__visual{order:1!important;flex-direction:row!important;flex-wrap:nowrap!important;align-items:center!important;justify-content:center!important;gap:clamp(18px,5vw,42px)!important;width:100%!important;height:auto!important;min-height:0!important}
.agent-general-cartouche-1__text{order:2!important;width:100%!important;max-width:none!important;text-align:center!important}
.agent-general-cartouche-1__visual .agent-general-cartouche-1__visual-image{flex:0 1 250px!important;width:min(42vw,250px)!important;height:105px!important;max-width:250px!important;max-height:105px!important;object-fit:contain!important}

.comparateur-grele-process__row{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:24px!important}
.comparateur-grele-process__row .comparateur-grele-process__visual{order:1!important;width:100%!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important}
.comparateur-grele-process__row .comparateur-grele-process__step{order:2!important;width:100%!important;text-align:center!important}
	.comparateur-grele-process__visual img{
		display:block!important;
		width:auto!important;
		height:auto!important;
		margin:0 auto!important
	}
.comparateur-grele-process__visual-cta{margin:18px auto 0!important;text-align:center!important}

.groupe-differences__row,.groupe-differences__row--reverse{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:24px!important}
.groupe-differences__row .groupe-differences__diagram-col,.groupe-differences__row--reverse .groupe-differences__diagram-col{order:1!important;width:100%!important;display:flex!important;justify-content:center!important}
.groupe-differences__row .groupe-differences__text-col,.groupe-differences__row--reverse .groupe-differences__text-col{order:2!important;width:100%!important;text-align:center!important}
    .groupe-differences__diagram {
        display: block !important;
        width: auto !important;
        max-width: 100% !important;
        width: 450px !important;
        height: auto !important;
        margin: 0 auto !important;
    }

.agent-general-cartouche-6__grid{display:grid!important;grid-template-columns:1fr!important}
.agent-general-cartouche-6__content{display:contents!important}
.agent-general-cartouche-6__title{order:1!important;text-align:center!important}.agent-general-cartouche-6__text{order:2!important;text-align:center!important}
.agent-general-cartouche-6__media{order:3!important;width:100%!important;display:flex!important;justify-content:center!important;margin:22px auto 26px!important}
.agent-general-cartouche-6__media .agent-general-cartouche-6__image{display:block!important;width:auto!important;max-width:min(220px,68vw)!important;height:auto!important;max-height:220px!important;object-fit:contain!important;margin:0 auto!important}
.agent-general-cartouche-6__list{order:4!important}.agent-general-cartouche-6__button-wrap{order:5!important}

main [class*="item"]:has(>[class*="icon-wrap"]):has(>[class*="content"]),main [class*="card"]:has(>[class*="icon-wrap"]):has(>[class*="content"]),main a:has(>[class*="icon-wrap"]):has(>[class*="content"]){display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:flex-start!important;text-align:center!important;gap:16px!important}
main [class*="item"]>[class*="icon-wrap"]:not(.only-image),
main [class*="card"]>[class*="icon-wrap"]:not(.only-image),
main a>[class*="icon-wrap"]:not(.only-image){
    flex:0 0 auto!important;
    width:100%!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    margin-left:auto!important;
    margin-right:auto!important;
	margin-top: 30px;
}
main [class*="item"]>[class*="content"],main [class*="card"]>[class*="content"],main a>[class*="content"]{width:100%!important;max-width:100%!important;text-align:center!important}
main [class*="item"]>[class*="content"] h2,main [class*="item"]>[class*="content"] h3,main [class*="item"]>[class*="content"] p,main [class*="card"]>[class*="content"] h2,main [class*="card"]>[class*="content"] h3,main [class*="card"]>[class*="content"] p,main a>[class*="content"] h2,main a>[class*="content"] h3,main a>[class*="content"] p{text-align:center!important;margin-left:auto!important;margin-right:auto!important}

main [class*="button-wrap"],main [class*="button-container"],main [class*="cta-wrap"],main [class$="__cta"]{text-align:center!important;justify-content:center!important;align-items:center!important;margin-left:auto!important;margin-right:auto!important}
main [class*="button-wrap"]>a,main [class*="button-container"]>a,main [class*="cta-wrap"]>a,main [class$="__cta"]>a{margin-left:auto!important;margin-right:auto!important}
	
	
	img.stat-card__icon {
		max-width: 100px !important;
		width: 100% !important;
		height: auto !important;
		max-height: none !important;
	}
	
	img.domain-card__icon {
		max-width: 100px !important;
		width: 100% !important;
		height: auto !important;
		max-height: none !important;
	}
	
	
	img.groupe-services__icon {
    	max-width: 100px !important;
		width: 100% !important;
		height: auto !important;
		max-height: none !important;
	}

	img.groupe-value-card__icon {
		max-width: 100px !important;
		width: 100% !important;
		height: auto !important;
		max-height: none !important;
	}

	
	img.courtage-cartouche-7__icon {
		max-width: 100px !important;
		width: 100% !important;
		height: auto !important;
		max-height: none !important;
	}

	.agent-general-cartouche-9-addresses__icon-wrap, .agriassur-cartouche-8__icon {
		width: 100% !important;
		max-width: none !important;
		height: auto !important;
		max-height: none !important;
		flex: 0 0 auto !important;
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
	}

	.agent-general-cartouche-9-addresses__icon-wrap > img.agent-general-cartouche-9-addresses__icon, img.agriassur-cartouche-8__icon, img.courtage-cartouche-7__icon{
		display: block !important;
		width: 20px !important;
		max-width: 80px !important;
		height: auto !important;
		max-height: none !important;
		flex: 0 0 auto !important;
		margin-left: auto !important;
		margin-right: auto !important;
	}
	
	span.agent-general-cartouche-5__item-label, .protection-sociale-cartouche-3__item{
		font-size: 13px !important;
	}

	img.service-card__icon{
		max-width: 100px !important;
		width: 100% !important;
		height: auto !important;
		max-height: none !important;
	}

	.comparateur-grele-cartouche-8__head > img.comparateur-grele-cartouche-8__top-icon {
		width: 80px !important;
		max-width: 50px !important;
		height: auto !important;
		max-height: none !important;
	}
	
	.comparateur-grele-cartouche-11__inner img{
		max-width: 100px !important;
		width: 65px !important;
		height: auto !important;
		max-height: none !important;
	}
	
	img.nos-assurances-list__bullet{
		max-height: 20px !important;
	}
}
@media(max-width:560px){.site-header__container--topbar{padding-left:16px!important;padding-right:16px!important}.site-header__mobile-brand,.site-header__mobile-brand img{max-width:185px!important}.site-header__mobile-brand img{max-height:44px!important}.agent-general-cartouche-1__visual{gap:14px!important}.agent-general-cartouche-1__visual .agent-general-cartouche-1__visual-image{width:min(43vw,180px)!important;height:250px!important;max-height:100%!important}
}
@media (max-width: 767px) {

    [class*="cartouche"] [class*="__icon"]:not([class*="container"]):not([class*="wrap"]):not(.agent-general-cartouche-9-addresses__icon):not(.agriassur-cartouche-8__icon):not(.courtage-cartouche-7__icon):not(.comparateur-grele-cartouche-8__top-icon),
    [class*="cartouche"] [class*="__picto"]:not([class*="container"]):not([class*="wrap"]) {
        width: 100px !important; 
        max-width: 100% !important;
        height: auto !important;
        max-height: none !important;
        flex: 0 0 auto !important;
    }

    /*[class*="cartouche"] [class*="__icon"]:not([class*="container"]):not([class*="wrap"]) img.agent-general-cartouche-9-addresses__icon {
        width: 30px !important;
        max-width: 30px !important;
        height: auto !important;
        max-height: none !important;
        flex: 0 0 auto !important;
    }*/

}

/* ========================================================================== 
   CARPRASSUR — Correctifs responsive ciblés 18/09/2026
   ========================================================================== */
@media (max-width: 1024px) {
    /* A — Agriassur : titre, image 1, texte 1, image 2, texte 2 */
    .agriassur-differences__row,
    .agriassur-differences__row--top,
    .agriassur-differences__row--bottom {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        width: 100% !important;
        gap: 24px !important;
    }
    .agriassur-differences__row .agriassur-differences__visual-block {
        order: 1 !important;
        width: 100% !important;
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
    }
    .agriassur-differences__row .agriassur-differences__text-block {
        order: 2 !important;
        width: 100% !important;
        text-align: center !important;
    }
    .agriassur-differences__visual {
        display: block !important;
        width: auto !important;
        max-width: 95% !important;
        height: auto !important;
        margin: 0 auto !important;
    }
    .agriassur-differences__title,
    .agriassur-differences__text { text-align: center !important; }

    /* B — Services : icône au-dessus, texte centré */
    .agriassur-cartouche-6__item,
    .courtage-cartouche-6__item,
    .comparateur-grele-plus-card {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: flex-start !important;
        text-align: center !important;
        gap: 16px !important;
    }
    .agriassur-cartouche-6__icon-col,
    .courtage-cartouche-6__icon-col {
        width: 100% !important;
        flex: 0 0 auto !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        margin: 0 auto !important;
    }
    .agriassur-cartouche-6__content,
    .courtage-cartouche-6__content,
    .comparateur-grele-plus-card > div {
        width: 100% !important;
        max-width: 100% !important;
        text-align: center !important;
    }
    .agriassur-cartouche-6__content h3,
    .agriassur-cartouche-6__content p,
    .courtage-cartouche-6__content h3,
    .courtage-cartouche-6__content p,
    .comparateur-grele-plus-card h3,
    .comparateur-grele-plus-card p { text-align: center !important; }
    .comparateur-grele-plus-card > img {
        display: block !important;
        width: auto !important;
        height: auto !important;
        max-width: 120px !important;
        max-height: 120px !important;
        margin: 0 auto !important;
    }

    /* C — Epargne : chaque article l'un sous l'autre */
    .epargne-cartouche-3__grid {
        display: grid !important;
        grid-template-columns: 1fr !important;
        width: 100% !important;
        gap: 34px !important;
    }
    .epargne-cartouche-3__item {
        width: 100% !important;
        max-width: 100% !important;
        text-align: center !important;
        margin: 0 auto !important;
    }
    .epargne-cartouche-3__bullet {
        display: block !important;
        width: auto !important;
        height: auto !important;
        max-width: 30px !important;
        object-fit: contain !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    /* D — Contact : pin */
    .contact-cartouche-3__pin,
    .contact-cartouche-3__pin svg {
        width: auto !important;
        height: auto !important;
        max-height: 30px !important;
    }
    .contact-cartouche-3__pin svg { height: 80px !important; }

    /* E/F/G — Pins adresses */
    .agriassur-cartouche-8__icon,
    .courtage-cartouche-7__icon {
        width: auto !important;
        height: auto !important;
        max-width: 30px !important;
        object-fit: contain !important;
    }
	
	img.team-members__avatar{
		max-width: 60% !important;
		width: 180px !important;
	}
	
	.comparateur-grele-plus-card > img{
        max-width: 100px !important;
        width: 60px !important;
        height: auto !important;
        max-height: none !important;
        margin-bottom: 20px !important;
	}
	
	.service-sinistre-cartouche-2__value.gr-gras, .groupe-stat-card__value.gr-gras{
		margin-top:0px !important;
	}
}

/* H — Point d'attention commun aux formulaires */
.carprassur-form-attention {
    box-sizing: border-box !important;
    width: 100% !important;
    margin: 24px auto !important;
    padding: 18px 22px !important;
    border: 1px solid rgba(232, 184, 0, .65) !important;
    border-left: 5px solid #e8b800 !important;
    border-radius: 8px !important;
    background: rgba(232, 184, 0, .08) !important;
    color: #666 !important;
    font-size: 15px !important;
    line-height: 1.65 !important;
    text-align: left !important;
}
.carprassur-form-attention strong { color: #172b4d !important; }
@media (max-width: 767px) {
    .carprassur-form-attention {
        margin: 20px auto !important;
        padding: 16px 18px !important;
        text-align: center !important;
    }
}

@media (max-width: 767px) {

    .agriassur-cartouche-8__grid {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        column-gap: clamp(14px, 5vw, 28px) !important;
        row-gap: clamp(34px, 9vw, 52px) !important;
        align-items: start !important;
    }

    .agriassur-cartouche-8__item {
        width: 100% !important;
        min-width: 0 !important;
        grid-column: auto !important;
        justify-self: stretch !important;
        text-align: center !important;
    }

    /* 5 adresses : la dernière est centrée sur toute la ligne */
    .agriassur-cartouche-8__item:last-child:nth-child(odd) {
        grid-column: 1 / -1 !important;
        width: min(100%, 260px) !important;
        justify-self: center !important;
    }

}

/* ========================================================================== 
   CARPRASSUR — Correctifs navigation/process + retour haut 18/09/2026
   ========================================================================== */
@media (max-width: 1024px) {
    /* Comparateur grêle : chaque étape reste texte puis visuel. */
    .comparateur-grele-process__row {
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 24px !important;
    }

    .comparateur-grele-process__row .comparateur-grele-process__step {
        order: 1 !important;
        width: 100% !important;
        text-align: center !important;
    }

    .comparateur-grele-process__row .comparateur-grele-process__visual {
        order: 2 !important;
        width: 100% !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
    }

    .comparateur-grele-process__row .comparateur-grele-process__step p {
        margin-left: auto !important;
        margin-right: auto !important;
        text-align: center !important;
    }

    .comparateur-grele-process__visual-cta {
        margin: 18px auto 0 !important;
        transform: none !important;
        text-align: center !important;
    }

    /* Menu mobile : item courant visible, y compris son parent. */
    .mobile-menu__direct-link.is-active,
    .mobile-menu__sublink.is-active,
    .mobile-menu__group-title--link.is-active,
    .mobile-menu__item.is-current > .mobile-menu__toggle {
        background: rgba(50, 93, 206, .42) !important;
        box-shadow: inset 5px 0 0 #ffffff !important;
        color: #ffffff !important;
    }

    .mobile-menu__sublink.is-active,
    .mobile-menu__group-title--link.is-active {
        color: #1a2a68 !important;
        background: rgba(50, 93, 206, .14) !important;
        box-shadow: none !important;
    }
}

/* Bouton retour en haut — desktop + responsive. */
.cp-back-to-top {
    position: fixed;
    right: clamp(18px, 2.2vw, 34px);
    bottom: clamp(18px, 2.2vw, 34px);
    z-index: 999;
    width: 52px;
    height: 52px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 1px solid rgba(255,255,255,.3);
    border-radius: 50%;
    background: #1a2a68;
    color: #fff;
    box-shadow: 0 10px 28px rgba(9,18,53,.28);
    cursor: pointer;
    opacity: 0;
    visibility: hidden;
    transform: translateY(14px);
    transition: opacity .25s ease, transform .25s ease, visibility .25s ease, background .2s ease;
}

.cp-back-to-top::before {
    content: none !important;
}

.cp-back-to-top__arrow {
    display: block !important;
    color: #ffffff !important;
    font-size: 28px !important;
    line-height: 1 !important;
    font-weight: 400 !important;
    transform: translateY(-1px);
    pointer-events: none;
}

.cp-back-to-top.is-visible {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.cp-back-to-top:hover,
.cp-back-to-top:focus-visible {
    background: #325DCE;
    outline: none;
    transform: translateY(-2px);
}

@media (max-width: 767px) {
    .cp-back-to-top {
        width: 46px;
        height: 46px;
        right: 16px;
        bottom: 16px;
    }
}

@media (max-width: 767px) {
    .groupe-poles__logo {
        max-width: 80% !important;
		width: 250px !important;
        max-height: none !important;
    }
	
	.groupe-services__icon-wrap > img, .groupe-value-card__icon-wrap > img{
        max-width: 65px !important;
        margin-bottom: 5px !important;
	}
	
	.groupe-value-card__icon-wrap > img.groupe-addresses__pin, .groupe-addresses__pin{
        max-height: 65px !important;
        margin-bottom: 10px !important;
	}
	
	.site-header__hero-text > p{
		max-width: 85% !important;
		text-align: justify !important;
		margin: auto !important;
	}
	
	.site-header__hero-visual > img{
		max-width: 95% !important;
		width: 350px !important;
	}
}

/* reCAPTCHA v3: badge always above the page/footer and inside the viewport */
.grecaptcha-badge {
    position: fixed !important;
    right: 14px !important;
    bottom: 14px !important;
    z-index: 2147483647 !important;
    overflow: hidden !important;
}
