
/* =========================================================
   Centrale Assurances — Mobile / Tablet redesign v3.6.0
   Based on approved mobile mockup.
   ========================================================= */
:root{
 --m-blue:#0876e8;
 --m-blue2:#0b5dcc;
 --m-navy:#082a63;
 --m-soft:#f3f9ff;
 --m-line:#dbe9f7;
 --m-shadow:0 12px 28px rgba(20,76,134,.09);
}

/* universal responsive safety */
@media(max-width:1100px){
 html,body{max-width:100%;overflow-x:hidden!important}
 body.ca-site-v350{width:100%;background:#fff}
 .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:100%!important;
   max-width:100%!important;
   margin-inline:auto!important;
   padding-inline:clamp(18px,3vw,30px)!important;
 }
}

/* header shared tablet/mobile */
.ca-site-v350 .mobile-phone-btn{display:none}
.ca-site-v350 .mobile-nav-head,.ca-site-v350 .mobile-nav-footer{display:none}

@media(max-width:1024px){
 .ca-site-v350 .topbar{display:none!important}
 .ca-site-v350 .header{
   position:sticky!important;top:0;z-index:130;
   background:rgba(255,255,255,.98);
   backdrop-filter:blur(14px);
   border-bottom:1px solid #e2edf7;
   box-shadow:0 6px 20px rgba(11,56,99,.05)
 }
 .ca-site-v350 .nav-wrap{
   min-height:72px!important;
   display:flex!important;align-items:center!important;
   gap:12px!important;padding-block:7px!important
 }
 .ca-site-v350 .brand{flex:0 1 auto;min-width:0}
 .ca-site-v350 .brand img{width:168px!important;max-height:52px!important;object-fit:contain}
 .ca-site-v350 .nav-actions{display:flex!important;align-items:center!important;gap:9px!important;margin-left:auto}
 .ca-site-v350 .desktop-quote-btn{display:none!important}
 .ca-site-v350 .mobile-phone-btn{
   display:inline-flex!important;align-items:center;justify-content:center;gap:7px;
   min-height:42px;padding:0 13px;border-radius:12px;
   background:linear-gradient(135deg,var(--m-blue),var(--m-blue2));
   color:#fff;text-decoration:none;font-size:13px;font-weight:900;
   box-shadow:0 7px 17px rgba(8,118,232,.2)
 }
 .ca-site-v350 .menu-btn{
   display:flex!important;flex-direction:column;align-items:center;justify-content:center;
   gap:4px;width:44px!important;height:44px!important;padding:0!important;
   border:1px solid #d8e5f2!important;border-radius:12px!important;background:#fff!important
 }
 .ca-site-v350 .menu-btn span{
   display:block;width:19px;height:2px;border-radius:2px;background:#123f70
 }
 /* Drawer */
 .ca-site-v350 .nav{
   position:fixed!important;z-index:150!important;
   top:0!important;right:0!important;bottom:0!important;
   width:min(88vw,390px)!important;
   height:100dvh!important;
   display:flex!important;flex-direction:column!important;align-items:stretch!important;
   justify-content:flex-start!important;gap:3px!important;
   padding:0 16px 18px!important;
   background:#fff!important;
   box-shadow:-28px 0 70px rgba(3,30,58,.22)!important;
   transform:translateX(105%)!important;
   transition:transform .23s ease!important;
   overflow-y:auto!important
 }
 .ca-site-v350 .nav.is-open{transform:translateX(0)!important}
 .ca-site-v350 .mobile-nav-head{
   display:flex!important;align-items:center;justify-content:space-between;
   min-height:72px;padding:0 2px 8px;margin-bottom:7px;
   border-bottom:1px solid #e7eef6;color:var(--m-navy);font-size:20px;font-weight:900
 }
 .ca-site-v350 .mobile-nav-close{
   position:static!important;display:grid!important;place-items:center;
   width:42px!important;height:42px!important;border-radius:12px!important;
   border:1px solid #dbe7f2!important;background:#f8fbff!important;
   color:#143f70!important;font-size:26px!important
 }
 .ca-site-v350 .nav>a:not(.mobile-nav-devis):not(.mobile-nav-phone){
   display:flex!important;align-items:center;
   min-height:48px;padding:0 13px!important;border-radius:11px!important;
   color:#173e69!important;text-decoration:none!important;
   font-size:15px!important;font-weight:800!important
 }
 .ca-site-v350 .nav>a:not(.mobile-nav-devis):not(.mobile-nav-phone):hover{
   background:#eef7ff!important;color:#076ccf!important
 }
 .ca-site-v350 .mobile-nav-footer{
   display:grid!important;gap:9px;margin-top:auto;padding-top:18px;
   border-top:1px solid #e6eef6
 }
 .ca-site-v350 .mobile-nav-devis,.ca-site-v350 .mobile-nav-phone{
   display:flex!important;align-items:center;justify-content:center;
   min-height:48px;border-radius:12px;text-decoration:none;font-weight:900
 }
 .ca-site-v350 .mobile-nav-devis{background:linear-gradient(135deg,var(--m-blue),var(--m-blue2));color:#fff!important}
 .ca-site-v350 .mobile-nav-phone{border:1px solid #cfe1f2;background:#f7fbff;color:#125ba8!important}
 .ca-site-v350 .mobile-nav-footer small{text-align:center;color:#728499}
 .ca-site-v350 .mobile-nav-overlay{
   position:fixed!important;z-index:140!important;inset:0!important;
   background:rgba(6,27,48,.48)!important;backdrop-filter:blur(2px);
   opacity:0;visibility:hidden;transition:.2s ease
 }
 .ca-site-v350 .mobile-nav-overlay.is-open{opacity:1!important;visibility:visible!important}
}

/* TABLET 641–1024 */
@media(min-width:641px) and (max-width:1024px){
 .ca-site-v350 .container{padding-inline:28px!important}
 .ca-site-v350 .hero-grid{
   display:grid!important;grid-template-columns:minmax(0,1.08fr) minmax(300px,.92fr)!important;
   gap:28px!important;align-items:center!important
 }
 .ca-site-v350 .hero h1{font-size:clamp(42px,5.5vw,58px)!important}
 .ca-site-v350 .quote-card{padding:22px!important}
 .ca-site-v350 .product-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .ca-site-v350 .benefit-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .ca-site-v350 .article-grid,.ca-site-v350 .blog-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .ca-site-v350 .number-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}
 .ca-site-v350 .cards-grid.cards-5{grid-template-columns:repeat(3,minmax(0,1fr))!important}
 .ca-site-v350 .formula-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .ca-site-v350 .product-hero-grid{
   display:grid!important;grid-template-columns:minmax(0,1fr) minmax(300px,.8fr)!important;
   gap:28px!important
 }
 .ca-site-v350 .product-hero h1{font-size:46px!important}
 .ca-site-v350 .product-hero-visual{min-height:360px!important;border-radius:24px!important}
 .ca-site-v350 .unified-highlight-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .ca-site-v350 .unified-guide-card{grid-template-columns:1fr 1fr!important}
 .ca-site-v350 .pro-article-layout{grid-template-columns:minmax(0,1fr) 280px!important;gap:22px!important}
 .ca-site-v350 .pro-article-side{position:sticky!important;top:92px!important;display:grid!important}
 .ca-site-v350 .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}

/* MOBILE <=640 : mockup-inspired */
@media(max-width:640px){
 .ca-site-v350 .container{padding-inline:16px!important}
 .ca-site-v350 .nav-wrap{min-height:64px!important}
 .ca-site-v350 .brand img{width:136px!important}
 .ca-site-v350 .mobile-phone-btn{min-height:40px;padding:0 10px!important;font-size:12px!important}
 .ca-site-v350 .mobile-phone-btn span{display:inline}
 .ca-site-v350 .menu-btn{width:42px!important;height:42px!important}

 /* clean vertical rhythm */
 .ca-site-v350 .section,.ca-site-v350 .content-section{padding-block:34px!important}
 .ca-site-v350 .section-head,.ca-site-v350 .section-title{margin-bottom:18px!important}
 .ca-site-v350 .section-head{align-items:flex-start!important}
 .ca-site-v350 .section-head>a{font-size:12px!important}

 /* hero from mockup: compact, image not causing drift */
 .ca-site-v350 .hero{
   background:linear-gradient(180deg,#fff 0%,#f4f9ff 100%)!important;
   min-height:0!important
 }
 .ca-site-v350 .hero-grid{
   display:flex!important;flex-direction:column!important;gap:16px!important;
   padding-top:22px!important;padding-bottom:22px!important
 }
 .ca-site-v350 .hero-copy{order:1!important}
 .ca-site-v350 .hero h1{
   font-size:34px!important;line-height:1.02!important;letter-spacing:-.035em!important;
   margin:8px 0 12px!important
 }
 .ca-site-v350 .hero-copy p{font-size:15px!important;line-height:1.55!important}
 .ca-site-v350 .hero-actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important}
 .ca-site-v350 .hero-actions .btn{min-height:46px!important;padding:0 10px!important;font-size:12px!important}
 .ca-site-v350 .hero-trust{
   display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;
   gap:8px!important;margin-top:12px!important
 }
 .ca-site-v350 .hero-trust span{
   padding:9px 10px;border:1px solid #e0edf8;border-radius:12px;background:#fff;
   text-align:center;font-size:11px!important
 }

 /* quote card prominent */
 .ca-site-v350 .quote-card{
   order:2!important;width:100%!important;padding:17px!important;
   border:1px solid #dce9f7!important;border-radius:18px!important;
   background:#fff!important;box-shadow:var(--m-shadow)!important
 }
 .ca-site-v350 .quote-card h2{font-size:21px!important;margin-bottom:4px!important}
 .ca-site-v350 .quote-card p{font-size:13px!important}
 .ca-site-v350 .quote-card select,.ca-site-v350 .quote-card input{
   min-height:48px!important;border-radius:11px!important;font-size:16px!important
 }
 .ca-site-v350 .quote-submit{min-height:49px!important}

 /* proof strip */
 .ca-site-v350 .numbers{padding:12px 0!important;background:#f8fbff!important}
 .ca-site-v350 .number-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
 .ca-site-v350 .number-grid>div{
   min-height:105px;padding:12px 9px!important;border-radius:14px!important;background:#fff;
   border:1px solid #e1edf8;text-align:center
 }
 .ca-site-v350 .number-grid i{font-size:22px!important}
 .ca-site-v350 .number-grid strong{font-size:14px!important}
 .ca-site-v350 .number-grid span{font-size:11px!important}

 /* product cards 2 columns exactly like mockup */
 .ca-site-v350 .product-grid{
   display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;
   gap:10px!important
 }
 .ca-site-v350 .product-card{
   display:flex!important;flex-direction:column!important;min-height:185px!important;
   padding:12px!important;border-radius:16px!important;
   border:1px solid #dce9f7!important;background:#fff!important;
   box-shadow:0 8px 20px rgba(17,70,124,.06)!important
 }
 .ca-site-v350 .product-card .product-image{
   height:82px!important;margin:0 0 8px!important;border-radius:12px!important;overflow:hidden!important;
   background:#f4f9ff!important
 }
 .ca-site-v350 .product-card .product-image img{width:100%!important;height:100%!important;object-fit:contain!important}
 .ca-site-v350 .product-card h3{font-size:14px!important;margin:3px 0 5px!important}
 .ca-site-v350 .product-card p{font-size:11px!important;line-height:1.35!important;margin:0 0 8px!important}
 .ca-site-v350 .product-card>a{margin-top:auto!important;font-size:11px!important}

 /* benefits */
 .ca-site-v350 .benefit-grid{
   display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important
 }
 .ca-site-v350 .benefit-grid>div{
   padding:15px 10px!important;border-radius:14px!important;text-align:center!important
 }
 .ca-site-v350 .benefit-grid h3{font-size:13px!important}
 .ca-site-v350 .benefit-grid p{font-size:11px!important}

 /* blog cards horizontal/compact */
 .ca-site-v350 .home-article-grid,.ca-site-v350 .article-grid{
   grid-template-columns:1fr!important;gap:10px!important
 }
 .ca-site-v350 .home-article-grid article{
   display:grid!important;grid-template-columns:118px minmax(0,1fr)!important;
   min-height:120px!important;border-radius:15px!important;overflow:hidden!important
 }
 .ca-site-v350 .home-article-grid article>img{width:118px!important;height:100%!important;min-height:120px!important;object-fit:cover!important}
 .ca-site-v350 .home-article-grid article>div{padding:12px!important}
 .ca-site-v350 .home-article-grid h3{font-size:14px!important;margin:0 0 5px!important}
 .ca-site-v350 .home-article-grid p{font-size:11px!important;line-height:1.4!important}

 /* product pages */
 .ca-site-v350 .product-hero-grid{display:flex!important;flex-direction:column!important;gap:14px!important;padding-block:18px 24px!important}
 .ca-site-v350 .product-hero-visual,.ca-site-v350 .product-hero-mobile-media{
   order:1!important;width:100%!important;min-height:0!important;aspect-ratio:16/9!important;
   border-radius:18px!important;background-size:cover!important;background-position:center!important
 }
 .ca-site-v350 .product-hero-copy{order:2!important}
 .ca-site-v350 .product-hero h1{font-size:32px!important}
 .ca-site-v350 .micro-trust{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .ca-site-v350 .cards-grid.cards-5{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
 .ca-site-v350 .mini-card{padding:14px!important}
 .ca-site-v350 .mini-card h3{font-size:14px!important}
 .ca-site-v350 .mini-card p{font-size:11.5px!important}
 .ca-site-v350 .icon-orb{width:44px!important;height:44px!important}

 /* long forms / guides */
 .ca-site-v350 .unified-highlight-grid,.ca-site-v350 .unified-faq-grid,.ca-site-v350 .unified-lexicon-copy{grid-template-columns:1fr!important}
 .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{display:flex!important;flex-direction:column!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{width:100%!important;height:auto!important;aspect-ratio:16/9!important;object-fit:cover!important}
 .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{padding:18px 15px!important}

 /* forms */
 .ca-site-v350 .dynamic-form{padding:17px!important;border-radius:18px!important}
 .ca-site-v350 .dynamic-form input,.ca-site-v350 .dynamic-form select,.ca-site-v350 .dynamic-form textarea{font-size:16px!important}

 /* article */
 .ca-site-v350 .article-head{padding:32px 0 22px!important}
 .ca-site-v350 .article-head h1{font-size:32px!important}
 .ca-site-v350 .article-cover{border-radius:17px!important}
 .ca-site-v350 .article-content{padding:18px 15px!important;border-radius:17px!important}
 .ca-site-v350 .article-content h2{font-size:23px!important}
 .ca-site-v350 .pro-article-side{grid-template-columns:1fr!important}

 /* CTA + footer */
 .ca-site-v350 .cta-inner,.ca-site-v350 .final-cta .container{flex-direction:column!important;align-items:stretch!important}
 .ca-site-v350 .footer-grid{grid-template-columns:1fr 1fr!important;gap:18px!important}
 .ca-site-v350 .footer-grid>div:first-child,.ca-site-v350 .footer-grid>div:last-child{grid-column:1/-1!important}
 .ca-site-v350 .footer-bottom{text-align:center!important}
}

/* ultra small phones */
@media(max-width:390px){
 .ca-site-v350 .container{padding-inline:14px!important}
 .ca-site-v350 .mobile-phone-btn span{display:none!important}
 .ca-site-v350 .mobile-phone-btn{width:42px!important;padding:0!important}
 .ca-site-v350 .brand img{width:130px!important}
 .ca-site-v350 .hero-actions{grid-template-columns:1fr!important}
 .ca-site-v350 .product-grid{grid-template-columns:1fr 1fr!important}
 .ca-site-v350 .cards-grid.cards-5{grid-template-columns:1fr 1fr!important}
 .ca-site-v350 .footer-grid{grid-template-columns:1fr!important}
 .ca-site-v350 .footer-grid>div{grid-column:auto!important}
}

/* avoid legacy transforms/fixed widths creating horizontal gaps */
@media(max-width:1024px){
 .ca-site-v350 .product-card,.ca-site-v350 .mini-card,.ca-site-v350 .blog-card,
 .ca-site-v350 .quote-card,.ca-site-v350 .dynamic-form,.ca-site-v350 .quick-quote,
 .ca-site-v350 .unified-guide-card,.ca-site-v350 .article-content{
   max-width:100%!important;transform:none
 }
}
