/* TOTO VTC V4 - destinations - extracted from page template. */
:root {
            --black:#090909;
            --black-soft:#14171b;
            --bone:#f5efe5;
            --bone-dark:#e8dfd2;
            --white:#fff;
            --orange:#ffffff;
            --orange-dark:#d9d9d9;
            --muted:#aaa49c;
            --line-dark:rgba(255,255,255,.15);
            --line-light:rgba(9,9,9,.16);
            --max:1240px;
            --radius:24px;
        }
        *{box-sizing:border-box}
        html{scroll-behavior:smooth}
        body{margin:0;background:var(--black);color:var(--white);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}
        body.menu-open{overflow:hidden}
        a{color:inherit;text-decoration:none}
        img{display:block;max-width:100%}
        button,input{font:inherit}
        .skip-link{position:fixed;z-index:1000;top:10px;left:10px;padding:10px 14px;border-radius:10px;background:#fff;color:#000;transform:translateY(-150%)}
        .skip-link:focus{transform:none}
        .container{width:min(calc(100% - 40px),var(--max));margin-inline:auto}
        .nav-wrap{position:fixed;z-index:100;top:0;left:0;right:0;padding:12px 0;pointer-events:none}
        .nav{min-height:66px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:9px 14px;border:1px solid rgba(9,9,9,.13);border-radius:25px;background:rgba(255,255,255,.92);box-shadow:0 16px 44px rgba(0,0,0,.12);backdrop-filter:blur(16px);pointer-events:auto}
        .brand img{width:106px;height:46px;object-fit:contain}
        .nav-links{display:flex;align-items:center;gap:5px}
        .nav-links a{position:relative;padding:12px 14px;border-radius:999px;color:#171717;font-size:12px;font-weight:850;white-space:nowrap}
        .nav-links a:hover,.nav-links a.is-active{background:#090909;color:#fff;box-shadow:0 10px 22px rgba(0,0,0,.2)}
        .nav-actions{display:flex;align-items:center;gap:8px}
        .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:fit-content;padding:13px 17px;border:1px solid transparent;border-radius:999px;font-size:12px;font-weight:900;line-height:1;transition:transform .2s ease,background .2s ease,color .2s ease,box-shadow .2s ease}
        .btn:hover{transform:translateY(-2px)}
        .btn-dark{background:#090909;color:#fff;box-shadow:0 10px 24px rgba(0,0,0,.18)}
        .btn-orange{background:var(--orange);color:#090909;box-shadow:0 12px 28px rgba(255,93,56,.24)}
        .btn-light{background:#fff;color:#090909;box-shadow:0 10px 24px rgba(0,0,0,.18)}
        .btn-outline{border-color:rgba(9,9,9,.24);background:transparent;color:#090909}
        .mobile-toggle{display:none;width:44px;height:44px;border:1px solid #d7d7d7;border-radius:50%;background:#fff;color:#090909;font-size:20px}
        .hero{position:relative;min-height:780px;padding:132px 0 56px;overflow:hidden;background:#0b0c0e}
        .hero::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,6,8,.97) 0%,rgba(5,6,8,.82) 45%,rgba(5,6,8,.36) 100%),url("/wp-content/uploads/2026/07/totovtc-destination-loire-atlantique-v4.webp") center/cover no-repeat}
        .hero::after{content:"";position:absolute;inset:auto -160px -240px auto;width:620px;height:620px;border-radius:50%;background:rgba(255,93,56,.18);filter:blur(10px)}
        .hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(330px,.55fr);gap:70px;align-items:end;min-height:590px}
        .eyebrow{display:flex;align-items:center;gap:11px;margin:0 0 20px;font-size:11px;font-weight:950;letter-spacing:.15em;text-transform:uppercase}
        .eyebrow::before{content:"";width:30px;height:2px;background:currentColor}
        .hero h1{max-width:850px;margin:0;font-size:clamp(60px,7.6vw,112px);letter-spacing:-.058em;line-height:.86}
        .hero-tagline{max-width:700px;margin:24px 0 0;color:rgba(255,255,255,.88);font-size:14px;font-weight:800;letter-spacing:.025em;line-height:1.5}
        .hero-copy{max-width:700px;margin:14px 0 0;color:rgba(255,255,255,.72);font-size:17px;line-height:1.65}
        .hero-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:30px}
        .territory-panel{display:grid;gap:10px;padding:18px;border:1px solid rgba(255,255,255,.18);border-radius:var(--radius);background:rgba(10,11,13,.72);backdrop-filter:blur(14px)}
        .territory-stat{display:grid;grid-template-columns:72px 1fr;gap:14px;align-items:center;padding:18px;border:1px solid rgba(255,255,255,.11);border-radius:18px;background:rgba(255,255,255,.05)}
        .territory-stat:nth-child(1){background:linear-gradient(90deg,rgba(183,47,39,.3) 0%,rgba(183,47,39,.1) 38%,rgba(255,255,255,.05) 78%)}
        .territory-stat:nth-child(2){background:linear-gradient(90deg,rgba(0,107,117,.32) 0%,rgba(0,107,117,.1) 38%,rgba(255,255,255,.05) 78%)}
        .territory-stat strong{font-size:36px;color:var(--orange)}
        .territory-stat span{font-size:13px;font-weight:850}
        .territory-stat small{display:block;margin-top:4px;color:rgba(255,255,255,.58);font-size:10px}
        .ticker{overflow:hidden;border-top:1px solid rgba(255,255,255,.12);border-bottom:1px solid rgba(255,255,255,.12);background:#0d0e10}
        .ticker-track{width:max-content;display:flex;align-items:center;gap:24px;padding:18px 0;animation:ticker 34s linear infinite}
        .ticker-track span{font-size:11px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
        .ticker-track i{width:6px;height:6px;border-radius:50%;background:var(--orange)}
        @keyframes ticker{to{transform:translateX(-50%)}}
        .section{padding:105px 0}
        .bone{background:var(--bone);color:#171411}
        #communes{background:#f9f8f5}
        .dark{background:#090a0c;color:#fff}
        .section-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(290px,.55fr);gap:48px;align-items:end;margin-bottom:42px}
        .section-head h2{margin:0;font-size:clamp(46px,6vw,82px);letter-spacing:-.052em;line-height:.9}
        .section-head>p{margin:0;color:#716a62;font-size:15px;line-height:1.65}
        .dark .section-head>p{color:rgba(255,255,255,.62)}
        .directory-tools{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;margin-bottom:18px;padding:12px;border:1px solid #ded4c8;border-radius:18px;background:rgba(255,255,255,.65)}
        .directory-search{width:100%;padding:14px 16px;border:0;outline:0;border-radius:12px;background:#fff;color:#171411;font-weight:700}
        .directory-count{padding:10px 13px;border-radius:999px;background:#090909;color:#fff;font-size:10px;font-weight:900;white-space:nowrap}
        .territory-directory{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
        .territory-column{position:relative;overflow:hidden;padding:28px;border:1px solid rgba(255,255,255,.12);border-radius:var(--radius);background:#17191c;color:#fff;box-shadow:0 20px 45px rgba(13,15,17,.11)}
        .territory-column::before{position:absolute;z-index:0;top:-120px;right:-8%;left:-8%;height:250px;border-radius:50%;filter:blur(24px);pointer-events:none;content:""}
        .territory-column--vendee::before,.territory-column:nth-child(1)::before{background:radial-gradient(ellipse at center,rgba(183,47,39,.26),rgba(183,47,39,.08) 43%,transparent 72%)}
        .territory-column--loire-atlantique::before,.territory-column:nth-child(2)::before{background:radial-gradient(ellipse at center,rgba(0,107,117,.29),rgba(0,107,117,.09) 43%,transparent 72%)}
        .territory-column>*{position:relative;z-index:1}
        .territory-column-head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:20px;padding-bottom:22px;border-bottom:1px solid rgba(255,255,255,.13)}
        .territory-column h3{margin:0;font-size:clamp(30px,3.7vw,50px);letter-spacing:-.04em;line-height:.95}
        .territory-column-head>span{display:inline-flex;align-items:center;gap:6px;padding:8px 11px;border:1px solid transparent;border-radius:999px;color:#fff;font-size:10px;font-weight:950;line-height:1;white-space:nowrap}
        .territory-column-head>span::before{width:13px;height:13px;flex:0 0 auto;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 10c0 5-8 12-8 12S4 15 4 10a8 8 0 1 1 16 0Z'/%3E%3Ccircle cx='12' cy='10' r='2.5'/%3E%3C/svg%3E") center/contain no-repeat;content:""}
        .department-badge svg{display:none}
        .department-badge--vendee,.territory-column:nth-child(1) .territory-column-head>span{border-color:rgba(255,154,146,.34)!important;background:rgba(183,47,39,.72)}
        .department-badge--loire-atlantique,.territory-column:nth-child(2) .territory-column-head>span{border-color:rgba(119,224,232,.32)!important;background:rgba(0,107,117,.74)}
        .commune-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:20px}
        .commune-link{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:58px;padding:11px 13px;border:1px solid #ddd4c9;border-radius:14px;background:#fff;color:#171411;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}
        .commune-link:hover,.commune-link.is-selected{border-color:var(--orange);box-shadow:0 10px 24px rgba(80,58,43,.1);transform:translateY(-2px)}
        .commune-link strong{display:block;font-size:12px}
        .commune-link small{display:block;margin-top:4px;color:#847a71;font-size:9px}
        .commune-link i{font-style:normal;font-weight:900}
        .directory-note{margin:18px 0 0;color:#756c64;font-size:12px}
        .card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
        .image-card{--veil:.5;--accent:var(--orange);position:relative;min-height:430px;overflow:hidden;isolation:isolate;border:1px solid rgba(255,255,255,.16);border-radius:var(--radius);background:#15171a;color:#fff;transition:transform .28s ease,border-color .28s ease}
        .image-card:hover{border-color:rgba(244,195,105,.78);transform:translateY(-4px)}
        .image-card::after{content:"";position:absolute;z-index:1;inset:0;background:linear-gradient(180deg,rgba(5,6,8,var(--veil)),rgba(5,6,8,calc(var(--veil) + .14)) 48%,rgba(5,6,8,.94))}
        .image-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.9) contrast(1.04);transition:transform .7s cubic-bezier(.22,1,.36,1)}
        .image-card:hover img{transform:scale(1.04)}
        .card-content{position:relative;z-index:2;min-height:430px;display:flex;flex-direction:column;padding:28px}
        .card-icon{width:48px;height:48px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.18);border-radius:15px;background:#090a0c;color:var(--accent)}
        .card-icon svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
        .card-meta{margin-top:auto;padding-top:60px;color:var(--accent);font-size:10px;font-weight:950;letter-spacing:.12em;text-transform:uppercase}
        .image-card h3{margin:8px 0 0;font-size:clamp(28px,2.8vw,39px);letter-spacing:-.035em;line-height:.98}
        .image-card p{margin:14px 0 20px;color:rgba(255,255,255,.72);font-size:13px;line-height:1.55}
        .tourism .image-card{min-height:390px}
        .tourism .card-content{min-height:390px}
        .continuity{display:grid;grid-template-columns:1.2fr .8fr;gap:16px;margin-top:16px}
        .coast-panel,.vineyard-panel{min-height:310px;padding:30px;border-radius:var(--radius);position:relative;overflow:hidden}
        .coast-panel{background:linear-gradient(180deg,rgba(5,10,15,.22),rgba(5,10,15,.84)),url("/wp-content/uploads/2026/07/totovtc-destination-vendee-v4.webp") center/cover;color:#fff}
        .vineyard-panel{isolation:isolate;background:#20150e;color:#fff}
        .vineyard-panel::before{content:"";position:absolute;z-index:-2;inset:0;background:url("/wp-content/uploads/2026/07/totovtc-destination-vignoble-v4.webp") center/cover}
        .vineyard-panel::after{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(130deg,rgba(9,9,9,.84),rgba(9,9,9,.5))}
        .continuity h3{max-width:620px;margin:70px 0 0;font-size:clamp(32px,4vw,54px);letter-spacing:-.045em;line-height:.95}
        .continuity p{max-width:600px;color:rgba(255,255,255,.7);font-size:13px;line-height:1.55}
        .faq-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
        details{padding:20px 22px;border:1px solid #ded4c8;border-radius:17px;background:rgba(255,255,255,.7)}
        summary{cursor:pointer;font-size:14px;font-weight:900}
        details p{margin:14px 0 0;color:#6f675f;font-size:13px;line-height:1.6}
        .final{padding:40px 0 105px;background:#090a0c}
        .final-card{display:grid;grid-template-columns:1fr auto;gap:30px;align-items:center;padding:clamp(30px,5vw,62px);border:1px solid rgba(255,255,255,.16);border-radius:30px;background:radial-gradient(circle at 90% 10%,rgba(255,93,56,.18),transparent 30%),linear-gradient(145deg,#15181d,#08090b)}
        .final h2{max-width:850px;margin:0;font-size:clamp(42px,6vw,78px);letter-spacing:-.05em;line-height:.9}
        .final p{max-width:760px;margin:20px 0 0;color:rgba(255,255,255,.65);line-height:1.65}
        .final-actions{display:grid;gap:10px}
        footer{padding:56px 0 30px;border-top:1px solid rgba(255,255,255,.12);background:#090a0c;color:rgba(255,255,255,.68)}
        .footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:38px;align-items:start}.footer-grid>*{min-width:0}.footer-grid img{display:block;width:126px;height:auto}.footer-grid p{max-width:330px;font-size:13px;line-height:1.6}.footer-col{display:grid;align-content:start;gap:0}.footer-col h3{margin:0 0 16px;color:#fff;font-size:12px;text-transform:uppercase;letter-spacing:.1em}.footer-col a{display:block;margin:0 0 11px;font-size:13px;overflow-wrap:anywhere}.footer-bottom{display:flex;justify-content:space-between;gap:24px;margin-top:38px;padding-top:18px;border-top:1px solid rgba(255,255,255,.12);font-size:11px}
        @media(max-width:980px){
            .nav-links,.nav-actions .btn-outline{display:none}
            .mobile-toggle{display:grid;place-items:center}
            .nav-links.is-open{position:fixed;display:grid;top:92px;left:20px;right:20px;padding:18px;border:1px solid #ddd;border-radius:20px;background:#fff;box-shadow:0 22px 60px rgba(0,0,0,.2)}
            .hero-grid,.section-head,.continuity{grid-template-columns:1fr}
            .hero{min-height:auto}
            .hero-grid{min-height:650px;align-items:end}
            .territory-panel{grid-template-columns:repeat(3,1fr)}
            .territory-stat{grid-template-columns:1fr}
            .territory-directory{grid-template-columns:1fr}
            .card-grid{grid-template-columns:1fr 1fr}
            .final-card{grid-template-columns:1fr}
            .final-actions{display:flex;flex-wrap:wrap}
            .footer-grid{grid-template-columns:1.4fr 1fr}.footer-brand{grid-column:1/-1}
        }
        @media(max-width:680px){
            .container{width:min(calc(100% - 28px),var(--max))}
            .nav-wrap{padding:8px 0}
            .nav{min-height:60px;padding:6px 8px 6px 12px}
            .brand img{width:88px;height:40px}
            .nav-actions .btn-dark{padding:12px 14px;font-size:10px}
            .hero{padding:105px 0 34px}
            .hero::before{background:linear-gradient(180deg,rgba(5,6,8,.82),rgba(5,6,8,.96)),url("/wp-content/uploads/2026/07/totovtc-destination-loire-atlantique-v4.webp") center/cover}
            .hero-grid{min-height:660px;gap:32px}
            .hero h1{font-size:clamp(50px,15vw,72px);line-height:.9}
            .hero-copy{font-size:14px}
            .territory-panel{grid-template-columns:1fr;padding:10px}
            .territory-stat{grid-template-columns:64px 1fr;padding:12px}
            .section{padding:76px 0}
            .section-head{gap:22px;margin-bottom:28px}
            .section-head h2{font-size:44px}
            .directory-tools{grid-template-columns:1fr}
            .territory-column{padding:20px}
            .commune-list{grid-template-columns:1fr}
            .card-grid{grid-template-columns:1fr}
            .image-card,.card-content{min-height:390px}
            .continuity h3{margin-top:45px}
            .faq-grid{grid-template-columns:1fr}
            .final-card{padding:28px 22px}
            .final-actions{display:grid}
            .final-actions .btn{width:100%}
            .footer-grid{grid-template-columns:minmax(0,1fr)}.footer-brand{grid-column:auto}.footer-bottom{display:grid;gap:8px}
        }
        @media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

/* Destination-specific image veils and accents. */
.image-card--airport{--veil:.46;--accent:#8fc7ff}.image-card--puy{--veil:.48;--accent:#e84e4e}
.image-card--stations{--veil:.53;--accent:#8bb8d6}.image-card--planet{--veil:.5;--accent:#d7c08a}
.image-card--vineyard{--veil:.52;--accent:#b5c970}.image-card--coast{--veil:.49;--accent:#d8a878}
