
/* =========================================================
   Centrale Assurances — Responsive & UI consolidation v3.5.0
   Loaded after site.css + content.css.
   ========================================================= */
:root{
  --ca-v350-max:1240px;
  --ca-v350-gutter:clamp(16px,3vw,32px);
  --ca-v350-radius:22px;
  --ca-v350-shadow:0 14px 38px rgba(17,65,117,.08);
}
.ca-site-v350 *{box-sizing:border-box}
.ca-site-v350 img{max-width:100%;height:auto}
.ca-site-v350 main{overflow:hidden}
.ca-site-v350 .container{
  width:min(calc(100% - (var(--ca-v350-gutter) * 2)),var(--ca-v350-max));
  margin-inline:auto;
}

/* Header */
.ca-site-v350 .topbar{position:relative;z-index:45}
.ca-site-v350 .header{
  position:sticky;
  top:0;
  z-index:100;
  background:rgba(255,255,255,.97);
  backdrop-filter:saturate(160%) blur(14px);
  border-bottom:1px solid rgba(218,232,246,.85);
  box-shadow:0 6px 24px rgba(12,55,98,.04);
}
.ca-site-v350 .nav-wrap{min-height:78px;display:flex;align-items:center;gap:24px}
.ca-site-v350 .brand{display:flex;align-items:center;flex:0 0 auto}
.ca-site-v350 .brand img{width:190px;max-height:58px;object-fit:contain}
.ca-site-v350 .nav{display:flex;align-items:center;justify-content:center;gap:clamp(12px,1.55vw,24px);margin-left:auto}
.ca-site-v350 .nav>a{white-space:nowrap;font-size:14px}
.ca-site-v350 .nav-actions{display:flex;align-items:center;gap:10px}
.ca-site-v350 .menu-btn,.ca-site-v350 .mobile-nav-close{display:none}

/* Global rhythm */
.ca-site-v350 .section,
.ca-site-v350 .content-section{padding-block:clamp(48px,6vw,76px)}
.ca-site-v350 .section-head,
.ca-site-v350 .section-title{margin-bottom:clamp(22px,3vw,34px)}
.ca-site-v350 h1,.ca-site-v350 h2,.ca-site-v350 h3{overflow-wrap:anywhere}
.ca-site-v350 p{overflow-wrap:anywhere}
.ca-site-v350 .btn{min-height:44px;display:inline-flex;align-items:center;justify-content:center;text-align:center}

/* Homepage / cards */
.ca-site-v350 .hero-grid{gap:clamp(28px,5vw,70px)}
.ca-site-v350 .quote-card,.ca-site-v350 .quick-quote,.ca-site-v350 .dynamic-form{box-shadow:var(--ca-v350-shadow)}
.ca-site-v350 .product-grid,
.ca-site-v350 .benefit-grid,
.ca-site-v350 .number-grid,
.ca-site-v350 .article-grid{gap:18px}
.ca-site-v350 .product-card,
.ca-site-v350 .mini-card,
.ca-site-v350 .blog-card,
.ca-site-v350 .formula-grid article{height:100%}
.ca-site-v350 .product-card img,
.ca-site-v350 .blog-card img{display:block}

/* Product hero — no overflow / cropped text */
.ca-site-v350 .product-hero-copy{min-width:0}
.ca-site-v350 .product-hero h1{
  font-size:clamp(38px,4.7vw,62px);
  line-height:1.01;
  max-width:760px;
}
.ca-site-v350 .product-hero p{max-width:650px}
.ca-site-v350 .hero-actions{display:flex;gap:10px;flex-wrap:wrap}
.ca-site-v350 .micro-trust{row-gap:8px}

/* Grids */
.ca-site-v350 .cards-grid.cards-5{grid-template-columns:repeat(5,minmax(0,1fr))}
.ca-site-v350 .formula-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.ca-site-v350 .chip-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.ca-site-v350 .mini-card{min-width:0}
.ca-site-v350 .mini-card p{min-height:0}

