/* AEC — composants partagés : cartes bien, carrousel, cartes carnet, réassurance, têtes de section. */
.hwrap{max-width:1240px;margin:0 auto;padding:0 32px;}
.shead{max-width:640px;}
.shead.center{margin:0 auto;text-align:center;}
.shead p{font-family:var(--aec-disp);font-style:italic;font-size:1.15rem;line-height:1.5;color:var(--aec-mut);margin:14px 0 0;}
.link{display:inline-flex;align-items:center;gap:10px;color:var(--aec-ch);text-decoration:none;font-size:.8rem;font-weight:600;letter-spacing:2px;text-transform:uppercase;border-bottom:1px solid var(--aec-ch);padding-bottom:5px;transition:gap .25s,color .25s,border-color .25s;}
.link:hover{gap:16px;color:var(--aec-t);border-color:var(--aec-cop);}
.link::after{content:"→";}
.pc{background:#fff;border:1px solid var(--aec-st);border-radius:6px;overflow:hidden;transition:transform .3s,box-shadow .3s;display:flex;flex-direction:column;height:100%;}
.pc:hover{transform:translateY(-5px);box-shadow:0 22px 48px rgba(20,14,8,.13);}
.pc__a{text-decoration:none;color:inherit;display:flex;flex-direction:column;flex:1;}
.pc__img{height:220px;position:relative;background-size:cover;background-position:center;background-color:#0e2f37;transition:transform .8s cubic-bezier(.2,.7,.2,1);overflow:hidden;}
.pc__img>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.pc:hover .pc__img{transform:scale(1.055);}
.pc__tag{position:absolute;top:12px;left:12px;background:rgba(255,255,255,.94);color:var(--aec-t);font-size:.62rem;font-weight:700;letter-spacing:1px;text-transform:uppercase;padding:5px 12px;border-radius:2px;}
.pc__b{padding:26px 22px 22px;display:flex;flex-direction:column;flex:1;}
/* Titre réservé sur 2 lignes (1 ou 2 lignes = même hauteur) → alignement des niveaux entre cartes. */
.pc__b h3{font-family:var(--aec-disp);font-weight:500;font-size:1.18rem;color:var(--aec-t);margin:0 0 3px;line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.5em;}
.pc__loc{display:flex;align-items:center;gap:11px;flex-wrap:wrap;font-size:.85rem;color:var(--aec-mut);margin:0 0 16px;}
.pc__loc-t{white-space:nowrap;}
/* Piste B — carte premium : localisation sous le titre, meta en toutes lettres, chips texte */
.pc__place{display:block;font-size:.85rem;color:var(--aec-cop);margin:0 0 10px;line-height:1.3;}
.pc__specs{font-size:.83rem;color:var(--aec-mut);margin:0 0 14px;}
.pc__chips{display:flex;flex-wrap:wrap;gap:7px;margin:0 0 16px;}
.pc__chip{font-size:.72rem;color:var(--aec-t);border:1px solid var(--aec-st);background:var(--aec-iv);padding:5px 11px;border-radius:2px;letter-spacing:.2px;line-height:1.25;}
/* Prix + Découvrir poussés en bas de la carte → toujours alignés. */
.pc__foot{display:flex;justify-content:space-between;align-items:center;padding-top:14px;border-top:1px solid var(--aec-st);margin-top:auto;}
.pc__facts{font-size:.8rem;color:var(--aec-mut);}
.pc__facts b{color:var(--aec-t);}
.pc__feats{display:inline-flex;gap:11px;align-items:center;}
.pc__feat{position:relative;display:inline-flex;cursor:default;}
.pc__feat svg{width:20px;height:20px;fill:none;stroke:var(--aec-cop);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s;}
.pc__feat:hover svg{transform:translateY(-2px);}
.pc__feat::after{content:attr(data-label);position:absolute;bottom:calc(100% + 9px);right:-3px;left:auto;transform:translateY(4px);background:var(--aec-t);color:var(--aec-iv);font-family:var(--aec-sans);font-size:.7rem;font-weight:500;letter-spacing:.2px;white-space:nowrap;padding:5px 9px;border-radius:7px;opacity:0;pointer-events:none;transition:opacity .18s,transform .18s;box-shadow:0 8px 20px rgba(10,30,35,.24);z-index:6;}
.pc__feat::before{content:"";position:absolute;bottom:calc(100% + 4px);right:5px;left:auto;border:5px solid transparent;border-top-color:var(--aec-t);opacity:0;transition:opacity .18s;z-index:6;}
.pc__feat:hover::after{opacity:1;transform:translateY(0);}
.pc__feat:hover::before{opacity:1;}
.pc__link{font-size:.72rem;font-weight:700;letter-spacing:.8px;text-transform:uppercase;color:var(--aec-cop);}
.ccar-wrap{overflow:hidden;}
.ccar{display:flex;gap:24px;overflow-x:auto;padding:6px max(32px,calc(50vw - 620px)) 22px;scrollbar-width:none;-webkit-overflow-scrolling:touch;cursor:grab;user-select:none;}
.ccar.is-drag{cursor:grabbing;}
.ccar.is-drag a{pointer-events:none;}
.ccar img,.ccar a{-webkit-user-drag:none;}
.ccar::-webkit-scrollbar{display:none;}
.ccar>.pc{flex:0 0 350px;}
@media(max-width:600px){.ccar>.pc{flex:0 0 84vw;}}
.bc{text-decoration:none;display:block;}
.bc__img{height:240px;border-radius:16px;margin-bottom:18px;background-size:cover;background-position:center;background-color:#0e2f37;transition:transform .5s,box-shadow .5s;}
.bc:hover .bc__img{transform:scale(1.03);box-shadow:0 20px 44px rgba(20,14,8,.16);}
.bc__eye{font-size:.66rem;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--aec-cop);}
.bc__b h3{font-family:var(--aec-disp);font-weight:500;font-size:1.28rem;color:var(--aec-t);margin:8px 0 6px;line-height:1.2;}
.bc__b p{font-size:.9rem;color:var(--aec-mut);margin:0;}
.bc__cta{display:inline-block;margin-top:14px;font-family:var(--aec-sans);font-size:.72rem;font-weight:700;letter-spacing:1.3px;text-transform:uppercase;color:var(--aec-cop);transition:letter-spacing .25s,color .2s;}
.bc:hover .bc__cta{letter-spacing:2.4px;color:var(--aec-t);}
.ccar--blog>.bc{flex:0 0 400px;}
@media(max-width:600px){.ccar--blog>.bc{flex:0 0 84vw;}}
.re__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;margin-top:44px;}
.re__i{text-align:center;}
.re__ic{width:36px;height:36px;stroke:var(--aec-cop);fill:none;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round;margin:0 auto 14px;display:block;}
.re__i h4{font-family:var(--aec-disp);font-weight:500;font-size:1.08rem;color:var(--aec-t);margin:0 0 7px;}
.re__i p{font-size:.88rem;color:var(--aec-mut);margin:0;line-height:1.5;}
@media(max-width:820px){.re__grid{grid-template-columns:1fr 1fr;gap:26px;}}

/* ===== coeur favoris sur les cartes ===== */
.pcfav{position:absolute;top:10px;right:10px;z-index:3;width:30px;height:30px;border-radius:50%;border:0;background:rgba(255,255,255,.22);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:.9;transition:transform .2s,background .2s,opacity .2s;}
.pcfav:hover{transform:scale(1.08);background:rgba(255,255,255,.5);opacity:1;}
.pcfav svg{width:16px;height:16px;fill:none;stroke:#fff;stroke-width:1.7;filter:drop-shadow(0 1px 2px rgba(10,30,35,.5));transition:fill .2s,stroke .2s;}
.pcfav.is-on{background:rgba(255,255,255,.55);}
.pcfav.is-on svg{fill:var(--aec-cop);stroke:var(--aec-cop);filter:none;}
/* ===== Galerie carousel des cards (listing) ===== */
.pc__gal{position:relative;height:220px;overflow:hidden;background:#0e2f37;}
.pc__track{display:flex;height:100%;transition:transform .35s cubic-bezier(.4,0,.2,1);}
.pc__slide{flex:0 0 100%;height:100%;position:relative;background:#0e2f37;}
/* Shimmer uniquement pendant le chargement d'un slide (jamais en continu -> perf) */
.pc__slide:has(img.pc-load){background:linear-gradient(100deg,#0e2f37 25%,#1c4a56 50%,#0e2f37 75%);background-size:200% 100%;animation:pcshim 1.5s linear infinite;}
.pc__slide img{width:100%;height:100%;object-fit:cover;display:block;opacity:1;transition:opacity .5s ease;}
.pc__slide img.pc-load{opacity:0;}
@keyframes pcshim{from{background-position:200% 0}to{background-position:-200% 0}}
@media(prefers-reduced-motion:reduce){.pc__slide:has(img.pc-load){animation:none;}}
.pc__more{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:2;background:rgba(255,255,255,.95);color:var(--aec-t);padding:9px 20px;border-radius:999px;font-family:var(--aec-sans);font-weight:600;font-size:.82rem;letter-spacing:.2px;box-shadow:0 4px 14px rgba(10,30,35,.25);white-space:nowrap;pointer-events:none;transition:transform .28s cubic-bezier(.2,.7,.3,1),box-shadow .28s,background .28s;}
.pc:hover .pc__more{transform:translate(-50%,-50%) scale(1.07);background:#fff;box-shadow:0 10px 26px rgba(10,30,35,.34);}
.pc__cover{position:absolute;inset:0;z-index:1;}
.pc__nav{position:absolute;top:50%;transform:translateY(-50%);z-index:2;width:30px;height:30px;border-radius:50%;border:0;background:rgba(255,255,255,.92);color:var(--aec-t);font-size:20px;line-height:1;padding:0 0 2px;display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;transition:opacity .2s,background .2s;box-shadow:0 2px 8px rgba(10,30,35,.2);}
.pc__nav--prev{left:10px;}
.pc__nav--next{right:10px;}
.pc:hover .pc__nav:not([hidden]){opacity:1;}
.pc__nav:hover{background:#fff;}
@media(hover:none){.pc__nav:not([hidden]){opacity:.92;}}
.pc__dots{position:absolute;bottom:10px;left:0;right:0;z-index:2;display:flex;gap:5px;justify-content:center;pointer-events:none;}
.pc__dots i{width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,.55);transition:background .2s,transform .2s;}
.pc__dots i.is-on{background:#fff;transform:scale(1.2);}
/* Coeur déplacé dans le corps de la card (cards à galerie uniquement) */
.pc__gal ~ .pc__b{position:relative;}
.pc__gal ~ .pc__b h3{padding-right:32px;}
.pc__gal ~ .pc__b .pcfav{position:absolute;top:22px;right:14px;width:auto;height:auto;background:none;-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:none;opacity:1;}
.pc__gal ~ .pc__b .pcfav svg{width:21px;height:21px;stroke:var(--aec-t);filter:none;}
.pc__gal ~ .pc__b .pcfav:hover{background:none;transform:scale(1.12);}
.pc__gal ~ .pc__b .pcfav.is-on svg{fill:var(--aec-cop);stroke:var(--aec-cop);}
