/* ===== Andamo con Mari — WIDE Edizioni · design moderne, fond blanc, fort contraste ===== */
:root{
  --coral:#F7304D; --coral-d:#D21E3C;
  --ink:#141210; --body:#4A423E; --mut:#948b84;
  --bg:#FFFFFF; --off:#F6F4F1; --line:#ECE8E2; --dark:#141210;
  --disp:'Unbounded',system-ui,sans-serif;
  --serif:'Fraunces',Georgia,serif;
  --sans:'Poppins',system-ui,sans-serif;
  --wrap:1220px; --r:4px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;overflow-x:hidden;overflow-x:clip}
body{font-family:var(--sans);color:var(--body);background:var(--bg);line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden;overflow-x:clip}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
h1,h2,h3{color:var(--ink);line-height:1.02;font-weight:700;letter-spacing:-.02em}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 28px}
.eyebrow{font-family:var(--disp);font-size:11px;font-weight:600;letter-spacing:.28em;text-transform:uppercase;color:var(--coral)}
.serif-it{font-family:var(--serif);font-style:italic;font-weight:500}
.ac{color:var(--coral)}
.sec{padding:110px 0}
.btn{display:inline-flex;align-items:center;gap:.55em;font-family:var(--disp);font-weight:500;font-size:13.5px;letter-spacing:.01em;padding:16px 30px;border-radius:2px;border:2px solid transparent;cursor:pointer;transition:.18s}
.btn-c{background:var(--coral);color:#fff}
.btn-c:hover{background:var(--ink)}
.btn-o{background:transparent;color:var(--ink);border-color:var(--ink)}
.btn-o:hover{background:var(--ink);color:#fff}
.btn-w{background:transparent;color:#fff;border-color:rgba(255,255,255,.65)}
.btn-w:hover{background:#fff;color:var(--ink);border-color:#fff}
.link{font-family:var(--disp);font-weight:500;font-size:13px;letter-spacing:.02em;color:var(--ink);display:inline-flex;align-items:center;gap:8px;border-bottom:2px solid var(--coral);padding-bottom:3px;transition:.15s}
.link:hover{color:var(--coral)}
.link svg{width:16px;height:16px;stroke:var(--coral);fill:none;stroke-width:2.2}

.bozza{background:var(--dark);color:#d7cfc8;font-size:12px;text-align:center;padding:8px 16px;font-weight:300;letter-spacing:.02em}
.bozza b{color:#fff;font-weight:600}.bozza i{font-style:italic}

/* Header */
header{position:sticky;top:0;z-index:40;background:rgba(255,255,255,.92);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;height:82px}
.logo img{height:50px;width:auto}
.menu{display:flex;align-items:center;gap:34px}
.menu a{font-family:var(--disp);font-size:13px;font-weight:500;letter-spacing:.01em;color:var(--ink);transition:.15s;position:relative}
.menu a.cur,.menu a:hover{color:var(--coral)}
.menu a.cur::after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:2px;background:var(--coral)}
.menu a svg{display:none}
.nav-r{display:flex;align-items:center;gap:20px}
.lang{display:flex;gap:4px}
.lang a{font-family:var(--disp);font-size:12px;font-weight:600;color:var(--mut);padding:5px 7px;transition:.15s}
.lang a.on{color:var(--coral)}
.lang a:hover{color:var(--ink)}
.burger{display:none;flex-direction:column;gap:5px;background:none;border:0;cursor:pointer;padding:8px}
.burger span{width:26px;height:2.4px;background:var(--ink);border-radius:2px;transition:.25s}

/* Hero */
.hero{position:relative;min-height:94vh;display:flex;align-items:flex-end;color:#fff;overflow:hidden;background:var(--dark)}
.hero-bg{position:absolute;inset:0;background-position:center;background-size:cover}
.hero-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,8,7,.3) 0%,rgba(10,8,7,.05) 40%,rgba(10,8,7,.82) 100%)}
.hero-in{position:relative;z-index:2;max-width:var(--wrap);margin:0 auto;padding:0 28px 76px;width:100%}
.hero .eyebrow{color:#fff;opacity:.9}
.hero h1{color:#fff;font-family:var(--disp);font-weight:800;font-size:clamp(46px,9vw,124px);letter-spacing:-.035em;line-height:.92;margin:18px 0 0;text-transform:uppercase}
.hero h1 .ac{color:var(--coral)}
.hero .lead{font-family:var(--serif);font-style:italic;font-weight:500;font-size:clamp(18px,2.1vw,26px);color:#fff;margin:24px 0 0;max-width:42ch;opacity:.95}
.hero p.sub{font-size:16px;color:#f0ebe7;max-width:50ch;margin:16px 0 0;font-weight:300}
.hero-cta{display:flex;gap:14px;flex-wrap:wrap;margin-top:34px}
.hero-stats{display:flex;gap:48px;flex-wrap:wrap;margin-top:50px;padding-top:30px;border-top:1px solid rgba(255,255,255,.25)}
.hero-stats .n{font-family:var(--disp);font-size:36px;font-weight:700;color:#fff;line-height:1;letter-spacing:-.03em}
.hero-stats .l{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#e7ddd6;margin-top:8px;font-weight:400}

/* Page hero (subpages) */
.phero{position:relative;color:#fff;padding:150px 0 78px;overflow:hidden;background:var(--dark)}
.phero-bg{position:absolute;inset:0;background-position:center;background-size:cover;opacity:.45}
.phero-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,8,7,.5),rgba(10,8,7,.8))}
.phero .wrap{position:relative;z-index:2}
.phero h1{color:#fff;font-family:var(--disp);font-weight:800;font-size:clamp(40px,7vw,86px);text-transform:uppercase;letter-spacing:-.03em;margin-top:16px}
.phero p{color:#efe8e2;font-size:17px;max-width:60ch;margin-top:18px;font-weight:300}

/* Section head */
.head{max-width:780px;margin-bottom:56px}
.head.ctr{margin:0 auto 60px;text-align:center}
.head h2{font-family:var(--disp);font-weight:700;font-size:clamp(30px,5vw,58px);letter-spacing:-.03em;margin:16px 0 0;text-transform:uppercase;line-height:.98}
.head p{margin-top:20px;font-size:17px;color:var(--body)}
.head .serif-it{font-family:var(--serif);font-style:italic;color:var(--coral);font-weight:500;text-transform:none;letter-spacing:0}

/* Destination full-bleed blocks (home) */
.destblocks{display:block}
.db{position:relative;display:flex;align-items:flex-end;min-height:66vh;color:#fff;overflow:hidden;border-top:4px solid var(--coral)}
.db-bg{position:absolute;inset:0;background-position:center;background-size:cover;transition:transform .7s ease}
.db:hover .db-bg{transform:scale(1.05)}
.db::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,8,7,.15) 30%,rgba(10,8,7,.8) 100%)}
.db-in{position:relative;z-index:2;max-width:var(--wrap);margin:0 auto;padding:0 28px 54px;width:100%}
.db-sub{font-family:var(--serif);font-style:italic;font-size:clamp(18px,2vw,24px);color:#fff;opacity:.95}
.db h2{color:#fff;font-family:var(--disp);font-weight:800;font-size:clamp(52px,12vw,150px);letter-spacing:-.04em;text-transform:uppercase;line-height:.88;margin:6px 0 0}
.db .go{margin-top:18px;font-family:var(--disp);font-weight:500;font-size:13px;letter-spacing:.02em;color:#fff;display:inline-flex;gap:9px;align-items:center;border-bottom:2px solid var(--coral);padding-bottom:4px}
.db .go svg{width:16px;height:16px;stroke:#fff;stroke-width:2.4;fill:none}

/* Parcorsi (tours page — one presentation per tour) */
.city-band{position:relative;min-height:48vh;display:flex;align-items:flex-end;color:#fff;overflow:hidden;border-top:4px solid var(--coral)}
.city-band .cb-bg{position:absolute;inset:0;background-position:center;background-size:cover}
.city-band::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,8,7,.2),rgba(10,8,7,.78))}
.city-band .wrap{position:relative;z-index:2;padding-bottom:46px}
.city-band .cb-sub{font-family:var(--serif);font-style:italic;font-size:clamp(17px,2vw,23px);color:#fff;opacity:.95}
.city-band h2{color:#fff;font-family:var(--disp);font-weight:800;font-size:clamp(44px,10vw,120px);text-transform:uppercase;letter-spacing:-.04em;line-height:.9;margin:4px 0 0}
.city-band p{color:#f0e8e2;max-width:56ch;margin-top:14px;font-weight:300;font-size:15.5px}
.parcorsi{border-top:1px solid var(--line)}
.pc{display:grid;grid-template-columns:72px 1fr auto;gap:28px;align-items:center;padding:30px 0;border-bottom:1px solid var(--line);transition:.15s}
.pc:hover{background:var(--off)}
.pc:hover .pc-n{color:var(--coral)}
.pc-n{font-family:var(--disp);font-weight:700;font-size:30px;color:var(--line);line-height:1;letter-spacing:-.03em;transition:.15s;padding-left:4px}
.pc-b h3{font-family:var(--disp);font-weight:600;font-size:clamp(19px,2.2vw,26px);letter-spacing:-.02em;text-transform:uppercase}
.pc-b p{margin-top:6px;font-size:15px;color:var(--body);max-width:62ch}
.pc-meta{display:flex;align-items:center;gap:18px;white-space:nowrap}
.pc-dur{font-family:var(--disp);font-size:12px;font-weight:500;color:var(--coral);border:1.5px solid var(--coral);border-radius:2px;padding:6px 12px}
.pc-cta{font-family:var(--disp);font-size:12px;font-weight:500;color:var(--ink);display:inline-flex;align-items:center;gap:7px;transition:.15s}
.pc-cta svg{width:15px;height:15px;fill:#25D366}
.pc-cta:hover{color:var(--coral)}
@media(max-width:720px){
  .pc{grid-template-columns:48px 1fr;gap:16px;padding:24px 0}
  .pc-n{font-size:22px}
  .pc-meta{grid-column:2;justify-content:flex-start;margin-top:10px}
}

/* About */
.about{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}
.about-img{position:relative;overflow:hidden;min-height:520px;border-top:4px solid var(--coral)}
.about-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.about-img .quote{position:absolute;left:24px;right:24px;bottom:24px;background:#fff;padding:24px 26px;font-family:var(--serif);font-style:italic;font-size:17px;color:var(--ink);line-height:1.45;border-left:4px solid var(--coral)}
.about h2{font-family:var(--disp);font-size:clamp(32px,4.4vw,56px);font-weight:700;letter-spacing:-.03em;text-transform:uppercase;line-height:.98}
.about p{margin-top:18px;font-size:16.5px}
.about b{color:var(--ink);font-weight:600}
.passions{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}
.tag{display:inline-block;font-size:13px;font-weight:500;padding:8px 15px;border:1px solid var(--line);color:var(--ink);background:#fff}

/* Audiences */
.aud-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1px solid var(--line)}
.aud{padding:34px 24px;text-align:center;border-right:1px solid var(--line);border-bottom:1px solid var(--line);transition:.15s}
.aud:hover{background:var(--ink);color:#fff}
.aud:hover .t{color:#fff}.aud:hover .d{color:#cbbfb7}
.aud .ic{font-size:30px;line-height:1}
.aud .t{font-family:var(--disp);font-weight:500;font-size:14px;color:var(--ink);margin-top:14px;text-transform:uppercase;letter-spacing:.01em}
.aud .d{font-size:12.5px;color:var(--mut);margin-top:6px}

/* Why (dark contrast band) */
.why{background:var(--dark);color:#e7ddd6}
.why .head h2{color:#fff}
.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border:1px solid rgba(255,255,255,.14)}
.why-c{padding:40px 34px;border-right:1px solid rgba(255,255,255,.14)}
.why-c:last-child{border-right:0}
.why-c img{height:54px;width:auto;margin-bottom:22px;filter:brightness(0) invert(1)}
.why-c h3{color:#fff;font-family:var(--disp);font-size:19px;font-weight:600;text-transform:uppercase;letter-spacing:-.01em}
.why-c p{color:#b8aca3;font-size:15px;margin-top:12px}
.themes{display:flex;flex-wrap:wrap;gap:0;justify-content:center;margin-top:54px;border:1px solid rgba(255,255,255,.14)}
.theme{font-family:var(--disp);font-weight:500;font-size:13px;color:#fff;padding:14px 26px;border-right:1px solid rgba(255,255,255,.14);text-transform:uppercase;letter-spacing:.02em}
.theme:last-child{border-right:0}
.theme .e{margin-right:9px}
@media(max-width:720px){.why-grid,.themes{grid-template-columns:1fr}.why-c{border-right:0;border-bottom:1px solid rgba(255,255,255,.14)}.theme{border-right:0;border-bottom:1px solid rgba(255,255,255,.14)}}

/* FAQ */
.faq-wrap{max-width:860px;margin:0 auto}
.faq-group{margin-bottom:46px}
.faq-group h3{font-family:var(--disp);font-size:16px;font-weight:600;color:var(--coral);margin-bottom:8px;text-transform:uppercase;letter-spacing:.04em}
.faq{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;padding:22px 2px;font-family:var(--disp);font-weight:500;font-size:16px;color:var(--ink);display:flex;justify-content:space-between;align-items:center;gap:16px;text-transform:none}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-size:26px;color:var(--coral);font-weight:300;transition:.2s}
.faq[open] summary::after{transform:rotate(45deg)}
.faq .a{padding:0 2px 24px;font-size:15px;color:var(--body);max-width:72ch}
.faq .a b{color:var(--ink)}

/* Contact */
.contact{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start}
.c-left h2{font-family:var(--disp);font-size:clamp(30px,4.2vw,52px);font-weight:700;text-transform:uppercase;letter-spacing:-.03em;line-height:.98}
.c-list{margin-top:32px;display:flex;flex-direction:column;gap:0;border-top:1px solid var(--line)}
.c-row{display:flex;align-items:center;gap:18px;padding:20px 2px;border-bottom:1px solid var(--line)}
.c-row .ci{width:44px;height:44px;border-radius:2px;background:var(--off);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.c-row .ci svg{width:20px;height:20px;stroke:var(--coral);fill:none;stroke-width:1.8}
.c-row .cl{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--mut);font-weight:500}
.c-row .cv{font-family:var(--disp);font-weight:500;font-size:16px;color:var(--ink)}
.pay{display:flex;align-items:center;gap:20px;margin-top:28px;flex-wrap:wrap}
.pay img{height:30px;width:auto}
.badge-tp{height:66px;width:auto}
.book-steps{margin-top:34px;display:flex;flex-direction:column;gap:0;border-top:1px solid var(--line)}
.book-steps .s{display:flex;gap:18px;align-items:flex-start;padding:18px 2px;border-bottom:1px solid var(--line)}
.book-steps .num{font-family:var(--disp);font-size:22px;font-weight:700;color:var(--coral);line-height:1;min-width:34px;letter-spacing:-.03em}
.book-steps .st{font-family:var(--disp);font-weight:500;font-size:15px;color:var(--ink);text-transform:uppercase;letter-spacing:.01em}
.book-steps .sd{font-size:14px;color:var(--mut);margin-top:3px}
form{background:var(--off);padding:34px;border-top:4px solid var(--coral)}
form .fh{font-family:var(--disp);font-weight:600;font-size:20px;color:var(--ink);margin-bottom:6px;text-transform:uppercase;letter-spacing:-.01em}
form label{display:block;font-family:var(--disp);font-size:11px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--ink);margin:18px 0 7px}
form input,form textarea,form select{width:100%;font-family:var(--sans);font-size:15px;color:var(--ink);padding:14px 15px;border:1px solid var(--line);border-radius:2px;background:#fff;transition:.15s}
form input:focus,form textarea:focus,form select:focus{outline:0;border-color:var(--coral)}
form .btn{width:100%;justify-content:center;margin-top:24px}
.note{font-size:12px;color:var(--mut);margin-top:14px;text-align:center}

/* Footer */
footer{background:var(--dark);color:#b8aca3;padding:74px 0 28px}
.f-top{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:44px;padding-bottom:44px;border-bottom:1px solid rgba(255,255,255,.14)}
footer .logo img{height:58px;filter:brightness(0) invert(1)}
.f-top p{font-size:14px;margin-top:18px;max-width:34ch}
.f-col h4{font-family:var(--disp);font-weight:500;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#fff;margin-bottom:18px}
.f-col a,.f-col div{display:flex;align-items:center;gap:9px;font-size:14px;margin-bottom:12px;color:#b8aca3}
.f-col a svg{width:15px;height:15px;stroke:var(--coral);fill:none;stroke-width:1.7}
.f-col a:hover{color:#fff}
.f-bot{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;padding-top:26px;font-size:12px;color:#7d726a}
.f-bot a{color:#b8aca3}
.credit a{color:#fff;font-weight:500}.credit i{font-style:italic}

.wa{position:fixed;right:24px;bottom:24px;z-index:50;background:#25D366;color:#fff;width:58px;height:58px;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 12px 30px -8px rgba(37,211,102,.6);transition:.2s}
.wa:hover{transform:scale(1.08)}.wa svg{width:30px;height:30px;fill:#fff}

@media(max-width:960px){
  .about,.contact{grid-template-columns:1fr;gap:40px}
  .why-grid{grid-template-columns:1fr}
  .aud-grid{grid-template-columns:repeat(2,1fr)}
  .f-top{grid-template-columns:1fr 1fr}
}
@media(max-width:760px){
  .sec{padding:72px 0}
  .menu{position:fixed;inset:82px 0 auto 0;background:#fff;flex-direction:column;align-items:stretch;gap:0;padding:12px 28px 24px;border-bottom:1px solid var(--line);transform:translateY(-130%);transition:.3s;box-shadow:0 20px 40px -20px rgba(0,0,0,.25)}
  .menu.open{transform:none}
  .menu a{padding:15px 0;border-bottom:1px solid var(--line);font-size:16px}
  .menu a.cur::after{display:none}
  .burger{display:flex}
  .nav-r .lang{order:-1}
  .hero{min-height:90vh}.hero-stats{gap:30px}.hero-stats .n{font-size:30px}
  .f-top{grid-template-columns:1fr}
}

/* Gallery (faire rêver) */
.gallery{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:230px;gap:10px}
.gallery a{position:relative;overflow:hidden;display:block;background:var(--off)}
.gallery img{width:100%;height:100%;object-fit:cover;transition:transform .7s ease}
.gallery a:hover img{transform:scale(1.07)}
.gallery a::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 55%,rgba(10,8,7,.55));opacity:0;transition:.3s}
.gallery a:hover::after{opacity:1}
.gallery .cap{position:absolute;left:16px;bottom:14px;z-index:2;font-family:var(--disp);font-weight:500;font-size:13px;letter-spacing:.02em;color:#fff;text-transform:uppercase;opacity:0;transform:translateY(6px);transition:.3s}
.gallery a:hover .cap{opacity:1;transform:none}
.gallery .tall{grid-row:span 2}
.gallery .wide{grid-column:span 2}
@media(max-width:760px){.gallery{grid-template-columns:repeat(2,1fr);grid-auto-rows:170px}.gallery .wide{grid-column:span 2}}

/* Tour su misura — bande plein cadre */
.misura{position:relative;overflow:hidden;color:#fff;border-top:4px solid var(--coral);padding:clamp(80px,13vw,160px) 0}
.misura-bg{position:absolute;inset:0;background-position:center;background-size:cover}
.misura-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,rgba(10,8,7,.86) 0%,rgba(10,8,7,.62) 50%,rgba(10,8,7,.3) 100%)}
.misura-in{position:relative;max-width:640px}
.misura-in .eyebrow{color:#fff}
.misura-in h2{color:#fff;font-family:var(--disp);font-size:clamp(34px,6vw,66px);margin:14px 0 20px}
.misura-in .serif-it{font-family:var(--serif);font-style:italic;color:var(--coral);font-weight:500}
.misura-in p{color:rgba(255,255,255,.9);font-size:17px;margin-bottom:30px}

/* Formulaire enrichi */
.c-h3{font-family:var(--disp);font-size:18px;margin-top:34px;color:var(--ink)}
form .f2{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}
form .f2 > div{min-width:0}
form .hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
form .consent{display:flex;align-items:flex-start;gap:10px;margin-top:20px;text-transform:none;letter-spacing:0;font-family:var(--sans);font-size:13px;color:var(--body);line-height:1.5}
form .consent input{width:auto;margin-top:2px;flex-shrink:0;accent-color:var(--coral)}
form .consent a{color:var(--coral);text-decoration:underline}
.alert{border-radius:2px;padding:14px 16px;font-size:14px;margin:4px 0 6px;line-height:1.5}
.alert.ok{background:#eafaf0;border-left:4px solid #1ca45a;color:#0f5c33}
.alert.ko{background:#fdecef;border-left:4px solid var(--coral-d);color:#8a1326}
.paypal-btn{margin-top:18px;gap:9px}
@media(max-width:560px){ form .f2{grid-template-columns:1fr} }

/* ============================================================
   V2 — COUCHE "VIVANTE" : palette toscane chaude & couleur
   ============================================================ */
:root{
  --off:#FBF4EC; --line:#EFE7DC; --dark:#201712;
  --terra:#D9663C; --gold:#E79A1F; --green:#3F7D53; --plum:#8A2F4A; --sky:#3E6E8E;
  --cityc:var(--coral);
}

/* Accents dégradés */
.ac{background:linear-gradient(92deg,var(--coral),var(--terra));-webkit-background-clip:text;background-clip:text;color:transparent}
.hero h1 .ac{background:linear-gradient(92deg,#ff5e75,var(--gold));-webkit-background-clip:text;background-clip:text;color:transparent}

/* Boutons corail -> terracotta, hover doré */
.btn-c{background:linear-gradient(118deg,var(--coral),var(--terra));color:#fff;box-shadow:0 12px 26px -14px rgba(217,102,60,.75)}
.btn-c:hover{background:linear-gradient(118deg,var(--terra),var(--gold));color:#fff}

/* Overlays plus chauds (soleil toscan) */
.hero-bg::after{background:linear-gradient(180deg,rgba(32,16,10,.22) 0%,rgba(138,47,74,.12) 42%,rgba(20,12,9,.86) 100%)}
.phero-bg{opacity:.5}
.phero-bg::after{background:linear-gradient(180deg,rgba(26,14,10,.42),rgba(26,14,10,.8))}

/* Blocs destinations & bandes villes : bordure + overlay teintés ville */
.db{border-top:5px solid var(--cityc)}
.db::after{background:linear-gradient(180deg,rgba(20,13,9,.12) 28%,rgba(20,13,9,.5) 70%,rgba(20,13,9,.9) 100%)}
.city-band{border-top:5px solid var(--cityc)}
/* Sous-titre ville -> pastille colorée */
.db-sub,.city-band .cb-sub{display:inline-block;font-family:var(--disp);font-style:normal;font-weight:600;
  font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:#fff;opacity:1;
  background:var(--cityc);padding:7px 15px;border-radius:2px;box-shadow:0 8px 20px -10px rgba(0,0,0,.5)}

/* Parcours : numéros & durées à la couleur de la ville */
.pc-n{color:color-mix(in srgb,var(--cityc) 32%,var(--line))}
.pc:hover{background:color-mix(in srgb,var(--cityc) 7%,#fff)}
.pc:hover .pc-n{color:var(--cityc)}
.pc-dur{color:var(--cityc);border-color:var(--cityc)}
.pc-cta svg{stroke:var(--cityc);fill:none;stroke-width:2.2}
.pc-cta:hover{color:var(--cityc)}

/* Rythme coloré des sections */
.sec:has(.gallery){background:var(--off)}
.sec:has(.aud-grid){background:#fff}

/* Audiences : icônes sur pastilles colorées, hover chaud */
.aud .ic{display:inline-flex;width:64px;height:64px;border-radius:50%;align-items:center;justify-content:center}
.aud:nth-child(4n+1) .ic{background:#FDE5E9}
.aud:nth-child(4n+2) .ic{background:#FBEED6}
.aud:nth-child(4n+3) .ic{background:#E2F0E7}
.aud:nth-child(4n+4) .ic{background:#F8E6DB}
.aud:hover{background:linear-gradient(135deg,var(--coral),var(--terra));color:#fff}
.aud:hover .ic{background:rgba(255,255,255,.22)}

/* Tags passions colorés */
.tag:nth-child(4n+1){border-color:var(--coral);color:var(--coral)}
.tag:nth-child(4n+2){border-color:var(--gold);color:#b9770a}
.tag:nth-child(4n+3){border-color:var(--green);color:var(--green)}
.tag:nth-child(4n+4){border-color:var(--terra);color:var(--terra)}

/* Bande "Why" : dégradé cyprès -> terre -> vin */
.why{background:linear-gradient(140deg,#2C5440 0%,#6A3A2C 54%,#8A2F4A 100%)}
.why-c p{color:rgba(255,255,255,.84)}
.themes .theme{border-left:3px solid transparent}
.themes .theme:nth-child(5n+1){border-left-color:var(--coral)}
.themes .theme:nth-child(5n+2){border-left-color:var(--gold)}
.themes .theme:nth-child(5n+3){border-left-color:var(--green)}
.themes .theme:nth-child(5n+4){border-left-color:var(--sky)}
.themes .theme:nth-child(5n+5){border-left-color:var(--terra)}

/* Galerie : légende en pastille corail */
.gallery .cap{background:var(--coral);padding:5px 11px;border-radius:2px}

/* Tour su misura : overlay chaud (coucher de soleil) */
.misura-bg::after{background:linear-gradient(110deg,rgba(26,14,10,.88) 0%,rgba(138,47,74,.42) 55%,rgba(231,154,31,.18) 100%)}
.misura-in .serif-it{color:#ffd27a}

/* Accent chaud sur les titres de section serif */
.head .serif-it,.about h2 .serif-it{color:var(--terra)}
.faq-group h3{color:var(--terra)}

/* ===== Menu amélioré ===== */
.logo-mark{display:none}
.nav-cta{font-family:var(--disp);font-weight:500;font-size:12.5px;letter-spacing:.02em;color:#fff;
  background:linear-gradient(118deg,var(--coral),var(--terra));padding:11px 20px;border-radius:2px;transition:.18s;
  box-shadow:0 10px 22px -14px rgba(217,102,60,.8)}
.nav-cta:hover{background:linear-gradient(118deg,var(--terra),var(--gold));transform:translateY(-1px)}
.menu a{display:inline-flex;align-items:center}
@media(max-width:760px){
  /* Sur mobile : picto compact au lieu du mot "Andamo con Mari" */
  .logo-word{display:none}
  .logo-mark{display:block;width:42px;height:42px}
  .nav-cta{display:none}
  /* Menu mobile avec icônes */
  .menu a{gap:13px}
  .menu a svg{display:inline-block;width:20px;height:20px;stroke:var(--coral);fill:none;stroke-width:1.8;flex-shrink:0}
  .menu a.cur svg{stroke:var(--coral)}
}

/* ===== Parcours — présentation avant-garde ===== */
.pc{grid-template-columns:clamp(84px,11vw,150px) 1fr auto;gap:30px;padding:36px 0;align-items:center}
.pc-n{font-family:var(--disp);font-weight:800;font-size:clamp(50px,7.5vw,104px);line-height:.78;letter-spacing:-.05em;
  color:color-mix(in srgb,var(--cityc) 26%, var(--line));transition:.22s}
@supports (-webkit-text-stroke:1px red){
  .pc-n{color:transparent;-webkit-text-stroke:1.6px color-mix(in srgb,var(--cityc) 62%, #b7aa9e)}
  .pc:hover .pc-n{color:var(--cityc);-webkit-text-stroke-color:var(--cityc)}
}
.pc:hover .pc-n{color:var(--cityc)}
.pc-b h3{font-size:clamp(20px,2.5vw,30px)}
.pc-meta{flex-direction:column;align-items:flex-end;gap:10px}
/* Pastille durée avec horloge */
.pc-dur{display:inline-flex;align-items:center;gap:8px;white-space:nowrap;
  font-family:var(--disp);font-size:13px;font-weight:500;letter-spacing:.01em;
  color:var(--cityc);background:color-mix(in srgb,var(--cityc) 9%, #fff);
  border:1.5px solid color-mix(in srgb,var(--cityc) 34%, #fff);border-radius:999px;padding:9px 16px}
.pc-dur svg{width:15px;height:15px;stroke:var(--cityc);fill:none;stroke-width:1.9}
/* Bouton Prenota */
.pc-cta{font-family:var(--disp);font-weight:600;font-size:12px;letter-spacing:.08em;text-transform:uppercase;
  color:var(--ink);border:1.7px solid var(--ink);border-radius:999px;padding:11px 20px;gap:9px}
.pc-cta svg{width:15px;height:15px;stroke:currentColor !important;fill:none !important;stroke-width:2.2}
.pc-cta:hover{background:var(--cityc);border-color:var(--cityc);color:#fff}
@media(max-width:720px){
  .pc{grid-template-columns:62px 1fr;gap:14px;padding:26px 0}
  .pc-n{font-size:clamp(40px,13vw,56px)}
  .pc-meta{grid-column:2;flex-direction:row;align-items:center;justify-content:flex-start;margin-top:12px;gap:12px}
}

/* ===== Parcours cliquable (lien vers page dédiée) ===== */
.pc{display:flex;align-items:center;justify-content:space-between;gap:28px}
.pc-main{display:grid;grid-template-columns:clamp(84px,11vw,150px) 1fr;gap:30px;align-items:center;flex:1 1 auto;min-width:0;color:inherit}
.pc-main h3{transition:.18s}
.pc:hover .pc-main h3{color:var(--cityc)}
@media(max-width:720px){
  .pc{flex-direction:column;align-items:stretch;gap:0}
  .pc-main{grid-template-columns:58px 1fr;gap:14px}
  .pc-meta{margin-top:14px;justify-content:flex-start}
}

/* ===== Page dédiée tour ===== */
.td-hero{position:relative;color:#fff;overflow:hidden;background:var(--dark);padding:140px 0 54px;border-top:5px solid var(--cityc)}
.td-hero-bg{position:absolute;inset:0;background-position:center;background-size:cover}
.td-hero-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,13,9,.32),rgba(20,13,9,.85))}
.td-hero-in{position:relative;z-index:2}
.td-back{display:inline-flex;align-items:center;gap:8px;color:#fff;font-family:var(--disp);font-size:12.5px;font-weight:500;opacity:.9;margin-bottom:22px}
.td-back svg{width:16px;height:16px;stroke:#fff;fill:none;stroke-width:2}
.td-back:hover{opacity:1}
.td-city{display:inline-block;background:var(--cityc);color:#fff;font-family:var(--disp);font-weight:600;font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;padding:7px 14px;border-radius:2px}
.td-hero h1{color:#fff;font-family:var(--disp);font-weight:800;font-size:clamp(34px,6vw,76px);text-transform:uppercase;letter-spacing:-.03em;line-height:.95;margin:16px 0 0}
.td-durpill{display:inline-flex;align-items:center;gap:8px;margin-top:20px;font-family:var(--disp);font-size:13px;font-weight:500;color:#fff;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.3);border-radius:999px;padding:9px 16px}
.td-durpill svg{width:15px;height:15px;stroke:#fff;fill:none;stroke-width:1.9}
.td-grid{display:grid;grid-template-columns:1fr 340px;gap:56px;align-items:start}
.td-lead{font-size:19px;color:var(--ink);line-height:1.6}
.td-sub{font-size:16px;color:var(--body);margin-top:16px;font-family:var(--serif);font-style:italic}
.td-h2{font-family:var(--disp);font-weight:700;font-size:clamp(22px,3vw,32px);text-transform:uppercase;letter-spacing:-.02em;margin:40px 0 20px}
.td-high{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:12px 28px}
.td-high li{display:flex;align-items:flex-start;gap:11px;font-size:15.5px;color:var(--body)}
.td-high svg{width:18px;height:18px;stroke:var(--cityc);fill:none;stroke-width:1.7;flex-shrink:0;margin-top:2px}
.td-cta{margin-top:36px}
.td-info{background:var(--off);border-top:4px solid var(--cityc);padding:28px}
.td-info h3{font-family:var(--disp);font-weight:600;font-size:16px;text-transform:uppercase;letter-spacing:.02em;margin-bottom:16px}
.ti-row{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid var(--line);font-size:14px}
.ti-row:last-of-type{border-bottom:0}
.ti-k{font-family:var(--disp);font-weight:500;color:var(--ink);white-space:nowrap}
.ti-v{color:var(--mut);text-align:right}
.td-other{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.toc{position:relative;display:block;height:200px;overflow:hidden;border-top:3px solid var(--cityc)}
.toc-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background-position:center;background-size:cover;transition:transform .6s}
.toc:hover .toc-bg{transform:scale(1.06)}
.toc::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,8,7,.1) 40%,rgba(10,8,7,.85))}
.toc-in{position:absolute;inset:auto 0 0 0;z-index:2;padding:16px}
.toc-in h3{color:#fff;font-family:var(--disp);font-weight:600;font-size:15px;text-transform:uppercase;letter-spacing:-.01em;line-height:1.1}
.toc-dur{display:inline-block;margin-top:7px;font-family:var(--disp);font-size:11px;color:#fff;background:var(--cityc);padding:3px 9px;border-radius:2px}
@media(max-width:860px){ .td-grid{grid-template-columns:1fr;gap:34px} .td-high{grid-template-columns:1fr} .td-other{grid-template-columns:1fr 1fr} }

/* ======================= LOT 20h ======================= */
/* Logo lockup (picto + nom + sous-titre) */
.logo{display:inline-flex;align-items:center;gap:12px}
.logo img.logo-badge{height:46px;width:auto;flex-shrink:0}
.logo-txt{display:flex;flex-direction:column;line-height:1}
.logo-name{font-family:var(--serif);font-weight:600;font-size:21px;color:var(--ink);letter-spacing:-.01em;line-height:1}
.logo-sub{font-family:var(--disp);font-weight:500;font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:var(--coral);margin-top:5px}
@media(max-width:760px){ .logo img.logo-badge{height:40px} .logo-name{font-size:18px} .logo-sub{font-size:8px;letter-spacing:.15em} }
@media(max-width:380px){ .logo-sub{display:none} }

/* Parcours : titre + description superposés au grand numéro */
.pc{position:relative}
.pc-main{position:relative;display:block;flex:1 1 auto;min-width:0}
.pc-n{position:absolute;left:-8px;top:50%;transform:translateY(-50%);z-index:0;margin:0;font-size:clamp(130px,18vw,280px);line-height:.72;pointer-events:none}
.pc-b{position:relative;z-index:1;padding-left:clamp(50px,8vw,118px)}
.pc-b .pc-dur{display:inline-flex;margin-top:14px}
@media(max-width:720px){ .pc-n{font-size:clamp(92px,26vw,150px)} .pc-b{padding-left:clamp(40px,13vw,68px)} }

/* Dégradés image→titre teintés à la couleur de la ville */
.city-band::after{background:linear-gradient(180deg,rgba(20,13,9,.10) 16%,color-mix(in srgb,var(--cityc) 22%,rgba(20,13,9,.5)) 58%,color-mix(in srgb,var(--cityc) 46%,rgba(14,9,7,.9)) 100%)}
.db::after{background:linear-gradient(180deg,rgba(20,13,9,.08) 24%,color-mix(in srgb,var(--cityc) 20%,rgba(20,13,9,.52)) 66%,color-mix(in srgb,var(--cityc) 46%,rgba(14,9,7,.9)) 100%)}
.td-hero-bg::after{background:linear-gradient(180deg,color-mix(in srgb,var(--cityc) 12%,rgba(20,13,9,.3)),color-mix(in srgb,var(--cityc) 42%,rgba(16,10,8,.88)))}
.toc::after{background:linear-gradient(180deg,rgba(10,8,7,.05) 42%,color-mix(in srgb,var(--cityc) 42%,rgba(10,8,7,.85)))}

/* Diaporama des lieux */
.placeshow{position:relative;height:clamp(360px,58vh,600px);overflow:hidden;background:var(--dark)}
.ps-slide{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transition:opacity 1s ease;display:flex;align-items:flex-end}
.ps-slide.on{opacity:1}
.ps-slide::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,8,7,.05) 48%,rgba(10,8,7,.72))}
.ps-slide .wrap{position:relative;z-index:2;padding-bottom:46px}
.ps-cap{display:inline-block;font-family:var(--disp);font-weight:700;color:#fff;font-size:clamp(28px,5vw,62px);text-transform:uppercase;letter-spacing:-.025em;text-shadow:0 6px 26px rgba(0,0,0,.4)}
.ps-nav{position:absolute;left:0;right:0;bottom:22px;z-index:3;display:flex;gap:9px;justify-content:center}
.ps-dot{width:9px;height:9px;border-radius:50%;border:0;background:rgba(255,255,255,.45);cursor:pointer;transition:.25s;padding:0}
.ps-dot.on{background:#fff;width:28px;border-radius:5px}

/* Contatti : sur tablette/mobile, formulaire entre l'intro et les détails */
.contact{display:grid;grid-template-columns:1fr 1fr;grid-template-areas:"intro form" "details form";gap:0 64px;align-items:start}
.c-intro{grid-area:intro}
.c-intro h2{font-family:var(--disp);font-size:clamp(30px,4.2vw,52px);font-weight:700;text-transform:uppercase;letter-spacing:-.03em;line-height:.98}
.contact > form{grid-area:form}
.c-details{grid-area:details;margin-top:26px}
@media(max-width:860px){
  .contact{grid-template-columns:1fr;grid-template-areas:"intro" "form" "details";gap:0}
  .contact > form{margin-top:28px}
  .c-details{margin-top:34px}
}

/* Footer : logo couleur sur carte + logos de cartes */
.f-logo-card{display:inline-block;background:#FBF5EC;padding:13px 18px;border-radius:10px;margin-bottom:6px}
footer .logo .f-logo-card img{height:58px;width:auto;filter:none}
footer .logo .f-pay{display:flex;align-items:center;gap:16px;margin-top:20px;flex-wrap:wrap}
footer .logo .f-pay img{height:26px;width:auto;filter:none}
footer .logo .f-pay .f-tp{height:46px}

/* Parcours — ajustements overlap + transparence numéro + titre gras */
.pc-b{padding-left:clamp(40px,6vw,88px)}
.pc-b h3{font-weight:800}
.pc-n{color:color-mix(in srgb,var(--cityc) 20%,#fff)}
@supports (-webkit-text-stroke:1px red){
  .pc-n{color:transparent;-webkit-text-stroke:1.5px color-mix(in srgb,var(--cityc) 40%,transparent)}
  .pc:hover .pc-n{color:color-mix(in srgb,var(--cityc) 68%,transparent);-webkit-text-stroke-color:var(--cityc)}
}
@media(max-width:720px){ .pc-b{padding-left:clamp(34px,11vw,60px)} }

/* Description des parcours : 2 lignes max + ellipsis */
.pc-b p{display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}

/* "Altri tour" — carrousel horizontal style Apple (4:5, arrondi, subtil) */
.td-other{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;padding:6px 2px 16px;-webkit-overflow-scrolling:touch;scrollbar-width:none;grid-template-columns:none}
.td-other::-webkit-scrollbar{display:none}
.toc{flex:0 0 auto;width:clamp(190px,21vw,250px);height:auto;aspect-ratio:4/5;border-top:0;border-radius:22px;overflow:hidden;scroll-snap-align:start;box-shadow:0 12px 34px -16px rgba(20,13,9,.4);transition:transform .4s cubic-bezier(.2,.7,.2,1),box-shadow .4s ease}
.toc:hover{transform:translateY(-5px);box-shadow:0 24px 46px -18px rgba(20,13,9,.5)}
.toc::after{background:linear-gradient(180deg,rgba(10,8,7,0) 42%,rgba(10,8,7,.4) 70%,rgba(10,8,7,.8))}
.toc-in{padding:18px}
.toc-in h3{font-size:15.5px;letter-spacing:-.01em}
.toc-dur{margin-top:9px;background:rgba(255,255,255,.2);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.32);color:#fff;padding:4px 12px;border-radius:999px;font-size:11px}
@media(max-width:860px){ .td-other{grid-template-columns:none} .toc{width:clamp(170px,62vw,220px)} }

/* Footer — logo blanc plus grand (sans boîte) */
footer .logo img.f-logo{height:74px;width:auto;filter:brightness(0) invert(1);margin-bottom:6px}
/* Barre paiements "top" */
.f-trust{display:flex;align-items:stretch;gap:14px;margin-top:24px;flex-wrap:wrap}
.f-secure{display:flex;align-items:center;gap:16px;background:#fff;border-radius:16px;padding:14px 20px;box-shadow:0 14px 34px -16px rgba(0,0,0,.6)}
.f-lock svg{width:22px;height:22px;stroke:#1ca45a;fill:none;stroke-width:2}
.f-sec-t{font-family:var(--disp);font-weight:600;font-size:12px;letter-spacing:.05em;text-transform:uppercase;color:var(--ink);white-space:nowrap}
.f-cards{height:30px;width:auto;filter:none}
.f-member{display:inline-flex;align-items:center;background:#fff;border-radius:16px;padding:10px 18px;box-shadow:0 14px 34px -16px rgba(0,0,0,.6)}
.f-member img{height:46px;width:auto;filter:none}
@media(max-width:600px){ .f-secure{flex-wrap:wrap;gap:12px} .f-sec-t{order:3;flex-basis:100%} }

/* ======= Header : séparateur + Contatti après les langues ======= */
.nav-r{gap:16px}
.nav-sep{display:inline-block;width:1px;height:22px;background:var(--line)}
.nav-contact{display:inline-flex;align-items:center;gap:7px;font-family:var(--disp);font-weight:500;font-size:13px;color:var(--ink);transition:.15s}
.nav-contact svg{width:17px;height:17px;stroke:var(--coral);fill:none;stroke-width:1.8}
.nav-contact:hover,.nav-contact.cur{color:var(--coral)}

/* ======= Footer repensé (ruban 4 couleurs + emblème coloré) ======= */
.f-ribbon{display:block;width:100%;height:5px;background:linear-gradient(90deg,var(--coral) 0 25%,var(--gold) 25% 50%,var(--green) 50% 75%,var(--terra) 75% 100%)}
footer{background:var(--dark);color:#b8aca3;padding:0 0 28px}
.f-top{display:grid;grid-template-columns:1.5fr 1fr 1.1fr 1fr;gap:40px;padding:72px 0 44px;border-bottom:1px solid rgba(255,255,255,.14)}
.f-mark{width:78px;height:auto;margin-bottom:20px}
.f-brand p{font-size:14px;max-width:32ch;color:#b8aca3;line-height:1.6}
.f-trust{display:flex;gap:10px;flex-wrap:wrap;margin-top:2px}
.f-pill{background:#fff;border-radius:12px;padding:9px 14px;display:inline-flex;align-items:center;box-shadow:0 12px 28px -16px rgba(0,0,0,.6)}
.f-pill-cards img{height:21px;width:auto;display:block;filter:none}
.f-pill-tp img{height:34px;width:auto;display:block;filter:none}
@media(max-width:960px){ .f-top{grid-template-columns:1fr 1fr;gap:34px} }
@media(max-width:560px){ .f-top{grid-template-columns:1fr} }

/* ======= Page tour : paragraphes + galerie illustrative ======= */
.td-para{font-size:16.5px;color:var(--body);line-height:1.72;margin-top:18px}
.td-gallery{display:grid;grid-template-columns:1.5fr 1fr;grid-auto-rows:150px;gap:12px;margin:32px 0}
.td-gallery img{width:100%;height:100%;object-fit:cover;border-radius:16px;display:block}
.td-gallery .tg-main{grid-row:span 2}
@media(max-width:620px){ .td-gallery{grid-template-columns:1fr 1fr;grid-auto-rows:120px} .td-gallery .tg-main{grid-column:span 2;grid-row:auto;height:200px} }

/* Thèmes (bande why) : trait de fermeture après le dernier */
.themes .theme:last-child{border-right:1px solid rgba(255,255,255,.14)}

/* Icônes de la bande "why" (trait blanc) */
.why-c svg{width:46px;height:46px;stroke:#fff;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;margin-bottom:22px;display:block}

/* ======= Formulaire — plus moderne & friendly ======= */
form{background:#fff;border:1px solid var(--line);border-top:0;border-radius:24px;padding:clamp(24px,4vw,38px);box-shadow:0 36px 72px -34px rgba(20,13,9,.3)}
form .fh{font-size:23px;letter-spacing:-.01em}
form label{font-size:11px;font-weight:600;letter-spacing:.05em;color:var(--ink);margin:17px 0 7px}
form input,form textarea,form select{background:#FBF8F6;border:1.5px solid var(--line);border-radius:13px;padding:15px 16px;font-size:15px;transition:.18s}
form input::placeholder,form textarea::placeholder{color:#c3b7ad}
form input:hover,form textarea:hover,form select:hover{border-color:#ddd3c9}
form input:focus,form textarea:focus,form select:focus{outline:0;border-color:var(--coral);background:#fff;box-shadow:0 0 0 4px rgba(247,48,77,.13)}
form .f2{gap:0 18px}
form .btn{border-radius:999px;padding:17px 28px;font-size:14px;margin-top:26px;box-shadow:0 16px 30px -14px rgba(217,102,60,.7)}
form .consent{align-items:center;gap:12px;background:#FBF8F6;border:1.5px solid var(--line);border-radius:13px;padding:13px 15px;margin-top:22px}
form .consent input{width:20px;height:20px;border-radius:6px;accent-color:var(--coral)}
.alert{border-radius:13px}

/* Parcours : titre NOIR au survol + plus d'air entre les tours */
.pc{padding:clamp(40px,5vw,62px) 0}
.pc:hover .pc-main h3{color:var(--ink)}
/* Formulaire intégré sur la page tour */
.td-formwrap{max-width:none;margin:0}
.td-form-sec .td-formwrap form{margin-top:8px}

/* FAQ en pleine largeur (2 colonnes) */
.faq-wrap{max-width:none;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:0 52px;align-items:start}
.faq-group{margin-bottom:10px}
@media(max-width:820px){ .faq-wrap{grid-template-columns:1fr;gap:0} }

/* Parcours : sans traits de séparation + plus d'air */
.parcorsi{border-top:0}
.pc{border-bottom:0;padding:clamp(40px,5vw,60px) 0}

/* Parcours : pas de fond au survol */
.pc:hover{background:transparent}

/* Parcours : fond teinté au survol sur TOUTE la largeur + description en gras foncé */
.pc{position:relative}
.pc::before{content:"";position:absolute;top:0;bottom:0;left:50%;transform:translateX(-50%);width:100vw;z-index:-1;background:transparent;transition:background .18s}
.pc:hover::before{background:color-mix(in srgb,var(--cityc) 9%,#fff)}
.pc:hover .pc-b p{font-weight:600;color:var(--ink)}

/* Parcours : durée + icône "à pied" sous le bouton Descrizione */
.pc-foot{display:inline-flex;align-items:center;gap:9px}
.pc-walk{width:19px;height:19px;stroke:var(--cityc);fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}

/* pc-meta : bouton + ligne durée alignés sur la même largeur */
.pc-meta{align-items:stretch;gap:12px}
.pc-cta{justify-content:center}
.pc-foot{justify-content:space-between;width:100%}

/* Durée "à pied" : pastille nette pleine largeur sous le bouton */
.pc-dur2{display:flex;align-items:center;justify-content:center;gap:9px;width:100%;
  font-family:var(--disp);font-size:13px;font-weight:500;letter-spacing:.01em;color:var(--cityc);
  background:color-mix(in srgb,var(--cityc) 9%,#fff);
  border:1.5px solid color-mix(in srgb,var(--cityc) 28%,#fff);
  border-radius:999px;padding:11px 16px}
.pc-dur2 svg{width:17px;height:17px;stroke:var(--cityc);fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}

/* Bandeaux villes : contenu aligné à gauche (comme les autres bandeaux) */
.city-band .wrap{width:100%}

/* Bouton WhatsApp (encart infos tour) */
.btn-wa{background:#25D366;color:#fff;border-color:#25D366}
.btn-wa:hover{background:#1da851;border-color:#1da851;color:#fff}
.btn-wa svg{width:19px;height:19px;fill:#fff;stroke:none}

/* ======= Section "Per chi" — cartes & icônes modernes ======= */
.aud-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;border:0}
.aud{padding:34px 22px 30px;text-align:center;background:#fff;border:1px solid var(--line);border-radius:20px;
  transition:transform .28s cubic-bezier(.2,.7,.2,1),box-shadow .28s,border-color .28s}
.aud:hover{background:#fff;color:inherit;transform:translateY(-6px);box-shadow:0 26px 48px -24px rgba(20,13,9,.3);border-color:transparent}
.aud .ic{width:60px;height:60px;border-radius:18px;display:inline-flex;align-items:center;justify-content:center;margin:0 auto 16px;transition:.28s}
.aud .ic svg{width:27px;height:27px;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.aud .t{font-family:var(--disp);font-weight:600;font-size:14px;text-transform:uppercase;letter-spacing:.01em;color:var(--ink);margin-top:0}
.aud:hover .t{color:var(--ink)}
.aud .d{font-size:13px;color:var(--mut);margin-top:8px}
.aud:hover .d{color:var(--mut)}
/* couleurs par carte (tuile teintée + icône pleine couleur) */
.aud:nth-child(4n+1) .ic{background:#FDE7EB} .aud:nth-child(4n+1) .ic svg{stroke:var(--coral)}
.aud:nth-child(4n+2) .ic{background:#FBEFD7} .aud:nth-child(4n+2) .ic svg{stroke:#C98A16}
.aud:nth-child(4n+3) .ic{background:#E3F1E8} .aud:nth-child(4n+3) .ic svg{stroke:var(--green)}
.aud:nth-child(4n+4) .ic{background:#F8E7DC} .aud:nth-child(4n+4) .ic svg{stroke:var(--terra)}
.aud:hover .ic{transform:scale(1.06)}
@media(max-width:960px){ .aud-grid{grid-template-columns:repeat(2,1fr)} }
@media(max-width:520px){ .aud-grid{grid-template-columns:1fr} }

/* ======= "Per chi" v2 — éditorial, puces dégradées, moderne ======= */
.aud-grid{grid-template-columns:repeat(4,1fr);gap:14px}
.aud{text-align:left;padding:30px 26px 28px;background:var(--off);border:0;border-radius:22px;
  transition:transform .32s cubic-bezier(.2,.7,.2,1),box-shadow .32s}
.aud:hover{transform:translateY(-7px);box-shadow:0 30px 56px -26px rgba(20,13,9,.34);background:var(--off)}
.aud .ic{width:56px;height:56px;border-radius:16px;display:inline-flex;align-items:center;justify-content:center;margin:0 0 24px;box-shadow:0 12px 24px -12px rgba(20,13,9,.4)}
.aud .ic svg{width:27px;height:27px;fill:none;stroke:#fff;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.aud .t{font-family:var(--disp);font-weight:700;font-size:15px;text-transform:uppercase;letter-spacing:-.01em;color:var(--ink)}
.aud .d{font-size:13.5px;color:var(--body);margin-top:8px;line-height:1.5}
.aud:hover .ic{transform:translateY(-2px) scale(1.05)}
.aud .ic{transition:.32s}
/* puces en dégradé (couleurs toscanes) */
.aud:nth-child(4n+1) .ic{background:linear-gradient(135deg,#F7304D,#E2714E)}
.aud:nth-child(4n+2) .ic{background:linear-gradient(135deg,#E79A1F,#F2B64C)}
.aud:nth-child(4n+3) .ic{background:linear-gradient(135deg,#3F7D53,#6DAE6A)}
.aud:nth-child(4n+4) .ic{background:linear-gradient(135deg,#D9663C,#E79A1F)}
@media(max-width:960px){ .aud-grid{grid-template-columns:repeat(2,1fr)} }
@media(max-width:520px){ .aud-grid{grid-template-columns:1fr} }

/* ===================== PLUS LUMINEUX & VIVANT ===================== */
body{background:#FFFDFB}
/* Photos plus lumineuses : voiles allégés en haut (le bas reste lisible) */
.hero-bg::after{background:linear-gradient(180deg,rgba(20,13,9,.10) 0%,rgba(20,13,9,0) 40%,rgba(20,13,9,.78) 100%)}
.city-band::after{background:linear-gradient(180deg,rgba(20,13,9,0) 22%,color-mix(in srgb,var(--cityc) 18%,rgba(20,13,9,.42)) 60%,color-mix(in srgb,var(--cityc) 46%,rgba(14,9,7,.9)) 100%)}
.db::after{background:linear-gradient(180deg,rgba(20,13,9,0) 30%,color-mix(in srgb,var(--cityc) 16%,rgba(20,13,9,.42)) 68%,color-mix(in srgb,var(--cityc) 46%,rgba(14,9,7,.9)) 100%)}
.toc::after{background:linear-gradient(180deg,rgba(10,8,7,0) 45%,color-mix(in srgb,var(--cityc) 40%,rgba(10,8,7,.82)) 100%)}
.td-hero-bg::after{background:linear-gradient(180deg,color-mix(in srgb,var(--cityc) 8%,rgba(20,13,9,.18)),color-mix(in srgb,var(--cityc) 40%,rgba(16,10,8,.86)))}
/* Sections claires & colorées (rythme lumineux) */
.audiences{background:linear-gradient(180deg,#FFF4EB 0%,#FDFCFA 100%)}
.audiences .aud{background:#fff;box-shadow:0 10px 30px -20px rgba(20,13,9,.18)}
.audiences .aud:hover{box-shadow:0 30px 56px -26px rgba(20,13,9,.3)}
.sec:has(.gallery){background:linear-gradient(180deg,#F1F8F2 0%,#FDFCFA 100%)}
/* About : tuile crème plus chaude et lumineuse */
.about{--_x:0}

/* ======= "Per chi" v3 — icônes PLEINES style brochure (corail / rond pâle) ======= */
.audiences .aud-grid{grid-template-columns:repeat(4,1fr);gap:18px}
.audiences .aud{text-align:center;background:transparent;border:0;box-shadow:none;padding:24px 16px}
.audiences .aud:hover{transform:translateY(-6px);box-shadow:none;background:transparent}
.audiences .aud .ic{width:86px;height:86px;border-radius:50%;background:#FBEAE6;margin:0 auto 18px;box-shadow:none;transition:transform .3s,background .3s}
.audiences .aud .ic svg{width:40px;height:40px;fill:var(--coral);stroke:none}
.audiences .aud:hover .ic{transform:scale(1.07);background:#F8DCD5}
.audiences .aud .t{margin-top:0}
@media(max-width:960px){.audiences .aud-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.audiences .aud-grid{grid-template-columns:1fr}}

/* Footer : photo en fond + aplat translucide */
footer{position:relative;background-color:var(--dark);background-size:cover;background-position:center}
footer::before{content:"";position:absolute;inset:0;z-index:0;background:linear-gradient(180deg,rgba(28,18,13,.84) 0%,rgba(20,13,9,.92) 100%)}
footer .f-ribbon{position:relative;z-index:2}
footer .wrap{position:relative;z-index:1}

/* ======= Couleur de la ville présente sur les pages tour ======= */
.td-main .eyebrow,.td-form-sec .eyebrow,.td-other-sec .eyebrow{color:var(--cityc)}
.td-form-sec{background:color-mix(in srgb,var(--cityc) 7%,#fff)}
.td-form-sec form .btn-c{background:var(--cityc);box-shadow:0 16px 30px -16px color-mix(in srgb,var(--cityc) 70%,transparent)}
.td-form-sec form .btn-c:hover{background:var(--ink)}
.td-form-sec form input:focus,.td-form-sec form textarea:focus,.td-form-sec form select:focus{border-color:var(--cityc);box-shadow:0 0 0 4px color-mix(in srgb,var(--cityc) 15%,transparent)}
.td-form-sec form .consent input{accent-color:var(--cityc)}
.td-lead::first-letter{color:var(--cityc);font-weight:600}

/* ===== Pages tour : fonds alternés, subtils et élégants ===== */
/* Alternance blanc pur › voile chaud à peine teinté de la couleur ville (jamais gris) */
.page-tour .td-main{background:#fff}
.page-tour .td-form-sec{background:color-mix(in srgb,var(--cityc) 5%,#fffdfb)}
.page-tour .sec:has(.about){background:#fff !important}
.page-tour .td-other-sec{background:color-mix(in srgb,var(--cityc) 5%,#fffdfb) !important}
.page-tour .audiences{background:#fff}
.page-tour .sec:has(.faq-wrap){background:color-mix(in srgb,var(--cityc) 5%,#fffdfb)}

/* ===== Menu : villes + bouton Scrivimi ===== */
.nav{gap:18px}
.menu{gap:20px;flex-wrap:wrap}
.menu a{font-size:13px;white-space:nowrap}
.nav-write{display:inline-flex;align-items:center;gap:7px;font-family:var(--disp);font-weight:600;font-size:13px;letter-spacing:.01em;color:#fff;background:var(--coral);padding:9px 16px;border-radius:2px;transition:.18s}
.nav-write svg{width:16px;height:16px;stroke:#fff;fill:none;stroke-width:1.9}
.nav-write:hover,.nav-write.cur{background:var(--ink);color:#fff}
@media(max-width:1200px){
  .nav{flex-wrap:wrap;height:auto;padding-top:14px;padding-bottom:0}
  .logo{order:1}
  .nav-r{order:2;margin-left:auto}
  .menu{order:3;width:100%;flex-wrap:nowrap;overflow-x:auto;gap:20px;padding:12px 0;margin-top:10px;border-top:1px solid var(--line);scrollbar-width:none}
  .menu::-webkit-scrollbar{display:none}
}

/* ===== Home : tous les tours, par ville ===== */
.hometours .head{margin-bottom:6px}
.ht-city{--cityc:var(--coral);margin-top:48px}
.ht-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px;padding-bottom:14px;border-bottom:1px solid var(--line)}
.ht-city-link{display:inline-flex;align-items:center;gap:12px}
.ht-dot{width:14px;height:14px;border-radius:50%;background:var(--cityc);flex-shrink:0}
.ht-head h3{font-family:var(--disp);font-weight:800;font-size:clamp(24px,3.4vw,40px);text-transform:uppercase;letter-spacing:-.02em;transition:.15s}
.ht-city-link:hover h3{color:var(--cityc)}
.ht-more{font-family:var(--disp);font-weight:600;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--cityc);display:inline-flex;align-items:center;gap:7px;white-space:nowrap}
.ht-more svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:2.2}
.ht-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.htc{position:relative;aspect-ratio:4/5;border-radius:6px;overflow:hidden;display:flex;align-items:flex-end;color:#fff;box-shadow:0 14px 30px -18px rgba(20,13,9,.5)}
.htc-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background:#ded8d2;transition:transform .6s ease}
.htc:hover .htc-bg{transform:scale(1.06)}
.htc-grad{position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,8,7,0) 34%,rgba(10,8,7,.82) 100%);transition:.25s}
.htc:hover .htc-grad{background:linear-gradient(180deg,rgba(10,8,7,0) 18%,color-mix(in srgb,var(--cityc) 55%,rgba(10,8,7,.85)) 100%)}
.htc-in{position:relative;z-index:2;padding:16px 15px}
.htc-in h4{color:#fff;font-family:var(--disp);font-weight:600;font-size:14.5px;line-height:1.15;letter-spacing:-.01em}
.htc-dur{display:inline-block;margin-top:7px;font-family:var(--disp);font-size:10.5px;font-weight:500;letter-spacing:.03em;background:rgba(255,255,255,.22);padding:3px 8px;border-radius:2px}
@media(max-width:900px){ .ht-grid{grid-template-columns:repeat(3,1fr)} }
@media(max-width:620px){ .ht-grid{grid-template-columns:repeat(2,1fr);gap:12px} .ht-head h3{font-size:clamp(22px,7vw,30px)} }

/* ===== Page Su misura ===== */
.sm-intro{max-width:760px}
.sm-intro p{margin-top:16px;font-size:16px}
.sm-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:42px}
.sm-step{background:#fff;border:1px solid var(--line);border-radius:10px;padding:30px 26px}
.sm-n{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:color-mix(in srgb,var(--coral) 12%,#fff);color:var(--coral);font-family:var(--disp);font-weight:700;font-size:18px;margin-bottom:16px}
.sm-step h3{font-family:var(--disp);font-weight:600;font-size:18px;margin-bottom:8px}
.sm-step p{font-size:14.5px;color:var(--body)}
@media(max-width:760px){ .sm-steps{grid-template-columns:1fr} }

/* ===== Pages légales (Privacy) ===== */
.legal{padding:72px 0 92px}
.legal-wrap{max-width:820px}
.legal .eyebrow{color:var(--coral)}
.legal h1{font-family:var(--disp);font-weight:800;font-size:clamp(30px,5vw,52px);letter-spacing:-.03em;margin:10px 0 0}
.legal-intro{margin-top:18px;font-size:16px;color:var(--body)}
.legal h2{font-family:var(--disp);font-weight:600;font-size:19px;margin:34px 0 8px;color:var(--ink)}
.legal p{font-size:15px;color:var(--body);line-height:1.7}
.legal p a{color:var(--coral);border-bottom:1px solid currentColor}
.legal-upd{margin-top:34px;font-size:13px;color:var(--mut)}

/* ===== Footer : avis cookies ===== */
.f-cookie{margin-top:30px;font-size:12.5px;color:rgba(255,255,255,.62);line-height:1.6;max-width:720px}
.f-cookie a{color:#fff;border-bottom:1px solid rgba(255,255,255,.4)}

/* ===== Formulaire : variantes tour / su misura ===== */
.fh-s{font-size:13.5px;color:var(--mut);margin-bottom:12px}
.form-lock{display:flex;flex-direction:column;gap:3px;background:color-mix(in srgb,var(--cityc,var(--coral)) 9%,#fff);border:1px solid color-mix(in srgb,var(--cityc,var(--coral)) 30%,var(--line));border-left:4px solid var(--cityc,var(--coral));border-radius:6px;padding:13px 16px;margin-bottom:18px}
.form-lock .fl-k{font-family:var(--disp);font-size:10.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--cityc,var(--coral))}
.form-lock .fl-v{font-family:var(--disp);font-weight:600;font-size:15px;color:var(--ink)}
.chips{display:flex;flex-wrap:wrap;gap:9px;margin:4px 0 16px}
.chip{display:inline-flex;align-items:center;gap:7px;cursor:pointer;font-family:var(--disp);font-size:12.5px;font-weight:500;color:var(--ink);background:#fff;border:1.5px solid var(--line);border-radius:30px;padding:8px 14px;transition:.15s;user-select:none}
.chip input{position:absolute;opacity:0;width:0;height:0}
.chip:hover{border-color:color-mix(in srgb,var(--cityc,var(--coral)) 45%,var(--line))}
.chip:has(input:checked){background:var(--cityc,var(--coral));border-color:var(--cityc,var(--coral));color:#fff}
.chip:has(input:focus-visible){outline:2px solid color-mix(in srgb,var(--cityc,var(--coral)) 45%,transparent);outline-offset:2px}

/* ===== Home : descriptions sur les cartes de tour ===== */
.htc{aspect-ratio:3/4}
.htc-grad{background:linear-gradient(180deg,rgba(10,8,7,0) 24%,rgba(10,8,7,.55) 56%,rgba(10,8,7,.9) 100%)}
.htc:hover .htc-grad{background:linear-gradient(180deg,rgba(10,8,7,.05) 16%,color-mix(in srgb,var(--cityc) 42%,rgba(10,8,7,.75)) 60%,color-mix(in srgb,var(--cityc) 58%,rgba(10,8,7,.92)) 100%)}
.htc-d{color:rgba(255,255,255,.88);font-size:12px;line-height:1.4;margin-top:6px;display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.htc-dur{margin-top:9px}
@media(max-width:620px){ .htc-d{-webkit-line-clamp:2} }

/* ===== Menu mobile : sandwich (hamburger) ===== */
.mnav{display:none}
@media(max-width:1200px){
  .nav{flex-wrap:nowrap;height:72px;padding-top:0;padding-bottom:0}
  .menu{display:none}
  .nav-r{display:none}
  .burger{display:flex;z-index:3}
  .mnav{display:block;position:absolute;left:0;right:0;top:100%;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 18px 30px -20px rgba(20,13,9,.4);max-height:0;overflow:hidden;transition:max-height .32s ease}
  .mnav.open{max-height:84vh;overflow:auto}
  header{position:sticky}
}
.burger.open span:nth-child(1){transform:translateY(7.4px) rotate(45deg)}
.burger.open span:nth-child(2){opacity:0}
.burger.open span:nth-child(3){transform:translateY(-7.4px) rotate(-45deg)}
.mnav-links{display:flex;flex-direction:column;padding:6px 28px 8px}
.mnav-links a{font-family:var(--disp);font-weight:500;font-size:16px;color:var(--ink);padding:14px 2px;border-bottom:1px solid var(--line);transition:.15s}
.mnav-links a.cur{color:var(--coral)}
.mnav-write{margin-top:16px;background:var(--coral);color:#fff!important;text-align:center;border-radius:3px;border-bottom:0!important;padding:15px!important;font-weight:600!important;letter-spacing:.02em}
.mnav-lang{display:flex;gap:8px;padding:4px 28px 20px}
.mnav-lang a{font-family:var(--disp);font-weight:600;font-size:13px;color:var(--mut);padding:7px 14px;border:1px solid var(--line);border-radius:3px}
.mnav-lang a.on{color:#fff;background:var(--coral);border-color:var(--coral)}

/* ===== Mobile : logo à gauche, sandwich à droite ===== */
@media(max-width:1200px){
  .logo{order:0}
  .burger{order:9;margin-left:auto}
}

/* ===== Liste des parcours : vignette par tour ===== */
.pc-thumb{flex-shrink:0;width:clamp(150px,17vw,205px);aspect-ratio:16/11;border-radius:9px;overflow:hidden;align-self:center;box-shadow:0 16px 30px -18px rgba(20,13,9,.55)}
.pc-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .55s ease}
.pc-thumb:hover img{transform:scale(1.06)}
@media(max-width:860px){ .pc-thumb{order:3;width:100%;aspect-ratio:16/9;margin-top:16px;align-self:stretch} }

/* ===== Fonds de sections plus vifs (palette du logo) ===== */
.audiences{background:color-mix(in srgb,#FD701B 13%,#fff)}
.sec:has(.gallery){background:color-mix(in srgb,#7FC430 12%,#fff)}
.td-form-sec{background:color-mix(in srgb,var(--cityc) 14%,#fff)}
.page-tour .td-form-sec{background:color-mix(in srgb,var(--cityc) 16%,#fff)}
.page-tour .td-other-sec{background:color-mix(in srgb,var(--cityc) 16%,#fff)!important}
.page-tour .sec:has(.faq-wrap){background:color-mix(in srgb,var(--cityc) 16%,#fff)}

/* ===== Footer : langues + colonne Visite guidate ===== */
.f-lang{margin-top:24px}
.f-lang-k{display:block;font-family:var(--disp);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#8d8178;margin-bottom:9px}
.f-lang-links{display:flex;gap:8px}
.f-lang-links a{font-family:var(--disp);font-weight:600;font-size:12px;color:#b8aca3;padding:6px 12px;border:1px solid rgba(255,255,255,.18);border-radius:3px;transition:.15s}
.f-lang-links a:hover{color:#fff;border-color:rgba(255,255,255,.4)}
.f-lang-links a.on{color:#fff;background:var(--coral);border-color:var(--coral)}
.f-col-gt a{color:#cabfb6}
.f-col-gt a:hover{color:#fff}
.f-trust{margin-top:16px}

/* ===== Menu desktop aligné à droite, contre le bouton Scrivimi ===== */
@media(min-width:1201px){ .menu{margin-left:auto;margin-right:6px} }

/* ===== FAQ aux couleurs de la ville (fiches tour) ===== */
.td-faq .faq-group h3{color:var(--cityc)}
.td-faq .faq summary::after{color:var(--cityc)}
.td-faq .faq .a b{color:var(--ink)}

/* ===== Footer : fond blanc, sans image ===== */
footer{background:#fff !important;background-image:none !important;color:var(--body)}
footer::before{display:none !important}
.f-top{border-bottom-color:var(--line)}
.f-brand p{color:var(--body)}
.f-col h4{color:var(--ink)}
.f-col a,.f-col div{color:var(--body)}
.f-col a:hover{color:var(--coral)}
.f-col-gt a{color:var(--body);transition:color .15s}
.f-col-gt a:hover{color:var(--cityc,var(--coral));font-weight:700}
.f-col-gt a:hover svg{stroke:var(--cityc,var(--coral))}
.f-lang-k{color:var(--mut)}
.f-lang-links a{color:var(--body);border-color:var(--line)}
.f-lang-links a:hover{color:var(--ink);border-color:var(--mut)}
.f-cookie{color:var(--mut)}
.f-cookie a{color:var(--ink);border-bottom-color:var(--mut)}
.f-bot{color:var(--mut)}
.f-bot a{color:var(--body)}
.credit a{color:var(--coral)}
.f-pill{background:#fff;border:1px solid var(--line);box-shadow:0 10px 26px -20px rgba(0,0,0,.3)}

/* ===== Bannières (phero) : dégradé vif palette logo, plus dynamique ===== */
.phero{background:linear-gradient(125deg,#F7304D 0%,#F7304D 14%,#FD701B 52%,#1F9FA0 100%)}
.phero-bg{opacity:.15;mix-blend-mode:luminosity}
.phero-bg::after{background:linear-gradient(180deg,rgba(15,8,6,.06) 0%,rgba(15,8,6,.10) 55%,rgba(15,8,6,.32) 100%)}
.phero .eyebrow{color:rgba(255,255,255,.92)}
.phero p{color:#fff;opacity:.95}

/* ===== Bannières phero : voile noir quasi supprimé ===== */
.phero-bg::after{background:linear-gradient(180deg,rgba(10,6,4,0) 65%,rgba(10,6,4,.12) 100%)}

/* ===== Bannières phero : voile noir totalement supprimé ===== */
.phero-bg::after{background:none !important}

/* ===== Formulaire : selects stylés (flèche custom) ===== */
form select{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;padding-right:44px;background-repeat:no-repeat;background-position:right 16px center;background-size:14px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23746a62' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E")}
form select:focus,form select:hover{background-repeat:no-repeat;background-position:right 16px center;background-size:14px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23746a62' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E")}
.note{line-height:1.6;max-width:62ch;margin-left:auto;margin-right:auto}
.note a{color:var(--cityc,var(--coral));border-bottom:1px solid currentColor;white-space:nowrap}

/* ===== Galerie sans liens (figure) ===== */
.gallery figure{position:relative;overflow:hidden;display:block;background:var(--off);margin:0}
.gallery figure::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 55%,rgba(10,8,7,.55));opacity:0;transition:.3s}
.gallery figure:hover::after{opacity:1}
.gallery figure:hover img{transform:scale(1.07)}
.gallery figure:hover .cap{opacity:1;transform:none}

/* ===== Alternance blanc / couleur : bande « Su misura » en version claire ===== */
.misura{background:#fff;color:var(--ink);border-top:0}
.misura-bg{left:52%}
.misura-bg::after{display:none !important}
.misura-in{max-width:none}
.misura .misura-in{padding-right:52%}
.misura-in .eyebrow{color:var(--coral)}
.misura-in h2{color:var(--ink)}
.misura-in .serif-it{color:var(--coral)}
.misura-in p{color:var(--body)}
@media(max-width:820px){
  .misura{padding-top:0}
  .misura-bg{position:relative;left:0;right:0;width:100%;height:220px}
  .misura .misura-in{padding-right:28px;padding-top:44px}
}

/* ===== Alternance : audiences en blanc où elle suit une section colorée ===== */
.page-chi .audiences,.page-sumisura .audiences{background:#fff}

/* ===== Alternance : forcer la couleur de « Per chi » là où elle doit alterner ===== */
body.page-home .audiences,body.page-contact .audiences{background:color-mix(in srgb,#FD701B 14%,#fff)}

/* ===== Home : grille « magazine » des parcours (tailles variées + couleur ville) ===== */
.ht-grid{grid-template-columns:repeat(4,1fr);grid-auto-rows:190px;gap:14px;grid-auto-flow:dense}
.htc{aspect-ratio:auto;height:100%;border-radius:9px}
.htc.big{grid-column:span 2;grid-row:span 2}
.htc.wide{grid-column:span 2}
.htc.tall{grid-row:span 2}
/* couleur de chaque ville sur les cartes */
.htc-grad{background:linear-gradient(180deg,rgba(10,8,7,0) 38%,color-mix(in srgb,var(--cityc) 20%,rgba(10,8,7,.70)) 100%)}
.htc:hover .htc-grad{background:linear-gradient(180deg,rgba(10,8,7,.04) 16%,color-mix(in srgb,var(--cityc) 58%,rgba(10,8,7,.82)) 100%)}
.htc-dur{background:color-mix(in srgb,var(--cityc) 88%,#1c120d);color:#fff}
/* descriptions seulement sur les grandes cartes (effet magazine) */
.htc .htc-d{display:none}
.htc.big .htc-d,.htc.wide .htc-d,.htc.tall .htc-d{display:-webkit-box;-webkit-line-clamp:2}
.htc.big .htc-d{-webkit-line-clamp:4}
.htc.big .htc-in h4{font-size:clamp(20px,2vw,26px)}
.htc.big .htc-in{padding:20px 20px}
@media(max-width:1024px){ .ht-grid{grid-template-columns:repeat(3,1fr);grid-auto-rows:175px} }
@media(max-width:620px){
  .ht-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:150px;gap:10px}
  .htc.wide{grid-column:span 2}
  .htc.tall{grid-row:span 1}
  .htc.big{grid-column:span 2;grid-row:span 2}
  .htc.big .htc-in h4{font-size:19px}
}

/* ===== « Per chi » : pastilles vives multicolores (palette logo) ===== */
.audiences .aud .ic{transition:transform .2s ease,box-shadow .2s ease}
.audiences .aud .ic svg{fill:#fff}
.audiences .aud:hover .ic{transform:translateY(-5px)}
.audiences .aud:nth-child(4n+1) .ic{background:#F7304D;box-shadow:0 16px 28px -14px color-mix(in srgb,#F7304D 70%,transparent)}
.audiences .aud:nth-child(4n+2) .ic{background:#FD701B;box-shadow:0 16px 28px -14px color-mix(in srgb,#FD701B 70%,transparent)}
.audiences .aud:nth-child(4n+3) .ic{background:#5AA12A;box-shadow:0 16px 28px -14px color-mix(in srgb,#5AA12A 70%,transparent)}
.audiences .aud:nth-child(4n+4) .ic{background:#1F9FA0;box-shadow:0 16px 28px -14px color-mix(in srgb,#1F9FA0 70%,transparent)}

/* ===== Menu : liens aux couleurs de chaque ville ===== */
.menu a.cur::after{background:currentColor}
.menu a:hover{text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:2px}
.mnav-links a.cur{border-left:3px solid currentColor;padding-left:12px}

/* ===== FAQ : présentation moderne en cartes ===== */
.faq{border:0 !important;background:#fff;border-radius:14px;margin-bottom:14px;box-shadow:0 12px 30px -22px rgba(20,13,9,.5);transition:transform .2s ease,box-shadow .2s ease}
.faq:hover{transform:translateY(-2px);box-shadow:0 18px 36px -22px rgba(20,13,9,.5)}
.faq summary{padding:20px 22px;font-size:16px;gap:18px;border-radius:14px}
.faq summary::after{content:"+";width:34px;height:34px;min-width:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:24px;line-height:1;font-weight:300;background:color-mix(in srgb,var(--cityc,var(--coral)) 13%,#fff);color:var(--cityc,var(--coral));transition:.25s}
.faq[open]{box-shadow:0 18px 38px -20px color-mix(in srgb,var(--cityc,var(--coral)) 45%,rgba(20,13,9,.35))}
.faq[open] summary{color:var(--cityc,var(--coral))}
.faq[open] summary::after{transform:rotate(45deg);background:var(--cityc,var(--coral));color:#fff}
.faq .a{padding:0 22px 22px}
.faq-group h3{font-size:13px;letter-spacing:.14em}

/* ===== Home : Chi sono en couleur, Per chi en blanc ===== */
body.page-home .audiences{background:#fff}

/* ===== Home : sur-titre + description par ville ===== */
.ht-htxt{display:flex;flex-direction:column;gap:5px}
.ht-eye{font-family:var(--disp);font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--cityc)}
.ht-desc{max-width:92ch;margin:2px 0 24px;font-size:15px;line-height:1.75;color:var(--body)}
@media(max-width:620px){ .ht-desc{font-size:14px;margin-bottom:18px} }

/* ===== Home : bande « Su misura » fond clair & lumineux ===== */
.misura{background:linear-gradient(120deg,#FFFCF6 0%,#FFF3E4 55%,#FFEAD6 100%)}

/* ===== FAQ : groupes empilés pleine largeur, questions sur 2 colonnes ===== */
.faq-wrap{display:block}
.faq-group{display:grid;grid-template-columns:1fr 1fr;gap:14px 24px;align-content:start;margin-bottom:38px}
.faq-group:last-child{margin-bottom:0}
.faq-group h3{grid-column:1 / -1;margin-bottom:2px}
.faq-group .faq{margin-bottom:0}
@media(max-width:700px){ .faq-group{grid-template-columns:1fr} }

/* ===== FAQ : espace au-dessus du 2e groupe ===== */
.faq-group + .faq-group{margin-top:34px}

/* ===== Carousel « Altri tour » : navigation + barre de progression ===== */
.td-other-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:22px}
.td-other-head .td-h2{margin:0}
.td-other-nav{display:flex;gap:10px;flex-shrink:0}
.to-arrow{width:46px;height:46px;border-radius:50%;border:1.6px solid color-mix(in srgb,var(--cityc) 40%,var(--line));background:#fff;color:var(--cityc);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:.18s}
.to-arrow svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:2.3;stroke-linecap:round;stroke-linejoin:round}
.to-arrow:hover{background:var(--cityc);color:#fff;border-color:var(--cityc);transform:translateY(-2px)}
.to-arrow:disabled{opacity:.3;cursor:default;background:#fff;color:var(--mut);border-color:var(--line);transform:none}
.to-progress{margin-top:4px;height:4px;border-radius:999px;background:color-mix(in srgb,var(--cityc) 20%,#fff);overflow:hidden}
.to-bar{display:block;height:100%;width:22%;background:var(--cityc);border-radius:999px;transition:width .18s ease}
.td-other-nav.hide,.to-progress.hide{display:none}
@media(max-width:700px){
  .td-other-head{flex-direction:column;align-items:flex-start;gap:14px}
  .td-other-nav{align-self:flex-end;margin-top:-54px}
  .to-arrow{width:42px;height:42px}
}

/* ===== Carousel : glisser à la souris (desktop) ===== */
.td-other{cursor:grab}
.td-other.dragging{cursor:grabbing;scroll-snap-type:none;scroll-behavior:auto;user-select:none}

/* ===== FAQ : une seule colonne (corrige le vide des cartes ouvertes) ===== */
.faq-wrap{max-width:900px;margin:0 auto}
.faq-group{grid-template-columns:1fr}

/* ===== FAQ : pleine largeur ===== */
.faq-wrap{max-width:none;margin:0}

/* ===== Home : noms de ville plus grands ===== */
.ht-head h3{font-size:clamp(34px,5vw,64px)}

/* ===== Home : noms de ville plus grands (responsive) ===== */
.ht-head h3{font-size:clamp(34px,5.5vw,68px);line-height:.95;letter-spacing:-.03em}
.ht-dot{width:clamp(12px,1.4vw,18px);height:clamp(12px,1.4vw,18px)}

/* ===== Home : « Scopri la città » aligné en bas, sur la ligne du nom ===== */
.ht-head{align-items:flex-end}
.ht-more{padding-bottom:6px}

/* ===== Home : « Scopri la città » aligné en bas, sur la ligne du nom de ville ===== */
.ht-head{align-items:flex-end}
.ht-more{padding-bottom:4px}

/* ===== Menu : « Su misura » en dégradé des 4 couleurs de villes ===== */
.nav-sm{
  background:linear-gradient(90deg,#F7304D 0%,#FD701B 36%,#5AA12A 68%,#1F9FA0 100%);
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:transparent;
}
.nav-sm:hover{text-decoration-color:#FD701B}
.menu a.nav-sm.cur::after{background:linear-gradient(90deg,#F7304D,#FD701B,#5AA12A,#1F9FA0)}

/* ===== Liste des parcours sur mobile : chiffre + titre plus grands ===== */
@media(max-width:720px){
  .pc-n{font-size:clamp(130px,42vw,230px)}
  .pc-b h3{font-size:clamp(26px,7.4vw,38px);line-height:1}
  .pc-b{padding-left:clamp(28px,9vw,54px)}
  .pc-b p{font-size:14.5px}
}

/* ===== Parcours : le chiffre reste en arrière-plan, boutons et vignette au-dessus ===== */
.pc-main{z-index:1}
.pc-b{position:relative;z-index:1}
.pc-n{z-index:0}
.pc-meta{position:relative;z-index:2}
.pc-thumb{position:relative;z-index:2}

/* ===== Parcours : titre aligné à gauche + bouton Descrizione opaque ===== */
/* Le chiffre reste en arrière-plan (z-index:0) ; le titre passe au-dessus, collé à gauche */
.pc-b{padding-left:0 !important;margin-left:0 !important}
/* Le bouton "Descrizione" ne doit pas laisser transparaître le chiffre */
.pc-cta{background:#fff}

/* ============================================================
   PARCOURS — recomposition éditoriale (direction artistique)
   • chiffre fantôme → filigrane doux dans la couleur de la ville
   • droite → une seule carte média : image + durée incrustée + bouton
   ============================================================ */

/* filet fin coloré entre les lignes */
.parcorsi .pc{border-bottom:1px solid color-mix(in srgb,var(--cityc) 14%,#eae4de)}

/* chiffre : filigrane, sans contour, derrière le titre */
.parcorsi .pc-n{
  color:color-mix(in srgb,var(--cityc) 12%,#fff) !important;
  -webkit-text-stroke:0 !important;
  z-index:0 !important; left:-.05em !important;
}
.parcorsi .pc:hover .pc-n{color:color-mix(in srgb,var(--cityc) 20%,#fff) !important}
.parcorsi .pc-main{position:relative;z-index:1}
.parcorsi .pc-b{padding-left:0 !important;position:relative;z-index:1}

/* ----- desktop : texte à gauche, carte média à droite ----- */
@media(min-width:861px){
  .parcorsi .pc{
    display:grid;
    grid-template-columns:minmax(0,1fr) clamp(210px,20vw,240px);
    column-gap:clamp(36px,5vw,72px);
    align-items:center;
    padding:clamp(28px,3.2vw,42px) 0;
  }
  .parcorsi .pc-main{grid-area:auto}
  .parcorsi .pc-media{width:100%}
}

/* ----- carte média ----- */
.pc-media{display:flex;flex-direction:column;gap:12px}
.pc-media .pc-thumb{position:relative;width:100%;margin:0;aspect-ratio:16/10;order:0;
  border-radius:13px;overflow:hidden;box-shadow:0 20px 36px -22px rgba(20,13,9,.55)}
.pc-media .pc-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .55s ease}
.pc-media .pc-thumb:hover img{transform:scale(1.05)}

/* durée : pastille translucide incrustée sur l'image */
.pc-media .pc-dur2{
  position:absolute;left:11px;bottom:11px;width:auto;z-index:2;
  display:inline-flex;align-items:center;gap:6px;
  padding:6px 12px;border-radius:999px;border:0;
  background:rgba(255,255,255,.93);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);
  box-shadow:0 5px 16px -6px rgba(20,13,9,.42);
  font-family:var(--disp);font-size:12.5px;font-weight:600;letter-spacing:.01em;color:var(--ink)}
.pc-media .pc-dur2 svg{width:15px;height:15px;stroke:var(--cityc);fill:none;stroke-width:1.7}

/* bouton Descrizione : pleine largeur sous l'image, couleur de la ville, opaque */
.pc-media .pc-cta{
  display:flex;justify-content:center;align-items:center;gap:9px;width:100%;
  background:#fff;border:1.6px solid var(--cityc);color:var(--cityc);
  padding:11px 16px;border-radius:999px;
  font-family:var(--disp);font-weight:600;font-size:12px;letter-spacing:.09em;text-transform:uppercase}
.pc-media .pc-cta svg{width:15px;height:15px;stroke:currentColor !important;fill:none !important;stroke-width:2.2}
.pc-media .pc-cta:hover{background:var(--cityc);border-color:var(--cityc);color:#fff}

/* ----- mobile : empilé, carte média pleine largeur sous le texte ----- */
@media(max-width:860px){
  .parcorsi .pc{display:flex;flex-direction:column;align-items:stretch;gap:16px}
  .parcorsi .pc-media{width:100%}
  .pc-media .pc-thumb{aspect-ratio:16/9}
}

/* Chiffre fantôme : taille maîtrisée, centré, qui ne déborde plus sur les voisins */
.parcorsi .pc-n{
  font-size:clamp(84px,10.5vw,158px) !important;
  top:50% !important; transform:translateY(-50%) !important;
  left:-.04em !important;
  color:color-mix(in srgb,var(--cityc) 11%,#fff) !important;
}

/* Header mobile : logo intégral (icône + texte) + sandwich adapté */
@media(max-width:760px){
  .burger{gap:6px;padding:9px}
  .burger span{width:34px;height:3px;border-radius:3px}
  .burger.open span:nth-child(1){transform:translateY(9px) rotate(45deg)}
  .burger.open span:nth-child(3){transform:translateY(-9px) rotate(-45deg)}
}

/* Footer : phrase cookies + cartes de paiement sur la même ligne, alignées en haut */
.f-legal{display:flex;justify-content:space-between;align-items:flex-start;gap:28px;margin-top:30px}
.f-legal .f-cookie{margin-top:0;flex:1 1 auto}
.f-legal .f-trust{margin-top:0;flex:0 0 auto}
@media(max-width:620px){
  .f-legal{flex-direction:column;gap:18px}
}

/* ============================================================
   HOME — planche par ville repensée : + d'air, grille régulière
   une seule carte vedette, le reste uniforme
   ============================================================ */
.ht-city{margin-top:clamp(66px,7vw,108px)}
.ht-desc{margin-bottom:clamp(26px,3vw,40px)}

.ht-grid{
  grid-template-columns:repeat(3,1fr);
  grid-auto-rows:auto;
  gap:clamp(16px,1.7vw,24px);
  grid-auto-flow:row;
}
.htc{
  aspect-ratio:4/3;height:auto;border-radius:18px;
  box-shadow:0 24px 46px -28px rgba(20,13,9,.5);
}
.htc-in{padding:18px 18px}
/* on neutralise les anciennes variantes : plus de mosaïque chaotique */
.htc.wide,.htc.tall{grid-column:auto;grid-row:auto}
/* carte vedette : la seule emphase, 2 colonnes × 2 lignes */
.htc.big{aspect-ratio:auto;grid-column:span 2;grid-row:span 2}
.htc.big .htc-in{padding:26px 26px}
.htc.big .htc-in h4{font-size:clamp(22px,2.1vw,30px)}

/* tablette : vedette en bandeau pleine largeur, reste en 2 colonnes */
@media(max-width:1024px){
  .ht-grid{grid-template-columns:repeat(2,1fr)}
  .htc.big{grid-column:span 2;grid-row:span 1;aspect-ratio:16/9}
  .htc.big .htc-d{-webkit-line-clamp:2}
}
/* téléphone : 2 colonnes, vedette pleine largeur */
@media(max-width:560px){
  .ht-grid{grid-template-columns:repeat(2,1fr);gap:12px}
  .htc{border-radius:14px}
  .htc.big{aspect-ratio:16/10}
}

/* Planche : une seule carte avec description (la vedette). Les autres = titre + durée */
.htc.wide .htc-d,.htc.tall .htc-d{display:none !important}

/* ============================================================
   Bloc formulaire : fond photo toscane atténué par un voile
   de couleur translucide → la carte blanche ressort
   ============================================================ */
.td-form-sec,.page-tour .td-form-sec{
  position:relative;
  background-image:
    linear-gradient(color-mix(in srgb,var(--cityc) 13%, rgba(255,255,255,.66)),
                    color-mix(in srgb,var(--cityc) 20%, rgba(255,255,255,.72))),
    url('https://images.unsplash.com/photo-1652121650307-57ad2716432c?w=2000&q=85&auto=format&fit=crop');
  background-position:center,center;
  background-size:cover,cover;
  background-repeat:no-repeat,no-repeat;
}

/* Footer : 5e colonne dédiée aux langues */
.f-top{grid-template-columns:repeat(4,1fr)}
.f-col-lang .f-lang-links{display:flex;flex-wrap:wrap;gap:8px}
@media(max-width:960px){ .f-top{grid-template-columns:1fr 1fr} }
@media(max-width:560px){ .f-top{grid-template-columns:1fr} }

/* Footer desktop : interlignage plus serré entre les liens */
@media(min-width:961px){
  .f-col a,.f-col div{margin-bottom:7px}
  .f-col h4{margin-bottom:14px}
}

/* ============================================================
   UNITÉ bandeau haut (.phero) + fond du formulaire — teintes
   corail/arancio/teal adoucies (moins vives) sur su-misura & chi-sono
   ============================================================ */
/* 1) bandeau du haut adouci */
.phero{background:linear-gradient(125deg,#F8516A 0%,#F8516A 14%,#FD8740 52%,#43AEAF 100%)}

/* (ancien voile multicolore su-misura/chi-sono retiré : voir plus bas, fond photo sans dégradé + formulaire verre noir) */

/* Footer : colonne Langues — liste élégante (badge code + nom complet) */
.f-col-lang a{text-transform:none;color:var(--body);gap:11px}
.f-col-lang a:hover{color:var(--coral)}
.f-col-lang .fl-code{display:inline-flex;align-items:center;justify-content:center;width:38px;box-sizing:border-box;
  font-family:var(--disp);font-size:10.5px;font-weight:600;letter-spacing:.04em;color:var(--mut);
  border:1px solid var(--line);border-radius:6px;padding:4px 0;transition:.15s}
.f-col-lang a:hover .fl-code{color:var(--ink);border-color:var(--mut)}
.f-col-lang a.on{color:var(--coral);font-weight:600}
.f-col-lang a.on .fl-code{color:#fff;background:var(--coral);border-color:var(--coral)}

/* "Perché scegliere me" au-dessus du diaporama des lieux : cartes sur fond clair */
.ps-intro{padding-bottom:clamp(34px,4vw,52px)}
.why-grid--light{border-color:var(--line)}
.why-grid--light .why-c{border-right-color:var(--line)}
.why-grid--light .why-c svg{stroke:var(--coral)}
.why-grid--light .why-c h3{color:var(--ink)}
.why-grid--light .why-c p{color:var(--body)}
@media(max-width:720px){ .why-grid--light .why-c{border-right:0;border-bottom-color:var(--line)} }

/* ============================================================
   Bandeau "Perché scegliere me" superposé au diaporama des lieux
   (texte blanc sur voile sombre, au-dessus des noms de ville)
   ============================================================ */
.placeshow--intro{height:auto;min-height:clamp(620px,82vh,760px);
  display:flex;flex-direction:column;justify-content:center;
  padding:clamp(40px,5vh,64px) 0 clamp(70px,9vh,110px)}
/* voile renforcé pour la lisibilité du texte centré */
.placeshow--intro .ps-slide::after{
  background:linear-gradient(180deg,rgba(10,8,7,.48),rgba(10,8,7,.34) 42%,rgba(10,8,7,.68))}
/* noms de ville : secondaires, en bas */
.placeshow--intro .ps-slide .wrap{text-align:center}
.placeshow--intro .ps-cap{font-size:clamp(18px,2.6vw,34px);opacity:.92}
/* contenu Perché centré */
.placeshow--intro .ps-content{position:relative;z-index:3;width:100%;text-align:center}
.placeshow--intro .ps-content .eyebrow{color:#fff;opacity:.88;font-size:13.5px;letter-spacing:.22em}
.placeshow--intro .ps-content h2{color:#fff;margin-top:16px;font-size:clamp(34px,5vw,64px);line-height:1.04;letter-spacing:-.02em}
.placeshow--intro .why-grid{margin:clamp(26px,3.2vw,42px) auto 0;max-width:1060px;
  background:rgba(10,8,7,.14);border-color:rgba(255,255,255,.16)}
.placeshow--intro .ps-content h2,.placeshow--intro .ps-content .eyebrow{text-shadow:0 2px 18px rgba(0,0,0,.45)}
.placeshow--intro .why-c h3,.placeshow--intro .why-c p{text-shadow:0 1px 10px rgba(0,0,0,.4)}
.placeshow--intro .why-c{border-right-color:rgba(255,255,255,.18)}
@media(max-width:720px){
  .placeshow--intro .why-c{border-right:0;border-bottom:1px solid rgba(255,255,255,.18)}
  .placeshow--intro .why-c:last-child{border-bottom:0}
}

/* ============================================================
   Page tour — zone "Prenota" immersive : lavis riche couleur ville
   + photo toscane, titre blanc, carte qui ressort (plus vivant)
   ============================================================ */
body.page-tour .td-form-sec{
  background-image:
    linear-gradient(135deg,
      color-mix(in srgb,var(--cityc) 56%, rgba(10,8,12,.60)) 0%,
      color-mix(in srgb,var(--cityc) 42%, rgba(10,8,12,.40)) 52%,
      color-mix(in srgb,var(--cityc) 60%, rgba(10,8,12,.66)) 100%),
    url('https://images.unsplash.com/photo-1652121650307-57ad2716432c?w=2000&q=85&auto=format&fit=crop');
  background-position:center,center;background-size:cover,cover;background-repeat:no-repeat,no-repeat;
}
body.page-tour .td-form-sec .head .eyebrow{color:rgba(255,255,255,.82)}
body.page-tour .td-form-sec .head .td-h2,
body.page-tour .td-form-sec .head h2{color:#fff}
body.page-tour .td-form-sec form{box-shadow:0 46px 92px -42px rgba(10,8,12,.62)}

/* ============================================================
   Bandeau intro — raffinement DA : cartes "verre dépoli"
   (au lieu de la grille encadrée plate), titre équilibré
   ============================================================ */
/* titre : évite l'orpheline "a te" */
.placeshow--intro .ps-content h2{text-wrap:balance;max-width:24ch;margin-left:auto;margin-right:auto}

/* grille sans cadre ni filets : cartes individuelles espacées */
.placeshow--intro .why-grid{
  background:transparent !important;border:0 !important;
  display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(14px,1.5vw,22px);
  max-width:1080px}
.placeshow--intro .why-c{
  border:1px solid rgba(255,255,255,.16) !important;border-radius:18px;
  background:rgba(16,12,10,.30);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);
  padding:clamp(26px,2.3vw,36px) clamp(20px,2vw,28px);
  transition:transform .3s cubic-bezier(.2,.7,.2,1),background .3s,border-color .3s}
.placeshow--intro .why-c:hover{transform:translateY(-6px);
  background:rgba(16,12,10,.44);border-color:rgba(255,255,255,.3)}
/* icône en pastille circulaire, centrée */
.placeshow--intro .why-c svg{width:24px;height:24px;margin:0 auto 18px;padding:13px;box-sizing:content-box;
  background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.22);border-radius:50%;display:block}
.placeshow--intro .why-c:hover svg{background:rgba(255,255,255,.16);border-color:rgba(255,255,255,.34)}
/* responsive : 2 colonnes puis 1 */
@media(max-width:900px){ .placeshow--intro .why-grid{grid-template-columns:repeat(2,1fr)} }
@media(max-width:600px){ .placeshow--intro .why-grid{grid-template-columns:1fr} }

/* Bandeau intro : "perfettamente a te" en doré chaud (plus lisible que le corail sur photo) */
.placeshow--intro .ps-content h2 .ac{display:block;color:#FFC94D;text-shadow:0 2px 20px rgba(0,0,0,.55)}

/* ============================================================
   CHI SONO & SU MISURA — formulaire en verre noir translucide
   sur photo toscane (voile coloré retiré). Direction : sombre,
   pour différencier ces pages des fiches tour.
   ============================================================ */
/* fond : photo visible, léger dégradé en haut pour le titre seulement */
body:is(.page-chi,.page-sumisura) .td-form-sec{
  background-color:#14120f;
  background-image:url("https://images.unsplash.com/photo-1652121650307-57ad2716432c?w=2000&q=85&auto=format&fit=crop");
  background-position:center;background-size:cover;background-repeat:no-repeat;
}
/* titre en blanc sur la photo */
body:is(.page-chi,.page-sumisura) .td-form-sec .head .eyebrow{color:#fff;opacity:.9;text-shadow:0 2px 16px rgba(0,0,0,.55)}
body:is(.page-chi,.page-sumisura) .td-form-sec .head h2{color:#fff;text-shadow:0 3px 22px rgba(0,0,0,.5)}
body:is(.page-chi,.page-sumisura) .td-form-sec .head h2 .ac{color:#FFC94D}

/* carte formulaire : verre noir */
body:is(.page-chi,.page-sumisura) .td-form-sec form{
  background:rgba(16,16,22,.52);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);
  border:1px solid rgba(255,255,255,.14);box-shadow:0 46px 92px -40px rgba(0,0,0,.72)}
body:is(.page-chi,.page-sumisura) .td-form-sec .fh{color:#fff}
body:is(.page-chi,.page-sumisura) .td-form-sec .fh-s{color:rgba(255,255,255,.66)}
body:is(.page-chi,.page-sumisura) .td-form-sec label{color:rgba(255,255,255,.86)}
/* champs translucides clairs */
body:is(.page-chi,.page-sumisura) .td-form-sec form input,
body:is(.page-chi,.page-sumisura) .td-form-sec form textarea,
body:is(.page-chi,.page-sumisura) .td-form-sec form select{
  background-color:rgba(255,255,255,.07);border:1.5px solid rgba(255,255,255,.18);color:#fff}
body:is(.page-chi,.page-sumisura) .td-form-sec form input::placeholder,
body:is(.page-chi,.page-sumisura) .td-form-sec form textarea::placeholder{color:rgba(255,255,255,.42)}
body:is(.page-chi,.page-sumisura) .td-form-sec form input:hover,
body:is(.page-chi,.page-sumisura) .td-form-sec form textarea:hover,
body:is(.page-chi,.page-sumisura) .td-form-sec form select:hover{border-color:rgba(255,255,255,.34)}
body:is(.page-chi,.page-sumisura) .td-form-sec form input:focus,
body:is(.page-chi,.page-sumisura) .td-form-sec form textarea:focus,
body:is(.page-chi,.page-sumisura) .td-form-sec form select:focus{
  background-color:rgba(255,255,255,.1);border-color:var(--cityc);
  box-shadow:0 0 0 4px color-mix(in srgb,var(--cityc) 28%,transparent)}
/* flèche du select en clair */
body:is(.page-chi,.page-sumisura) .td-form-sec form select,
body:is(.page-chi,.page-sumisura) .td-form-sec form select:focus,
body:is(.page-chi,.page-sumisura) .td-form-sec form select:hover{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E")}
body:is(.page-chi,.page-sumisura) .td-form-sec form select option{color:#1a1a1a}
/* chips */
body:is(.page-chi,.page-sumisura) .td-form-sec .chip{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.2);color:#fff}
body:is(.page-chi,.page-sumisura) .td-form-sec .chip:hover{border-color:rgba(255,255,255,.4)}
/* consentement + note */
body:is(.page-chi,.page-sumisura) .td-form-sec .consent{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.18);color:rgba(255,255,255,.82)}
body:is(.page-chi,.page-sumisura) .td-form-sec .note{color:rgba(255,255,255,.6)}
body:is(.page-chi,.page-sumisura) .td-form-sec .note a{color:#FFC94D}

/* "Per chi" : deux colonnes sur mobile (au lieu d'une) */
@media(max-width:520px){
  .audiences .aud-grid{grid-template-columns:repeat(2,1fr);gap:12px}
  .audiences .aud{padding:26px 12px 22px}
}

/* Home mobile : masquer le lien "Scopri la città" des entêtes de ville */
@media(max-width:720px){ .ht-more{display:none} }

/* Hero : texte plus présent (surtout desktop) — taille, poids, contraste */
.hero .lead{font-size:clamp(20px,2.5vw,32px);opacity:1;font-weight:600;text-shadow:0 2px 22px rgba(0,0,0,.55);max-width:46ch}
.hero p.sub{font-size:clamp(15.5px,1.4vw,20px);font-weight:400;color:#fff;opacity:.96;max-width:56ch;line-height:1.6;text-shadow:0 1px 16px rgba(0,0,0,.55)}
/* voile bas un peu plus marqué pour la lisibilité du texte */
.hero-bg::after{background:linear-gradient(180deg,rgba(20,13,9,.12) 0%,rgba(20,13,9,0) 32%,rgba(20,13,9,.88) 100%)}

/* Footer : logo complet (icône + texte) au lieu de l'icône seule */
.f-logo-full{margin-bottom:7px}
.f-brand p{margin-top:0}
footer .f-logo-full .logo-badge{height:54px;filter:none !important;margin:0}
footer .f-logo-full .logo-name{color:var(--ink)}
footer .f-logo-full .logo-sub{color:var(--coral)}

/* Footer : bloc texte SEO/légal complet */
.f-seo{margin-top:26px;padding-top:0;border-top:0;
  font-size:12.5px;line-height:1.75;color:var(--mut)}
.f-seo a{color:var(--body);border-bottom:1px solid var(--line);transition:.15s}
.f-seo a:hover{color:var(--coral);border-bottom-color:var(--coral)}
.f-seo i{font-style:italic}

/* Planche home : dernière carte = aplat couleur ville "Scopri tutti i tour per questa città" */
.htc-cta{background:var(--cityc);display:flex;align-items:center;justify-content:center;text-align:center}
.htc-cta .htc-in{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;gap:16px;padding:28px}
.htc-cta-logo{width:clamp(46px,5vw,62px);height:auto;display:block;margin-bottom:2px;filter:drop-shadow(0 4px 10px rgba(0,0,0,.18))}
.htc-cta h4{color:#fff;font-family:var(--disp);font-weight:700;font-size:clamp(17px,1.5vw,22px);line-height:1.22;letter-spacing:-.01em;text-transform:none}
.htc-cta-arrow{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;background:rgba(255,255,255,.18);border:1.5px solid rgba(255,255,255,.55);transition:.25s}
.htc-cta-arrow svg{width:20px;height:20px;stroke:#fff;fill:none;stroke-width:2.2}
.htc-cta:hover{filter:brightness(1.05)}
.htc-cta:hover .htc-cta-arrow{background:#fff}
.htc-cta:hover .htc-cta-arrow svg{stroke:var(--cityc)}

/* Carrousel "Altri tour" : masquer la flèche gauche (précédent) sur mobile */
@media(max-width:720px){ .to-arrow[data-dir="-1"]{display:none} }

/* ============================================================
   En-têtes de page (.phero) — refonte DA : photo toscane mise
   en valeur + voile sombre chaud en diagonale (invitation au
   voyage), au lieu du dégradé multicolore
   ============================================================ */
.phero{background:#1b110b}
.phero-bg{opacity:1;mix-blend-mode:normal}
.phero-bg::after{
  background:
    linear-gradient(100deg, rgba(20,12,8,.82) 0%, rgba(20,12,8,.56) 36%, rgba(20,12,8,.24) 68%, rgba(20,12,8,.06) 100%),
    linear-gradient(0deg, rgba(20,12,8,.5) 0%, rgba(20,12,8,0) 42%);
}
.phero .eyebrow{color:#ffd9a8;opacity:1;letter-spacing:.22em;text-shadow:0 2px 14px rgba(0,0,0,.5)}
.phero h1{text-shadow:0 3px 26px rgba(0,0,0,.5)}
.phero p{color:#f3ece6;text-shadow:0 2px 16px rgba(0,0,0,.5)}

/* Pages tour : premier paragraphe plus grand et présent */
.td-lead{font-size:clamp(21px,1.7vw,27px);font-weight:600;line-height:1.45;letter-spacing:-.01em;color:var(--ink)}

/* ============================================================
   Page tour — section "Altri tour" immersive : photo + voile
   riche couleur ville (comme le formulaire), titre blanc
   ============================================================ */
body.page-tour .td-other-sec{
  background-color:#14120f !important;
  background-image:
    linear-gradient(135deg,
      color-mix(in srgb,var(--cityc) 56%, rgba(10,8,12,.60)) 0%,
      color-mix(in srgb,var(--cityc) 42%, rgba(10,8,12,.40)) 52%,
      color-mix(in srgb,var(--cityc) 60%, rgba(10,8,12,.66)) 100%),
    url('https://images.unsplash.com/photo-1652121650307-57ad2716432c?w=2000&q=85&auto=format&fit=crop') !important;
  background-position:center,center !important;background-size:cover,cover !important;background-repeat:no-repeat,no-repeat !important;
}
body.page-tour .td-other-sec .td-h2{color:#fff}
body.page-tour .td-other-sec .to-progress{background:rgba(255,255,255,.25)}
body.page-tour .td-other-sec .to-bar{background:#fff}

/* En-tête tour : "Tutti i tour" + pastille ville alignés verticalement */
.td-crumb{display:flex;align-items:center;gap:14px;margin-bottom:22px;flex-wrap:wrap}
.td-crumb .td-back{margin-bottom:0}

/* Pages ville : pas de filet sous la dernière ligne de la liste */
.parcorsi .pc:last-child{border-bottom:0}

/* Formulaire sombre : chip sélectionné bien visible (couleur du bouton Invia) */
body:is(.page-chi,.page-sumisura) .td-form-sec .chip:has(input:checked){
  background:var(--cityc);border-color:var(--cityc);color:#fff}

/* Bandeau intro : plus d'espace sous les points de navigation */
.placeshow--intro .ps-nav{bottom:clamp(30px,4.5vh,52px)}

/* Bandeau intro : légende juste au-dessus des points, écart proportionné */
.placeshow--intro .ps-slide .wrap{padding-bottom:clamp(54px,6vh,74px)}
.placeshow--intro .ps-nav{bottom:clamp(22px,2.8vh,32px)}

/* Crédit photos très discret */
.f-photocredit{margin-top:12px;font-size:10.5px;color:var(--mut);opacity:.6}
.f-photocredit a{color:inherit;border-bottom:1px solid transparent}
.f-photocredit a:hover{opacity:1;border-bottom-color:currentColor}

/* Planche mobile : la carte CTA occupe toute la largeur (2 colonnes) */
@media(max-width:1024px){ .htc-cta{grid-column:1 / -1;aspect-ratio:auto} .htc-cta .htc-in{padding-top:clamp(40px,8vw,56px);padding-bottom:clamp(40px,8vw,56px)} }
@media(max-width:560px){ .htc-cta .htc-in{gap:18px} }

/* Hero mobile : plus d'espace en haut (le texte ne colle plus au header) */
@media(max-width:760px){ .hero-in{padding-top:52px} }

/* Stat "Dog friendly" : patte en blanc */
.hero-stats .n-paw{filter:brightness(0) invert(1)}

/* Su misura : intro en 2 colonnes avec pile de cartes postales à droite */
.sm-intro{max-width:var(--wrap);display:grid;grid-template-columns:1fr clamp(320px,36vw,460px);gap:clamp(36px,6vw,84px);align-items:center}
.sm-intro-txt{max-width:600px}
.sm-intro-txt p{margin-top:16px;font-size:16px}
.sm-postcards{position:relative;height:clamp(400px,44vw,540px)}
.sm-card{position:absolute;width:74%;aspect-ratio:3/4;background-size:cover;background-position:center;
  border-radius:8px;border:9px solid #fff;box-shadow:0 34px 64px -30px rgba(20,13,9,.55);
  transition:transform .35s cubic-bezier(.2,.7,.2,1)}
.sm-card-1{top:2%;left:0;transform:rotate(-7deg);z-index:1}
.sm-card-2{top:16%;right:0;transform:rotate(6deg);z-index:2}
.sm-card-3{bottom:0;left:16%;transform:rotate(-2deg);z-index:3}
.sm-postcards:hover .sm-card-1{transform:rotate(-10deg) translateY(-4px)}
.sm-postcards:hover .sm-card-2{transform:rotate(9deg) translateY(-4px)}
.sm-postcards:hover .sm-card-3{transform:rotate(-1deg) translateY(-6px)}
@media(max-width:860px){
  .sm-intro{grid-template-columns:1fr;gap:28px}
  .sm-postcards{height:clamp(340px,78vw,460px);max-width:420px;margin:8px auto 0;width:100%}
}

/* Page crédits photos */
.credits-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:22px}
.credit-card{margin:0}
.credit-img{aspect-ratio:4/3;border-radius:12px;background:#ded8d2 center/cover no-repeat;box-shadow:0 16px 32px -20px rgba(20,13,9,.45)}
.credit-card figcaption{margin-top:11px;display:flex;flex-direction:column;gap:3px}
.credit-author{font-family:var(--disp);font-weight:600;font-size:14px;color:var(--ink)}
.credit-tbd{color:var(--mut);font-weight:500;font-style:italic}
.credit-kw{font-size:12.5px;color:var(--mut);line-height:1.45}

/* Page crédits : lien image + "Apri su Unsplash" */
.credit-img{display:block}
.credit-link{font-size:12px;color:var(--coral);border-bottom:1px solid transparent;align-self:flex-start}
.credit-link:hover{border-bottom-color:currentColor}

/* Page crédits : numéro sur chaque image */
.credit-card{position:relative}
.credit-num{position:absolute;top:10px;left:10px;z-index:2;display:inline-flex;align-items:center;justify-content:center;
  min-width:30px;height:30px;padding:0 8px;border-radius:999px;background:rgba(16,12,10,.78);color:#fff;
  font-family:var(--disp);font-weight:700;font-size:13px;backdrop-filter:blur(4px)}
.credit-no{font-family:var(--disp);font-weight:700;font-size:13px;color:var(--coral)}

/* Page crédits : lien auteur */
.credit-author{font-family:var(--disp);font-weight:600;font-size:14px;color:var(--ink);border-bottom:1px solid var(--line)}
.credit-author:hover{color:var(--coral);border-bottom-color:var(--coral)}

/* ===== Logo officiel : "ANDAMO® / CON MARI" sur 2 lignes + tagline traduite ===== */
.logo-name{display:flex;flex-direction:column;font-family:var(--disp);font-weight:800;font-size:clamp(14px,1.35vw,17px);letter-spacing:-.005em;line-height:.96;text-transform:uppercase;color:var(--ink)}
.logo-line{display:block}
.logo-r{font-size:.4em;font-weight:600;vertical-align:super;margin-left:1px;line-height:0}
.logo-r-m{display:none}   /* ® après "Mari" : affiché seulement quand le nom est sur 1 ligne (mobile) */
.logo-sub{font-family:var(--disp);font-weight:500;font-size:9.5px;letter-spacing:.005em;text-transform:none;color:var(--mut);margin-top:4px}
/* footer : tagline en gris (comme le logo officiel), pas corail */
footer .f-logo-full .logo-sub{color:var(--mut)}
footer .f-logo-full .logo-name{font-size:clamp(15px,1.45vw,18px)}

/* ===== Icône (mark) agrandie pour respecter les proportions du logo officiel ===== */
.logo img.logo-badge{height:62px}
footer .f-logo-full .logo-badge{height:70px}
@media(max-width:760px){ .logo img.logo-badge{height:52px} }

/* ===== Mobile : logo sur 1 ligne, ® après "Mari" ===== */
@media(max-width:760px){
  .logo-name{display:block;font-size:15px;line-height:1.02}
  .logo-line{display:inline}
  .logo-r-d{display:none}
  .logo-r-m{display:inline}
}

/* ===== Bloc "Membro di Terre di Pisa" (page Chi sono) ===== */
.tdp-card{display:grid;grid-template-columns:220px 1fr;gap:38px;align-items:center;
  background:var(--off);border:1px solid rgba(0,0,0,.06);border-radius:22px;padding:34px 38px}
.tdp-logo{display:flex;justify-content:center}
.tdp-logo img{width:100%;max-width:190px;height:auto;display:block;
  background:#fff;border-radius:16px;padding:14px;box-shadow:0 10px 30px rgba(0,0,0,.07)}
.tdp-txt .eyebrow{color:var(--coral)}
.tdp-txt h2{margin:10px 0 12px;font-size:clamp(22px,2.4vw,28px)}
.tdp-txt p{margin:0 0 18px;color:var(--mut);line-height:1.7}
.tdp-link{display:inline-flex;align-items:center;gap:6px;font-family:var(--disp);
  font-weight:600;font-size:14px;color:var(--coral);text-decoration:none}
.tdp-link:hover{text-decoration:underline}
@media(max-width:720px){
  .tdp-card{grid-template-columns:1fr;gap:22px;padding:28px 22px;text-align:center}
  .tdp-logo img{max-width:170px}
  .tdp-txt p{text-align:left}
}

/* ===== Sélecteur de date sur-mesure (calendrier maison, assorti au formulaire) ===== */
.dp{position:relative}
.dp-field{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;
  font-family:var(--sans);font-size:15px;color:var(--ink);text-align:left;cursor:pointer;
  background:#FBF8F6;border:1.5px solid var(--line);border-radius:13px;padding:15px 16px;transition:.18s}
.dp-field:hover{border-color:color-mix(in srgb,var(--cityc,var(--coral)) 40%,var(--line))}
.dp-field.dp-on{outline:none;border-color:var(--cityc,var(--coral));
  box-shadow:0 0 0 4px color-mix(in srgb,var(--cityc,var(--coral)) 15%,transparent)}
.dp-val{flex:1;white-space:nowrap}
.dp-val.dp-empty{color:var(--mut)}
.dp-ic{width:18px;height:18px;flex:none;fill:none;stroke:var(--cityc,var(--coral));stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.dp-panel{position:absolute;z-index:40;top:calc(100% + 8px);left:0;width:286px;max-width:92vw;
  background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:16px;
  box-shadow:0 24px 60px -18px rgba(20,14,10,.3);padding:14px}
.dp-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
.dp-title{font-family:var(--disp);font-weight:600;font-size:14px;color:var(--ink);text-transform:capitalize}
.dp-nav{width:30px;height:30px;border:0;border-radius:9px;background:var(--off);color:var(--ink);
  font-size:17px;line-height:1;cursor:pointer;transition:.15s}
.dp-nav:hover{background:color-mix(in srgb,var(--cityc,var(--coral)) 16%,var(--off));color:var(--cityc,var(--coral))}
.dp-wd{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;margin-bottom:4px}
.dp-wd span{text-align:center;font-size:11px;font-weight:600;color:var(--mut);padding:4px 0}
.dp-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}
.dp-pad{aspect-ratio:1}
.dp-day{aspect-ratio:1;border:0;border-radius:9px;background:transparent;color:var(--ink);
  font-family:var(--sans);font-size:13px;cursor:pointer;transition:.12s}
.dp-day:hover{background:color-mix(in srgb,var(--cityc,var(--coral)) 14%,transparent)}
.dp-day.dp-today{box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--cityc,var(--coral)) 45%,transparent);font-weight:600}
.dp-day.dp-sel{background:var(--cityc,var(--coral));color:#fff;font-weight:600}
.dp-day.dp-off{color:var(--mut);opacity:.35;cursor:default}

/* Variante sombre : Chi sono & Su misura (formulaire en verre noir) */
body:is(.page-chi,.page-sumisura) .td-form-sec .dp-field{
  background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.18);color:#fff}
body:is(.page-chi,.page-sumisura) .td-form-sec .dp-field:hover{border-color:rgba(255,255,255,.34)}
body:is(.page-chi,.page-sumisura) .td-form-sec .dp-val.dp-empty{color:rgba(255,255,255,.42)}
body:is(.page-chi,.page-sumisura) .td-form-sec .dp-panel{
  background:#1c1713;border-color:rgba(255,255,255,.12);box-shadow:0 24px 60px -18px rgba(0,0,0,.6)}
body:is(.page-chi,.page-sumisura) .td-form-sec .dp-title{color:#fff}
body:is(.page-chi,.page-sumisura) .td-form-sec .dp-nav{background:rgba(255,255,255,.08);color:#fff}
body:is(.page-chi,.page-sumisura) .td-form-sec .dp-nav:hover{background:color-mix(in srgb,var(--cityc,var(--coral)) 34%,rgba(255,255,255,.08));color:#fff}
body:is(.page-chi,.page-sumisura) .td-form-sec .dp-day{color:rgba(255,255,255,.9)}
body:is(.page-chi,.page-sumisura) .td-form-sec .dp-day:hover{background:rgba(255,255,255,.12)}
body:is(.page-chi,.page-sumisura) .td-form-sec .dp-day.dp-off{color:rgba(255,255,255,.3)}

/* ===== Photo "Chi sono" en carte postale inclinée (page Chi sono) ===== */
.about-img--pc{overflow:visible;border-top:0;min-height:0;
  display:flex;flex-direction:column;align-items:center;justify-content:center;padding:18px 6px 34px}
.about-img--pc .chi-pc{margin:0;background:#fff;padding:13px 13px 15px;border-radius:5px;max-width:420px;
  box-shadow:0 30px 60px -24px rgba(20,14,10,.5),0 2px 8px rgba(0,0,0,.08);
  transform:rotate(-3deg);transition:transform .45s cubic-bezier(.2,.7,.2,1)}
.about-img--pc .chi-pc img{position:static;display:block;width:100%;height:auto;border-radius:2px;object-fit:cover}
.about-img--pc:hover .chi-pc{transform:rotate(-1.2deg)}
.about-img--pc .quote{position:relative;left:auto;right:auto;bottom:auto;
  max-width:340px;margin-top:-16px;transform:rotate(1.6deg);z-index:2;
  font-size:15.5px;padding:18px 20px;box-shadow:0 18px 40px -22px rgba(20,14,10,.45)}
@media(max-width:760px){
  .about-img--pc{padding:10px 0 26px}
  .about-img--pc .chi-pc{transform:rotate(-2deg);max-width:340px}
  .about-img--pc .quote{max-width:300px;font-size:14.5px}
}

/* ===== Galerie "Istantanee di viaggio" — slider photos de vacances (page Chi sono) ===== */
.cg-sec{padding-top:0}
.cg-head{text-align:center;margin-bottom:26px}
.cg-head .eyebrow{color:var(--coral)}
.cg-head h2{font-family:var(--disp);font-weight:700;letter-spacing:-.02em;font-size:clamp(24px,3vw,34px);margin-top:8px}
.cg-rail{display:flex;gap:26px;overflow-x:auto;scroll-snap-type:x mandatory;
  scrollbar-width:none;-ms-overflow-style:none;padding:36px 46px 58px;cursor:grab}
.cg-rail::-webkit-scrollbar{display:none}
.cg-rail.dragging{cursor:grabbing;scroll-snap-type:none}
.cg-card{--rot:-2.2deg;flex:0 0 calc((100% - 52px)/3);scroll-snap-align:center;margin:0;
  background:#fff;padding:11px 11px 13px;border-radius:6px;
  box-shadow:0 26px 50px -24px rgba(20,14,10,.45),0 3px 8px rgba(0,0,0,.08);
  transform:rotate(var(--rot));
  transition:transform .4s cubic-bezier(.2,.7,.2,1),box-shadow .4s}
.cg-card:nth-child(even){--rot:2deg}      /* pair = penché à droite */
.cg-card:nth-child(4n+1){--rot:-1.4deg}   /* variation d'angle, même sens (gauche) */
.cg-card:nth-child(4n){--rot:1.6deg}      /* variation d'angle, même sens (droite) */
.cg-card img{display:block;width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:3px;-webkit-user-drag:none;user-select:none}
.cg-card:hover{transform:rotate(calc(var(--rot) * .35)) translateY(-8px);box-shadow:0 36px 64px -26px rgba(20,14,10,.52)}
.cg-nav{display:flex;align-items:center;gap:16px;justify-content:center;margin-top:20px}
.cg-nav.hide{display:none}
.cg-arrow{width:44px;height:44px;flex:none;border:1.5px solid var(--line);border-radius:50%;
  background:#fff;color:var(--ink);font-size:22px;line-height:1;cursor:pointer;transition:.18s;
  display:flex;align-items:center;justify-content:center}
.cg-arrow:hover:not(:disabled){border-color:var(--coral);color:var(--coral);transform:scale(1.06)}
.cg-arrow:disabled{opacity:.3;cursor:default}
.cg-progress{position:relative;width:min(220px,40vw);height:3px;border-radius:3px;background:var(--line);overflow:hidden}
.cg-bar{position:absolute;left:0;top:0;height:100%;width:30%;border-radius:3px;background:var(--coral);transition:width .2s}
@media(max-width:900px){ .cg-card{flex-basis:calc((100% - 26px)/2)} }
@media(max-width:560px){ .cg-card{flex-basis:80%} .cg-rail{gap:16px;padding:28px 22px 46px} }

/* ===== Testimonianze (recensioni Google) — page Chi sono ===== */
.rv-sec{padding-top:0}
.rv-head{text-align:center;margin-bottom:30px}
.rv-head .eyebrow{color:var(--coral)}
.rv-head h2{font-family:var(--disp);font-weight:700;letter-spacing:-.02em;font-size:clamp(24px,3vw,34px);margin-top:8px}
.rv-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.rv-card{margin:0;background:#fff;border:1px solid rgba(0,0,0,.06);border-radius:18px;padding:28px 26px;
  box-shadow:0 22px 46px -30px rgba(20,14,10,.3);display:flex;flex-direction:column;gap:14px;transition:transform .3s,box-shadow .3s}
.rv-card:hover{transform:translateY(-4px);box-shadow:0 32px 60px -30px rgba(20,14,10,.4)}
.rv-stars{display:flex;gap:3px}
.rv-stars svg{width:17px;height:17px;fill:#F5A623}
.rv-text{font-family:var(--serif);font-style:italic;font-size:16px;line-height:1.62;color:var(--ink);margin:0;flex:1}
.rv-foot{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-top:2px;padding-top:15px;border-top:1px solid rgba(0,0,0,.08)}
.rv-who{display:flex;flex-direction:column;gap:2px;min-width:0}
.rv-name{font-family:var(--disp);font-weight:600;font-size:14px;color:var(--ink)}
.rv-place{font-size:12.5px;color:var(--mut)}
.rv-src{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;color:var(--mut);white-space:nowrap;flex:none}
.rv-g{width:15px;height:15px;flex:none}
@media(max-width:860px){ .rv-grid{grid-template-columns:1fr;max-width:540px;margin:0 auto} }

/* ===== Invito a lasciare una recensione Google (sotto le testimonianze) ===== */
.rv-invite{text-align:center;margin-top:34px}
.rv-invite p{margin:0 0 16px;color:var(--mut);font-size:15.5px}
.rv-btn{display:inline-flex;align-items:center;gap:10px;background:#fff;color:var(--ink);
  font-family:var(--disp);font-weight:600;font-size:14.5px;padding:13px 24px;border-radius:50px;
  border:1.5px solid var(--line);box-shadow:0 12px 30px -16px rgba(20,14,10,.3);transition:.2s}
.rv-btn:hover{border-color:var(--coral);transform:translateY(-2px);box-shadow:0 18px 38px -18px rgba(20,14,10,.4)}
.rv-btn .rv-g{width:19px;height:19px}

/* ===== H1 SEO : mêmes styles que les H2 équivalents ===== */
.head h1{font-family:var(--disp);font-weight:700;font-size:clamp(30px,5vw,58px);letter-spacing:-.03em;margin:16px 0 0;text-transform:uppercase;line-height:.98}
.city-band h1{color:#fff;font-family:var(--disp);font-weight:800;font-size:clamp(44px,10vw,120px);text-transform:uppercase;letter-spacing:-.04em;line-height:.9;margin:4px 0 0}
.c-intro h1{font-family:var(--disp);font-size:clamp(30px,4.2vw,52px);font-weight:700;text-transform:uppercase;letter-spacing:-.03em;line-height:.98}

/* ===== Widget de contact flottant (avatar Maria) ===== */
.pal{position:fixed;right:clamp(14px,2vw,24px);bottom:clamp(14px,2vw,24px);z-index:80;
  transition:opacity .35s,transform .35s cubic-bezier(.2,.7,.2,1)}
.pal.is-away{opacity:0;transform:translateY(22px) scale(.96);pointer-events:none}
body:has(.mnav.open) .pal{display:none}
.pal-btn{display:flex;align-items:center;gap:11px;padding:5px 20px 5px 5px;border:0;border-radius:999px;
  background:var(--ink);color:#fff;cursor:pointer;box-shadow:0 14px 34px -10px rgba(20,14,10,.5);
  font-family:var(--disp);font-weight:600;font-size:15px;line-height:1;transition:background .2s,transform .2s}
.pal-btn:hover,.pal-btn[aria-expanded="true"]{background:var(--coral);transform:translateY(-2px)}
.pal-btn img{width:50px;height:50px;border-radius:50%;border:2px solid #fff;object-fit:cover;display:block}
.pal-card{position:absolute;right:0;bottom:calc(100% + 12px);width:min(340px,calc(100vw - 28px));
  background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:18px;
  box-shadow:0 30px 70px -24px rgba(20,14,10,.4);padding:26px 24px 22px}
.pal-card[hidden]{display:none}
.pal-x{position:absolute;top:12px;right:12px;width:34px;height:34px;border:0;background:var(--off);border-radius:50%;
  cursor:pointer;display:grid;place-items:center;color:var(--mut);transition:.15s}
.pal-x:hover{color:var(--ink);background:#eee}
.pal-h{font-family:var(--disp);font-weight:700;font-size:20px;line-height:1.15;letter-spacing:-.01em;color:var(--ink);padding-right:30px;margin-bottom:16px}
.pal-city{padding:2px 0 4px 14px;border-left:4px solid var(--coral);margin-bottom:18px;display:grid;gap:7px}
.pal-city p{margin:0 0 3px;font-family:var(--disp);font-weight:600;font-size:14px;color:var(--ink)}
.pal-city a{display:flex;align-items:center;gap:9px;font-size:14.5px;color:var(--body);text-decoration:none;word-break:break-word}
.pal-city a:hover{color:var(--coral)}
.pal-city .ic{color:var(--coral);flex:none;display:inline-flex}
.pal-cta{display:block;text-align:center;background:var(--coral);color:#fff;font-family:var(--disp);font-weight:600;
  font-size:15px;padding:13px 18px;border-radius:12px;text-decoration:none;transition:.2s}
.pal-cta:hover{background:var(--ink)}
@media(max-width:600px){ .pal-btn span{display:none} .pal-btn{padding:4px} }

/* Menu mobile — scelta lingua (sotto il bottone Scrivimi) */
.mnav-langs{display:flex;gap:8px;margin-top:16px}
.mnav-langs a{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:12px 6px;border:1px solid var(--line);border-radius:3px;font-family:var(--disp);font-weight:600;font-size:13px;line-height:1;color:var(--ink);text-align:center;white-space:nowrap;transition:.15s}
.mnav-langs a .ml-code{font-size:11px;letter-spacing:.06em;opacity:.55}
.mnav-langs a.on{background:var(--ink);color:#fff;border-color:var(--ink)}
.mnav-langs a.on .ml-code{opacity:.85}
@media (max-width:360px){.mnav-langs a{font-size:0}.mnav-langs a .ml-code{font-size:12px;opacity:1}}

/* Footer — riga dati fiscali */
.f-legal{margin-top:12px;font-size:11.5px;line-height:1.6;color:var(--mut);opacity:.7}

/* Footer a tutta larghezza — nessuno spazio vuoto a destra */
footer .wrap{max-width:1400px;margin-inline:auto;padding-left:clamp(24px,4vw,64px);padding-right:clamp(24px,4vw,64px)}

/* Bandeau intro mobile — legende centree au-dessus des dots */
@media(max-width:600px){
  .placeshow--intro{padding-bottom:140px}
  .placeshow--intro .ps-slide .wrap{padding-bottom:80px}
  .placeshow--intro .ps-nav{bottom:34px}
}
/* END intro mobile */

/* Header a tutta larghezza — stessa larghezza del footer (nessuno spazio vuoto a destra) */
header .wrap{max-width:1400px;margin-inline:auto;padding-left:clamp(24px,4vw,64px);padding-right:clamp(24px,4vw,64px)}

/* Icone del menu in alto */
.menu a .mi{display:none;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;flex:none}

/* Desktop largo (>=1201px): menu inline con icone, dimensioni moderate, mai a capo */
@media(min-width:1201px){
  .nav{height:88px;gap:22px}
  .logo img.logo-badge{height:52px}
  .logo-name{font-size:22px}
  .logo-sub{font-size:9.5px;letter-spacing:.2em}
  .menu{gap:22px;flex-wrap:nowrap;margin-left:auto;margin-right:8px}
  .menu a{font-size:14px;white-space:nowrap}
  .menu a .mi{display:inline-block;width:16px;height:16px;margin-right:6px}
  .nav-r{gap:18px}
  .nav-write{font-size:14px;padding:11px 20px;gap:8px;white-space:nowrap}
  .nav-write svg{width:17px;height:17px}
  .lang a{font-size:12.5px;padding:5px 7px}
}

/* Linea dati fiscali: sopra la linea di separazione */
footer .f-top{border-bottom:0;padding-bottom:0}
footer .f-legal{display:block;margin:0;padding:30px 0 24px;border-bottom:1px solid var(--line);font-size:14px;line-height:1.7;color:#000;opacity:1;justify-content:flex-start}

/* ===== CTA città (home) : logo grande, testo e freccia sovrapposti in basso (mobile) ===== */
.htc-cta-txt{display:flex;flex-direction:column;align-items:center;gap:16px}
@media(max-width:620px){
  .htc-cta .htc-in{position:relative;display:block;width:100%;min-height:clamp(280px,72vw,360px);padding:22px}
  .htc-cta-logo{position:absolute;top:22px;left:50%;transform:translateX(-50%);height:calc(100% - 44px);width:auto;max-width:calc(100% - 44px);margin:0;filter:drop-shadow(0 6px 18px rgba(0,0,0,.25))}
  .htc-cta-txt{position:absolute;left:18px;right:18px;bottom:18px;z-index:2;gap:14px}
  .htc-cta-txt::before{content:"";position:absolute;inset:-34px -18px -18px;z-index:-1;background:linear-gradient(180deg,transparent 0%,color-mix(in srgb,var(--cityc) 72%,#000) 92%);border-radius:0 0 14px 14px}
  .htc-cta h4{font-size:18px;text-shadow:0 2px 10px rgba(0,0,0,.4)}
}

/* Hero mobile allégé (LCP) */
@media(max-width:640px){.hero-bg{background-image:url('https://images.unsplash.com/photo-1578262634053-eead874052be?w=600&q=55&auto=format&fit=crop') !important}}