/* Long-form content */
.ca-site-v350 .rich-content{max-width:100%;word-break:normal}
.ca-site-v350 .rich-content table{display:block;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
.ca-site-v350 .rich-content pre{max-width:100%;overflow:auto}
.ca-site-v350 .rich-content iframe,
.ca-site-v350 .rich-content video{max-width:100%}

/* Guides unified */
.ca-site-v350 .unified-guide-card,
.ca-site-v350 .health-guide-card,
.ca-site-v350 .auto-guide-card,
.ca-site-v350 .moto-guide-card,
.ca-site-v350 .home-guide-card,
.ca-site-v350 .decennial-guide-card,
.ca-site-v350 .protection-guide-card{overflow:hidden}
.ca-site-v350 .unified-guide-copy,
.ca-site-v350 .health-guide-copy,
.ca-site-v350 .auto-guide-copy,
.ca-site-v350 .moto-guide-copy,
.ca-site-v350 .home-guide-copy,
.ca-site-v350 .decennial-guide-copy,
.ca-site-v350 .protection-guide-copy{min-width:0}

/* Blog */
.ca-site-v350 .blog-grid{align-items:stretch}
.ca-site-v350 .blog-card{display:flex;flex-direction:column}
.ca-site-v350 .blog-card>div{display:flex;flex:1;flex-direction:column}
.ca-site-v350 .blog-card .read-link{margin-top:auto}
.ca-site-v350 .pro-article-layout{min-width:0}
.ca-site-v350 .article-content{max-width:100%}
.ca-site-v350 .article-content img{border-radius:16px}
.ca-site-v350 .article-toc a{overflow-wrap:anywhere}

/* Forms */
.ca-site-v350 .dynamic-form input,
.ca-site-v350 .dynamic-form select,
.ca-site-v350 .dynamic-form textarea{max-width:100%}
.ca-site-v350 .dynamic-form select{min-height:48px}
.ca-site-v350 .dynamic-form textarea{resize:vertical}
.ca-site-v350 .form-layout>*{min-width:0}

/* Footer */
.ca-site-v350 .footer-grid{gap:clamp(24px,4vw,54px)}
.ca-site-v350 .footer a{display:block;width:max-content;max-width:100%}

/* Tablets */
@media(max-width:1180px){
  .ca-site-v350 .topbar-inner span:nth-child(3){display:none}
  .ca-site-v350 .nav-wrap{gap:14px}
  .ca-site-v350 .brand img{width:165px}
  .ca-site-v350 .nav{gap:12px}
  .ca-site-v350 .nav>a{font-size:13px}
  .ca-site-v350 .nav-actions>.btn{padding-inline:14px}
  .ca-site-v350 .cards-grid.cards-5{grid-template-columns:repeat(3,minmax(0,1fr))}
  .ca-site-v350 .formula-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ca-site-v350 .chip-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* Mobile navigation and site */
@media(max-width:900px){
  .ca-site-v350 .topbar{display:none}
  .ca-site-v350 .header{top:0}
  .ca-site-v350 .nav-wrap{min-height:68px}
  .ca-site-v350 .brand img{width:150px;max-height:48px}
  .ca-site-v350 .nav-actions>.btn{display:none}
  .ca-site-v350 .menu-btn{
    display:inline-grid;
    place-items:center;
    width:44px;height:44px;
    padding:0;
    border:1px solid #d7e5f3;
    border-radius:12px;
    background:#fff;
    color:#0b4d95;
    font-size:23px;
    cursor:pointer;
  }
  .ca-site-v350 .nav{
    position:fixed;
    z-index:120;
    top:0;
    right:0;
    bottom:0;
    width:min(86vw,360px);
    display:flex;
    align-items:stretch;
    justify-content:flex-start;
    flex-direction:column;
    gap:4px;
    padding:78px 18px 24px;
    background:#fff;
    box-shadow:-24px 0 60px rgba(6,38,72,.18);
    transform:translateX(105%);
    transition:transform .22s ease;
    overflow:auto;
  }
  .ca-site-v350 .nav.is-open{transform:translateX(0)}
  .ca-site-v350 .nav>a{
    padding:13px 14px;
    border-radius:11px;
    font-size:15px;
    font-weight:750;
    color:#143f6f;
  }
  .ca-site-v350 .nav>a:hover{background:#eef7ff;color:#076bd0}
  .ca-site-v350 .mobile-nav-close{
    position:absolute;
    display:grid;
    place-items:center;
    top:18px;right:18px;
    width:42px;height:42px;
    border:1px solid #d9e7f4;
    border-radius:12px;
    background:#fff;
    color:#173f6f;
    font-size:28px;
    line-height:1;
    cursor:pointer;
  }
  .ca-site-v350 .mobile-nav-overlay{
    position:fixed;
    z-index:110;
    inset:0;
    background:rgba(7,28,49,.42);
    opacity:0;
    visibility:hidden;
    transition:.2s ease;
  }
  .ca-site-v350 .mobile-nav-overlay.is-open{opacity:1;visibility:visible}
  .ca-site-v350.nav-open{overflow:hidden}

  .ca-site-v350 .product-hero-grid{grid-template-columns:1fr!important}
  .ca-site-v350 .product-hero-visual{order:-1;min-height:320px;border-radius:22px}
  .ca-site-v350 .cards-grid.cards-5{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ca-site-v350 .split-cards,
  .ca-site-v350 .guide-faq-grid,
  .ca-site-v350 .form-layout,
  .ca-site-v350 .contact-grid{grid-template-columns:1fr!important}
  .ca-site-v350 .pro-article-layout{grid-template-columns:1fr!important}
  .ca-site-v350 .pro-article-side{position:static!important}
  .ca-site-v350 .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* Phones */
@media(max-width:640px){
  :root{--ca-v350-gutter:16px}
  .ca-site-v350 .nav-wrap{min-height:64px}
  .ca-site-v350 .brand img{width:138px}
  .ca-site-v350 .hero,
  .ca-site-v350 .product-hero{min-height:0!important}
  .ca-site-v350 .hero-grid,
  .ca-site-v350 .product-hero-grid{padding-top:24px!important;padding-bottom:30px!important}
  .ca-site-v350 .hero h1,
  .ca-site-v350 .product-hero h1,
  .ca-site-v350 .article-head h1,
  .ca-site-v350 .page-head h1,
  .ca-site-v350 .form-intro h1{
    font-size:clamp(34px,10vw,42px)!important;
    line-height:1.03!important;
    letter-spacing:-.035em!important;
  }
  .ca-site-v350 .section-title h2,
  .ca-site-v350 .section-head h2,
  .ca-site-v350 .unified-section-heading h2{font-size:29px!important;line-height:1.08}
  .ca-site-v350 .hero-actions{display:grid;grid-template-columns:1fr}
  .ca-site-v350 .hero-actions .btn{width:100%}
  .ca-site-v350 .micro-trust{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px}
  .ca-site-v350 .product-hero-visual{min-height:235px!important;border-radius:18px}
  .ca-site-v350 .cards-grid.cards-5,
  .ca-site-v350 .formula-grid,
  .ca-site-v350 .chip-grid,
  .ca-site-v350 .blog-grid,
  .ca-site-v350 .product-grid,
  .ca-site-v350 .benefit-grid,
  .ca-site-v350 .article-grid{grid-template-columns:1fr!important}
  .ca-site-v350 .number-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .ca-site-v350 .mini-card,
  .ca-site-v350 .formula-grid article{padding:18px}
  .ca-site-v350 .unified-summary-card,
  .ca-site-v350 .unified-editorial-card,
  .ca-site-v350 .unified-lexicon-card,
  .ca-site-v350 .dynamic-form{border-radius:18px}
  .ca-site-v350 .unified-guide-card,
  .ca-site-v350 .health-guide-card,
  .ca-site-v350 .auto-guide-card,
  .ca-site-v350 .moto-guide-card,
  .ca-site-v350 .home-guide-card,
  .ca-site-v350 .decennial-guide-card,
  .ca-site-v350 .protection-guide-card{grid-template-columns:1fr!important}
  .ca-site-v350 .unified-guide-visual img,
  .ca-site-v350 .health-guide-visual img,
  .ca-site-v350 .auto-guide-visual img,
  .ca-site-v350 .moto-guide-visual img,
  .ca-site-v350 .home-guide-visual img,
  .ca-site-v350 .decennial-guide-visual img,
  .ca-site-v350 .protection-guide-visual img{
    min-height:230px!important;
    max-height:300px!important;
  }
  .ca-site-v350 .article-content{padding:24px 17px!important;border-radius:18px}
  .ca-site-v350 .article-content h2{font-size:25px!important}
  .ca-site-v350 .article-end-cta{border-radius:18px}
  .ca-site-v350 .footer-grid{grid-template-columns:1fr}
  .ca-site-v350 .footer-bottom{text-align:center}
  .ca-site-v350 .cookie-banner{
    left:10px!important;right:10px!important;bottom:10px!important;
    max-height:70vh;overflow:auto
  }
}
@media(max-width:390px){
  .ca-site-v350 .number-grid{grid-template-columns:1fr!important}
  .ca-site-v350 .micro-trust{grid-template-columns:1fr}
}
