/*
 * Taxi Partenopeo Ercolano — Noir & Gold visual theme
 * Solo presentazione: nessun contenuto, dato o comportamento viene modificato.
 */

:root{
  --navy:#061728;
  --navy2:#0b2a45;
  --yellow:#d9a534;
  --gold:#d9a534;
  --gold-light:#f0cb72;
  --gold-dark:#a97816;
  --ivory:#f7f4ee;
  --white:#fff;
  --ink:#0b1a29;
  --muted:#5f6973;
  --line:rgba(7,25,43,.13);
  --green:#18794e;
  --red:#b42318;
  --shadow:0 22px 60px rgba(3,17,30,.13);
  --shadow-dark:0 28px 70px rgba(0,0,0,.28);
  --radius:8px;
}

body{
  background:var(--ivory);
  color:var(--ink);
  font-family:Manrope,Inter,"Segoe UI",Arial,sans-serif;
}

::selection{background:var(--gold);color:var(--navy)}

/* Fascia lingue e navigazione */
.topbar{
  background:#03101d;
  color:#e8edf1;
  border-bottom:1px solid rgba(217,165,52,.24);
}

.topbar-inner{min-height:38px}
.topbar-inner>a{color:#f4f6f8}
.languages{gap:18px}
.languages a{opacity:.68;transition:opacity .2s ease,color .2s ease}
.languages a:hover,.languages a.active{opacity:1;color:var(--gold-light)}

.site-header{
  background:rgba(6,23,40,.96);
  color:#fff;
  border-bottom:1px solid rgba(217,165,52,.32);
  box-shadow:0 8px 30px rgba(0,0,0,.12);
  backdrop-filter:blur(16px);
}

.page-scrolled .site-header{
  background:rgba(3,16,29,.985);
  box-shadow:0 14px 40px rgba(0,0,0,.25);
}

.nav-wrap{min-height:88px}
.brand strong,.brand-footer strong{color:#fff}
.brand small{color:var(--gold-light)}
.brand img{filter:drop-shadow(0 6px 16px rgba(0,0,0,.18))}

.taxi-mark{
  color:var(--gold-light);
  background:transparent;
  border:1px solid var(--gold);
  box-shadow:inset 0 0 20px rgba(217,165,52,.06);
}

.taxi-mark:before{background:var(--gold)}
.main-nav{gap:27px}
.main-nav a{
  color:#f7f9fb;
  font-size:.82rem;
  letter-spacing:.055em;
  text-transform:uppercase;
  position:relative;
  padding:12px 0;
}

.main-nav a:after{
  content:"";
  position:absolute;
  left:50%;right:50%;bottom:2px;
  height:2px;
  background:var(--gold);
  transition:left .25s ease,right .25s ease;
}

.main-nav a:hover{color:var(--gold-light)}
.main-nav a:hover:after{left:0;right:0}
.nav-toggle{color:#fff}

/* Pulsanti */
.btn{
  border-radius:999px;
  padding:12px 22px;
  letter-spacing:.025em;
  box-shadow:none;
}

.btn-primary{
  color:#071522;
  background:linear-gradient(135deg,var(--gold-light),var(--gold) 54%,#c38b20);
  border-color:rgba(255,255,255,.12);
  box-shadow:0 10px 25px rgba(169,120,22,.22);
}

.btn-primary:hover{filter:brightness(1.06);box-shadow:0 14px 30px rgba(169,120,22,.31)}
.btn-ghost{color:var(--navy);border-color:rgba(7,25,43,.28);background:transparent}
.site-header .btn-ghost,.hero .btn-ghost,.section-dark .btn-ghost,.home-request-section .btn-ghost{
  color:#fff;
  border-color:rgba(217,165,52,.72);
  background:rgba(255,255,255,.025);
}

.btn-dark{background:#0d2a43;color:#fff;border-color:rgba(217,165,52,.52)}
.btn-light{background:#fff;color:var(--navy);border-color:rgba(255,255,255,.65)}
.btn-whatsapp{background:#fff;color:#123c2b;border:1px solid rgba(25,121,78,.38)}
.btn-danger{border-radius:999px}

/* Hero cinematografica */
.hero{
  background:
    radial-gradient(circle at 21% 20%,rgba(217,165,52,.12),transparent 31%),
    linear-gradient(135deg,#03101d 0%,var(--navy) 56%,#0b2c47 100%);
  border-bottom:3px solid var(--gold);
}

.hero:before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px),
    linear-gradient(rgba(255,255,255,.02) 1px,transparent 1px);
  background-size:56px 56px;
  mask-image:linear-gradient(90deg,#000,transparent 54%);
}

.hero-grid{min-height:575px;position:relative;z-index:1}
.hero-copy{position:relative}
.hero-copy:after{
  content:"";
  display:block;
  width:72px;
  height:2px;
  margin-top:34px;
  background:var(--gold);
  box-shadow:30px 0 0 rgba(217,165,52,.34);
}

.eyebrow{
  color:var(--gold-light);
  background-image:none;
  font-size:.72rem;
  letter-spacing:.23em;
}

.hero h1,.page-hero h1,.section-head h2,.cta-band h2,
.pwa-copy h2,.contact-card h2,.auth-card h1,.dash-title h1{
  font-family:Georgia,"Times New Roman",serif;
}

.hero h1{
  color:#fff;
  font-weight:400;
  letter-spacing:-.035em;
  text-shadow:0 10px 35px rgba(0,0,0,.25);
}

.hero p{color:#dce5eb;line-height:1.75}
.hero-details span{
  border-radius:999px;
  border-color:rgba(217,165,52,.3);
  background:rgba(3,16,29,.56);
  color:#f3f5f6;
}

.hero-details span:before{content:"◆";color:var(--gold);font-size:.55rem}
.hero-image{box-shadow:inset 30px 0 60px rgba(3,16,29,.22)}
.hero-image:before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:linear-gradient(90deg,rgba(6,23,40,.84) 0%,rgba(6,23,40,.12) 28%,rgba(3,16,29,.1) 100%);
}

.hero-image:after{
  background:linear-gradient(0deg,rgba(3,16,29,.38),transparent 52%);
  z-index:1;
}

.hero-image-label{
  border-left-color:var(--gold);
  border-radius:3px;
  background:rgba(3,16,29,.88);
  box-shadow:var(--shadow-dark);
}

.hero-image-label span{color:#dce5eb}

/* Sezioni e intestazioni */
.section{padding:86px 0}
.section-white{background:#fff}
.section-dark{background:var(--navy);color:#fff}
.section-head{position:relative;margin-bottom:34px}
.section-head:after{
  content:"";
  position:absolute;
  left:0;
  bottom:-14px;
  width:64px;
  height:2px;
  background:var(--gold);
}

.section-head h2{color:var(--navy);letter-spacing:-.025em}
.section-head p{color:var(--muted)}
.section-dark .section-head h2,.section-dark .section-head p{color:#fff}

/* Card, pacchetti, servizi e destinazioni */
.package-grid,.feature-grid{gap:18px}
.package-card,.feature,.info-card,.video-card,.gallery-grid figure{
  border-radius:7px;
  border:1px solid rgba(7,25,43,.1);
  box-shadow:0 12px 35px rgba(3,17,30,.07);
}

.package-card{position:relative}
.package-card:after{
  content:"";
  position:absolute;
  left:0;right:0;bottom:0;
  height:3px;
  background:linear-gradient(90deg,var(--gold),var(--gold-light));
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .32s ease;
}

.package-card:hover:after{transform:scaleX(1)}
.package-photo{height:230px}
.package-photo:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(0deg,rgba(3,16,29,.32),transparent 55%);
}

.package-photo .tag{z-index:1;color:var(--navy);background:var(--gold-light)}
.package-body{padding:25px}
.package-body h3,.feature h3,.info-card h3,.phone-screen h3{color:var(--navy)}
.package-meta{border-top-color:rgba(7,25,43,.1)}
.price{color:var(--gold-dark)}

.feature{
  position:relative;
  padding:34px 30px 32px;
  border-top:3px solid transparent;
}

.feature:hover{border-top-color:var(--gold)}
.feature-icon{
  color:var(--gold-dark);
  background:transparent;
  border:1px solid var(--gold);
  border-radius:50%;
  box-shadow:0 0 0 7px rgba(217,165,52,.08);
}

.feature h3{font-weight:400}
.destination{border-radius:7px;border:1px solid rgba(217,165,52,.23)}
.destination:after{background:linear-gradient(transparent 24%,rgba(3,16,29,.94))}
.destination h3{color:#fff}
.destination div{border-left:2px solid var(--gold);padding-left:13px}
.gallery-grid figure figcaption{border-top:2px solid rgba(217,165,52,.5)}
.video-card{padding:9px}

/* PWA */
.pwa-panel{
  border-radius:8px;
  border:1px solid rgba(217,165,52,.25);
  background:linear-gradient(135deg,#03101d,var(--navy2));
  box-shadow:var(--shadow-dark);
}

.pwa-copy{padding:64px}
.pwa-copy h2{font-weight:400;color:#fff}
.phone-mock{
  position:relative;
  background:
    radial-gradient(circle at 72% 22%,rgba(240,203,114,.32),transparent 24%),
    linear-gradient(145deg,#b77d13,var(--gold-light));
}

.phone-mock:before{
  content:"";
  position:absolute;
  inset:22px;
  border:1px solid rgba(255,255,255,.35);
}

.phone-screen{
  position:relative;
  border-color:#061728;
  border-radius:30px;
  box-shadow:0 28px 55px rgba(3,16,29,.3);
}

.phone-screen .mini{border-left:3px solid var(--gold);border-radius:5px}

/* Hero interne */
.page-hero{
  background:
    radial-gradient(circle at 17% 25%,rgba(217,165,52,.13),transparent 30%),
    linear-gradient(135deg,#03101d,var(--navy2));
  border-bottom:3px solid var(--gold);
}

.page-hero:after{opacity:.25;filter:saturate(.72) contrast(1.08)}
.page-hero h1{color:#fff;text-shadow:0 12px 35px rgba(0,0,0,.28)}
.prose h2,.prose h3{color:var(--navy)}

/* Form, contatti e accesso */
.field label{color:#4f5c67;letter-spacing:.025em}
.field input,.field select,.field textarea{
  border-radius:5px;
  border-color:rgba(7,25,43,.16);
  background:#fff;
}

.field input:focus,.field select:focus,.field textarea:focus{
  outline:0;
  border-color:var(--gold);
  box-shadow:0 0 0 3px rgba(217,165,52,.16);
}

.contact-card{
  border-radius:7px;
  background:linear-gradient(145deg,#03101d,var(--navy2));
  border-top:3px solid var(--gold);
  box-shadow:var(--shadow-dark);
}

.map-placeholder{border-radius:7px;box-shadow:var(--shadow)}
.auth-shell{
  background:
    linear-gradient(110deg,rgba(3,16,29,.95),rgba(6,23,40,.75)),
    url("../images/costiera-02.jpg") center/cover;
}

.auth-card{
  border-radius:8px;
  border-top:4px solid var(--gold);
  box-shadow:var(--shadow-dark);
}

/* Modulo rapido Home */
.home-request-section{
  background:
    radial-gradient(circle at 84% 16%,rgba(217,165,52,.13),transparent 28%),
    linear-gradient(135deg,#03101d 0%,var(--navy) 58%,var(--navy2) 100%);
  border-top:1px solid rgba(217,165,52,.22);
  border-bottom:1px solid rgba(217,165,52,.22);
}

.home-request-section:before{
  border:1px solid rgba(217,165,52,.16);
  background:transparent;
}

.home-request-block .hero-request-form{
  border-radius:8px;
  border-top:4px solid var(--gold);
  box-shadow:var(--shadow-dark);
}

.home-request-grid .field input,.home-request-grid .field select,.home-request-grid .field textarea{
  border-radius:5px;
  background:#faf9f6;
}

/* Fascia contatti e footer */
.cta-band{
  padding:38px 0;
  background:var(--navy);
  border-top:1px solid rgba(217,165,52,.26);
}

.cta-inner{
  background:#fff;
  color:var(--navy);
  padding:24px 30px;
  border-radius:7px;
  border-left:5px solid var(--gold);
  box-shadow:0 18px 45px rgba(0,0,0,.22);
}

.cta-band .eyebrow{color:var(--gold-dark)}
.cta-band h2{color:var(--navy);font-size:2.35rem}
.site-footer{
  background:#03101d;
  color:#dce5eb;
  border-top:1px solid rgba(217,165,52,.22);
}

.site-footer h3{color:var(--gold-light);font-family:Georgia,"Times New Roman",serif;font-weight:400}
.site-footer a{transition:color .2s ease,transform .2s ease}
.site-footer a:hover{color:var(--gold-light);transform:translateX(2px)}
.site-footer p{color:#9eafbb}
.footer-bottom{border-top-color:rgba(217,165,52,.18)}

.floating-call{
  color:var(--navy);
  background:linear-gradient(135deg,var(--gold-light),var(--gold));
  border:2px solid rgba(255,255,255,.75);
  box-shadow:0 16px 40px rgba(0,0,0,.24);
}

.cookie-banner{border-radius:7px;border-top:3px solid var(--gold)}

/* Dashboard amministratore, cliente e tassista */
.dashboard-body{background:#eef1f3}
.dash-top{
  background:#03101d;
  border-bottom:2px solid var(--gold);
  box-shadow:0 10px 30px rgba(0,0,0,.18);
}

.dash-layout{background:#f4f5f5}
.dash-nav{
  background:var(--navy);
  color:#e8edf1;
  border-right:1px solid rgba(217,165,52,.22);
}

.dash-nav a{border-radius:5px;border-left:2px solid transparent}
.dash-nav a:hover,.dash-nav a.active{
  color:var(--gold-light);
  background:rgba(217,165,52,.09);
  border-left-color:var(--gold);
}

.dash-content{background:#f4f5f5}
.dash-title h1{color:var(--navy)}
.stat,.panel{
  border-radius:7px;
  border:1px solid rgba(7,25,43,.1);
  box-shadow:0 10px 28px rgba(3,17,30,.055);
}

.stat{border-top:3px solid var(--gold)}
.stat b,.panel h2{color:var(--navy)}
.table th{color:#6a5a37;border-bottom-color:rgba(217,165,52,.35)}
.tabs a{border-radius:999px}
.tabs a.active{color:var(--navy);background:var(--gold);border-color:var(--gold)}
.install-bar{color:var(--navy);background:#fff7df;border-left:4px solid var(--gold)}
.notification{background:#fff;border-left-color:var(--gold)}

/* KIRA coerente con la nuova palette */
.kira-orb{
  border-color:var(--gold-light);
  background:#03101d;
  box-shadow:0 0 0 5px rgba(217,165,52,.1),0 16px 42px rgba(0,0,0,.38);
}

.kira-online{border-color:var(--navy)}
.kira-bolt{
  background:var(--gold-light);
  filter:drop-shadow(0 0 7px var(--gold));
}

.kira-window{
  background:#f8f7f3;
  border-color:rgba(217,165,52,.58);
  border-radius:10px;
  box-shadow:0 30px 85px rgba(0,0,0,.4);
}

.kira-window header{background:linear-gradient(135deg,#03101d,var(--navy2));border-bottom:2px solid var(--gold)}
.kira-window header img{border-color:var(--gold-light)}
.kira-window header small{color:#dbe4e9}
.kira-msg.bot{border-color:rgba(7,25,43,.12);color:var(--navy)}
.kira-msg.user{background:var(--navy);color:#fff}
.kira-suggestions button{color:var(--navy);border-color:rgba(217,165,52,.6)}
.kira-form input:focus{outline:0;border-color:var(--gold);box-shadow:0 0 0 3px rgba(217,165,52,.15)}
.kira-form button{color:var(--navy);background:var(--gold)}

/* Interazioni */
.package-card,.feature,.destination,.gallery-grid figure,.video-card,.info-card,.phone-screen,
.stat,.panel{
  transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease;
}

.package-card:hover,.feature:hover,.destination:hover,.gallery-grid figure:hover,.video-card:hover,.info-card:hover{
  box-shadow:0 24px 58px rgba(3,17,30,.16);
  border-color:rgba(217,165,52,.55);
}

/* Tablet */
@media(max-width:1050px){
  .main-nav.open{
    top:88px;
    background:#061728;
    border-bottom:1px solid rgba(217,165,52,.3);
    box-shadow:0 24px 50px rgba(0,0,0,.35);
  }

  .main-nav.open a{color:#fff;width:100%}
  .nav-actions.open{
    background:#061728;
    border-bottom:1px solid rgba(217,165,52,.3);
  }

  .hero-image:before{background:linear-gradient(0deg,rgba(3,16,29,.3),transparent 65%)}
  .dash-nav{border-right:0;border-bottom:1px solid rgba(217,165,52,.22)}
  .dash-nav a:hover,.dash-nav a.active{border-left-color:transparent;border-bottom:2px solid var(--gold)}
}

/* Smartphone */
@media(max-width:760px){
  .nav-wrap{min-height:76px}
  .main-nav.open{top:76px}
  .hero-grid{min-height:0}
  .hero-copy:after{margin-top:26px}
  .hero-image{border-top:1px solid rgba(217,165,52,.26)}
  .section{padding:64px 0}
  .section-head:after{bottom:-10px}
  .pwa-copy{padding:39px 25px}
  .phone-mock:before{inset:14px}
  .cta-inner{padding:24px 22px}
  .footer-grid{gap:30px}
  .dash-nav{background:var(--navy)}
}

@media(max-width:480px){
  .btn{padding-inline:18px}
  .hero h1{letter-spacing:-.025em}
  .cta-band h2{font-size:2rem}
}

@media(prefers-reduced-motion:reduce){
  .main-nav a:after,.package-card:after{transition:none}
}

/* Hero panoramica — unica modifica grafica v1.1 */
.hero{
  min-height:610px;
  background:var(--navy);
}

.hero:before{content:none}

.hero-grid{
  display:block;
  position:relative;
  min-height:610px;
  z-index:auto;
}

.hero-image{
  position:absolute;
  inset:0;
  z-index:0;
  min-height:100%;
  background-size:cover;
  background-repeat:no-repeat;
  background-position:center 56%;
  border:0;
  box-shadow:none;
}

.hero-image:before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:
    linear-gradient(90deg,rgba(3,16,29,.94) 0%,rgba(3,16,29,.82) 27%,rgba(3,16,29,.42) 48%,rgba(3,16,29,.08) 76%),
    linear-gradient(0deg,rgba(3,16,29,.42),transparent 48%);
}

.hero-image:after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:linear-gradient(180deg,rgba(3,16,29,.1),transparent 35%,rgba(3,16,29,.22));
}

.hero-copy{
  position:relative;
  z-index:2;
  width:min(1180px,calc(100% - 40px));
  min-height:610px;
  margin:0 auto;
  padding:70px 0 78px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}

.hero-copy>span,.hero-copy>h1,.hero-copy>p{max-width:610px}
.hero-copy>.hero-actions,.hero-copy>.hero-details{max-width:690px}

.hero-image-label{
  left:auto;
  right:max(20px,calc((100vw - 1180px)/2));
  bottom:26px;
}

@media(max-width:1050px){
  .hero,.hero-grid,.hero-copy{min-height:610px}
  .hero-copy{width:min(900px,calc(100% - 60px));padding:62px 0 92px}
  .hero-image{min-height:100%;background-position:58% 55%;border:0}
  .hero-image:before{
    background:
      linear-gradient(90deg,rgba(3,16,29,.94) 0%,rgba(3,16,29,.78) 48%,rgba(3,16,29,.26) 100%),
      linear-gradient(0deg,rgba(3,16,29,.5),transparent 52%);
  }
  .hero-image-label{right:30px}
}

@media(max-width:760px){
  .hero,.hero-grid,.hero-copy{min-height:720px}
  .hero-copy{
    width:calc(100% - 28px);
    padding:48px 0 132px;
  }
  .hero-image{
    min-height:100%;
    background-position:62% 52%;
    border:0;
  }
  .hero-image:before{
    background:
      linear-gradient(90deg,rgba(3,16,29,.9),rgba(3,16,29,.64)),
      linear-gradient(0deg,rgba(3,16,29,.76),rgba(3,16,29,.05) 62%);
  }
  .hero-image-label{left:14px;right:14px;bottom:18px}
}

/* v1.2 — SEO/UX refinement: header più pulito, selettore lingua compatto e landing destinazioni */
.main-nav a.active,.main-nav a[aria-current="page"]{color:var(--gold-light)}
.main-nav a.active:after,.main-nav a[aria-current="page"]:after{left:0;right:0}

.language-picker{position:relative}
.language-picker summary{list-style:none;display:flex;align-items:center;gap:8px;cursor:pointer;color:#f4f6f8;font-weight:700;font-size:.78rem;letter-spacing:.02em;padding:8px 0}
.language-picker summary::-webkit-details-marker{display:none}
.language-picker summary:focus-visible{outline:2px solid var(--gold-light);outline-offset:4px;border-radius:4px}
.language-chevron{color:var(--gold-light);transition:transform .2s ease}
.language-picker[open] .language-chevron{transform:rotate(180deg)}
.language-menu{position:absolute;right:0;top:calc(100% + 8px);z-index:120;min-width:190px;padding:8px;background:#061728;border:1px solid rgba(217,165,52,.35);border-radius:8px;box-shadow:0 18px 45px rgba(0,0,0,.35)}
.language-menu a{display:flex;align-items:center;gap:10px;padding:9px 11px;border-radius:6px;color:#eef3f6;opacity:.78}
.language-menu a:hover,.language-menu a.active{opacity:1;background:rgba(217,165,52,.1);color:var(--gold-light)}
.language-menu b{font-weight:650}

.destination{position:relative;color:#fff;text-decoration:none;overflow:hidden;display:flex;align-items:flex-end}
.destination>div{position:absolute;left:20px;right:20px;bottom:18px;z-index:2;display:flex;flex-direction:column;justify-content:flex-end;min-height:110px}
.destination:before{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(3,16,29,.88),rgba(3,16,29,.08) 75%);z-index:1}
.destination-link{display:inline-flex;margin-top:9px;font-size:.78rem;font-weight:800;letter-spacing:.04em;color:var(--gold-light)}
.destination-detail-hero{min-height:500px;display:flex;align-items:end}
.destination-detail-hero .container{padding-top:90px;padding-bottom:72px}
.destination-detail-hero h1{max-width:850px}
.destination-detail-hero p{max-width:760px}
.destination-detail-actions{margin-top:24px}
.destination-detail-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,.7fr);gap:42px;align-items:start}
.destination-detail-copy h2{font-family:Georgia,"Times New Roman",serif;color:var(--navy);font-size:clamp(2.2rem,4vw,3.6rem);margin:.1em 0 .45em}
.destination-contact-card{position:sticky;top:132px;border-top:4px solid var(--gold)}

/* Migliore leggibilità e rapporto contenuto/CTA */
.package-card,.feature,.destination,.info-card{content-visibility:auto;contain-intrinsic-size:360px}
.nav-actions .nav-install{opacity:.88}
.nav-actions .nav-login{border-color:rgba(255,255,255,.26)}

@media(max-width:1050px){
  .language-menu{right:0}
  .main-nav.open,.nav-actions.open{z-index:90}
  .main-nav.open a.active{color:var(--gold-light)}
  .destination-detail-grid{grid-template-columns:1fr}
  .destination-contact-card{position:static}
}

@media(max-width:760px){
  .language-picker summary{font-size:0;width:42px;justify-content:flex-end}
  .language-picker summary>span:first-child{font-size:1rem}
  .language-picker summary .language-chevron{font-size:.8rem}
  .language-menu{min-width:175px}
  .destination-detail-hero{min-height:540px}
  .destination-detail-hero .container{padding-top:72px;padding-bottom:58px}
  .kira-orb{width:64px!important;height:64px!important}
  .kira-launcher{right:14px!important;bottom:86px!important}
  .floating-call{right:14px;bottom:14px;width:54px;height:54px}
}
.seo-admin-note{padding:14px 16px;border-left:4px solid var(--gold);background:#fff8e5;border-radius:5px;color:var(--navy)}
.seo-count-good{color:var(--green);font-weight:750}.seo-count-warn{color:#9b6514;font-weight:750}

/* =========================================================
   v1.3 — Taxi Partenopeo Ercolano
   Header compatto, Home premium e motion system ottimizzato
   ========================================================= */

/* Header: più compatto e leggibile anche con il nuovo marchio */
.nav-wrap{
  min-height:82px;
  gap:16px;
}
.brand{
  min-width:205px;
  gap:10px;
  flex:0 0 auto;
}
.brand strong{
  font-size:1.04rem;
  letter-spacing:.035em;
  line-height:.98;
  white-space:nowrap;
}
.brand small{
  margin-top:7px;
  font-size:.54rem;
  letter-spacing:.27em;
}
.taxi-mark{
  padding:15px 10px 5px;
  font-size:.58rem;
}
.main-nav{
  gap:15px;
  margin-left:auto;
  min-width:0;
}
.main-nav a{
  font-size:.71rem;
  letter-spacing:.042em;
  font-weight:760;
  white-space:nowrap;
  padding:10px 0;
}
.nav-actions{
  gap:7px;
  margin-left:2px;
  flex:0 0 auto;
}
.nav-actions .btn{
  min-height:39px;
  padding:9px 13px;
  font-size:.75rem;
  white-space:nowrap;
}
.nav-actions .nav-install{padding-inline:11px;font-size:.71rem}
.page-scrolled .nav-wrap{min-height:72px}
.site-header,.nav-wrap,.brand strong,.taxi-mark{transition:min-height .28s ease,font-size .28s ease,padding .28s ease,background .28s ease,box-shadow .28s ease}
.page-scrolled .brand strong{font-size:.98rem}
.page-scrolled .taxi-mark{padding-top:13px}

/* Il marchio testuale ha un piccolo accento luminoso, senza effetti invasivi */
.brand .taxi-mark{animation:brand-glow 5.8s ease-in-out infinite}
@keyframes brand-glow{
  0%,100%{box-shadow:inset 0 0 20px rgba(217,165,52,.05),0 0 0 rgba(217,165,52,0)}
  50%{box-shadow:inset 0 0 24px rgba(217,165,52,.10),0 0 20px rgba(217,165,52,.12)}
}

/* Hero: movimento cinematografico molto lento e decorazione dorata */
.hero{isolation:isolate}
.hero-image{
  animation:hero-pan 18s cubic-bezier(.45,.05,.55,.95) infinite alternate;
  will-change:background-position;
}
.hero-copy:before{
  content:"";
  position:absolute;
  left:-42px;
  top:50%;
  width:9px;
  height:112px;
  transform:translateY(-50%);
  border-radius:999px;
  background:linear-gradient(180deg,transparent,var(--gold-light),transparent);
  opacity:.68;
  animation:hero-route-glow 4.8s ease-in-out infinite;
}
.hero-actions .btn-primary{animation:hero-cta-pulse 4.2s ease-in-out infinite}
@keyframes hero-pan{
  from{background-position:56% 56%}
  to{background-position:61% 51%}
}
@keyframes hero-route-glow{
  0%,100%{opacity:.3;transform:translateY(-50%) scaleY(.72)}
  50%{opacity:.9;transform:translateY(-50%) scaleY(1)}
}
@keyframes hero-cta-pulse{
  0%,72%,100%{box-shadow:0 10px 25px rgba(169,120,22,.22)}
  82%{box-shadow:0 12px 35px rgba(217,165,52,.43),0 0 0 7px rgba(217,165,52,.07)}
}

/* Fascia fiduciaria sotto hero */
.home-trust{
  position:relative;
  z-index:3;
  background:#fff;
  border-bottom:1px solid rgba(7,25,43,.08);
  box-shadow:0 18px 45px rgba(3,17,30,.055);
}
.home-trust-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
}
.home-trust-item{
  min-height:106px;
  display:flex;
  align-items:center;
  gap:14px;
  padding:20px 22px;
  position:relative;
}
.home-trust-item:not(:last-child):after{
  content:"";
  position:absolute;
  right:0;
  top:24%;
  height:52%;
  width:1px;
  background:linear-gradient(transparent,rgba(7,25,43,.14),transparent);
}
.home-trust-icon{
  width:42px;
  height:42px;
  flex:0 0 42px;
  border:1px solid rgba(217,165,52,.6);
  border-radius:50%;
  display:grid;
  place-items:center;
  color:var(--gold-dark);
  background:linear-gradient(145deg,#fff,#fbf6e9);
  font-weight:900;
  box-shadow:0 9px 24px rgba(169,120,22,.10);
}
.home-trust-item strong{display:block;color:var(--navy);font-size:.9rem;line-height:1.25}
.home-trust-item small{display:block;margin-top:4px;color:var(--muted);font-size:.74rem;line-height:1.45}
.home-trust-item:hover .home-trust-icon{animation:trust-icon-bounce .55s ease}
@keyframes trust-icon-bounce{50%{transform:translateY(-5px) rotate(-3deg)}}

/* Destinazioni in Home: più fotografiche e utili anche per internal linking SEO */
.home-destinations-section{
  background:
    radial-gradient(circle at 88% 14%,rgba(217,165,52,.08),transparent 23%),
    linear-gradient(180deg,#f7f6f2,#fff);
  overflow:hidden;
}
.home-destination-head{align-items:end}
.home-destination-head-side{max-width:490px}
.home-destination-head-side p{margin:0 0 10px}
.text-link{
  display:inline-flex;
  align-items:center;
  gap:7px;
  color:var(--gold-dark);
  font-size:.78rem;
  font-weight:850;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.text-link:hover{color:var(--navy)}
.home-destination-grid{grid-template-columns:repeat(3,1fr);gap:18px}
.home-destination-card{min-height:275px}
.home-destination-card:nth-child(1),.home-destination-card:nth-child(5){grid-column:span 2}
.home-destination-card:after{
  background:linear-gradient(transparent 14%,rgba(3,16,29,.92));
  transition:background .4s ease;
}
.home-destination-card:hover:after{background:linear-gradient(transparent 4%,rgba(3,16,29,.95))}
.destination-link{transition:transform .25s ease,color .25s ease}
.destination:hover .destination-link{transform:translateX(5px)}

/* Carte: microinterazioni coordinate */
.feature-icon{transition:transform .35s ease,box-shadow .35s ease,background .35s ease}
.feature:hover .feature-icon{
  transform:translateY(-4px) rotate(6deg);
  background:rgba(217,165,52,.08);
  box-shadow:0 0 0 9px rgba(217,165,52,.09);
}
.package-photo{overflow:hidden}
.package-card:hover .tag{transform:translateY(-2px)}
.package-photo .tag{transition:transform .25s ease}
.section-head:after{transform-origin:left;animation:section-line-breathe 4.5s ease-in-out infinite}
@keyframes section-line-breathe{0%,100%{transform:scaleX(.72);opacity:.65}50%{transform:scaleX(1);opacity:1}}

/* PWA più separata visivamente dalla sezione destinazioni */
.pwa-section{background:#fff}
.phone-mock:after{
  content:"";
  position:absolute;
  width:210px;
  height:210px;
  border:1px solid rgba(255,255,255,.22);
  border-radius:50%;
  animation:phone-orbit 7s linear infinite;
}
@keyframes phone-orbit{
  from{transform:rotate(0deg) scale(.88)}
  50%{transform:rotate(180deg) scale(1.06)}
  to{transform:rotate(360deg) scale(.88)}
}
.phone-screen{z-index:2}

/* Desktop stretto: il menu rimane su una riga senza schiacciare le CTA */
@media(max-width:1180px) and (min-width:1051px){
  .nav-wrap{gap:11px}
  .brand{min-width:185px}
  .brand strong{font-size:.94rem}
  .brand small{font-size:.5rem;letter-spacing:.23em}
  .main-nav{gap:11px}
  .main-nav a{font-size:.66rem;letter-spacing:.025em}
  .nav-actions{gap:5px}
  .nav-actions .btn{padding:8px 10px;font-size:.69rem}
  .nav-actions .nav-install{font-size:.66rem;padding-inline:9px}
}

@media(max-width:1050px){
  .nav-wrap{min-height:78px}
  .main-nav.open{top:78px}
  .main-nav.open a{font-size:.82rem;letter-spacing:.045em;padding:9px 0}
  .nav-actions.open .btn{font-size:.78rem}
  .home-trust-grid{grid-template-columns:repeat(2,1fr)}
  .home-trust-item:nth-child(2):after{display:none}
  .home-destination-grid{grid-template-columns:repeat(2,1fr)}
  .home-destination-card:nth-child(1),.home-destination-card:nth-child(5){grid-column:span 1}
}

@media(max-width:760px){
  .nav-wrap{min-height:70px}
  .main-nav.open{top:70px}
  .brand{min-width:0;max-width:205px}
  .brand strong{font-size:.88rem;white-space:normal;line-height:1.02}
  .brand small{font-size:.48rem;margin-top:5px}
  .taxi-mark{padding:12px 9px 4px}
  .hero-copy:before{display:none}
  .hero-image{animation-duration:14s}
  .home-trust-grid{grid-template-columns:1fr}
  .home-trust-item{min-height:86px;padding:16px 8px}
  .home-trust-item:not(:last-child):after{left:0;right:0;top:auto;bottom:0;width:100%;height:1px;background:linear-gradient(90deg,transparent,rgba(7,25,43,.12),transparent)}
  .home-destination-head-side{max-width:none}
  .home-destination-grid{grid-template-columns:1fr}
  .home-destination-card{min-height:235px}
  .home-destination-card:nth-child(1),.home-destination-card:nth-child(5){grid-column:auto}
  .phone-mock:after{width:150px;height:150px}
}

@media(max-width:480px){
  .brand strong{font-size:.82rem}
  .brand small{letter-spacing:.21em}
  .home-trust-icon{width:38px;height:38px;flex-basis:38px}
}

@media(prefers-reduced-motion:reduce){
  .brand .taxi-mark,.hero-image,.hero-copy:before,.hero-actions .btn-primary,.section-head:after,.phone-mock:after{animation:none!important}
}

/* Menu mobile/tablet: pannello più corto e CTA subito sotto le voci */
@media(max-width:1050px){
  .main-nav.open{
    padding:20px 25px 18px;
    gap:3px;
  }
  .main-nav.open a{
    min-height:36px;
    display:flex;
    align-items:center;
  }
  .nav-actions.open{
    top:344px;
    left:0;
    right:0;
    padding:13px 25px 20px;
    gap:8px;
    flex-wrap:wrap;
    box-shadow:0 22px 45px rgba(0,0,0,.28);
  }
  .nav-actions.open .btn{flex:1 1 120px}
  .nav-actions.open .nav-install{flex-basis:155px}
}
@media(max-width:760px){
  .nav-actions.open{top:336px;padding-inline:14px}
  .nav-actions.open .nav-install{display:none}
}


/* Menu affinato e cards destinazioni allineate */
.main-nav{gap:18px}
.main-nav a{font-size:.88rem;letter-spacing:.01em}
.nav-actions .btn{padding:11px 16px}
.destination h3{margin:0 0 6px}
.destination p{margin:0 0 8px}

/* =========================================================
   v1.5 — Rifinitura premium Home e pagine interne
   ========================================================= */
.hero-copy{position:relative;background:radial-gradient(circle at 18% 18%,rgba(217,165,52,.08),transparent 34%)}
.hero h1{max-width:720px;text-wrap:balance}.hero p{max-width:610px}.hero-image:before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(135deg,rgba(3,16,29,.08),transparent 45%,rgba(217,165,52,.08));pointer-events:none}.hero-image-label{border:1px solid rgba(255,255,255,.14);border-left:3px solid var(--gold);box-shadow:0 18px 48px rgba(0,0,0,.28)}
.section{position:relative}.section-white{background:linear-gradient(180deg,#fff,#fbfbf9)}.section-head h2{text-wrap:balance}.section-head p{line-height:1.75}.section-head:after{height:2px;width:96px}
.package-card{border-top:2px solid rgba(217,165,52,.55)}.package-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(3,16,29,0),rgba(3,16,29,.22));pointer-events:none}.package-body{position:relative}.package-body:before{content:"";position:absolute;left:24px;top:0;width:42px;height:2px;background:var(--gold)}
.feature{position:relative;overflow:hidden}.feature:after{content:"";position:absolute;width:120px;height:120px;border-radius:50%;right:-70px;top:-70px;background:radial-gradient(circle,rgba(217,165,52,.12),transparent 67%);transition:transform .4s ease}.feature:hover:after{transform:scale(1.45)}
.page-hero{min-height:390px;padding:95px 0;display:flex;align-items:center;background-size:cover!important;background-position:center!important;background-repeat:no-repeat!important;border-bottom:1px solid rgba(217,165,52,.22)}.page-hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 78% 30%,rgba(217,165,52,.16),transparent 28%);pointer-events:none}.page-hero:after{content:"";position:absolute;inset:auto 0 0;height:110px;background:linear-gradient(0deg,rgba(3,16,29,.28),transparent);opacity:1;pointer-events:none}.page-hero .container{max-width:1180px}.page-hero .container:after{content:"";display:block;width:78px;height:2px;background:linear-gradient(90deg,var(--gold),transparent);margin-top:26px}.page-hero h1{font-size:clamp(3rem,5.6vw,4.9rem);max-width:900px;text-wrap:balance}.page-hero p{font-size:1.07rem;line-height:1.75;max-width:760px}.page-hero .eyebrow{display:inline-flex;padding:7px 11px;border:1px solid rgba(217,165,52,.42);border-radius:999px;background:rgba(3,16,29,.34);backdrop-filter:blur(8px)}
.breadcrumb{display:flex;align-items:center;gap:8px;margin-bottom:20px;color:#d9e2e8;font-size:.74rem}.breadcrumb a{color:var(--gold-light);font-weight:800}.breadcrumb span[aria-hidden="true"]{opacity:.5}
.destination-grid{gap:20px}.destination{min-height:285px;border-radius:10px;background-position:center;box-shadow:0 14px 36px rgba(3,17,30,.10)}.destination>div{left:22px!important;right:22px!important;bottom:20px!important;min-height:118px;justify-content:flex-end}.destination h3{font-size:1.55rem;line-height:1.08}.destination p{font-size:.83rem;line-height:1.5;max-width:92%}.destination:after{background:linear-gradient(180deg,rgba(3,16,29,.02) 18%,rgba(3,16,29,.93) 100%)}.destination:hover{transform:translateY(-5px)}
.prose{font-size:1.02rem}.prose p{line-height:1.85}.info-card{border-top:2px solid rgba(217,165,52,.42)}.contact-card{position:relative;overflow:hidden;border-top:3px solid var(--gold)}.contact-card:after{content:"";position:absolute;width:240px;height:240px;border:1px solid rgba(217,165,52,.13);border-radius:50%;right:-120px;bottom:-120px}.gallery-grid figure{border:1px solid rgba(7,25,43,.08);box-shadow:0 12px 35px rgba(3,17,30,.08)}.gallery-grid figure img{transition:transform .55s ease,filter .55s ease}.gallery-grid figure:hover img{transform:scale(1.025);filter:saturate(1.07)}.video-card{border-top:2px solid rgba(217,165,52,.5)}
.auth-card{border:1px solid rgba(217,165,52,.28);border-top:4px solid var(--gold);border-radius:12px;box-shadow:0 28px 70px rgba(3,17,30,.26)}.auth-card h1{text-wrap:balance}.auth-shell{min-height:76vh;background-size:cover!important;background-position:center!important}
.cta-band{position:relative;overflow:hidden}.cta-band:after{content:"";position:absolute;width:260px;height:260px;border-radius:50%;border:1px solid rgba(6,42,64,.12);right:-90px;top:-130px}.cta-inner{position:relative;z-index:2}
@media(max-width:760px){.page-hero{min-height:330px;padding:68px 0}.page-hero h1{font-size:clamp(2.6rem,12vw,3.45rem)}.page-hero p{font-size:.98rem}.destination{min-height:245px}.destination>div{left:18px!important;right:18px!important;bottom:17px!important}.breadcrumb{margin-bottom:14px}}
@media(prefers-reduced-motion:reduce){.destination:hover,.gallery-grid figure:hover img{transform:none}}
.auth-security-note{display:flex;gap:9px;flex-direction:column;margin:18px 0 22px;padding:13px 15px;border-left:3px solid var(--gold);background:#fffaf0;border-radius:7px}.auth-security-note b{color:var(--navy)}.auth-security-note span{font-size:.8rem;color:var(--muted);line-height:1.55}
/* v1.5.1 — centratura reale dei testi nelle immagini destinazione */
.destination>div{left:20px!important;right:20px!important;top:0!important;bottom:0!important;min-height:0!important;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;border-left:0!important;padding-left:0!important}
.destination h3{margin:0 0 8px;max-width:94%;text-shadow:0 2px 18px rgba(0,0,0,.5)}
.destination h3:after{content:"";display:block;width:42px;height:2px;margin:9px auto 0;background:var(--gold)}
.destination p{max-width:92%;margin:0 auto 7px}.destination-link{justify-content:center}
.destination:before{background:linear-gradient(180deg,rgba(3,16,29,.24),rgba(3,16,29,.72))}
.destination:after{background:radial-gradient(circle at center,rgba(3,16,29,.05),rgba(3,16,29,.42) 72%,rgba(3,16,29,.7))}
@media(max-width:760px){.destination>div{left:16px!important;right:16px!important;top:0!important;bottom:0!important}.destination h3{font-size:1.42rem}}
