/* SMART C&P — V76 hub régional Occitanie */
.occ-hero .tl-hero-grid{min-height:565px}
.occ-hero-visual{position:relative;min-height:545px;isolation:isolate;overflow:visible}
.occ-hero-visual::before{content:"";position:absolute;inset:4% -7% 0 2%;border-radius:48%;background:radial-gradient(circle at 30% 44%,rgba(10,174,185,.13),rgba(122,35,126,.075) 46%,transparent 73%);z-index:-5}
.occ-map-card{position:absolute;left:-3%;top:7%;width:73%;z-index:0;padding:12px;border-radius:26px;background:rgba(255,255,255,.82);border:1px solid rgba(122,35,126,.11);box-shadow:0 20px 46px rgba(15,25,56,.09);backdrop-filter:blur(3px)}
.occ-map-image{display:block;width:100%;height:auto;border-radius:18px;filter:saturate(.94) contrast(.98)}
.occ-region-badge{position:absolute;z-index:4;right:2%;top:2%;display:flex;align-items:center;gap:11px;padding:9px 14px 9px 9px;border-radius:16px;background:rgba(255,255,255,.96);border:1px solid rgba(122,35,126,.13);box-shadow:0 13px 28px rgba(15,25,56,.10)}
.occ-region-badge img{width:48px;height:48px;border-radius:12px;object-fit:cover;box-shadow:inset 0 0 0 1px rgba(255,255,255,.4)}
.occ-region-badge span{display:grid;gap:1px;color:#0f1938}.occ-region-badge strong{font-size:14px}.occ-region-badge small{font-size:10px;color:#6b7488;font-weight:700}
.occ-region-title{position:absolute;left:5%;bottom:4%;z-index:4;font-family:"Caveat",cursive;font-size:clamp(34px,3.8vw,54px);font-weight:700;color:var(--purple);transform:rotate(-3deg);text-shadow:0 2px 14px rgba(255,255,255,.95)}
.occ-laptop{position:absolute!important;z-index:3!important;width:59%!important;max-width:none!important;height:auto!important;right:-7%;bottom:0;transform:perspective(1200px) rotateY(-10deg) rotateZ(-1deg)!important;transform-origin:center bottom;filter:drop-shadow(0 28px 36px rgba(15,25,56,.16))!important}

.occ-zone-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
.occ-zone-card{position:relative;min-height:225px;padding:24px 20px 20px;border-radius:13px;border:1px solid #e4e7ee;background:#fff;box-shadow:0 10px 26px rgba(15,25,56,.045);overflow:hidden}
.occ-zone-card--featured{border-color:rgba(122,35,126,.28);box-shadow:0 13px 30px rgba(122,35,126,.09)}
.occ-zone-number{display:inline-grid;place-items:center;width:42px;height:42px;margin-bottom:17px;border-radius:12px;background:linear-gradient(135deg,#762375,#962d8e);color:#fff;font-weight:800;font-size:14px}
.occ-zone-card h3{margin:0 0 9px;color:var(--navy);font-size:17px}.occ-zone-card p{margin:0;color:#5a6579;font-size:12px;line-height:1.58}.occ-zone-card a{display:inline-flex;margin-top:16px;color:var(--purple);text-decoration:none;font-size:12px;font-weight:800}.occ-zone-card a:hover{text-decoration:underline}
.occ-zone-status{display:inline-block;margin-top:16px;padding:6px 9px;border-radius:999px;background:#f5f1f7;color:#7b4a7d;font-size:10px;font-weight:700}
.occ-all-departments{margin-top:18px;padding:16px 18px;border-radius:11px;background:#fff;border:1px solid #e6e8ef;color:#687389;font-size:12px;line-height:1.6}.occ-all-departments strong{color:var(--navy)}

.occ-presence{display:grid;grid-template-columns:1.3fr .7fr;gap:42px;align-items:center}.occ-presence h2{margin:0 0 14px;font-size:clamp(30px,3.3vw,42px);line-height:1.08;letter-spacing:-.04em}.occ-presence p:not(.tl-kicker){margin:0;color:#536078;font-size:14px;line-height:1.7;max-width:720px}.occ-presence-card{display:flex;align-items:center;gap:15px;padding:22px;border-radius:14px;background:#fff;border:1px solid #e4e7ee;box-shadow:0 12px 28px rgba(15,25,56,.05)}.occ-presence-card img{width:46px;height:46px;object-fit:contain}.occ-presence-card div{display:grid;gap:4px}.occ-presence-card strong{color:var(--navy);font-size:14px}.occ-presence-card span{color:#647087;font-size:12px;line-height:1.45}

@media(max-width:1120px){
  .occ-zone-grid{grid-template-columns:repeat(3,1fr)}
  .occ-hero-visual{min-height:470px}
  .occ-map-card{left:0;top:8%;width:72%}
  .occ-laptop{width:56%!important;right:-1%;bottom:0;transform:perspective(1100px) rotateY(-8deg) rotateZ(-1deg)!important}
  .occ-region-badge{right:2%;top:3%}
}
@media(max-width:780px){
  .occ-zone-grid{grid-template-columns:1fr 1fr}.occ-presence{grid-template-columns:1fr}
  .occ-hero-visual{min-height:430px;margin-top:10px}
  .occ-map-card{left:0;top:8%;width:74%;padding:8px;border-radius:20px}
  .occ-laptop{width:58%!important;right:-4%;bottom:0}
  .occ-region-badge{right:0;top:1%;padding:7px 10px 7px 7px}.occ-region-badge img{width:40px;height:40px}.occ-region-badge strong{font-size:12px}
  .occ-region-title{left:3%;bottom:3%;font-size:36px}
}
@media(max-width:520px){
  .occ-zone-grid{grid-template-columns:1fr}
  .occ-hero-visual{min-height:345px;overflow:hidden}
  .occ-map-card{left:-8%;top:10%;width:84%;padding:6px}
  .occ-laptop{width:55%!important;right:-7%;bottom:1%;transform:perspective(900px) rotateY(-7deg) rotateZ(-1deg)!important}
  .occ-region-badge{right:2%;top:2%}.occ-region-badge small{display:none}.occ-region-badge img{width:34px;height:34px}.occ-region-badge span{display:none}
  .occ-region-title{left:2%;bottom:2%;font-size:30px}
}

/* V76.1 — placement laptop robuste */
.occ-laptop{width:58%!important;right:-6%;bottom:1%;transform:rotate(-1.4deg)!important}
@media(max-width:1120px){.occ-laptop{width:56%!important;right:-1%;transform:rotate(-1deg)!important}}
@media(max-width:780px){.occ-laptop{width:58%!important;right:-4%;transform:rotate(-.8deg)!important}}
@media(max-width:520px){.occ-laptop{width:55%!important;right:-7%;transform:rotate(-.8deg)!important}}

/* V76.2 — Occitanie : approche carte + identité régionale, sans laptop */
.occ-map-card{left:1%;top:5%;width:86%;padding:14px;border-radius:28px;box-shadow:0 24px 52px rgba(15,25,56,.11)}
.occ-map-image{border-radius:20px}
.occ-region-badge{right:0;top:4%;padding:11px 16px 11px 11px;border-radius:18px}
.occ-region-badge img{width:62px;height:62px;border-radius:14px}
.occ-region-badge strong{font-size:15px}.occ-region-badge small{font-size:10.5px}
.occ-region-title{left:7%;bottom:2%;font-size:clamp(38px,4vw,58px)}
@media(max-width:1120px){.occ-map-card{left:1%;width:84%}.occ-region-badge img{width:54px;height:54px}}
@media(max-width:780px){.occ-map-card{left:0;width:88%}.occ-region-badge{right:0}.occ-region-title{left:4%}}
@media(max-width:520px){.occ-map-card{left:-5%;width:96%}.occ-region-badge{right:1%;top:2%}.occ-region-badge img{width:42px;height:42px}.occ-region-title{left:2%;font-size:31px}}


/* V81 — corps de page régional Occitanie avec carrousel départements */
.occ-slider-shell{position:relative;margin-top:10px}
.occ-slider-nav{display:flex;justify-content:flex-end;gap:10px;margin:0 0 14px}
.occ-slider-btn{display:inline-grid;place-items:center;width:42px;height:42px;border-radius:999px;border:1px solid #d9ddea;background:#fff;color:var(--purple);box-shadow:0 8px 20px rgba(15,25,56,.05);cursor:pointer;transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease}
.occ-slider-btn:hover{transform:translateY(-1px);border-color:rgba(122,35,126,.28);box-shadow:0 12px 24px rgba(15,25,56,.08)}
.occ-slider-btn:disabled{opacity:.45;cursor:not-allowed;transform:none;box-shadow:none}
.occ-slider-btn svg{width:18px;height:18px}
.occ-slider-track{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 54px)/4);gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:2px 2px 10px}
.occ-slider-track::-webkit-scrollbar{display:none}
.occ-zone-card{scroll-snap-align:start;display:flex;flex-direction:column}
.occ-zone-card p{flex:1}
.occ-zone-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-top:16px}
.occ-zone-chip{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;background:#f5f1f7;color:#7b4a7d;font-size:10px;font-weight:700;line-height:1.2}
.occ-zone-link{display:inline-flex;align-items:center;gap:6px;color:var(--purple);text-decoration:none;font-size:12px;font-weight:800}
.occ-zone-link:hover{text-decoration:underline}
.occ-zone-link--muted{color:#7f8799;pointer-events:none;text-decoration:none}
@media(max-width:1120px){.occ-slider-track{grid-auto-columns:calc((100% - 36px)/3)}}
@media(max-width:780px){.occ-slider-track{grid-auto-columns:calc((100% - 18px)/2)}.occ-slider-nav{justify-content:flex-start}}
@media(max-width:520px){.occ-slider-track{grid-auto-columns:100%}}
