/* Shared public-page hierarchy, forms and theme-aware content. */
[hidden] { display:none !important; }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
:is(a,button,input,select,textarea,summary):focus-visible { outline:3px solid var(--accent-ink); outline-offset:4px; }
.section-eyebrow { color:var(--accent-ink); font-size:.75rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; margin-bottom:1rem; }
.quote-panel .section-title { font-size:clamp(1.5rem,2.8vw,2rem); letter-spacing:.01em; text-align:left; margin-bottom:1.25rem; text-transform:none; }
.quote-panel, #preventivoForm, #attivitaWrap, #consigliSection, #faqSection, #team { scroll-margin-top:1rem; }
.quote-form { display:flex; flex-direction:column; gap:1.25rem; color:var(--ink); }
.quote-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.1rem; }
.quote-fields label { display:block; font-size:.875rem; font-weight:600; min-width:0; }
.quote-wide { grid-column:1/-1; }
.field-optional { color:var(--muted); font-size:.75rem; font-weight:400; }
.quote-form .kit-input { display:block; width:100%; color:var(--ink); background:var(--surface-raised); border:1px solid var(--line); font-size:1rem; min-height:48px; margin:.5rem 0 0; }
.quote-form .kit-input::placeholder { color:var(--muted); opacity:1; }
.quote-form textarea { resize:vertical; }
.quote-form .kit-select option { color:var(--ink); background:var(--surface-raised); }
.quote-form-note { color:var(--muted); font-size:.8125rem; line-height:1.65; }
.quote-privacy { display:flex; align-items:flex-start; gap:.75rem; font-size:.8125rem; color:var(--muted); line-height:1.5; }
.quote-privacy input { width:20px; height:20px; flex-shrink:0; accent-color:var(--accent-ink); }
.quote-privacy a, .quote-form .kit-error a { color:var(--accent-ink); text-decoration:underline; text-underline-offset:3px; }
.quote-form .btn-gold { justify-content:center; text-align:center; letter-spacing:.03em; }
.quote-form .kit-error { color:var(--ink); border-left:3px solid #e36464; padding:.75rem; background:var(--surface-raised); line-height:1.6; }
.quote-success { padding:2rem; background:var(--surface-raised); color:var(--ink); border:1px solid var(--line); border-radius:1rem; }
.quote-success h3 { font-size:1.4rem; margin-bottom:.75rem; }
.quote-success p { line-height:1.7; color:var(--muted); }
.destination-shortcuts,.trip-jump-links { display:flex; justify-content:center; flex-wrap:wrap; gap:.6rem; padding:1.5rem 1rem; background:var(--surface); }
.destination-shortcuts a,.trip-jump-links a { display:inline-flex; align-items:center; min-height:44px; padding:.65rem 1rem; border:1px solid var(--line); border-radius:999px; color:var(--ink); font-size:.875rem; text-decoration:none; }
.destination-shortcuts a:hover,.trip-jump-links a:hover { background:var(--surface-raised); border-color:var(--accent-ink); }
.hero.volo .hero-title-img { max-width:clamp(200px,30vw,350px); margin-bottom:1.5rem; }
.hero.volo .hero-overlay { background:linear-gradient(to bottom,rgba(3,16,48,.35),rgba(3,16,48,.6) 50%,rgba(3,16,48,.92)); }
.hero.volo .hero-subtitle { font-family:'Days One',sans-serif; font-size:clamp(1.7rem,3.7vw,3.25rem); line-height:1.2; max-width:23ch; margin:.5rem auto 1rem; color:#fff; text-wrap:balance; }
.hero.volo .hero-price { display:block; border:0; box-shadow:none; background:none; padding:0; margin:0 auto; }
.hero.volo #heroPriceMin { color:var(--gold); font-size:.9375rem; font-family:inherit; letter-spacing:0; }
.home-hero-explanation { max-width:40rem; margin:1rem auto 1.5rem; color:#dbe6f3; font-size:1rem; line-height:1.7; }
.pagina-viaggio.preventivo-mode .hero-price { border:0; background:none; box-shadow:none; padding:.5rem 1rem; }
.pagina-viaggio.preventivo-mode #heroPrezzo { font-family:inherit; font-size:1rem; letter-spacing:0; }
.people-preview,.team-section { max-width:1152px; margin:auto; padding:4rem 1.5rem; }
.people-preview { display:grid; grid-template-columns:1.3fr 1fr; gap:3rem; align-items:center; }
.people-preview .section-title,.team-section .section-title { font-size:clamp(1.7rem,3vw,2.5rem); text-align:left; text-transform:none; letter-spacing:.01em; }
.people-preview p:not(.section-eyebrow),.team-card p:not(.team-role) { color:var(--muted); line-height:1.8; margin:1rem 0 1.5rem; }
.people-names p { border-bottom:1px solid var(--line); padding-bottom:1.25rem; }
.people-names strong,.people-names span { display:block; }
.people-names strong { color:var(--ink); font-size:1.25rem; }
.people-names span { margin-top:.25rem; }
.team-grid { display:grid; grid-template-columns:1fr 1fr; gap:1.5rem; margin:2rem 0; }
.team-card { padding:2rem; border:1px solid var(--line); border-radius:1.25rem; background:var(--surface); }
.team-initials { display:flex; width:64px; height:64px; align-items:center; justify-content:center; font-family:'Days One',sans-serif; color:var(--navy); background:var(--gold); border-radius:50%; margin-bottom:1.5rem; }
.team-card h3 { color:var(--ink); font-family:'Days One',sans-serif; font-size:1.3rem; }
.team-role { color:var(--accent-ink); margin-top:.5rem; font-size:.875rem; }
.dest-card-experiences { color:#f3f6fc; font-size:.8125rem; line-height:1.4; max-width:30ch; margin-bottom:.6rem; text-transform:none; }
.dest-card-date { color:#dae3ef; }
.dest-card-info { background:linear-gradient(transparent,rgba(0,8,22,.86)); padding-top:2rem; }
.dest-card-info .dest-card-city { position:static;padding:0;margin-bottom:.55rem;text-align:left;line-height:1.3; }
.home-cat-badge { display:none; }
.home-cat-tutte a { color:var(--ink); }
.kit-input { font-size:1rem; }
.footer .footer-link { color:#25334b !important; }
.footer-top { display:flex;justify-content:space-between;align-items:center;gap:2rem;margin-bottom:2rem;flex-wrap:wrap; }
.footer-brands { display:flex;align-items:center;gap:1rem;flex-shrink:0; }
.footer-partner-logo { display:block;height:74px;width:111px;object-fit:contain; }
.footer-links { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem 2.5rem; }
.brand-surface { object-fit:contain; }
.brand-surface,.card-brand { color-scheme:dark; }
.navbar img,.footer-brands { color-scheme:light; }
.hero .brand-surface,.card-brand img { filter:drop-shadow(0 1px 3px rgba(0,0,0,.7)); }
.hero.volo .hero-title-img.brand-surface { width:clamp(230px,30vw,330px);height:auto;max-width:100%; }
#heroLogo.brand-surface { width:240px;height:auto;max-width:100%; }
.catalog-brand { display:block;width:220px;height:auto;max-width:100%;margin-bottom:1.5rem; }
.card-brand { position:absolute;top:.75rem;right:.75rem;z-index:10; }
.card-brand img { display:block;width:130px;height:44px;object-fit:contain; }
.search-close,html[data-theme="light"] .search-close { color:var(--muted) !important; }
.quote-intro [style*="color:var(--teal)"] { color:var(--accent-ink) !important; }
:is(.stat-label,.tagline,.consigli-sottotitolo,.chi-sub,.numero-label) { color:var(--muted) !important; }
.pagina-viaggio #nextSteps p,.pagina-viaggio #faqSection .text-center > p { color:var(--muted) !important; }
.honeymoon-process .concept-kicker,.honeymoon-step b { color:#83415a !important; }
html[data-theme="light"] :is(.mete-consigliate__aiuto,.mete-consigliate__aiuto strong,.consiglio-etichetta,.faq-arrow,.numero-valore,.valore-titolo,.chi-badge) { color:var(--accent-ink) !important; }
html[data-theme="light"] .chi-hero .chi-badge { color:#febd41 !important; }
html[data-theme="light"] .concept-kicker { color:#175d6c; }
html[data-theme="light"] .honeymoon-note span { color:var(--muted); }
html[data-theme="light"] .honeymoon-note strong { color:var(--ink); }
html[data-theme="light"] .seo-breadcrumb { color:var(--accent-ink) !important; }
html[data-theme="light"] .stats-live-badge { color:#175d6c; }
html[data-theme="light"] :is(.stat-label,.tagline,.consigli-sottotitolo,.chi-sub,.numero-label) { color:var(--muted) !important; }
html[data-theme="light"] :is(.text-gray-400,.text-gray-500) { color:var(--muted) !important; }
html[data-theme="light"] :is(.faq-section-title,.faq-answer a,.prose-legal a,.refund-table th,.cookie-table th) { color:var(--accent-ink) !important; }
html[data-theme="light"] .refund-table .low { color:#b91c1c !important; }
body.menu-open #waBtn,body.menu-open #stickyCta { visibility:hidden; pointer-events:none; }
#stickyEyebrow { color:var(--muted) !important; }
.pagina-viaggio #stickyCta { background:var(--surface); border-color:var(--line); }
.pagina-viaggio #stickyPrice { color:var(--accent-ink) !important; }
.kit-section [style*="color:var(--gold)"],.kit-section [style*="color:var(--teal)"] { color:var(--accent-ink) !important; }
.catalog-ticket-title { font-family:'Days One',sans-serif; font-size:1.25rem; line-height:1.4; margin:1rem 0; color:#fff; }
.catalog-ticket p { color:#c1cddd; font-size:.875rem; line-height:1.7; }
.catalog-ticket a { display:inline-block; margin-top:1.25rem; color:#febd41; font-size:.875rem; text-decoration:underline; text-underline-offset:4px; }
.catalog-ticket__label { color:#b8c4d6; font-size:.6875rem; }
.catalog-list__note { color:#b8c4d6; font-size:.875rem; }
.catalog-empty { color:var(--ink); border-color:var(--line); background:var(--surface); border-radius:1rem; }
.catalog-empty h2 { font-size:clamp(1.4rem,3vw,2rem); line-height:1.3; text-transform:none; }
.catalog-empty p { color:var(--muted); margin:1rem auto; max-width:34rem; line-height:1.7; }
.empty-actions { display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:1.5rem; margin-top:2rem; }
.empty-actions > a:not(.btn-gold) { color:var(--accent-ink); text-decoration:underline; }
.cruise-title,.honeymoon-title { color:#fff; }
html[data-theme="light"] .honeymoon-hero,html[data-theme="light"] .cruise-hero { background:#f5f7fb; color:var(--ink); }
html[data-theme="light"] :is(.honeymoon-title,.cruise-title,.honeymoon-note h2,.cruise-form h2,.honeymoon-step h3) { color:var(--ink); }
html[data-theme="light"] :is(.honeymoon-copy,.honeymoon-note p,.honeymoon-step p,.cruise-copy,.cruise-form p,.cruise-field span,.cruise-consent) { color:var(--muted); }
html[data-theme="light"] :is(.honeymoon-note,.cruise-form,.honeymoon-step) { background:var(--surface-raised); border-color:var(--line); }
html[data-theme="light"] .cruise-field input { color:var(--ink); background:var(--surface-raised); border-color:var(--line); }
html[data-theme="light"] .cruise-status { color:#175d6c; border-color:#175d6c; }
html[data-theme="light"] .home-cat-tutte a { color:var(--ink); }
html[data-theme="light"] .home-cat-badge { color:var(--accent-ink) !important; }
html[data-theme="light"] .nav-destination-link span { color:#755514; }
html[data-theme="light"] .nav-destinations__eyebrow { color:var(--muted); }
html[data-theme="light"] .nav-destination-link:hover,html[data-theme="light"] .nav-destination-link.active { color:#175d6c; background:#e7f1f3; }
html[data-theme="light"] :is(.hero,.viaggio-hero,.dest-card) .text-white { color:#fff !important; }
html[data-theme="light"] :is(.hero,.viaggio-hero,.dest-card) :is(.text-gray-300,.text-gray-400) { color:#dbe6f3 !important; }
html[data-theme="light"] .quote-form .kit-input::placeholder { color:var(--muted); }
html[data-theme="light"] .quote-privacy a { color:var(--accent-ink); }
@media(max-width:640px) {
  .pagina-viaggio.quote-visible #waBtn { visibility:hidden; pointer-events:none; }
  .quote-fields,.team-grid,.people-preview { grid-template-columns:1fr; }
  .quote-panel .section-title { font-size:1.5rem; }
  .destination-shortcuts,.trip-jump-links { justify-content:flex-start; flex-wrap:nowrap; overflow-x:auto; }
  .destination-shortcuts a,.trip-jump-links a { white-space:nowrap; flex-shrink:0; }
  .people-preview,.team-section { padding:3rem 1rem; }
  .team-card { padding:1.5rem; }
  .hero.volo .hero-content { padding-top:3.5rem; }
}
