﻿/*!
* Bootstrap v4.6.2 (https://getbootstrap.com/)
* Copyright 2011-2022 The Bootstrap Authors
* Copyright 2011-2022 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
*/:root{--blue:#007bff;--indigo:#6610f2;--purple:#6f42c1;--pink:#e83e8c;--red:#dc3545;--orange:#fd7e14;--yellow:#ffc107;--green:#28a745;--teal:#20c997;--cyan:#17a2b8;--white:#fff;--gray:#6c757d;--gray-dark:#343a40;--primary:#007bff;--secondary:#6c757d;--success:#28a745;--info:#17a2b8;--warning:#ffc107;--danger:#dc3545;--light:#f8f9fa;--dark:#343a40;--breakpoint-xs:0;--breakpoint-sm:576px;--breakpoint-md:768px;--breakpoint-lg:992px;--breakpoint-xl:1200px;--font-family-sans-serif:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-family-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}*,::after,::before{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}article,aside,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:left;background-color:#fff}[tabindex="-1"]:focus:not(:focus-visible){outline:0!important}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem}p{margin-top:0;margin-bottom:1rem}abbr[data-original-title],abbr[title]{text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;border-bottom:0;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#007bff;text-decoration:none;background-color:transparent}a:hover{color:#0056b3;text-decoration:underline}a:not([href]):not([class]){color:inherit;text-decoration:none}a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em}pre{margin-top:0;margin-bottom:1rem;overflow:auto;-ms-overflow-style:scrollbar}figure{margin:0 0 1rem}img{vertical-align:middle;border-style:none}svg{overflow:hidden;vertical-align:middle}table{border-collapse:collapse}caption{padding-top:.75rem;padding-bottom:.75rem;color:#6c757d;text-align:left;caption-side:bottom}th{text-align:inherit;text-align:-webkit-match-parent}label{display:inline-block;margin-bottom:.5rem}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{padding:0;border-style:none}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;max-width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit;color:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item;cursor:pointer}template{display:none}[hidden]{display:none!important}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin-bottom:.5rem;font-weight:500;line-height:1.2}.h1,h1{font-size:2.5rem}.h2,h2{font-size:2rem}.h3,h3{font-size:1.75rem}.h4,h4{font-size:1.5rem}.h5,h5{font-size:1.25rem}.h6,h6{font-size:1rem}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:6rem;font-weight:300;line-height:1.2}.display-2{font-size:5.5rem;font-weight:300;line-height:1.2}.display-3{font-size:4.5rem;font-weight:300;line-height:1.2}.display-4{font-size:3.5rem;font-weight:300;line-height:1.2}hr{margin-top:1rem;margin-bottom:1rem;border:0;border-top:1px solid rgba(0,0,0,.1)}.small,small{font-size:.875em;font-weight:400}.mark,mark{padding:.2em;background-color:#fcf8e3}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:90%;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:1.25rem}.blockquote-footer{display:block;font-size:.875em;color:#6c757d}.blockquote-footer::before{content:"\2014\00A0"}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:#fff;border:1px solid #dee2e6;border-radius:.25rem;max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:90%;color:#6c757d}code{font-size:87.5%;color:#e83e8c;word-wrap:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:87.5%;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:100%;font-weight:700}pre{display:block;font-size:87.5%;color:#212529}pre code{font-size:inherit;color:inherit;word-break:normal}.pre-scrollable{max-height:340px;overflow-y:scroll}
/* Orbitron variable, Google Fonts, SIL OFL 1.1; see orbitron-OFL.txt. */
@font-face {
font-family: 'Orbitron';
font-style: normal;
font-weight: 400 900;
font-display: swap;
src: url(/vendor/orbitron-variable.woff2) format('woff2');
}
/* =========================================================
RDV THEME VARS
========================================================= */
:root {
--rdv-acc-1: rgba(135,95,185,.92);
--rdv-acc-2: rgba(70,110,185,.92);
--rdv-acc-1-strong: rgba(135,95,185,.98);
--rdv-acc-2-strong: rgba(70,110,185,.96);
--rdv-border: rgba(255,255,255,.24);
--rdv-border-2: rgba(255,255,255,.22);
--rdv-txt: #fff;
--rdv-txt-dim: #EDEBFF;
--rdv-shadow: 0 10px 24px rgba(135,95,185,.35);
--rdv-shadow-2: 0 14px 32px rgba(135,95,185,.40);
--rdv-dark: rgba(10,10,26,.55);
}
/* =========================================================
BASE
========================================================= */
body {
padding-top: 78px; /* spazio per barra fissa */
font-family: 'Orbitron', sans-serif;
}
/* header fisso */
.rdv-header {
position: fixed;
top: 0;
left: 0;
right: 0;
z-index: 1100;
background: transparent;
}
/* barra */
.rdv-nav {
display: flex;
align-items: center;
justify-content: space-between;
height: 64px;
padding: 0 12px;
margin: 0 auto;
max-width: 1280px;
position: relative;
white-space: nowrap; /* ✅ desktop: 1 riga */
background: linear-gradient(90deg, var(--rdv-acc-1), var(--rdv-acc-2));
border: 1px solid var(--rdv-border);
box-shadow: var(--rdv-shadow);
backdrop-filter: saturate(1.05) blur(4px);
-webkit-backdrop-filter: saturate(1.05) blur(4px);
}
/* piccolo arrotondamento desktop */
@media (min-width:800px) {
.rdv-nav {
border-radius: 14px;
}
}
/* brand */
.rdv-brand {
display: flex;
align-items: center;
gap: 10px;
text-decoration: none;
}
.rdv-logo {
width: 36px;
height: 36px;
display: block;
filter: drop-shadow(0 0 8px rgba(255,255,255,.4));
}
.rdv-title {
color: var(--rdv-txt);
font-weight: 900;
text-transform: uppercase;
letter-spacing: .6px;
text-shadow: 0 0 8px rgba(255,255,255,.5);
}
/* =========================================================
TOGGLE (solo SVG)
========================================================= */
.rdv-toggle {
display: none; /* mostrato solo su mobile */
width: 40px;
height: 36px;
border: 2px solid rgba(255,255,255,.35);
background: rgba(255,255,255,.08);
border-radius: 10px;
color: #fff !important;
-webkit-tap-highlight-color: transparent;
-webkit-appearance: none;
appearance: none;
padding: 0;
box-sizing: border-box;
align-items: center;
justify-content: center;
line-height: 0;
}
.rdv-toggle .rdv-icon {
width: 22px;
height: 22px;
display: block;
flex-shrink: 0;
transform: translateZ(0);
}
.rdv-toggle .rdv-icon-hamburger rect {
fill: currentColor;
rx: 1;
}
.rdv-toggle .rdv-icon-close {
display: none;
}
.rdv-toggle[aria-expanded="true"] .rdv-icon-hamburger {
display: none;
}
.rdv-toggle[aria-expanded="true"] .rdv-icon-close {
display: block;
}
/* =========================================================
MENU DESKTOP
========================================================= */
.rdv-menu {
display: flex;
align-items: center;
gap: 12px;
flex: 1;
min-width: 0;
}
/* ul reset */
.rdv-nav ul,
.rdv-nav li {
list-style: none;
padding-left: 0;
margin-left: 0;
}
.rdv-list {
display: flex;
align-items: center;
gap: 4px;
margin: 0;
padding: 0;
flex-wrap: nowrap; /* ✅ desktop: 1 riga */
}
.rdv-link {
display: inline-block;
padding: 10px 8px;
color: var(--rdv-txt);
text-decoration: none;
font-weight: 800;
text-transform: uppercase;
letter-spacing: .3px;
font-size: .86rem;
position: relative;
transition: transform .18s ease;
}
.rdv-link::after {
content: "";
position: absolute;
left: 8px;
right: 8px;
bottom: 6px;
height: 2px;
border-radius: 2px;
background: linear-gradient(90deg,#fff,#c3a0f0);
transform: scaleX(0);
transform-origin: left;
transition: transform .25s ease;
}
.rdv-link:hover {
transform: translateY(-1px);
}
.rdv-link:hover::after,
.rdv-link:focus-visible::after {
transform: scaleX(1);
}
/* dropdown desktop */
.has-dropdown {
position: relative;
}
.rdv-dropbtn {
background: transparent;
border: 0;
cursor: pointer;
color: var(--rdv-txt);
font: inherit;
padding: 10px 8px;
}
/* ✅ dropdown NON trasparente e in palette viola */
.rdv-dropdown {
position: absolute;
top: 100%;
left: 0;
min-width: 220px;
padding: 10px;
margin-top: 8px;
background: linear-gradient(180deg, var(--rdv-acc-1-strong), var(--rdv-acc-2-strong));
border: 1px solid rgba(255,255,255,.28);
border-radius: 12px;
box-shadow: var(--rdv-shadow-2);
backdrop-filter: saturate(1.1) blur(6px);
-webkit-backdrop-filter: saturate(1.1) blur(6px);
z-index: 1200;
}
.rdv-dropdown[hidden] {
display: none;
}
.rdv-dropdown li {
border-top: 1px solid rgba(255,255,255,.20);
}
.rdv-dropdown li:first-child {
border-top: 0;
}
.rdv-dropdown .rdv-link {
display: block;
padding: 10px 12px;
font-size: .90rem;
border-radius: 10px;
}
.rdv-dropdown .rdv-link:hover,
.rdv-dropdown .rdv-link:focus-visible {
background: rgba(255,255,255,.10);
transform: none;
}
/* CTA */
.rdv-cta {
display: inline-block;
padding: 8px 14px;
border-radius: 12px;
font-weight: 900;
text-transform: uppercase;
color: #0A0A1A;
background: linear-gradient(90deg,#c3a0f0,#ffffff);
text-decoration: none;
box-shadow: 0 8px 18px rgba(135,95,185,.35);
font-size: .86rem;
white-space: nowrap;
}
.rdv-cta:hover {
background: linear-gradient(90deg,#ffffff,#c3a0f0);
color: #0A0A1A;
}
/* Desktop: brand a sx, menu a dx */
@media (min-width: 992px) {
.rdv-nav {
justify-content: flex-start;
}
.rdv-menu {
margin-left: auto;
flex: 0 0 auto !important;
}
}
/* =========================================================
✅ FIX DESKTOP (NUOVO): tutto entra in 1 riga
(font/padding/gap più piccoli + brand monolinea)
========================================================= */
@media (min-width: 992px) {
/* brand più compatto */
.rdv-logo {
width: 30px;
height: 30px;
}
.rdv-title {
font-size: .92rem;
line-height: 1;
white-space: nowrap; /* ✅ niente a capo nel brand */
letter-spacing: .3px;
}
/* menu più compatto */
.rdv-menu {
gap: 6px;
}
.rdv-list {
gap: 2px;
}
.rdv-link,
.rdv-dropbtn {
font-size: .78rem;
padding: 8px 6px;
letter-spacing: .2px;
}
.rdv-cta {
font-size: .78rem;
padding: 8px 12px;
}
}
/* =========================================================
MOBILE
========================================================= */
@media (max-width: 992px) {
body {
padding-top: 70px;
}
.rdv-toggle {
display: inline-flex;
}
.rdv-menu {
position: absolute;
top: calc(100% + 8px);
left: 0;
right: 0;
background: linear-gradient(180deg, rgba(135,95,185,.95), rgba(70,110,185,.93));
border: 1px solid rgba(255,255,255,.28);
border-radius: 12px;
box-shadow: 0 14px 32px rgba(135,95,185,.4);
padding: 10px;
display: none;
flex-direction: column;
align-items: stretch;
gap: 8px;
white-space: normal;
z-index: 1200;
}
.rdv-header.is-open .rdv-menu {
display: flex;
}
.rdv-list {
flex-direction: column;
align-items: stretch;
gap: 0;
}
.rdv-list li + li {
border-top: 1px solid rgba(255,255,255,.22);
}
.rdv-link,
.rdv-dropbtn {
padding: 12px 10px;
font-size: .95rem;
}
.has-dropdown {
position: static;
}
/* ✅ dropdown mobile viola, NON trasparente */
.rdv-dropdown {
position: static;
margin: 6px 0 8px;
background: linear-gradient(180deg, rgba(135,95,185,.90), rgba(70,110,185,.88));
border: 1px solid rgba(255,255,255,.22);
box-shadow: 0 10px 24px rgba(10,10,26,.35);
}
}
/* Backdrop quando menu aperto */
body.rdv-nav-open::after {
content: "";
position: fixed;
inset: 0;
background: rgba(0,0,0,.45);
z-index: 1050;
}
/* accessibilità */
@media (prefers-reduced-motion: reduce) {
.rdv-link,
.rdv-link::after,
.rdv-toggle .rdv-icon {
transition: none !important;
}
}
/* =========================================================
RDV FOOTER (dark glam)
========================================================= */
.rdv-footer {
position: relative;
margin-top: 60px;
color: #E8E8FF;
background: radial-gradient(1200px 600px at 85% 0%, rgba(175,131,220,.10), transparent 65%), radial-gradient(900px 480px at 10% 10%, rgba(106,160,220,.10), transparent 60%), linear-gradient(180deg, #0C0C1E 0%, #0A0A19 100%);
border-top: 1px solid rgba(175,131,220,.25);
box-shadow: 0 -18px 48px rgba(175,131,220,.08) inset;
}
.rdv-foot-container {
max-width: 1240px;
margin: 0 auto;
padding: 36px 16px 20px;
}
.rdv-foot-card {
background: linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.02));
border: 1px solid rgba(175,131,220,.25);
border-radius: 18px;
box-shadow: 0 20px 50px rgba(10,10,26,.45), 0 1px 0 rgba(255,255,255,.08) inset;
overflow: hidden;
padding: 26px 22px;
}
/* GRID TOP */
.rdv-foot-grid {
display: grid;
grid-template-columns: 1.25fr 1fr 1fr 1.25fr;
gap: 24px;
align-items: start;
}
.foot-col {
min-width: 0;
}
/* BRAND */
.foot-logo {
display: inline-flex;
align-items: center;
gap: 10px;
text-decoration: none;
color: #fff;
font-weight: 900;
letter-spacing: .4px;
text-transform: uppercase;
filter: drop-shadow(0 0 10px rgba(175,131,220,.35));
}
.foot-logo img {
width: 56px;
height: 56px;
border-radius: 12px;
display: block;
}
.foot-tag {
margin: 10px 0 14px;
color: #CFCFEF;
line-height: 1.5;
opacity: .95;
max-width: 36ch;
}
/* Social AFFIANCATI */
.foot-social {
display: flex;
flex-wrap: nowrap;
gap: 10px 12px;
list-style: none;
padding: 0;
margin: 8px 0 0;
overflow-x: auto;
-webkit-overflow-scrolling: touch;
scrollbar-width: thin;
}
.foot-social a {
display: inline-flex;
align-items: center;
gap: 8px;
padding: 8px 12px;
border-radius: 12px;
border: 1px solid rgba(175,131,220,.35);
background: rgba(255,255,255,.04);
text-decoration: none;
color: #EDEBFF;
font-weight: 800;
font-size: .92rem;
transition: transform .18s ease, box-shadow .25s ease, background .25s ease, border-color .25s ease;
white-space: nowrap;
}
.foot-social a:hover {
transform: translateY(-2px);
background: linear-gradient(90deg, rgba(175,131,220,.16), rgba(106,160,220,.16));
border-color: rgba(175,131,220,.6);
box-shadow: 0 10px 24px rgba(175,131,220,.25);
}
.foot-social svg {
width: 18px;
height: 18px;
flex: 0 0 auto;
fill: currentColor;
opacity: .95;
}
/* TITOLI */
.foot-title {
margin: 2px 0 10px;
font-size: 1.02rem;
font-weight: 900;
color: #FFFFFF;
letter-spacing: .02em;
text-transform: uppercase;
text-shadow: 0 0 10px rgba(175,131,220,.35);
}
/* LINK RAPIDI (pill) */
.foot-links {
list-style: none;
margin: 10px 0 0;
padding: 0;
display: flex;
flex-wrap: wrap;
gap: 10px 12px;
}
.foot-links li {
margin: 0;
padding: 0;
}
.foot-links a {
display: inline-flex;
align-items: center;
justify-content: center;
padding: 10px 14px;
border-radius: 12px;
text-decoration: none;
font-weight: 900;
color: #EDEBFF;
background: rgba(255,255,255,.04);
border: 1px solid rgba(175,131,220,.35);
transition: transform .15s ease, box-shadow .25s ease, background .25s ease, border-color .25s ease;
white-space: nowrap;
}
.foot-links a:hover {
transform: translateY(-2px);
background: linear-gradient(90deg, rgba(175,131,220,.16), rgba(106,160,220,.16));
border-color: rgba(175,131,220,.6);
box-shadow: 0 10px 24px rgba(175,131,220,.25);
}
/* CONTATTI */
.foot-contacts {
list-style: none;
margin: 0;
padding: 0;
display: flex;
flex-direction: column;
gap: 10px;
}
.foot-contacts li {
display: flex;
align-items: center;
gap: 10px;
color: #DCDDFF;
}
.foot-contacts svg {
width: 18px;
height: 18px;
flex: 0 0 auto;
fill: currentColor;
opacity: .9;
filter: drop-shadow(0 2px 6px rgba(175,131,220,.35));
}
.foot-contacts a {
color: #FFF;
text-decoration: none;
font-weight: 800;
}
.foot-contacts a:hover {
text-decoration: underline;
text-underline-offset: 3px;
}
/* NEWSLETTER */
.foot-news .foot-mini {
margin: 0 0 10px;
color: #CFCFEF;
font-weight: 700;
}
.news-form {
display: grid;
grid-template-columns: 1fr auto;
gap: 10px;
align-items: center;
}
.news-form input {
width: 100%;
background: rgba(15,15,30,.75);
color: #EDEBFF;
border: 1px solid rgba(175,131,220,.55);
border-radius: 12px;
padding: 12px 12px;
font-size: .95rem;
outline: none;
transition: box-shadow .25s ease, border-color .25s ease;
}
.news-form input:focus {
border-color: #AF83DC;
box-shadow: 0 0 0 3px rgba(175,131,220,.25);
}
.btn-news {
padding: 12px 16px;
border-radius: 12px;
border: 0;
font-weight: 900;
text-transform: uppercase;
background: linear-gradient(90deg, #c3a0f0, #ffffff);
color: #0A0A1A;
box-shadow: 0 10px 24px rgba(175,131,220,.3);
cursor: pointer;
transition: transform .15s ease, box-shadow .25s ease, background .25s ease;
}
.btn-news:hover {
transform: translateY(-2px);
background: linear-gradient(90deg, #ffffff, #c3a0f0);
box-shadow: 0 14px 28px rgba(175,131,220,.35);
}
.news-msg {
grid-column: 1 / -1;
min-height: 1.2em;
margin: 2px 2px 0;
font-size: .9rem;
color: #CFCFEF;
}
.foot-legal {
margin: 10px 0 0;
font-size: .9rem;
color: #BFC3F4;
}
.foot-legal a {
color: #EDEBFF;
text-decoration: underline;
text-underline-offset: 3px;
}
/* BOTTOM STRIP */
.rdv-foot-bottom {
margin-top: 18px;
padding-top: 14px;
border-top: 1px solid rgba(175,131,220,.25);
display: flex;
flex-wrap: wrap;
align-items: center;
justify-content: space-between;
gap: 12px;
}
.copy {
margin: 0;
color: #CFCFEF;
font-weight: 700;
}
.foot-legal-links {
display: flex;
gap: 12px;
list-style: none;
margin: 0;
padding: 0;
}
.foot-legal-links a {
display: inline-block;
padding: 6px 10px;
border-radius: 10px;
color: #EDEBFF;
text-decoration: none;
font-weight: 800;
background: rgba(255,255,255,.05);
border: 1px solid rgba(175,131,220,.35);
transition: transform .15s ease, background .2s ease, border-color .2s ease;
}
.foot-legal-links a:hover {
transform: translateY(-1px);
background: rgba(175,131,220,.16);
border-color: rgba(175,131,220,.6);
}
/* ACCESSIBILITÀ */
.visually-hidden {
position: absolute !important;
width: 1px;
height: 1px;
padding: 0;
margin: -1px;
overflow: hidden;
clip: rect(0 0 0 0);
white-space: nowrap;
border: 0;
}
/* RESPONSIVE FOOTER */
@media (max-width: 1100px) {
.rdv-foot-grid {
grid-template-columns: 1fr 1fr;
}
.foot-brand {
order: -1;
}
}
@media (max-width: 680px) {
.rdv-foot-card {
padding: 22px 16px;
}
.rdv-foot-grid {
grid-template-columns: 1fr;
gap: 18px;
}
.news-form {
grid-template-columns: 1fr;
}
.rdv-foot-bottom {
flex-direction: column;
align-items: flex-start;
gap: 10px;
}
/* mobile social footer */
.foot-social {
overflow: visible;
gap: 6px;
justify-content: space-between;
flex-wrap: nowrap;
}
.foot-social li {
flex: 1 1 0;
}
.foot-social a {
width: 100%;
justify-content: center;
padding: 6px 8px;
font-size: .78rem;
border-radius: 10px;
}
.foot-social svg {
width: 16px;
height: 16px;
}
/* mobile link rapidi */
.foot-links {
gap: 6px;
}
.foot-links a {
font-size: .78rem;
padding: 6px 8px;
border-radius: 10px;
}
}
/* =========================================================
COOKIE BANNER
========================================================= */
.cookie-consent-container {
position: fixed;
left: 12px;
right: 12px;
bottom: 12px;
z-index: 99999;
display: none;
grid-template-columns: 1fr auto;
gap: 14px;
align-items: center;
padding: 14px 16px;
border-radius: var(--cc-br);
background: linear-gradient(180deg, rgba(16,16,38,.92), rgba(10,10,30,.92));
border: 1px solid var(--cc-border);
backdrop-filter: saturate(1.1) blur(8px);
-webkit-backdrop-filter: saturate(1.1) blur(8px);
box-shadow: var(--cc-shadow), 0 0 0 1px rgba(255,255,255,.04) inset;
color: var(--txt, #E6E6FA);
opacity: 0;
transform: translateY(10px);
pointer-events: none;
}
.cookie-consent-container.is-visible {
display: grid;
opacity: 1;
transform: translateY(0);
pointer-events: auto;
}
.cookie-consent-container p {
margin: 0;
font-size: .98rem;
line-height: 1.5;
color: var(--txt-dim, #D8D8F0);
}
.cookie-consent-container a {
color: #fff;
font-weight: 800;
text-decoration: underline;
text-underline-offset: 3px;
}
.cookie-consent-container a:hover {
color: var(--acc-2, #AF83DC);
text-shadow: 0 0 10px rgba(175,131,220,.45);
}
.cookie-consent-container .buttons {
display: flex;
gap: 10px;
flex-wrap: wrap;
}
.cookie-consent-container button {
-webkit-tap-highlight-color: transparent;
appearance: none;
cursor: pointer;
padding: 10px 14px;
border-radius: 12px;
font-weight: 800;
text-transform: uppercase;
letter-spacing: .02em;
border: 1px solid rgba(255,255,255,.14);
background: rgba(255,255,255,.06);
color: #fff;
transition: transform .15s ease, box-shadow .25s ease, background .25s ease, border-color .25s ease;
}
#accept-cookies {
border: 0;
background: linear-gradient(90deg, var(--acc-1,#7A5AF8), var(--acc-2,#AF83DC));
box-shadow: 0 10px 22px rgba(175,131,220,.35);
}
#accept-cookies:hover {
transform: translateY(-1px);
box-shadow: 0 14px 28px rgba(175,131,220,.45);
}
#decline-cookies {
border: 2px solid rgba(175,131,220,.55);
background: rgba(10,10,26,.35);
color: var(--txt, #E6E6FA);
}
#decline-cookies:hover {
transform: translateY(-1px);
box-shadow: 0 10px 20px rgba(175,131,220,.25);
border-color: rgba(175,131,220,.85);
}
/* compat max-width container grandi */
@media (min-width: 1280px) {
.cookie-consent-container {
left: calc((100vw - var(--container-w,1240px))/2 + 12px);
right: calc((100vw - var(--container-w,1240px))/2 + 12px);
}
}
/* mobile: stack */
@media (max-width: 680px) {
.cookie-consent-container {
grid-template-columns: 1fr;
gap: 12px;
padding: 12px;
}
.cookie-consent-container .buttons {
justify-content: flex-start;
}
}
/* riduci motion */
@media (prefers-reduced-motion: reduce) {
.cookie-consent-container {
animation: none;
opacity: 1;
transform: none;
}
}
/* quando la modale è aperta, il banner NON deve rubare click */
body.modal-open #cookieConsentContainer {
pointer-events: none !important;
opacity: 0 !important;
}
/* =========================================================
FLOATING WHATSAPP
========================================================= */
.rdv-whatsapp-fab {
position: fixed;
z-index: 10050;
right: 18px;
bottom: 18px;
width: 56px;
height: 56px;
border-radius: 999px;
background: linear-gradient(135deg, #7A5AF8, #AF83DC);
display: flex;
align-items: center;
justify-content: center;
color: #ffffff;
text-decoration: none;
box-shadow: 0 8px 20px rgba(0, 0, 0, 0.55), 0 0 18px rgba(175, 131, 220, 0.6);
border: 1px solid rgba(230, 230, 250, 0.8);
transition: transform 0.18s ease, box-shadow 0.18s ease, filter 0.18s ease, border-color 0.18s ease;
}
.rdv-whatsapp-fab i {
font-size: 1.9rem;
}
.rdv-whatsapp-fab:hover {
transform: translateY(-2px) scale(1.03);
box-shadow: 0 10px 26px rgba(0, 0, 0, 0.7), 0 0 26px rgba(175, 131, 220, 0.85);
filter: brightness(1.06);
border-color: #ffffff;
}
.rdv-whatsapp-fab:active {
transform: translateY(0) scale(0.98);
box-shadow: 0 6px 16px rgba(0, 0, 0, 0.55), 0 0 16px rgba(175, 131, 220, 0.6);
filter: brightness(0.97);
}
/* Mobile: più compatto e sopra eventuali sticky bar */
@media (max-width: 768px) {
.rdv-whatsapp-fab {
width: 52px;
height: 52px;
right: 14px;
bottom: 78px;
}
.rdv-whatsapp-fab i {
font-size: 1.7rem;
}
}
/* Shared mobile controls and a menu that remains usable on short screens. */
@media screen and (max-width:992px){
.rdv-header .rdv-menu{max-height:calc(100dvh - 100px);overflow-y:auto;overscroll-behavior:contain}
.rdv-header :is(.rdv-toggle,.rdv-link,.rdv-cta,.rdv-dropbtn){min-height:44px}
}
@media screen and (max-width:600px){
body :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea){font-size:16px!important;min-height:44px;min-width:0;max-width:100%}
body :is(button,summary,.btn),.cookie-consent-container button{min-height:44px}
.cookie-consent-container{max-height:calc(100dvh - 24px);overflow-y:auto;overscroll-behavior:contain}
.rdv-header .rdv-toggle{width:44px;min-width:44px;height:44px}
.rdv-whatsapp-fab{bottom:max(16px,env(safe-area-inset-bottom));right:12px}
body:has(.pa-booking-dialog[open]) .rdv-whatsapp-fab{display:none}
}
/*!
* Font Awesome Free 6.5.0 by @fontawesome - https://fontawesome.com
* License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
* Copyright 2023 Fonticons, Inc.
*/
.fa{font-family:var(--fa-style-family,"Font Awesome 6 Free");font-weight:var(--fa-style,900)}.fa,.fa-brands,.fa-classic,.fa-regular,.fa-sharp,.fa-solid,.fab,.far,.fas{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:var(--fa-display,inline-block);font-style:normal;font-variant:normal;line-height:1;text-rendering:auto}.fa-classic,.fa-regular,.fa-solid,.far,.fas{font-family:"Font Awesome 6 Free"}.fa-brands,.fab{font-family:"Font Awesome 6 Brands"}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}.fa-2xs{font-size:.625em;line-height:.1em;vertical-align:.225em}.fa-xs{font-size:.75em;line-height:.08333em;vertical-align:.125em}.fa-sm{font-size:.875em;line-height:.07143em;vertical-align:.05357em}.fa-lg{font-size:1.25em;line-height:.05em;vertical-align:-.075em}.fa-xl{font-size:1.5em;line-height:.04167em;vertical-align:-.125em}.fa-2xl{font-size:2em;line-height:.03125em;vertical-align:-.1875em}.fa-fw{text-align:center;width:1.25em}.fa-ul{list-style-type:none;margin-left:var(--fa-li-margin,2.5em);padding-left:0}.fa-ul>li{position:relative}.fa-li{left:calc(var(--fa-li-width, 2em)*-1);position:absolute;text-align:center;width:var(--fa-li-width,2em);line-height:inherit}.fa-border{border-radius:var(--fa-border-radius,.1em);border:var(--fa-border-width,.08em) var(--fa-border-style,solid) var(--fa-border-color,#eee);padding:var(--fa-border-padding,.2em .25em .15em)}.fa-pull-left{float:left;margin-right:var(--fa-pull-margin,.3em)}.fa-pull-right{float:right;margin-left:var(--fa-pull-margin,.3em)}.fa-beat{-webkit-animation-name:fa-beat;animation-name:fa-beat;-webkit-animation-delay:var(--fa-animation-delay,0s);animation-delay:var(--fa-animation-delay,0s);-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,ease-in-out);animation-timing-function:var(--fa-animation-timing,ease-in-out)}.fa-bounce{-webkit-animation-name:fa-bounce;animation-name:fa-bounce;-webkit-animation-delay:var(--fa-animation-delay,0s);animation-delay:var(--fa-animation-delay,0s);-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,cubic-bezier(.28,.84,.42,1));animation-timing-function:var(--fa-animation-timing,cubic-bezier(.28,.84,.42,1))}.fa-fade{-webkit-animation-name:fa-fade;animation-name:fa-fade;-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1));animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1))}.fa-beat-fade,.fa-fade{-webkit-animation-delay:var(--fa-animation-delay,0s);animation-delay:var(--fa-animation-delay,0s);-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s)}.fa-beat-fade{-webkit-animation-name:fa-beat-fade;animation-name:fa-beat-fade;-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1));animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1))}.fa-flip{-webkit-animation-name:fa-flip;animation-name:fa-flip;-webkit-animation-delay:var(--fa-animation-delay,0s);animation-delay:var(--fa-animation-delay,0s);-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,ease-in-out);animation-timing-function:var(--fa-animation-timing,ease-in-out)}.fa-shake{-webkit-animation-name:fa-shake;animation-name:fa-shake;-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,linear);animation-timing-function:var(--fa-animation-timing,linear)}.fa-shake,.fa-spin{-webkit-animation-delay:var(--fa-animation-delay,0s);animation-delay:var(--fa-animation-delay,0s);-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal)}.fa-spin{-webkit-animation-name:fa-spin;animation-name:fa-spin;-webkit-animation-duration:var(--fa-animation-duration,2s);animation-duration:var(--fa-animation-duration,2s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,linear);animation-timing-function:var(--fa-animation-timing,linear)}.fa-spin-reverse{--fa-animation-direction:reverse}.fa-pulse,.fa-spin-pulse{-webkit-animation-name:fa-spin;animation-name:fa-spin;-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,steps(8));animation-timing-function:var(--fa-animation-timing,steps(8))}@media (prefers-reduced-motion:reduce){.fa-beat,.fa-beat-fade,.fa-bounce,.fa-fade,.fa-flip,.fa-pulse,.fa-shake,.fa-spin,.fa-spin-pulse{-webkit-animation-delay:-1ms;animation-delay:-1ms;-webkit-animation-duration:1ms;animation-duration:1ms;-webkit-animation-iteration-count:1;animation-iteration-count:1;-webkit-transition-delay:0s;transition-delay:0s;-webkit-transition-duration:0s;transition-duration:0s}}@-webkit-keyframes fa-beat{0%,90%{-webkit-transform:scale(1);transform:scale(1)}45%{-webkit-transform:scale(var(--fa-beat-scale,1.25));transform:scale(var(--fa-beat-scale,1.25))}}@keyframes fa-beat{0%,90%{-webkit-transform:scale(1);transform:scale(1)}45%{-webkit-transform:scale(var(--fa-beat-scale,1.25));transform:scale(var(--fa-beat-scale,1.25))}}@-webkit-keyframes fa-bounce{0%{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}10%{-webkit-transform:scale(var(--fa-bounce-start-scale-x,1.1),var(--fa-bounce-start-scale-y,.9)) translateY(0);transform:scale(var(--fa-bounce-start-scale-x,1.1),var(--fa-bounce-start-scale-y,.9)) translateY(0)}30%{-webkit-transform:scale(var(--fa-bounce-jump-scale-x,.9),var(--fa-bounce-jump-scale-y,1.1)) translateY(var(--fa-bounce-height,-.5em));transform:scale(var(--fa-bounce-jump-scale-x,.9),var(--fa-bounce-jump-scale-y,1.1)) translateY(var(--fa-bounce-height,-.5em))}50%{-webkit-transform:scale(var(--fa-bounce-land-scale-x,1.05),var(--fa-bounce-land-scale-y,.95)) translateY(0);transform:scale(var(--fa-bounce-land-scale-x,1.05),var(--fa-bounce-land-scale-y,.95)) translateY(0)}57%{-webkit-transform:scale(1) translateY(var(--fa-bounce-rebound,-.125em));transform:scale(1) translateY(var(--fa-bounce-rebound,-.125em))}64%{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}to{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}}@keyframes fa-bounce{0%{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}10%{-webkit-transform:scale(var(--fa-bounce-start-scale-x,1.1),var(--fa-bounce-start-scale-y,.9)) translateY(0);transform:scale(var(--fa-bounce-start-scale-x,1.1),var(--fa-bounce-start-scale-y,.9)) translateY(0)}30%{-webkit-transform:scale(var(--fa-bounce-jump-scale-x,.9),var(--fa-bounce-jump-scale-y,1.1)) translateY(var(--fa-bounce-height,-.5em));transform:scale(var(--fa-bounce-jump-scale-x,.9),var(--fa-bounce-jump-scale-y,1.1)) translateY(var(--fa-bounce-height,-.5em))}50%{-webkit-transform:scale(var(--fa-bounce-land-scale-x,1.05),var(--fa-bounce-land-scale-y,.95)) translateY(0);transform:scale(var(--fa-bounce-land-scale-x,1.05),var(--fa-bounce-land-scale-y,.95)) translateY(0)}57%{-webkit-transform:scale(1) translateY(var(--fa-bounce-rebound,-.125em));transform:scale(1) translateY(var(--fa-bounce-rebound,-.125em))}64%{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}to{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}}@-webkit-keyframes fa-fade{50%{opacity:var(--fa-fade-opacity,.4)}}@keyframes fa-fade{50%{opacity:var(--fa-fade-opacity,.4)}}@-webkit-keyframes fa-beat-fade{0%,to{opacity:var(--fa-beat-fade-opacity,.4);-webkit-transform:scale(1);transform:scale(1)}50%{opacity:1;-webkit-transform:scale(var(--fa-beat-fade-scale,1.125));transform:scale(var(--fa-beat-fade-scale,1.125))}}@keyframes fa-beat-fade{0%,to{opacity:var(--fa-beat-fade-opacity,.4);-webkit-transform:scale(1);transform:scale(1)}50%{opacity:1;-webkit-transform:scale(var(--fa-beat-fade-scale,1.125));transform:scale(var(--fa-beat-fade-scale,1.125))}}@-webkit-keyframes fa-flip{50%{-webkit-transform:rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),var(--fa-flip-angle,-180deg));transform:rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),var(--fa-flip-angle,-180deg))}}@keyframes fa-flip{50%{-webkit-transform:rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),var(--fa-flip-angle,-180deg));transform:rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),var(--fa-flip-angle,-180deg))}}@-webkit-keyframes fa-shake{0%{-webkit-transform:rotate(-15deg);transform:rotate(-15deg)}4%{-webkit-transform:rotate(15deg);transform:rotate(15deg)}8%,24%{-webkit-transform:rotate(-18deg);transform:rotate(-18deg)}12%,28%{-webkit-transform:rotate(18deg);transform:rotate(18deg)}16%{-webkit-transform:rotate(-22deg);transform:rotate(-22deg)}20%{-webkit-transform:rotate(22deg);transform:rotate(22deg)}32%{-webkit-transform:rotate(-12deg);transform:rotate(-12deg)}36%{-webkit-transform:rotate(12deg);transform:rotate(12deg)}40%,to{-webkit-transform:rotate(0deg);transform:rotate(0deg)}}@keyframes fa-shake{0%{-webkit-transform:rotate(-15deg);transform:rotate(-15deg)}4%{-webkit-transform:rotate(15deg);transform:rotate(15deg)}8%,24%{-webkit-transform:rotate(-18deg);transform:rotate(-18deg)}12%,28%{-webkit-transform:rotate(18deg);transform:rotate(18deg)}16%{-webkit-transform:rotate(-22deg);transform:rotate(-22deg)}20%{-webkit-transform:rotate(22deg);transform:rotate(22deg)}32%{-webkit-transform:rotate(-12deg);transform:rotate(-12deg)}36%{-webkit-transform:rotate(12deg);transform:rotate(12deg)}40%,to{-webkit-transform:rotate(0deg);transform:rotate(0deg)}}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.fa-rotate-90{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-webkit-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-webkit-transform:scaleX(-1);transform:scaleX(-1)}.fa-flip-vertical{-webkit-transform:scaleY(-1);transform:scaleY(-1)}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical{-webkit-transform:scale(-1);transform:scale(-1)}.fa-rotate-by{-webkit-transform:rotate(var(--fa-rotate-angle,none));transform:rotate(var(--fa-rotate-angle,none))}.fa-stack{display:inline-block;height:2em;line-height:2em;position:relative;vertical-align:middle;width:2.5em}.fa-stack-1x,.fa-stack-2x{left:0;position:absolute;text-align:center;width:100%;z-index:var(--fa-stack-z-index,auto)}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:var(--fa-inverse,#fff)}
.fa-calendar-alt:before,.fa-calendar-days:before{content:"\f073"}.fa-umbrella-beach:before{content:"\f5ca"}.fa-magic-wand-sparkles:before,.fa-wand-magic-sparkles:before{content:"\e2ca"}.fa-shuttle-van:before,.fa-van-shuttle:before{content:"\f5b6"}.fa-star:before{content:"\f005"}.fa-arrow-pointer:before,.fa-mouse-pointer:before{content:"\f245"}.fa-headset:before{content:"\f590"}.fa-gift:before{content:"\f06b"}.fa-cocktail:before,.fa-martini-glass-citrus:before{content:"\f561"}.fa-route:before{content:"\f4d7"}.fa-water:before{content:"\f773"}.fa-ticket:before{content:"\f145"}.fa-ship:before{content:"\f21a"}.fa-cutlery:before,.fa-utensils:before{content:"\f2e7"}.fa-credit-card-alt:before,.fa-credit-card:before{content:"\f09d"}.fa-music:before{content:"\f001"}.fa-calendar:before{content:"\f133"}.fa-check:before{content:"\f00c"}.fa-hotel:before{content:"\f594"}
.fa-sr-only,.fa-sr-only-focusable:not(:focus),.sr-only,.sr-only-focusable:not(:focus){position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}:host,:root{--fa-style-family-brands:"Font Awesome 6 Brands";--fa-font-brands:normal 400 1em/1 "Font Awesome 6 Brands"}@font-face{font-family:"Font Awesome 6 Brands";font-style:normal;font-weight:400;font-display:swap;src:url(/vendor/fontawesome/webfonts/fa-brands-400.woff2) format("woff2")}.fa-brands,.fab{font-weight:400}.fa-whatsapp:before{content:"\f232"}:host,:root{--fa-font-regular:normal 400 1em/1 "Font Awesome 6 Free"}@font-face{font-family:"Font Awesome 6 Free";font-style:normal;font-weight:400;font-display:swap;src:url(/vendor/fontawesome/webfonts/fa-regular-400.woff2) format("woff2")}.fa-regular,.far{font-weight:400}:host,:root{--fa-style-family-classic:"Font Awesome 6 Free";--fa-font-solid:normal 900 1em/1 "Font Awesome 6 Free"}@font-face{font-family:"Font Awesome 6 Free";font-style:normal;font-weight:900;font-display:swap;src:url(/vendor/fontawesome/webfonts/fa-solid-900.woff2) format("woff2")}.fa-solid,.fas{font-weight:900}@font-face{font-family:"Font Awesome 5 Brands";font-display:swap;font-weight:400;src:url(/vendor/fontawesome/webfonts/fa-brands-400.woff2) format("woff2")}@font-face{font-family:"Font Awesome 5 Free";font-display:swap;font-weight:900;src:url(/vendor/fontawesome/webfonts/fa-solid-900.woff2) format("woff2")}@font-face{font-family:"Font Awesome 5 Free";font-display:swap;font-weight:400;src:url(/vendor/fontawesome/webfonts/fa-regular-400.woff2) format("woff2")}@font-face{font-family:"FontAwesome";font-display:swap;src:url(/vendor/fontawesome/webfonts/fa-solid-900.woff2) format("woff2")}@font-face{font-family:"FontAwesome";font-display:swap;src:url(/vendor/fontawesome/webfonts/fa-brands-400.woff2) format("woff2")}@font-face{font-family:"FontAwesome";font-display:swap;src:url(/vendor/fontawesome/webfonts/fa-regular-400.woff2) format("woff2");unicode-range:u+f003,u+f006,u+f014,u+f016-f017,u+f01a-f01b,u+f01d,u+f022,u+f03e,u+f044,u+f046,u+f05c-f05d,u+f06e,u+f070,u+f087-f088,u+f08a,u+f094,u+f096-f097,u+f09d,u+f0a0,u+f0a2,u+f0a4-f0a7,u+f0c5,u+f0c7,u+f0e5-f0e6,u+f0eb,u+f0f6-f0f8,u+f10c,u+f114-f115,u+f118-f11a,u+f11c-f11d,u+f133,u+f147,u+f14e,u+f150-f152,u+f185-f186,u+f18e,u+f190-f192,u+f196,u+f1c1-f1c9,u+f1d9,u+f1db,u+f1e3,u+f1ea,u+f1f7,u+f1f9,u+f20a,u+f247-f248,u+f24a,u+f24d,u+f255-f25b,u+f25d,u+f271-f274,u+f278,u+f27b,u+f28c,u+f28e,u+f29c,u+f2b5,u+f2b7,u+f2ba,u+f2bc,u+f2be,u+f2c0-f2c1,u+f2c3,u+f2d0,u+f2d2,u+f2d4,u+f2dc}@font-face{font-family:"FontAwesome";font-display:swap;src:url(/vendor/fontawesome/webfonts/fa-v4compatibility.woff2) format("woff2");unicode-range:u+f041,u+f047,u+f065-f066,u+f07d-f07e,u+f080,u+f08b,u+f08e,u+f090,u+f09a,u+f0ac,u+f0ae,u+f0b2,u+f0d0,u+f0d6,u+f0e4,u+f0ec,u+f10a-f10b,u+f123,u+f13e,u+f148-f149,u+f14c,u+f156,u+f15e,u+f160-f161,u+f163,u+f175-f178,u+f195,u+f1f8,u+f219,u+f27a}
.holiday-wizard{--hw-ink:#261d3d;--hw-muted:#706580;--hw-purple:#7644ed;box-sizing:border-box;max-width:1100px;margin:24px auto 58px;padding:clamp(24px,4vw,46px);border:1px solid #fff;border-radius:28px;background:radial-gradient(ellipse at 90% 0%,#dfd2fa,transparent 55%),linear-gradient(145deg,#f8f5fc,#eee7f7);color:var(--hw-ink);box-shadow:0 20px 70px #160e3326;scroll-margin-top:100px}
.holiday-wizard *{box-sizing:border-box}.holiday-wizard [hidden]{display:none!important}.holiday-wizard header{text-align:center;margin-bottom:26px}.hw-eyebrow{font-size:10px;font-weight:800;letter-spacing:.2em;color:#7545d1}.holiday-wizard h2{color:var(--hw-ink);font-size:clamp(24px,3vw,36px);line-height:1.2;margin:12px 0}.holiday-wizard p{color:var(--hw-muted);font-size:14px;line-height:1.6}.holiday-wizard form{max-width:760px;margin:auto}.hw-track{height:4px;background:#ded3ef;border-radius:8px;overflow:hidden;max-width:520px;margin:auto}.hw-track span{display:block;height:100%;width:25%;background:linear-gradient(90deg,#7546ee,#b184fa);transition:width .25s}.hw-progress{display:flex;justify-content:space-between;list-style:none;padding:0;max-width:520px;margin:20px auto 30px;gap:8px}.hw-progress li{text-align:center;flex:1;color:#817590;font-size:11px}.hw-progress b{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;margin:0 auto 7px;background:#ffffffb0;border:1px solid #e4d9f6}.hw-progress .done b,.hw-progress [aria-current] b{background:var(--hw-purple);color:white;border-color:transparent;box-shadow:0 4px 16px #7845ed30}.hw-progress [aria-current]{color:#513290;font-weight:700}.holiday-wizard fieldset{border:0;padding:0;margin:0;min-width:0;min-height:190px;animation:hw-in .25s ease}.holiday-wizard legend{float:none;width:100%;text-align:center;font-size:18px;font-weight:750;color:var(--hw-ink);margin:0}.hw-hint{text-align:center;margin:6px 0 24px}.hw-choices{display:grid;grid-template-columns:1fr 1fr;gap:16px}.hw-choice{position:relative;display:flex;align-items:center;gap:14px;padding:22px 18px;background:#ffffffb5;border:1px solid #ffffff;border-radius:18px;cursor:pointer;transition:border-color .2s,box-shadow .2s}.hw-choice:has(:checked){border-color:#8d62ed;background:#fff;box-shadow:0 6px 25px #7644ed15}.hw-choice input{position:absolute;top:12px;right:12px;accent-color:var(--hw-purple)}.hw-choice i{display:grid;place-items:center;width:46px;height:50px;flex-shrink:0;border-radius:14px;background:#ece2ff;color:#8857e2;font-size:21px}.hw-choice strong{display:block;font-size:14px;color:var(--hw-ink);padding-right:8px}.hw-choice small{display:block;margin-top:6px;color:var(--hw-muted);font-size:12px;line-height:1.5}.hw-counter,.hw-presets{display:flex;align-items:center;justify-content:center;gap:14px}.hw-counter>button,.hw-presets button{border:1px solid #e8dcfb;background:#fff;color:var(--hw-purple);border-radius:13px;width:44px;height:44px;font-size:22px;cursor:pointer}.hw-counter label{padding:10px 16px;background:#ffffffbd;border-radius:18px;text-align:center}.hw-counter input{width:110px!important;text-align:center;font-size:30px!important;font-weight:750;appearance:textfield;padding:0!important;border:0!important;background:transparent!important}.hw-counter input::-webkit-inner-spin-button{appearance:none}.hw-counter span{display:block;font-size:9px;letter-spacing:.15em;color:var(--hw-muted)}.hw-presets{margin-top:12px;gap:8px}.hw-presets button{width:34px;height:34px;font-size:12px;border-radius:50%}.hw-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px;max-width:600px;margin:auto}.hw-fields label{display:block;font-size:12px;font-weight:650;color:var(--hw-ink)}.holiday-wizard input:not([type=radio]):not([type=checkbox]),.holiday-wizard select,.holiday-wizard textarea{display:block;width:100%;min-height:46px;margin-top:7px;padding:11px 13px;border:1px solid #d6c9e6;border-radius:10px;background:#ffffffb0;color:var(--hw-ink);font:inherit;font-size:15px;color-scheme:light}.holiday-wizard :focus-visible{outline:3px solid #a97af6;outline-offset:3px}.hw-notes{max-width:600px;margin:18px auto 0;font-size:12px;color:var(--hw-muted)}.hw-notes summary{cursor:pointer}.hw-privacy{font-size:11px!important;max-width:600px;margin:18px auto 0}.hw-privacy a{color:#653b9d;text-decoration:underline}.hw-recap{text-align:center;font-size:11px!important;margin:16px 0;min-height:18px}.hw-actions{display:flex;justify-content:center;gap:10px;margin-top:24px;flex-wrap:wrap}.hw-primary,.hw-secondary{display:inline-flex;justify-content:center;align-items:center;gap:18px;min-height:44px;padding:12px 25px;border-radius:11px;border:1px solid transparent;font-size:12px;font-weight:750;cursor:pointer;line-height:1.4}.hw-primary{background:linear-gradient(110deg,#7544eb,#ad78ec);color:#fff;box-shadow:0 5px 16px #7544eb20}.hw-secondary{background:#ffffffb5;border-color:#e2d5f3;color:#6845a6}.holiday-wizard button:disabled{opacity:.6;cursor:wait}#inquiry-result{margin-bottom:0;text-align:center}#inquiry-result:empty{display:none}.hw-results-title{text-align:center;color:var(--hw-ink);font-size:22px;margin:22px 0}.hw-packages{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.hw-package{background:#ffffffcc;border:1px solid white;border-radius:18px;overflow:hidden;padding:20px}.hw-package>img{width:100%;height:175px;object-fit:cover;border-radius:12px;margin-bottom:14px}.hw-package h3{font-size:19px;color:var(--hw-ink);margin:0 0 8px}.hw-package p{font-size:13px}.hw-package a{color:#6740a6;font-size:12px}.hw-package button{width:100%;margin-top:15px}.hw-options{max-width:650px;margin:auto}.hw-options label{font-size:13px;color:var(--hw-ink);display:block;margin:14px 0}.hw-options input[type=checkbox]{accent-color:#7644ed;margin-right:9px;width:17px;height:17px;vertical-align:middle}.hw-extra{padding:12px;background:#ffffffa0;border-radius:12px}.hw-total{padding:18px;background:#ffffffc9;border:1px solid #e5dbef;border-radius:14px;color:var(--hw-ink)!important;font-size:15px!important}.hw-payment{background:white;border-radius:16px;overflow:hidden;margin-top:20px}.hw-safe{text-align:center;font-size:11px!important}@keyframes hw-in{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}@media(max-width:640px){.holiday-wizard{margin:18px 12px 35px;padding:26px 18px;border-radius:22px}.hw-choices,.hw-packages{grid-template-columns:1fr}.hw-choice{padding:20px 16px}.hw-fields{gap:12px}.hw-progress{margin-bottom:24px}.hw-progress li{font-size:10px}.holiday-wizard fieldset{min-height:190px}.hw-primary,.hw-secondary{padding:12px 19px}.hw-options .hw-fields{grid-template-columns:1fr}.hw-package>img{height:155px}.holiday-wizard h2{font-size:25px}.hw-privacy{font-size:10px!important}}@media(prefers-reduced-motion:reduce){.holiday-wizard *{animation:none!important;transition:none!important}}
#richiesta.holiday-wizard #inquiry-next,#richiesta.holiday-wizard #inquiry-back{width:auto;margin:0;min-height:44px} #richiesta.holiday-wizard #inquiry-back{background:#ffffffb5;color:#6845a6;border:1px solid #e2d5f3;padding:12px 25px}
/* Readable supporting copy and compact rhythm on small screens. */
.holiday-wizard p,.holiday-wizard small,.holiday-wizard input,.holiday-wizard select,.hw-privacy,.hw-recap{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.holiday-wizard h2{font-weight:700}.holiday-wizard header{margin-bottom:22px}.hw-progress{margin:16px auto 24px}.hw-hint{margin-bottom:20px}.hw-recap:empty{display:none}.hw-actions{margin-top:20px}
@media(max-width:640px){.holiday-wizard{padding:24px 18px}.holiday-wizard header{margin-bottom:20px}.holiday-wizard header p{font-size:13px;margin-bottom:0}.holiday-wizard h2{font-size:23px}.hw-progress{margin-bottom:20px}.hw-hint{font-size:13px!important;margin-bottom:18px}.holiday-wizard legend{font-size:16px}.hw-fields{gap:12px}.hw-privacy{line-height:1.5!important;margin-top:14px}.hw-recap{margin:14px 0 0}.hw-actions{margin-top:18px}.hw-choice small{font-size:12px}}
/* Selected proposal: compact editorial header, clear extras and a distinct order summary. */
#richiesta.is-results>header{margin-bottom:16px}#richiesta.is-results>header h2{font-size:24px}#richiesta.is-results>header p{display:none}
#richiesta.is-results #inquiry-result{display:flex;justify-content:space-between;align-items:center;gap:8px 16px;flex-wrap:wrap;margin:0;padding:10px 0;border:0;border-bottom:1px solid #d9cce9;border-radius:0;text-align:left;font:12px/1.45 system-ui,sans-serif;color:#706580;box-shadow:none}
#richiesta.is-results #inquiry-result strong{color:#514364;font-size:12px}#richiesta.is-results #inquiry-result strong:before{content:'✓';display:inline-grid;place-items:center;width:20px;height:20px;margin-right:7px;border-radius:50%;background:#e0eee8;color:#287154}
#richiesta.is-configuring>header,#richiesta.is-configuring #rdv-inquiry>.hw-recap{display:none}
#richiesta.is-configuring{padding:28px 32px}.hw-selection-heading{max-width:900px;margin:22px auto 24px}.hw-selection-heading .hw-results-title{font-size:clamp(21px,2.3vw,29px);line-height:1.3;text-align:left;margin:7px 0 12px;font-weight:700;text-transform:none}.hw-trip{display:flex;gap:8px;flex-wrap:wrap;font:12px/1.4 system-ui,sans-serif;color:#695a7c}.hw-trip span{padding:5px 9px;border:1px solid #d9cce8;border-radius:7px;background:#ffffff55}
#hw-results{scroll-margin-top:95px}.holiday-wizard .hw-options{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.85fr);gap:28px;max-width:900px;align-items:start}.hw-selection-main,.hw-selection-summary{min-width:0}.holiday-wizard .hw-section-title{color:#342642;font:700 14px/1.4 system-ui,sans-serif;text-transform:none;margin:0 0 12px}.hw-selection-main>.hw-section-title{margin-bottom:10px}.hw-options .hw-fields{gap:12px;max-width:none;grid-template-columns:1fr 1fr}.hw-options .hw-fields label{margin:0;font:600 12px/1.4 system-ui,sans-serif;color:#51445f}.hw-options select{margin-top:6px;min-height:44px;padding:10px 12px;font:14px/1.4 system-ui,sans-serif;background:#ffffffc9;border-color:#d6c9e5}
.hw-section-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:22px 0 10px}.hw-section-heading .hw-section-title{margin:0}.hw-section-heading>span{font:11px system-ui,sans-serif;color:#897896}.hw-extras{display:grid;gap:8px}.hw-options label.hw-extra{display:grid;grid-template-columns:34px minmax(0,1fr) 20px;align-items:center;gap:10px;margin:0;padding:12px;border:1px solid #dfd3ed;border-radius:12px;background:#ffffffa6;cursor:pointer;transition:background .18s,border-color .18s,box-shadow .18s}.hw-options .hw-extra:has(:checked){background:#fcfaff;border-color:#a57ee7;box-shadow:0 2px 8px #7544eb0b}.hw-extra>i{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#eae0f8;color:#8661bd;font-size:15px}.hw-extra-copy{display:grid;gap:3px;font-family:system-ui,sans-serif}.hw-extra-copy strong{font-size:13px;font-weight:650;line-height:1.4;color:#3d2f4e}.hw-extra-copy .hw-extra-price{font:12px/1.4 system-ui,sans-serif;color:#82708f}.hw-options .hw-extra input[type=checkbox]{width:19px;height:19px;margin:0;accent-color:#8957d9}.hw-included{font-size:12px!important;margin:16px 0 0}
.hw-options .hw-total{padding:18px;margin:0;background:#fffc;border:1px solid #e1d6ec;border-radius:14px;box-shadow:0 6px 20px #45286206}.hw-total .hw-section-title{margin-bottom:12px}.hw-price-row,.hw-price-now{display:flex;justify-content:space-between;gap:12px;align-items:baseline;font:12px/1.5 system-ui,sans-serif;color:#786783}.hw-price-row+.hw-price-row{margin-top:8px}.hw-price-row strong{font-size:14px;color:#45334f;white-space:nowrap}.hw-price-now{border-top:1px solid #e9e0f0;padding:12px 0 0;margin:12px 0 8px;color:#543273;font-weight:650}.hw-price-now strong{font-size:24px;line-height:1.2;color:#683dae;white-space:nowrap}.hw-legal{padding:14px 2px 0;font:11px/1.5 system-ui,sans-serif;color:#766980}.hw-terms summary{font:600 12px/1.5 system-ui,sans-serif;cursor:pointer;color:#604a77}.hw-terms p{font-size:12px;white-space:pre-line;max-height:180px;overflow:auto}.hw-legal>a{display:inline-block;margin-top:6px;font-size:11px;color:#76608c;text-underline-offset:2px}.hw-options label.hw-booking-consent{display:flex;align-items:flex-start;gap:8px;font:11px/1.5 system-ui,sans-serif;color:#766980;margin:12px 0 0}.hw-booking-consent input{flex:0 0 17px;margin:1px 0 0!important}.hw-selection-summary .hw-actions{display:flex;flex-direction:column-reverse;gap:8px;margin-top:16px}.hw-selection-summary .hw-actions button{width:100%;font:650 13px/1.4 system-ui,sans-serif;min-height:46px}.hw-selection-summary .hw-secondary{background:transparent;border:0;min-height:34px!important;padding:7px;color:#806896;box-shadow:none}.hw-selection-summary [role=alert]:empty{display:none}
body.hw-panel-visible:has(.holiday-wizard.is-configuring) .rdv-whatsapp-fab{visibility:hidden;pointer-events:none}
@media(max-width:760px){#richiesta.is-configuring{padding:18px 16px;border-radius:20px}.holiday-wizard .hw-options{grid-template-columns:1fr;gap:18px}.hw-selection-heading{margin:17px 0 20px}.hw-selection-heading .hw-results-title{font-size:21px;margin:6px 0 10px}.hw-selection-heading .hw-eyebrow{font-size:9px}.hw-trip{font-size:11px;gap:6px}.hw-trip span{padding:4px 7px}.hw-options .hw-fields{grid-template-columns:1fr 1fr;gap:10px}.hw-options select{font-size:14px;padding:10px 8px}.hw-section-heading{margin-top:18px}.hw-options .hw-total{padding:15px}.hw-price-now strong{font-size:23px}#richiesta.is-results #inquiry-result{font-size:10px;padding:0 0 10px;gap:4px 10px}#richiesta.is-results #inquiry-result strong{font-size:11px}.hw-legal{padding-top:12px}.hw-selection-summary .hw-actions{margin-top:12px}}
@media(max-width:350px){.hw-options .hw-fields{grid-template-columns:1fr}.hw-trip{font-size:10px}}
#richiesta.is-configuring #rdv-inquiry{max-width:900px}.hw-selection-main:empty{display:none}.holiday-wizard .hw-options:has(>.hw-selection-main:empty){grid-template-columns:1fr;max-width:620px}
/* All package information is readable without leaving the saved inquiry. */
.hw-inclusions{margin:16px 0 10px;padding:14px;border:1px solid #e5dcec;border-radius:12px;background:#f6f1fb}.hw-inclusions .hw-section-title{font-size:12px;margin-bottom:8px}.hw-inclusions ul{display:grid;gap:7px;margin:0;padding:0;list-style:none}.hw-inclusions li{position:relative;padding-left:18px;color:#51415f;font:12px/1.5 system-ui,sans-serif}.hw-inclusions li:before{content:'✓';position:absolute;left:0;color:#8760b2;font-weight:700}.hw-inclusions .hw-extra-note{font:11px/1.5 system-ui,sans-serif;margin:10px 0 0;color:#84728f}.hw-package-details{border-top:1px solid #e1d5ed;border-bottom:1px solid #e1d5ed;margin:12px 0}.hw-package-details>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 0;color:#714899;font:650 12px/1.45 system-ui,sans-serif;cursor:pointer;list-style:none}.hw-package-details>summary:after{content:'+';font:22px/1 system-ui,sans-serif}.hw-package-details[open]>summary:after{content:'−'}.hw-package-details summary::-webkit-details-marker{display:none}.hw-detail-body{padding:0 0 14px}.hw-detail-body .hw-section-title{font-size:12px;margin:18px 0 8px}.hw-detail-body p{font:12px/1.6 system-ui,sans-serif;margin:8px 0;color:#766682}.hw-description{white-space:pre-line;overflow-wrap:anywhere}.hw-venue-details{border:1px solid #e5daef;border-radius:10px;background:#ffffff9c;margin-top:7px;overflow:hidden}.hw-venue-details>summary{display:flex;align-items:center;gap:9px;padding:10px;font:600 12px/1.5 system-ui,sans-serif;color:#514060;cursor:pointer;list-style:none}.hw-venue-details>summary:after{content:'⌄';margin-left:auto;color:#9378ab}.hw-venue-details[open]>summary:after{content:'⌃'}.hw-detail-logo{width:38px;height:32px;object-fit:contain;flex-shrink:0}.hw-venue-details>div{padding:0 10px 10px}.hw-detail-photos{display:grid;grid-template-columns:1fr 1fr;gap:6px}.hw-detail-photos:empty{display:none}.hw-detail-photos img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:7px}.hw-package .hw-continuity{font:11px/1.5 system-ui,sans-serif;text-align:center;color:#8b7899;margin:8px 0 0}.hw-selection-main>.hw-package-details{margin:0 0 18px}.hw-packages:has(>.hw-package:only-child){grid-template-columns:minmax(0,1fr);max-width:650px;margin:auto}.hw-detail-body .hw-terms{font:12px/1.5 system-ui,sans-serif;margin-top:14px;color:#715a85}
@media(max-width:640px){.hw-inclusions{padding:12px;margin-top:14px}.hw-package-details>summary{padding:12px 0}.hw-inclusions li{font-size:12px}.hw-package .hw-continuity{font-size:10px}}
.hw-inclusions .hw-included-hotels{display:block;margin-top:2px;color:#82728e;font:400 11px/1.45 system-ui,sans-serif;overflow-wrap:anywhere}
.hw-match-badge{display:inline-block;padding:5px 9px;border-radius:7px;background:#ede2fc;color:#7648a6;font:650 11px/1.4 system-ui,sans-serif;margin:0 0 8px}.hw-package .hw-match-dates{font:650 13px/1.5 system-ui,sans-serif;color:#674986;margin:0 0 10px}.hw-options label.hw-alternative-consent{display:flex;align-items:flex-start;gap:10px;border:1px solid #d7bee9;padding:12px;border-radius:10px;background:#ffffffa0;color:#684e7d;font:12px/1.5 system-ui,sans-serif;margin:0 0 18px}.hw-alternative-consent input{flex:0 0 18px;margin-top:2px!important}
/* Home inquiry: a compact introduction beside the guided form. */
#richiesta:not(.is-results){display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1.35fr);align-items:center;gap:42px;max-width:1100px;padding:34px 38px;background:radial-gradient(ellipse at 0 0,#e7dbff,transparent 65%),#f7f3fc;border-color:#e9dff5;box-shadow:0 16px 50px #0c071b26}
#richiesta:not(.is-results)>header{text-align:left;margin:0;align-self:center}
#richiesta:not(.is-results)>header h2{font-size:clamp(25px,2.7vw,34px);line-height:1.2;letter-spacing:-.025em;margin:14px 0;text-wrap:balance}
#richiesta:not(.is-results)>header p{font:14px/1.65 system-ui,sans-serif;max-width:34ch;margin:0}
.hw-promise{display:flex;align-items:center;gap:7px;margin-top:20px;color:#665673;font:11px/1.5 system-ui,sans-serif}.hw-promise i{color:#8051b8;font-size:11px}
#richiesta.is-results .hw-promise{display:none}
#richiesta:not(.is-results) #rdv-inquiry{width:100%;padding:24px;background:#ffffffbd;border:1px solid #fff;border-radius:20px;box-shadow:0 6px 24px #49296206}
.hw-step-caption{text-align:left;font:11px/1.4 system-ui,sans-serif;letter-spacing:.025em;color:#81728f;margin-bottom:10px}.hw-step-caption strong{color:#6833ad}
#richiesta .hw-track{height:3px;max-width:none;background:#e9e0f1}
#richiesta .hw-progress{max-width:none;margin:14px 0 23px;gap:6px}
#richiesta .hw-step-button{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;min-height:36px;padding:0;border:0;border-radius:8px;background:none;color:inherit;font:inherit;cursor:pointer}
#richiesta .hw-step-button:disabled{opacity:1;cursor:default}
#richiesta .hw-progress b{width:25px;height:25px;flex:0 0 25px;margin:0;font:650 11px system-ui,sans-serif;box-shadow:none}
#richiesta .hw-progress li{font:11px system-ui,sans-serif}.hw-progress .done .hw-step-button:hover{background:#ede4f7}
#richiesta fieldset{min-height:170px}
#richiesta legend{font-size:17px;line-height:1.4;text-align:left;letter-spacing:-.015em}
#richiesta .hw-hint{text-align:left;font:12px/1.5 system-ui,sans-serif;margin:5px 0 16px}
#richiesta .hw-choices{gap:10px}
#richiesta .hw-choice{display:grid;grid-template-columns:1fr;align-content:start;gap:10px;padding:15px;border:1px solid #e1d6ed;border-radius:13px;background:#fff;box-shadow:none}
#richiesta .hw-choice:has(:checked){background:#f4edff;border-color:#9062d7;box-shadow:0 0 0 1px #9062d7}
#richiesta .hw-choice:has(:focus-visible){outline:3px solid #c5a5f0;outline-offset:3px}
#richiesta .hw-choice input{width:17px;height:17px;top:14px;right:14px;margin:0}
#richiesta .hw-choice i{width:36px;height:36px;border-radius:10px;font-size:16px}
#richiesta .hw-choice strong{font:650 13px/1.4 system-ui,sans-serif;padding:0}
#richiesta .hw-choice small{font:12px/1.45 system-ui,sans-serif;margin-top:4px}
#richiesta .hw-counter{margin-top:20px;gap:16px}
#richiesta .hw-counter label{background:#f5effd;border:1px solid #e9ddf5;border-radius:14px;padding:8px 16px}
#richiesta .hw-counter input{height:42px;min-height:42px;margin:0;font-size:32px!important}
#richiesta .hw-counter>button{width:44px;height:44px;border-color:#dfd0f1}
#richiesta .hw-presets{gap:8px;margin-top:12px}
#richiesta .hw-presets button{width:40px;height:36px;border-radius:9px;font:650 12px system-ui,sans-serif}
#richiesta .hw-presets [aria-pressed=true]{background:#7644ed;border-color:#7644ed;color:#fff}
#richiesta .hw-fields{gap:13px 12px}
#richiesta .hw-fields label{font:600 12px/1.5 system-ui,sans-serif}
#richiesta .hw-fields input{min-width:0;max-width:100%;min-height:46px;font:16px/1.3 system-ui,sans-serif;margin-top:5px;padding:10px;border-radius:9px;background:#fff}
#richiesta input[aria-invalid=true]{border-color:#b44863;box-shadow:0 0 0 1px #b4486320}
#richiesta .hw-nights{font:600 12px/1.4 system-ui,sans-serif;color:#775197;margin:9px 0 0}
#richiesta .hw-nights:empty{display:none}
#richiesta .hw-notes{margin-top:14px;font:12px/1.5 system-ui,sans-serif}
#richiesta .hw-notes summary{padding:5px 0}#richiesta .hw-notes small{font-size:10px;margin-left:4px}
#richiesta .hw-recap{font:11px/1.5 system-ui,sans-serif!important;margin:14px 0 0;padding:10px 0 0;border-top:1px solid #eadff2;color:#786486;overflow-wrap:anywhere}
#richiesta #rdv-inquiry>.hw-actions{display:flex;flex-wrap:nowrap;gap:10px;margin-top:16px;justify-content:flex-end}
#richiesta #rdv-inquiry>.hw-actions button{min-height:46px;margin:0;padding:12px 18px;font:650 13px/1.4 system-ui,sans-serif;white-space:normal;min-width:0}
#richiesta #inquiry-next,#richiesta #rdv-inquiry>.hw-actions [type=submit]{flex:1;max-width:260px;box-shadow:0 4px 12px #7544eb20}
#richiesta .hw-privacy{font:11px/1.55 system-ui,sans-serif!important;margin-top:14px;color:#82718e}
#richiesta:not(.is-results) #inquiry-result:not(:empty){padding:10px 12px;margin-top:12px;border-radius:9px;background:#f1eafa;font:12px/1.5 system-ui,sans-serif;overflow-wrap:anywhere}
#rdv-inquiry[aria-busy=true]>.hw-actions [type=submit]:before{content:'';width:13px;height:13px;border:2px solid #ffffff66;border-top-color:#fff;border-radius:50%;animation:hw-spin .8s linear infinite}
@keyframes hw-spin{to{transform:rotate(360deg)}}
body.hw-panel-visible .rdv-whatsapp-fab{visibility:hidden;pointer-events:none}
@media(max-width:800px){#richiesta:not(.is-results){grid-template-columns:1fr;gap:20px;max-width:620px;padding:25px;margin:20px auto 36px}#richiesta:not(.is-results)>header{text-align:center}#richiesta:not(.is-results)>header h2{font-size:27px;margin:10px 0}#richiesta:not(.is-results)>header p{max-width:42ch;margin:auto;font-size:13px}.hw-promise{justify-content:center;margin-top:10px}#richiesta:not(.is-results) #rdv-inquiry{padding:20px}}
@media(max-width:640px){#richiesta:not(.is-results){margin:16px 12px 30px;padding:20px 14px 14px;border-radius:22px;gap:17px}#richiesta:not(.is-results)>header h2{font-size:23px;max-width:24ch;margin:9px auto}#richiesta:not(.is-results)>header p{font-size:12px;max-width:36ch}.hw-eyebrow{font-size:9px}.hw-promise{font-size:10px;margin-top:9px}#richiesta:not(.is-results) #rdv-inquiry{padding:16px 13px;border-radius:15px}#richiesta .hw-progress{margin:10px 0 20px;gap:2px}#richiesta .hw-step-button{flex-direction:column;gap:5px;font-size:10px;min-height:44px}#richiesta legend{font-size:16px}#richiesta .hw-choices{grid-template-columns:1fr;gap:9px}#richiesta .hw-choice{grid-template-columns:36px minmax(0,1fr);align-items:center;gap:10px;padding:13px 31px 13px 12px}#richiesta .hw-choice input{right:10px;top:16px;width:15px;height:15px}#richiesta .hw-choice small{font-size:11px}#richiesta fieldset{min-height:166px}#richiesta .hw-fields{gap:12px 10px}#richiesta .hw-fields input{padding:10px 8px}#richiesta #rdv-inquiry>.hw-actions button{min-height:48px;padding:12px}#richiesta #inquiry-next,#richiesta #rdv-inquiry>.hw-actions [type=submit]{max-width:none}#richiesta .hw-privacy{font-size:10px!important}#richiesta .hw-recap{font-size:10px!important}#richiesta .hw-hint{font-size:12px}}
@media(max-width:360px){#richiesta:not(.is-results){margin-inline:8px;padding-inline:10px}#richiesta:not(.is-results) #rdv-inquiry{padding-inline:10px}#richiesta .hw-fields:has([name=customer_email]){grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){#rdv-inquiry[aria-busy=true]>.hw-actions [type=submit]:before{animation:none}}
/* Expandable optional services: details and purchase choice remain independent. */
.hw-service-card{position:relative;border:1px solid #dfd3ed;border-radius:13px;background:#ffffffb0;overflow:hidden;color:#3d2f4e;font-family:system-ui,sans-serif}.hw-service-card:has(input:checked){border-color:#a57ee7;background:#fcfaff}.hw-service-card summary{display:flex;align-items:center;gap:10px;min-height:82px;padding:12px 86px 12px 12px;cursor:pointer;list-style:none}.hw-service-card summary::-webkit-details-marker{display:none}.hw-service-card summary>i{display:grid;place-items:center;flex:0 0 34px;height:34px;border-radius:10px;background:#eae0f8;color:#8661bd;font-size:15px}.hw-service-hint{font-size:11px;color:#775099;line-height:1.5}.hw-service-hint:after{content:' +';font-weight:700}.hw-service-card details[open] .hw-service-hint:after{content:' −'}.hw-options label.hw-service-choice{position:absolute;right:10px;top:14px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;min-width:62px;min-height:48px;margin:0;font:10px/1.3 system-ui,sans-serif;color:#72558d;cursor:pointer}.hw-service-choice input[type=checkbox]{margin:0;width:20px;height:20px;accent-color:#8957d9}.hw-service-body{border-top:1px solid #e7ddef;padding:12px 14px;background:#ffffff55;animation:hw-in .2s ease}.holiday-wizard .hw-service-body p{font:12px/1.6 system-ui,sans-serif;margin:0 0 8px;white-space:pre-line;overflow-wrap:anywhere;color:#6b5a78}.hw-service-body p:last-child{margin-bottom:0}.hw-service-body>strong{font-size:12px}.hw-service-body ul{margin:6px 0 12px;padding-left:18px;font-size:12px;line-height:1.7}.hw-service-card summary:focus-visible,.hw-service-choice:focus-within{outline:2px solid #8957d9;outline-offset:-3px;border-radius:10px}
.hw-itinerary{margin:4px 0 20px;font-family:system-ui,sans-serif}.hw-itinerary-day{margin:16px 0}.hw-itinerary-day h5{margin:0 0 8px;font:700 13px/1.5 system-ui,sans-serif;color:#604282;text-transform:capitalize}.hw-itinerary-day ol{list-style:none;margin:0;padding:0 0 0 9px;border-left:2px solid #d8c6ed}.hw-itinerary-day li{display:grid;grid-template-columns:42px minmax(0,1fr);gap:10px;padding:9px 0 9px 10px}.hw-itinerary-time{font:600 11px/1.7 system-ui,sans-serif;color:#8c6ca9}.hw-itinerary-day strong{font:650 13px/1.5 system-ui,sans-serif;color:#3d2f4e}.holiday-wizard .hw-itinerary-day p{font:12px/1.5 system-ui,sans-serif;margin:3px 0;white-space:pre-line}.hw-itinerary-day summary{font:11px/1.5 system-ui,sans-serif;color:#816391;cursor:pointer;margin-top:4px}
#intro .rdv-info-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;max-width:1240px;margin:28px auto 0;text-align:left;align-items:start}
#intro .rdv-info-grid details{border:1px solid #654887;border-radius:15px;background:linear-gradient(150deg,#17132b,#100e20);overflow:hidden;box-shadow:0 8px 24px #9b64d010}
#intro .rdv-info-grid summary{position:relative;display:flex;flex-direction:column;gap:16px;list-style:none;cursor:pointer;padding:22px 34px 22px 20px;font-size:14px;font-weight:800;min-height:120px}
#intro summary::-webkit-details-marker{display:none}#intro summary:after{content:'+';position:absolute;right:16px;top:24px;color:#cba4f5;font-family:system-ui;font-size:22px}#intro details[open] summary:after{content:'−'}#intro summary span{color:#b68ae7;font-size:12px;letter-spacing:.1em}
#intro .rdv-info-grid details>div{padding:0 20px 20px;font:14px/1.8 system-ui,sans-serif;color:#d0c5dc}#intro .rdv-info-grid p{margin:0 0 12px}#intro .rdv-info-grid p:last-child{margin:0}
#richiesta.rdv-request-section.rdv-request-section{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px;align-items:start;max-width:1240px;margin:36px auto 48px;padding:0 20px}
#richiesta.rdv-request-section .rdv-request-card,#richiesta.rdv-request-section .rdv-seo-card{padding:28px;border:1px solid #65488766;border-radius:18px;background:linear-gradient(145deg,#151126,#0e0c1c);box-shadow:0 8px 26px #9567cf12;min-width:0}
#richiesta.rdv-request-section h2{font-size:clamp(18px,1.7vw,24px);line-height:1.5;margin:0 0 18px;text-align:left;color:#eee7ff}#richiesta.rdv-request-section h3{font-size:15px;line-height:1.6;margin:24px 0 8px;color:#c49aea}
#richiesta.rdv-request-section p{font:15px/1.85 system-ui,sans-serif;color:#cfc5dd;margin:0 0 16px}#richiesta.rdv-request-section a{color:#d1adff;text-decoration:underline;text-underline-offset:3px}#richiesta.rdv-request-section .rdv-section-eyebrow{display:block;font:700 11px/1.5 system-ui,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:#b993df;margin-bottom:14px}
#richiesta.rdv-request-section .rdv-request-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:24px}#richiesta.rdv-request-section label{display:flex;flex-direction:column;gap:7px;font:600 13px/1.5 system-ui,sans-serif;color:#ddd1ed;margin:0;min-width:0}#richiesta.rdv-request-section .rdv-field-wide{grid-column:1/-1}
#richiesta.rdv-request-section input,#richiesta.rdv-request-section select,#richiesta.rdv-request-section textarea{box-sizing:border-box;width:100%;min-width:0;min-height:46px;border:1px solid #68517e;border-radius:9px;padding:11px 12px;background:#100d1e;color:#fff;font:16px/1.5 system-ui,sans-serif;color-scheme:dark}#richiesta.rdv-request-section textarea{resize:vertical}#richiesta.rdv-request-section input::placeholder,#richiesta.rdv-request-section textarea::placeholder{color:#a69ab8;opacity:1}
#richiesta.rdv-request-section .rdv-request-note{font-size:12px;line-height:1.7;margin:18px 0}#richiesta.rdv-request-section button{white-space:normal;width:100%;font:750 14px/1.5 system-ui,sans-serif;min-height:50px;padding:12px 16px}#richiesta.rdv-request-section .rdv-seo-ending{border-top:1px solid #43304f;padding-top:18px;margin-top:24px}
#intro summary:focus-visible,#richiesta.rdv-request-section :focus-visible{outline:2px solid #d6b5ff;outline-offset:4px}
@media(max-width:1000px){#intro .rdv-info-grid{grid-template-columns:repeat(2,minmax(0,1fr))}#richiesta.rdv-request-section.rdv-request-section{gap:18px}#richiesta.rdv-request-section .rdv-request-card,#richiesta.rdv-request-section .rdv-seo-card{padding:22px}}
@media(max-width:760px){#richiesta.rdv-request-section.rdv-request-section{grid-template-columns:1fr;margin:24px auto 32px;padding:0 16px}#intro .rdv-info-grid{grid-template-columns:1fr;gap:12px}#intro .rdv-info-grid summary{min-height:0;flex-direction:row;align-items:center;gap:14px;padding:18px 38px 18px 16px}#intro summary:after{top:10px}#richiesta.rdv-request-section h2{font-size:19px}#richiesta.rdv-request-section .rdv-request-fields{gap:14px}}
@media(max-width:360px){#richiesta.rdv-request-section .rdv-request-fields{grid-template-columns:1fr}}
#intro,#richiesta.rdv-request-section{scroll-margin-top:90px}#richiesta.rdv-request-section h2,#richiesta.rdv-request-section h3{font-weight:750}
#richiesta.rdv-request-section.rdv-request-section{align-items:stretch}#richiesta.rdv-request-section .rdv-request-card{display:flex;flex-direction:column}#richiesta.rdv-request-section #rdv-inquiry{flex:1;display:flex;flex-direction:column}#richiesta.rdv-request-section #rdv-inquiry button[type=submit]{margin-top:auto}
.rdv-inquiry-consent{display:flex!important;align-items:flex-start;gap:10px;text-align:left!important}.rdv-inquiry-consent input[type="checkbox"]{width:18px!important;height:18px!important;min-width:18px;flex:0 0 18px;margin:3px 0 0!important;padding:0!important;accent-color:#a47aeb} #inquiry-result:not(:empty){padding:18px;border:1px solid #a47aeb;border-radius:12px;line-height:1.6}
/* Numbered steps and matching benefit cards. */
#intro .rdv-info-grid{align-items:stretch}#intro .rdv-info-grid details{position:relative;transition:border-color .25s,box-shadow .25s,transform .25s}#intro .rdv-info-grid summary{display:grid;grid-template-columns:58px 1fr;grid-template-rows:28px auto;gap:6px 16px;align-items:center;min-height:144px;box-sizing:border-box;padding:24px 36px 24px 22px}#intro .rdv-step-number{grid-row:1/3;display:grid;place-items:center;width:58px;height:70px;border:1px solid #b68ae75c;border-radius:16px;background:linear-gradient(145deg,#af80f32b,#8660da0b);font:800 34px/1 system-ui,sans-serif;letter-spacing:-2px;color:#e3ccff;text-shadow:0 0 20px #ad77ef70;box-shadow:inset 0 1px 0 #ffffff20}#intro .rdv-step-icon{font-size:21px;color:#c09aef;justify-self:start;filter:drop-shadow(0 0 7px #af6fff40);transition:transform .35s,color .35s}#intro .rdv-step-title{font-size:14px;line-height:1.5;color:#eee7ff}#intro .rdv-info-grid summary:after{top:18px;font-size:19px}#intro .rdv-info-grid details:hover,#intro .rdv-info-grid details:focus-within{transform:translateY(-3px);border-color:#b48ce4;box-shadow:0 12px 30px #a76bef20}#intro .rdv-info-grid details:hover .rdv-step-icon{transform:translateY(-2px) rotate(-6deg);color:#eedaff}#intro .rdv-info-grid details[open]{border-color:#ac80db}#intro .rdv-info-grid details[open]>div{animation:rdv-soft-reveal .35s ease-out}
#why .riquadri-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:1fr;gap:18px;max-width:1240px;margin-inline:auto;align-items:stretch}#why .riquadro{position:relative;box-sizing:border-box;height:100%;min-height:236px;padding:26px 24px;display:grid;grid-template-rows:48px auto 1fr;align-content:start;gap:12px;border:1px solid #654887;border-radius:15px;background:linear-gradient(150deg,#17132b,#100e20);transition:transform .3s,border-color .3s,box-shadow .3s;overflow:hidden}#why .riquadro .riq-ico{display:flex;align-items:center;justify-content:center;gap:12px;margin:0;font-size:27px;color:#e98bcc;transition:transform .35s;filter:drop-shadow(0 0 10px #dc69bb30)}#why .riquadro h3{font-size:19px;line-height:1.4;min-height:54px;margin:0;display:grid;align-content:center}#why .riquadro p{font-size:15px;line-height:1.7;margin:0;color:#c9bfd8}#why .riquadro:before{content:'';position:absolute;inset:0;background:linear-gradient(115deg,transparent 25%,#d4aaff0c 45%,transparent 65%);transform:translateX(-120%);pointer-events:none}#why .riquadro:hover{transform:translateY(-4px);border-color:#ae86d9;box-shadow:0 14px 32px #a76bef20}#why .riquadro:hover:before{animation:rdv-soft-shine .9s ease-out}#why .riquadro:hover .riq-ico{transform:translateY(-3px) scale(1.04)}
@keyframes rdv-soft-reveal{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@keyframes rdv-soft-shine{to{transform:translateX(120%)}}
@media(max-width:1000px){#why .riquadri-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){#intro .rdv-info-grid summary{min-height:112px;grid-template-columns:52px 1fr;grid-template-rows:24px auto;padding:16px 38px 16px 18px;gap:4px 14px}#intro .rdv-step-number{width:52px;height:64px;font-size:30px}#intro .rdv-step-icon{font-size:19px}#why .riquadri-grid{grid-template-columns:1fr;gap:14px}#why .riquadro{min-height:218px;padding:22px}#why .riquadro h3{font-size:18px;min-height:50px}}
@media(prefers-reduced-motion:reduce){#intro .rdv-info-grid details,#intro .rdv-step-icon,#why .riquadro,#why .riq-ico{transition:none!important;transform:none!important}#intro .rdv-info-grid details[open]>div,#why .riquadro:hover:before{animation:none!important}}
/* Expand only the selected information card. */
#intro .rdv-info-grid{align-items:start}#intro .rdv-info-grid details{align-self:start;height:auto}
#rdv-inquiry [hidden]{display:none!important}.rdv-inquiry-progress{display:flex;gap:18px;list-style:none;padding:0;margin:20px 0;color:#9686a7;font-size:12px}.rdv-inquiry-progress li{display:flex;align-items:center;gap:8px}.rdv-inquiry-progress b{display:grid;place-items:center;width:27px;height:27px;border:1px solid #655077;border-radius:50%;font:700 12px system-ui}.rdv-inquiry-progress [aria-current=step]{color:#efe3ff}.rdv-inquiry-progress [aria-current=step] b{background:#9360e8;border-color:#b58bec;color:#fff;box-shadow:0 0 14px #a678ef30}.rdv-inquiry-step{border:0;padding:0;margin:0;min-width:0}.rdv-inquiry-step legend{font-size:16px;font-weight:700;margin-bottom:16px}#richiesta.rdv-request-section .rdv-inquiry-step .rdv-request-fields{gap:12px}#richiesta.rdv-request-section .rdv-inquiry-step input,#richiesta.rdv-request-section .rdv-inquiry-step select{padding:11px 12px;min-height:44px}.rdv-inquiry-notes{margin:14px 0;font-size:12px;color:#cdbbdf}.rdv-inquiry-notes summary{cursor:pointer}.rdv-inquiry-notes small{color:#9c8aaf}.rdv-inquiry-notes textarea{width:100%;margin-top:10px;padding:12px;border:1px solid #655077;border-radius:10px;background:#0f0b1d;color:#f3eaff;box-sizing:border-box}.rdv-inquiry-authorization{font:11px/1.65 system-ui,sans-serif!important;color:#b4a6c5!important;margin:16px 0!important}.rdv-inquiry-authorization a{color:#dbb8ff}.rdv-inquiry-actions{display:flex;gap:12px;align-items:center}#inquiry-back{background:transparent;border:1px solid #655077;border-radius:10px;color:#d6c4e8;padding:13px 15px;cursor:pointer;flex-shrink:0}.rdv-inquiry-actions .btn{flex:1}#inquiry-next{width:100%;margin-top:8px}#inquiry-result:empty{display:none}#rdv-inquiry button:disabled{opacity:.65;cursor:wait}@media(max-width:420px){#richiesta.rdv-request-section .rdv-inquiry-step .rdv-request-fields{grid-template-columns:1fr 1fr;gap:10px}#richiesta.rdv-request-section .rdv-inquiry-step label{min-width:0;font-size:12px}#richiesta.rdv-request-section .rdv-inquiry-step input,#richiesta.rdv-request-section .rdv-inquiry-step select{width:100%;min-width:0;font-size:14px;box-sizing:border-box}.rdv-inquiry-progress{gap:12px;font-size:11px}.rdv-inquiry-actions{gap:8px}#inquiry-back{padding-inline:10px}}
/* Keep both step-two actions inside the form: the global full-width button rule
must not make the Back button consume the entire row. */
#richiesta.rdv-request-section #rdv-inquiry .rdv-inquiry-actions{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:stretch;width:100%;min-width:0}
#richiesta.rdv-request-section #rdv-inquiry .rdv-inquiry-actions button{width:100%;min-width:0;max-width:100%;box-sizing:border-box;margin:0;display:flex;align-items:center;justify-content:center;min-height:50px;height:auto;line-height:1.4;white-space:normal;overflow-wrap:normal;word-break:normal}
#richiesta.rdv-request-section #rdv-inquiry #inquiry-back{width:auto;padding:12px 16px}
@media(max-width:380px){#richiesta.rdv-request-section #rdv-inquiry .rdv-inquiry-actions{grid-template-columns:1fr}#richiesta.rdv-request-section #rdv-inquiry .rdv-inquiry-actions button[type=submit]{grid-row:1}#richiesta.rdv-request-section #rdv-inquiry #inquiry-back{width:100%;min-height:42px}}
/* Closing home guide: readable copy, three balanced topics and local navigation. */
#vacanza-riviera{box-sizing:border-box;width:calc(100% - 40px);max-width:1100px;margin:48px auto 52px;padding:32px 34px 24px;border:1px solid #9e7aba35;border-radius:22px;background:linear-gradient(135deg,#191327,#100d1c);color:#eae0f5;scroll-margin-top:100px}
#vacanza-riviera *{box-sizing:border-box}
#vacanza-riviera .rdv-guide-heading{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:center;gap:44px;margin:0 0 26px}
#vacanza-riviera .rdv-guide-eyebrow{display:block;margin:0 0 11px;font:700 10px/1.5 system-ui,sans-serif;letter-spacing:.16em;color:#b99acf}
#vacanza-riviera h2{font-size:clamp(23px,2.7vw,31px);font-weight:700;line-height:1.3;letter-spacing:-.025em;text-transform:none;text-align:left;text-shadow:none;color:#f0e8fc;margin:0;padding:0;text-wrap:balance}
#vacanza-riviera p{font:400 14px/1.75 system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:#bdb0cd;margin:0;padding:0;max-width:none}
#vacanza-riviera .rdv-guide-heading>p{max-width:45ch;color:#c3b6d2}
#vacanza-riviera .rdv-guide-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid #9e7aba2e;border-bottom:1px solid #9e7aba2e;padding:25px 0;gap:24px}
#vacanza-riviera .rdv-guide-item{min-width:0;padding:0;margin:0;background:none;border:0;border-radius:0;box-shadow:none;text-align:left}
#vacanza-riviera .rdv-guide-item+.rdv-guide-item{border-left:1px solid #9e7aba2e;padding-left:24px}
#vacanza-riviera .rdv-guide-icon{display:grid;place-items:center;width:38px;height:38px;border:1px solid #bd8fe42b;border-radius:11px;background:#af7ae913;color:#c8a0ed;margin-bottom:13px;font-size:16px}
#vacanza-riviera h3{color:#eee3fa;font:650 16px/1.45 system-ui,sans-serif;letter-spacing:-.015em;text-transform:none;text-shadow:none;margin:0 0 8px;padding:0}
#vacanza-riviera .rdv-guide-item p{font-size:13px;line-height:1.75}
#vacanza-riviera .rdv-guide-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:20px;padding:0;border:0;background:none;box-shadow:none}
#vacanza-riviera .rdv-guide-footer>p{font-size:12px;max-width:34ch}
#vacanza-riviera .rdv-guide-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
#vacanza-riviera .rdv-guide-actions a{display:inline-flex;justify-content:center;align-items:center;gap:14px;min-height:44px;margin:0;padding:11px 15px;border:1px solid transparent;border-radius:10px;font:650 12px/1.4 system-ui,sans-serif;text-decoration:none;box-shadow:none;transition:background .18s,border-color .18s}
#vacanza-riviera .rdv-guide-actions a.rdv-guide-primary{background:#9e70d426;border-color:#b585e45c;color:#eedbff}
#vacanza-riviera .rdv-guide-actions a.rdv-guide-secondary{background:transparent;color:#c7b1dc}
#vacanza-riviera .rdv-guide-actions a:hover{background:#a37ada30;border-color:#b894d5;color:#fff}
#vacanza-riviera .rdv-guide-actions a:focus-visible{outline:3px solid #cda6f3;outline-offset:3px}
#vacanza-riviera .rdv-guide-actions a span{font-size:16px}
@media(max-width:800px){#vacanza-riviera{padding:26px 24px}#vacanza-riviera .rdv-guide-heading{gap:24px}#vacanza-riviera .rdv-guide-grid{gap:17px}#vacanza-riviera .rdv-guide-item+.rdv-guide-item{padding-left:17px}#vacanza-riviera .rdv-guide-footer{align-items:flex-start;flex-direction:column;gap:12px}#vacanza-riviera .rdv-guide-footer>p{max-width:none}}
@media(max-width:640px){#vacanza-riviera{width:calc(100% - 24px);margin:30px auto 32px;padding:24px 20px 20px;border-radius:19px}#vacanza-riviera .rdv-guide-heading{grid-template-columns:1fr;gap:13px;margin-bottom:21px}#vacanza-riviera .rdv-guide-eyebrow{font-size:9px;margin-bottom:9px}#vacanza-riviera h2{font-size:24px;line-height:1.3}#vacanza-riviera .rdv-guide-heading>p{font-size:13px;line-height:1.65;max-width:none}#vacanza-riviera .rdv-guide-grid{grid-template-columns:1fr;gap:0;padding:0}#vacanza-riviera .rdv-guide-item{display:grid;grid-template-columns:34px minmax(0,1fr);column-gap:12px;row-gap:5px;padding:19px 0}#vacanza-riviera .rdv-guide-item+.rdv-guide-item{padding:19px 0;border-left:0;border-top:1px solid #9e7aba24}#vacanza-riviera .rdv-guide-icon{width:34px;height:34px;font-size:14px;grid-row:1/3;margin:0;border-radius:10px}#vacanza-riviera h3{margin:3px 0 0;font-size:15px}#vacanza-riviera .rdv-guide-item p{grid-column:2;font-size:13px;line-height:1.65}#vacanza-riviera .rdv-guide-footer{margin-top:17px}#vacanza-riviera .rdv-guide-footer>p{font-size:12px}#vacanza-riviera .rdv-guide-actions{display:grid;grid-template-columns:1fr 1fr;width:100%;gap:6px}#vacanza-riviera .rdv-guide-actions a{padding:10px 8px;gap:7px;font-size:11px;text-align:center;min-height:46px}}
@media(max-width:360px){#vacanza-riviera{padding-inline:16px}#vacanza-riviera .rdv-guide-actions{grid-template-columns:1fr}#vacanza-riviera h2{font-size:22px}}
@media(prefers-reduced-motion:reduce){#vacanza-riviera .rdv-guide-actions a{transition:none}}
#vacanza-riviera .rdv-guide-actions:has(>a:only-child){grid-template-columns:1fr}
/* Let the browser render long editorial sections as they approach the viewport. */
@supports(content-visibility:auto){
#contenuto #intro,#contenuto #why,#contenuto #vacanza-riviera{content-visibility:auto;contain-intrinsic-size:auto 650px}
}
/* =======================================================
HOME — STILE COMPLETO (match stile "Discoteche")
======================================================= */
/* ---------- VARIABILI & BASE ---------- */
:root {
--container-w: 1240px;
--acc-1: #7A5AF8; /* viola */
--acc-2: #AF83DC; /* lilla */
--hot: #FF4D8D;
--bg: #0A0A1A;
--txt: #E6E6FA;
--txt-dim: #D8D8F0;
--fs-h1: clamp(1.2rem, 2.2vw, 2.8rem);
--fs-h2: clamp(1.25rem, 2.1vw, 1.9rem);
--fs-h3: clamp(1.02rem, 1.6vw, 1.3rem);
--ls-wide: .04em;
--lh-title: 1.15;
--lh-text: 1.62;
}
html, body {
background: var(--bg);
color: var(--txt);
overflow-x: clip;
touch-action: pan-y;
overscroll-behavior-x: none;
}
@supports not (overflow-x:clip) {
html, body {
overflow-x: hidden;
}
}
.section {
max-width: var(--container-w);
margin: 3rem auto;
padding: 32px 16px;
}
img, video {
max-width: 100%;
height: auto;
display: block;
}
h1, h2, h3, .home-title, .section-title, .feature-title, .hero-overlay .kicker {
font-family: 'Orbitron', system-ui, Segoe UI, Roboto, Helvetica, Arial, sans-serif;
text-transform: uppercase;
letter-spacing: .04em;
}
.feature-content {
text-align: center;
}
/* ---------- HERO 16:9 (rettangolare, senza overlay) ---------- */
.site-hero .hero-wrap {
position: relative;
width: 100%;
max-width: var(--container-w);
margin: 0 auto;
aspect-ratio: 16/9;
height: auto;
max-height: 420px;
overflow: hidden;
border-radius: 0;
background: transparent;
box-shadow: none;
margin-top: -4px;
}
.site-hero .hero-video {
position: absolute;
inset: 0;
width: 100%;
height: 100%;
object-fit: cover;
object-position: 50% 85%;
}
.site-hero .hero-wrap::after {
content: none;
}
/* ---------- OVERLAY TESTO (se usata .hero-line) ---------- */
.hero-overlay {
position: absolute;
inset: 0;
display: flex;
align-items: flex-end;
justify-content: center;
text-align: center;
background: transparent;
pointer-events: none;
padding: 0 clamp(8px,3vw,18px) clamp(28px,7.5vh,64px);
}
.hero-line {
position: relative;
display: inline-flex;
align-items: center;
gap: .6em;
padding: .55em 1.1em;
border-radius: 999px;
font-weight: 900;
letter-spacing: .04em;
white-space: nowrap;
font-size: clamp(.85rem,2.2vw,1.25rem);
color: #fff;
background: linear-gradient(180deg,rgba(10,10,26,.35),rgba(10,10,26,.75));
border: 1px solid rgba(175,131,220,.55);
box-shadow: 0 6px 24px rgba(0,0,0,.35), inset 0 1px 0 rgba(255,255,255,.06), 0 0 18px rgba(175,131,220,.25);
backdrop-filter: saturate(1.05) blur(2px);
-webkit-backdrop-filter: saturate(1.05) blur(2px);
text-shadow: 0 2px 10px rgba(0,0,0,.55);
-webkit-text-stroke: .25px rgba(0,0,0,.4);
}
.hero-line .q {
text-transform: uppercase;
color: #EDEBFF;
}
.hero-line .sep {
opacity: .7;
}
.hero-line .a {
text-transform: none;
font-weight: 800;
color: #EDEBFF;
opacity: .96;
}
.hero-line::after {
content: "";
position: absolute;
inset: -1px;
border-radius: inherit;
pointer-events: none;
background: conic-gradient(from 180deg, transparent, rgba(175,131,220,.25), transparent);
-webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
-webkit-mask-composite: xor;
mask-composite: exclude;
padding: 1px;
animation: heroGlow 3.5s linear infinite;
}
@keyframes heroGlow {
to {
transform: rotate(360deg);
}
}
.hero-overlay .kicker {
margin: 0 0 .15rem;
font-weight: 900;
font-size: clamp(.92rem,1.9vw,1.2rem);
text-shadow: 0 0 6px rgba(0,0,0,.35);
}
.changing {
margin: .05rem 0 .45rem;
font-weight: 800;
font-size: clamp(.8rem,1.6vw,1.05rem);
text-shadow: 0 0 5px rgba(0,0,0,.35);
opacity: .98;
}
/* ---------- TITOLI & TESTI ---------- */
.home-title {
font-size: var(--fs-h1);
font-weight: 900;
letter-spacing: var(--ls-wide);
line-height: var(--lh-title);
text-align: center;
padding-inline: clamp(10px, 4vw, 28px);
text-shadow: 0 0 14px rgba(175,131,220,.35);
}
.section-title {
font-size: var(--fs-h2);
font-weight: 900;
text-align: center;
margin: 0 0 1rem;
text-shadow: 0 0 10px rgba(175,131,220,.35);
}
.home-intro {
text-align: center;
}
.home-subtitle {
max-width: 900px;
margin: .25rem auto 1.3rem;
color: var(--txt-dim);
line-height: var(--lh-text);
}
/* ---------- BOTTONI ---------- */
.btn {
border-radius: 12px;
padding: 12px 26px;
text-transform: uppercase;
font-weight: 800;
letter-spacing: .03em;
transition: transform .2s ease, box-shadow .25s ease, background .25s ease;
}
.btn-primary {
background: linear-gradient(90deg,var(--acc-1),var(--acc-2));
color: #fff;
border: 0;
}
.btn-primary:hover {
transform: translateY(-2px);
box-shadow: 0 10px 22px rgba(175,131,220,.45);
}
.btn-secondary {
border: 2px solid rgba(175,131,220,.6);
background: rgba(10,10,26,.35);
color: #fff;
}
.btn-secondary:hover {
transform: translateY(-2px);
box-shadow: 0 10px 22px rgba(175,131,220,.25);
border-color: rgba(175,131,220,.9);
}
.cta-row {
display: flex;
gap: 12px;
justify-content: center;
flex-wrap: wrap;
}
/* ---------- KEY TABS ---------- */
.keys {
max-width: var(--container-w);
margin: 0 auto;
}
.key-buttons {
display: flex;
flex-direction: column;
align-items: center;
gap: 14px;
margin-bottom: 10px;
}
.key-item {
width: 100%;
max-width: 420px;
margin: 0 auto;
}
.key-btn {
display: flex;
align-items: center;
justify-content: center;
width: 100%;
padding: 12px 14px;
border-radius: 12px;
font-weight: 800;
background: rgba(16,16,38,.75);
border: 1px solid #AF83DC66;
color: var(--txt);
transition: transform .15s ease, box-shadow .25s ease, border-color .25s ease, background .25s ease;
}
.key-btn:is(:hover,:focus-visible) {
outline: none;
transform: translateY(-1px);
box-shadow: 0 8px 18px rgba(175,131,220,.25);
border-color: #AF83DC;
}
.key-btn.is-active {
background: linear-gradient(90deg,var(--acc-1),var(--acc-2));
color: #0A0A1A;
border-color: transparent;
}
.key-panel {
width: 100%;
margin-top: 8px;
background: linear-gradient(180deg,rgba(16,16,38,.92),rgba(10,10,30,.92));
border: 1px solid #AF83DC33;
border-radius: 16px;
padding: 16px;
color: var(--txt);
overflow: hidden;
max-height: 0;
transition: max-height .3s ease, padding .3s ease, border-width .3s ease;
}
.key-panel[hidden] {
display: block;
max-height: 0;
padding-top: 0;
padding-bottom: 0;
border-width: 0;
}
.key-panel:not([hidden]) {
max-height: 600px;
}
.key-panel ul {
padding-left: 1.2rem;
margin: 0;
}
.key-panel li {
margin: 0.35rem 0;
line-height: 1.5;
}
/* ---------- ARTICOLO "CAPODANNO IMPERIALE" ---------- */
.article-feature {
padding-top: 30px;
padding-bottom: 30px;
}
.feature-article {
display: grid;
grid-template-columns: 5fr 7fr;
gap: 22px;
align-items: center;
}
.feature-media img {
width: 100%;
height: auto;
border-radius: 16px;
object-fit: cover;
box-shadow: 0 10px 24px rgba(175,131,220,.22);
filter: brightness(1.03) contrast(1.06);
}
@media (max-width:1100px) {
.feature-article {
grid-template-columns: 1fr;
}
.feature-media img {
width: calc(100% - 24px);
margin: 0 auto;
}
}
@media (max-width:768px) {
.feature-media img {
width: calc(100% - 28px);
}
}
.feature-kicker {
margin: 0 0 .25rem;
font-size: .9rem;
letter-spacing: .12em;
color: #AF83DC;
opacity: .95;
}
.feature-title {
margin: 0 0 .6rem;
font-size: var(--fs-h2);
font-weight: 900;
color: var(--txt);
text-shadow: 0 0 10px rgba(175,131,220,.35);
}
.feature-text {
margin: 0 0 1rem;
color: var(--txt-dim);
line-height: var(--lh-text);
font-size: 1.05rem;
}
.feature-highlights {
display: flex;
flex-wrap: wrap;
gap: 8px 10px;
list-style: none;
padding: 0;
margin: 0 0 1.1rem;
}
.feature-highlights li {
padding: 8px 12px;
border-radius: 999px;
font-size: .95rem;
border: 1px solid #AF83DC55;
background: linear-gradient(90deg,rgba(122,90,248,.14),rgba(175,131,220,.14));
color: #E6E6FA;
white-space: nowrap;
}
.feature-meta {
display: flex;
gap: 10px;
flex-wrap: wrap;
margin: 0 0 1rem;
}
.meta-pill {
padding: 6px 10px;
border-radius: 999px;
font-size: .86rem;
border: 1px solid #AF83DC55;
background: rgba(10,10,26,.55);
color: #E6E6FA;
}
/* ---------- “PERCHÉ SCEGLIERE NOI” ---------- */
.riquadri-wrapper {
background: rgba(10,10,26,.6);
}
.riquadri-grid {
display: grid;
grid-template-columns: repeat(3,1fr);
gap: 22px;
}
.riquadro {
background: linear-gradient(180deg,rgba(16,16,38,.95),rgba(10,10,30,.95));
border: 1px solid #AF83DC33;
border-radius: 16px;
padding: 22px;
text-align: center;
color: var(--txt);
box-shadow: 0 10px 24px rgba(175,131,220,.18), inset 0 1px 0 rgba(255,255,255,.05);
transition: transform .2s ease, box-shadow .25s ease, border-color .25s ease, background .25s ease;
}
.riquadro:hover {
transform: translateY(-4px);
box-shadow: 0 14px 28px rgba(175,131,220,.28);
border-color: #AF83DC66;
}
.riq-ico {
display: flex;
justify-content: center;
gap: 10px;
margin-bottom: 10px;
font-size: 1.8rem;
color: var(--hot);
filter: drop-shadow(0 2px 6px rgba(255,77,141,.35));
}
.riquadro h3 {
margin: .25rem 0 .35rem;
font-weight: 900;
font-size: var(--fs-h3);
line-height: 1.25;
}
.riquadro p {
margin: 0;
color: var(--txt-dim);
line-height: var(--lh-text);
}
/* ---------- GALLERY SLIDER ---------- */
.slider-gallery {
background: rgba(10,10,26,.6);
}
.carousel {
position: relative;
max-width: 960px;
margin: 0 auto;
user-select: none;
}
.viewport {
position: relative;
overflow: hidden;
border-radius: 14px;
aspect-ratio: 16/9;
background: #0e0e1f;
}
.slide {
position: absolute;
inset: 0;
width: 100%;
height: 100%;
object-fit: cover;
opacity: 0;
transition: opacity .6s ease;
}
.slide.is-active {
opacity: 1;
}
.nav {
position: absolute;
top: 50%;
transform: translateY(-50%);
background: rgba(10,10,26,.6);
border: 1px solid #AF83DC55;
color: #E6E6FA;
padding: 10px 12px;
border-radius: 10px;
z-index: 2;
}
.nav:hover {
background: rgba(10,10,26,.8);
}
.prev {
left: 10px;
}
.next {
right: 10px;
}
.dots {
display: flex;
justify-content: center;
gap: 8px;
margin-top: 12px;
}
.dot {
width: 10px;
height: 10px;
border-radius: 50%;
background: #6a6a85;
border: 0;
}
.dot.is-active {
background: #AF83DC;
}
/* ---------- FORM 2 COLONNE ---------- */
.form-section {
max-width: var(--container-w);
margin: 52px auto;
padding: 0 16px;
display: grid;
grid-template-columns: 1fr 1fr;
gap: 28px;
align-items: stretch;
}
.form-card {
background: linear-gradient(180deg,rgba(16,16,38,.92),rgba(10,10,30,.92));
border: 1px solid #AF83DC33;
border-radius: 16px;
padding: 22px;
color: #E6E6FA;
box-shadow: 0 10px 24px rgba(175,131,220,.18), inset 0 1px 0 rgba(255,255,255,.05);
}
.form-card h2 {
text-align: center;
font-weight: 900;
text-transform: uppercase;
font-size: 1.2rem;
margin: 0 0 10px;
text-shadow: 0 0 10px rgba(175,131,220,.35);
}
.form-grid {
display: flex;
flex-direction: column;
gap: 12px;
}
.form-grid label {
font-weight: 700;
font-size: .9rem;
}
.form-grid input,
.form-grid textarea {
background: rgba(15,15,30,.7);
border: 1px solid #AF83DC77;
color: #E6E6FA;
border-radius: 10px;
padding: 10px 12px;
font-size: .95rem;
}
.form-grid input:focus,
.form-grid textarea:focus {
outline: none;
border-color: #AF83DC;
box-shadow: 0 0 10px rgba(175,131,220,.4);
}
.form-grid textarea {
min-height: 110px;
resize: vertical;
}
.form-actions {
text-align: center;
margin-top: 6px;
}
.form-card.form-info h3 {
color: #AF83DC;
font-size: 1.02rem;
font-weight: 900;
margin: 0 0 .55rem;
}
.form-card.form-info h4 {
font-size: .95rem;
margin: .8rem 0 .4rem;
font-weight: 800;
}
.form-card.form-info p,
.form-card.form-info ul,
.form-card.form-info ol {
color: var(--txt-dim);
line-height: 1.55;
font-size: .95rem;
}
.form-card.form-info ul,
.form-card.form-info ol {
padding-left: 1rem;
margin: .1rem 0 .5rem;
}
/* ---------- RESPONSIVE ---------- */
@media (max-width:1100px) {
.feature-article {
grid-template-columns: 1fr;
}
.riquadri-grid {
grid-template-columns: repeat(2,1fr);
}
}
@media (max-width:768px) {
.section {
margin: 2.6rem auto;
padding: 24px 16px;
}
.viewport {
aspect-ratio: 4/3;
}
.form-section {
grid-template-columns: 1fr;
gap: 20px;
}
.site-hero .hero-wrap {
max-height: 220px;
}
}
@media (max-width:560px) {
.riquadri-grid {
grid-template-columns: 1fr;
}
.viewport {
aspect-ratio: 1/1;
}
.hero-overlay {
padding: 0 6px clamp(20px,8vh,40px);
}
.hero-line {
font-size: clamp(.78rem,3.8vw,.98rem);
padding: .45em .9em;
}
}
/* ---------- ANIMAZIONI (leggere) ---------- */
@keyframes neonPulse {
0%,100% {
text-shadow: 0 0 2px rgba(175,131,220,.6),0 0 10px rgba(175,131,220,.35);
}
50% {
text-shadow: 0 0 8px rgba(175,131,220,.9),0 0 22px rgba(175,131,220,.55);
}
}
h1 {
margin-top: 30px;
margin-bottom: -40px;
}
/* ---------- SUCCESS BANNER (toast) ---------- */
.success-banner {
position: fixed;
top: 18px;
left: 50%;
transform: translateX(-50%);
z-index: 9999;
display: flex;
align-items: center;
gap: 12px;
max-width: 520px;
width: calc(100% - 32px);
padding: 12px 16px;
border-radius: 16px;
background: linear-gradient(120deg, rgba(122,90,248,.96), rgba(175,131,220,.96));
color: #fff;
box-shadow: 0 10px 26px rgba(0,0,0,.65), 0 0 18px rgba(175,131,220,.65);
border: 1px solid rgba(230,230,250,.7);
font-size: .94rem;
animation: bannerSlideDown .35s ease-out;
}
.success-banner__icon {
display: flex;
align-items: center;
justify-content: center;
width: 34px;
height: 34px;
border-radius: 999px;
background: rgba(10,10,26,.25);
box-shadow: 0 0 12px rgba(10,10,26,.35);
}
.success-banner__icon i {
font-size: 1.2rem;
color: #4DFFB3;
filter: drop-shadow(0 0 6px rgba(77,255,179,.65));
}
.success-banner__text {
flex: 1;
line-height: 1.5;
}
.success-banner__text strong {
text-transform: uppercase;
font-size: .86rem;
letter-spacing: .08em;
display: block;
margin-bottom: 2px;
}
.success-banner__close {
border: 0;
background: transparent;
color: #fff;
font-size: 1.3rem;
line-height: 1;
cursor: pointer;
padding: 2px 4px;
opacity: .8;
transition: opacity .15s ease, transform .15s ease;
}
.success-banner__close:hover {
opacity: 1;
transform: translateY(-1px);
}
.success-banner.is-hiding {
opacity: 0;
transform: translate(-50%, -10px);
pointer-events: none;
transition: opacity .25s ease, transform .25s ease;
}
@keyframes bannerSlideDown {
from {
opacity: 0;
transform: translate(-50%, -16px);
}
to {
opacity: 1;
transform: translate(-50%, 0);
}
}
@media (max-width: 560px) {
.success-banner {
top: 12px;
padding: 10px 12px;
font-size: .9rem;
}
}
/* =======================================================
BOOKING BAR — FIX SELECT (Bootstrap 4) + spacing Extra
======================================================= */
.booking-bar {
width: 100%;
max-width: var(--container-w);
margin: 0 auto;
padding: 12px 12px 10px 12px;
box-sizing: border-box;
background: linear-gradient(180deg, rgba(15,16,40,0.92), rgba(10,10,26,0.94));
border: 1px solid rgba(255,255,255,0.06);
box-shadow: 0 8px 28px rgba(0,0,0,0.35), 0 0 22px rgba(122,90,248,0.20);
border-radius: 16px;
position: relative;
z-index: 3;
color: #e6e6fa;
margin-top: 70px;
}
.booking-bar label {
color: #cfd1ff;
font-size: 0.82rem;
letter-spacing: .02em;
margin-bottom: 4px;
}
.booking-bar .form-control,
.booking-bar .form-select,
.booking-bar select,
.booking-bar textarea,
.booking-bar input[type="text"],
.booking-bar input[type="number"],
.booking-bar input[type="tel"],
.booking-bar input[type="email"],
.booking-bar input[type="search"],
.booking-bar input.flatpickr-input,
.booking-bar input[readonly] {
width: 100% !important;
display: block !important;
min-width: 0 !important;
box-sizing: border-box;
background: rgba(255,255,255,0.03);
border: 1px solid rgba(255,255,255,0.12);
color: #e6e6fa;
min-height: 36px;
border-radius: 10px;
box-shadow: inset 0 1px 2px rgba(0,0,0,0.35);
}
.booking-bar .form-control::placeholder,
.booking-bar input[type="text"]::placeholder,
.booking-bar input[type="number"]::placeholder,
.booking-bar input[type="tel"]::placeholder,
.booking-bar input[type="email"]::placeholder,
.booking-bar input[type="search"]::placeholder {
color: rgba(216,216,240,.70);
}
.booking-bar .form-control:focus,
.booking-bar .form-select:focus,
.booking-bar select:focus,
.booking-bar textarea:focus,
.booking-bar input[type="text"]:focus,
.booking-bar input[type="number"]:focus,
.booking-bar input[type="tel"]:focus,
.booking-bar input[type="email"]:focus,
.booking-bar input[type="search"]:focus,
.booking-bar input.flatpickr-input:focus,
.booking-bar input[readonly]:focus {
outline: none;
border-color: rgba(122,90,248,0.8);
box-shadow: 0 0 0 2px rgba(122,90,248,0.25);
background: rgba(255,255,255,0.05);
color: #fff;
}
.booking-bar select,
.booking-bar .form-select {
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
padding-right: 40px !important;
cursor: pointer;
background-image: linear-gradient(45deg, transparent 50%, rgba(230,230,250,.9) 50%), linear-gradient(135deg, rgba(230,230,250,.9) 50%, transparent 50%), linear-gradient(to right, rgba(255,255,255,0.10), rgba(255,255,255,0.10));
background-position: calc(100% - 18px) 50%, calc(100% - 12px) 50%, calc(100% - 2.2rem) 50%;
background-size: 6px 6px, 6px 6px, 1px 60%;
background-repeat: no-repeat;
}
.booking-bar .form-control-sm,
.booking-bar .form-select-sm {
min-height: 36px;
font-size: .875rem;
padding: .25rem .75rem;
border-radius: 10px;
}
.booking-btn {
background: linear-gradient(135deg, #7a5af8, #af83dc);
border: none;
color: #fff;
font-weight: 800;
border-radius: 12px;
box-shadow: 0 10px 24px rgba(122,90,248,0.35);
transition: transform .08s ease, box-shadow .12s ease;
}
.booking-btn:hover {
transform: translateY(-1px);
box-shadow: 0 12px 28px rgba(122,90,248,0.45);
}
@media (max-width:768px) {
.booking-bar input[type="text"],
.booking-bar input[type="number"],
.booking-bar input[type="tel"],
.booking-bar input[type="email"],
.booking-bar input[type="search"],
.booking-bar select,
.booking-bar textarea,
.booking-bar .form-control,
.booking-bar .form-select,
.booking-bar .flatpickr-input,
.booking-bar input[readonly] {
font-size: 16px !important;
}
}
.booking-bar select,
.booking-bar .form-select {
color-scheme: dark;
}
.booking-bar select option,
.booking-bar .form-select option {
background-color: #0f1028;
color: #e6e6fa;
}
.booking-bar select option:checked,
.booking-bar .form-select option:checked {
background-color: #7A5AF8;
color: #ffffff;
}
.booking-bar .booking-error {
margin-top: 6px;
font-size: .78rem;
font-weight: 800;
letter-spacing: .02em;
color: rgba(255, 179, 204, .95);
min-height: 1em;
}
.booking-bar .is-invalid {
border-color: rgba(255, 77, 141, .80) !important;
box-shadow: 0 0 0 2px rgba(255, 77, 141, .18) !important;
}
/* BOOKING OPTIONS */
.booking-bar .booking-options {
display: grid;
grid-template-columns: 1fr;
gap: 12px;
width: 100%;
box-sizing: border-box;
}
.booking-bar .opt-group {
width: 100%;
box-sizing: border-box;
border: 1px solid rgba(175,131,220,.22);
border-radius: 16px;
padding: 10px 12px;
background: rgba(10,10,26,.35);
box-shadow: inset 0 1px 0 rgba(255,255,255,.05);
overflow: hidden;
}
.booking-bar .opt-title {
text-align: center;
font-weight: 900;
letter-spacing: .10em;
font-size: .9rem;
color: #EDEBFF;
margin-bottom: 8px;
text-transform: uppercase;
opacity: .95;
}
.booking-bar .opt-item {
display: flex;
align-items: center;
gap: 10px;
margin: 6px 0;
padding-left: 6px;
width: 100%;
box-sizing: border-box;
cursor: pointer;
user-select: none;
}
.booking-bar .opt-check {
flex: 0 0 auto;
width: 18px;
height: 18px;
margin: 0;
accent-color: var(--acc-1);
}
.booking-bar .opt-item span {
color: #dfe1ff;
font-weight: 700;
font-size: .95rem;
line-height: 1.2;
}
.booking-bar .opt-hint {
margin-top: 6px;
padding-left: 6px;
font-size: .82rem;
font-weight: 800;
opacity: .7;
color: rgba(216,216,240,.85);
}
@media (min-width: 992px) {
.booking-bar .booking-options {
grid-template-columns: 1fr 1fr;
gap: 14px;
}
}
.booking-hint {
font-size: .85rem;
margin-top: 2px;
}
.booking-hint--green {
color: #20d07a;
font-weight: 700;
}
/* CTA */
.package-cta {
margin-top: 8px;
padding: 18px 14px;
border-radius: 14px;
background: rgba(0,0,0,.35);
border: 1px solid rgba(175,131,220,.25);
text-align: center;
}
.package-cta__title {
font-weight: 900;
letter-spacing: .01em;
margin: 0 0 8px 0;
font-size: 1.25rem;
color: #ffffff;
}
.package-cta__desc {
margin: 0 0 14px 0;
color: rgba(255,255,255,.85);
font-weight: 600;
font-size: .98rem;
}
.package-cta__img {
width: 100%;
max-width: 520px;
border-radius: 12px;
border: 1px solid rgba(255,255,255,.12);
box-shadow: 0 10px 30px rgba(0,0,0,.35);
}
.package-cta__btn--sm {
display: inline-flex;
align-items: center;
justify-content: center;
white-space: nowrap;
padding: 8px 14px;
font-size: .92rem;
font-weight: 800;
border-radius: 999px;
transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
animation: vibePulse 1.8s ease-in-out infinite;
will-change: transform;
margin-top: 20px;
}
.package-cta__btn--sm:hover {
transform: translateY(-2px) scale(1.02);
box-shadow: 0 10px 22px rgba(0,0,0,.25);
filter: brightness(1.05);
animation-play-state: paused;
}
.package-cta__btn--sm:active {
transform: translateY(0) scale(.98);
box-shadow: 0 6px 14px rgba(0,0,0,.20);
}
@media (prefers-reduced-motion: reduce) {
.package-cta__btn--sm {
animation: none;
}
}
@keyframes vibePulse {
0% {
transform: translateY(0) scale(1);
box-shadow: 0 0 0 rgba(255,255,255,0);
}
50% {
transform: translateY(-1px) scale(1.03);
box-shadow: 0 0 0 10px rgba(255,255,255,.06);
}
100% {
transform: translateY(0) scale(1);
box-shadow: 0 0 0 rgba(255,255,255,0);
}
}
/* =======================================================
✅ VETRINA PREVENTIVI — Mobile 1 / Desktop 3
======================================================= */
.preventivi-showcase {
max-width: var(--container-w);
margin: 14px auto 0;
padding: 14px 10px 6px 10px;
}
.preventivi-showcase__title {
font-weight: 900;
font-size: clamp(1.05rem, 1.6vw, 1.35rem);
margin: 0 0 .25rem 0;
color: #fff;
text-shadow: 0 0 14px rgba(175,131,220,.22);
text-align: center;
}
.preventivi-showcase__desc {
margin: 0 auto .8rem auto;
max-width: 900px;
opacity: .92;
color: var(--txt-dim);
line-height: 1.45;
font-size: .95rem;
text-align: center;
}
/* container: mobile 1, desktop 3 */
.vetrina-one {
width: 100%;
display: grid;
grid-template-columns: 1fr;
gap: 14px;
align-items: stretch;
}
@media (min-width: 992px) {
.vetrina-one {
grid-template-columns: repeat(3, minmax(0, 1fr));
}
}
/* card: in griglia deve occupare tutta la colonna */
.vetrina-one .rdv-mini {
width: 100%;
max-width: none;
}
/* mobile: tienila più stretta e centrata */
@media (max-width: 560px) {
.vetrina-one {
justify-items: center;
}
.vetrina-one .rdv-mini {
width: min(360px, 100%);
}
}
/* =======================================================
✅ CARD RETTANGOLARE, COMPATTA, FOTO SOPRA
======================================================= */
.rdv-mini {
border-radius: 16px;
overflow: hidden;
background: linear-gradient(180deg, rgba(16,16,38,.96), rgba(10,10,26,.98));
border: 1px solid rgba(175,131,220,.22);
box-shadow: 0 12px 34px rgba(0,0,0,.52), inset 0 1px 0 rgba(255,255,255,.05);
transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, opacity .22s ease, filter .22s ease;
will-change: opacity, transform;
}
.rdv-mini:hover {
transform: translateY(-3px);
border-color: rgba(175,131,220,.42);
box-shadow: 0 18px 44px rgba(0,0,0,.64), 0 0 22px rgba(122,90,248,.12);
}
/* foto sopra: bassa */
.rdv-mini__media {
width: 100%;
height: 110px;
background: rgba(255,255,255,.03);
position: relative;
overflow: hidden;
}
.rdv-mini__media img {
width: 100%;
height: 100%;
object-fit: cover;
filter: saturate(1.05) contrast(1.06) brightness(1.03);
transform: scale(1.02);
}
.rdv-mini__media::after {
content: "";
position: absolute;
inset: 0;
background: linear-gradient(180deg, rgba(0,0,0,.05), rgba(0,0,0,.55));
}
/* corpo compatto */
.rdv-mini__body {
padding: 10px 12px 12px 12px;
display: grid;
gap: 8px;
}
/* riga hotel + date affianco */
.rdv-mini__head {
display: flex;
align-items: center;
justify-content: space-between;
gap: 8px;
min-width: 0;
}
.rdv-mini__hotel {
font-family: 'Orbitron', system-ui, Segoe UI, Roboto, Helvetica, Arial, sans-serif;
text-transform: uppercase;
letter-spacing: .04em;
font-weight: 900;
font-size: .92rem;
line-height: 1.15;
text-shadow: 0 0 10px rgba(175,131,220,.18);
min-width: 0;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
flex: 1 1 auto;
}
.rdv-mini__dates {
flex: 0 0 auto;
font-weight: 900;
font-size: .66rem;
letter-spacing: .08em;
text-transform: uppercase;
color: rgba(230,230,250,.92);
padding: 4px 7px;
border-radius: 999px;
background: rgba(10,10,26,.55);
border: 1px solid rgba(175,131,220,.28);
white-space: nowrap;
line-height: 1.1;
}
/* prezzo */
.rdv-mini__price {
display: flex;
align-items: baseline;
justify-content: space-between;
gap: 10px;
padding: 8px 10px;
border-radius: 12px;
border: 1px solid rgba(255,255,255,.10);
background: linear-gradient(90deg, rgba(122,90,248,.12), rgba(175,131,220,.10));
box-shadow: inset 0 1px 0 rgba(255,255,255,.05);
}
.rdv-mini__price span {
opacity: .92;
color: rgba(216,216,240,.92);
font-weight: 750;
font-size: .82rem;
}
.rdv-mini__price strong {
font-size: 1.08rem;
font-weight: 1000;
color: #fff;
text-shadow: 0 0 12px rgba(175,131,220,.14);
}
/* persone */
.rdv-mini__pax {
font-weight: 900;
font-size: .82rem;
letter-spacing: .06em;
text-transform: uppercase;
color: rgba(230,230,250,.9);
opacity: .95;
padding-left: 10px;
}
/* perks sotto */
.rdv-mini__perks {
display: grid;
gap: 6px;
}
.rdv-mini__perk {
font-size: .82rem;
font-weight: 850;
padding: 7px 10px;
border-radius: 999px;
background: rgba(10,10,26,.55);
border: 1px solid rgba(175,131,220,.22);
color: rgba(230,230,250,.95);
}
/* se hai icone verdi dentro ai perk, le nascondiamo */
.rdv-mini__perk i,
.rdv-mini__perk .fa-check,
.rdv-mini__perk .fa-circle-check,
.rdv-mini__perk .fa-check-circle {
display: none !important;
}
/* Fade in/out slider (match JS: 220ms) */
.rdv-mini.is-show {
opacity: 1;
transform: translateY(0);
filter: blur(0);
}
.rdv-mini.is-hide {
opacity: 0;
transform: translateY(4px);
filter: blur(1px);
}
/* mobile ancora più compatta */
@media (max-width: 560px) {
.rdv-mini__media {
height: 96px;
}
.rdv-mini__hotel {
font-size: .9rem;
}
.rdv-mini__dates {
font-size: .62rem;
padding: 4px 6px;
}
.rdv-mini__pax {
padding-left: 8px;
}
}
/* A single animated scene, with a central, readable logo. */
.vacation-hero{max-width:1240px;margin:0 auto;padding:0 16px}.vacation-scene{height:580px;position:relative;isolation:isolate;overflow:clip;border:1px solid #604178;border-radius:22px;background:radial-gradient(ellipse at 50% 35%,#4b2861 0%,#251835 43%,#161123 80%)}
.scene-atmosphere{position:absolute;inset:-12%;z-index:-1;background:radial-gradient(ellipse at 20% 30%,#8252b33b,transparent 45%),radial-gradient(ellipse at 80% 55%,#565fc92e,transparent 40%);animation:atmosphere var(--tv-cycle) ease-in-out infinite}
.scene-landscape{position:absolute;width:100%;height:100%;bottom:0;left:0;pointer-events:none}
.scene-brand{position:absolute;top:25%;left:50%;transform:translateX(-50%);width:min(600px,70%);text-align:center;z-index:2}.eyebrow{display:block;color:#cba4ed;font-size:11px;font-weight:750;letter-spacing:.16em;text-transform:uppercase;line-height:1.6}.scene-brand .eyebrow{font-size:10px;color:#ddc7ef;letter-spacing:.18em}.hero-wordmark{display:block;width:min(390px,86%);height:auto;aspect-ratio:920/335;margin:22px auto 19px;filter:drop-shadow(0 8px 25px #ae6cee35);animation:logo-float var(--tv-cycle) ease-in-out infinite}.scene-brand h1{font:700 clamp(18px,2vw,25px)/1.35 'Orbitron',system-ui,sans-serif;letter-spacing:-.035em;color:#fff}.scene-brand h1 span{color:#dbb3fa}.scene-brand p{font-size:14px;color:#d2bfde;margin-top:12px}.scene-sun{position:absolute;right:11%;top:10%;width:88px;filter:drop-shadow(0 0 35px #e6a27940)}.scene-sun svg{display:block;width:100%}.sun-rays{transform-origin:60px 60px;animation:sun-turn var(--tv-cycle) linear infinite}.scene-flight{position:absolute;top:13%;left:0;width:100%;pointer-events:none;animation:plane-pass var(--tv-cycle) linear infinite;z-index:1}.scene-flight svg{width:112px;height:63px;display:block;filter:drop-shadow(0 5px 8px #140d2740)}.scene-waves{animation:wave-sway var(--tv-cycle) ease-in-out infinite}.scene-clouds{animation:cloud-drift var(--tv-cycle) ease-in-out infinite}.traveller-wave{transform-box:fill-box;transform-origin:0 100%;animation:traveller-wave var(--tv-cycle) ease-in-out infinite}.scene-ball{transform-box:fill-box;transform-origin:center;animation:beach-ball var(--tv-cycle) ease-in-out infinite}.scene-hat{animation:hat-breeze var(--tv-cycle) ease-in-out infinite;transform-box:fill-box;transform-origin:center}.scene-control{position:absolute;right:18px;bottom:14px;z-index:3;display:flex;align-items:center;gap:8px;padding:9px 12px;min-height:40px;border:1px solid #9980af;border-radius:10px;color:#eee3f7;background:#231830e8;font-size:11px}.scene-control[hidden]{display:none}.scene-coordinate{position:absolute;bottom:23px;left:22px;font-size:9px;letter-spacing:.15em;color:#dac6e6}
.vacation-scene.is-paused *{animation-play-state:paused!important}
@keyframes logo-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
@keyframes atmosphere{0%,100%{transform:translateX(-2%);opacity:.6}50%{transform:translateX(3%);opacity:1}}
@keyframes plane-pass{0%{transform:translate(-15%,25px);opacity:0}5%{opacity:1}45%{transform:translate(49%,-24px);opacity:1}85%{opacity:1}100%{transform:translate(112%,-62px);opacity:0}}
@keyframes sun-turn{from{transform:rotate(0)}to{transform:rotate(90deg)}}
@keyframes wave-sway{0%,100%{transform:translateX(-14px)}50%{transform:translateX(14px)}}
@keyframes cloud-drift{0%,100%{transform:translateX(0)}50%{transform:translateX(22px)}}
@keyframes traveller-wave{0%,20%,70%,100%{transform:rotate(0)}30%,50%{transform:rotate(-12deg)}40%,60%{transform:rotate(8deg)}}
@keyframes beach-ball{0%,100%{transform:translateX(0) rotate(0)}50%{transform:translateX(24px) rotate(35deg)}}
@keyframes hat-breeze{0%,65%,100%{transform:rotate(0)}75%{transform:rotate(-5deg)}85%{transform:rotate(3deg)}}
/* Realistic scenery: depth comes from lighting, materials and subtle camera motion. */
.scene-render{position:absolute;inset:0;display:block;animation:scene-camera var(--tv-cycle) ease-in-out infinite;transform-origin:50% 60%;will-change:transform}
.scene-render img{width:100%;height:100%;object-fit:cover;object-position:center}
.scene-depth-light{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 50% 34%,#160f2b80 0%,#160f2b38 27%,transparent 58%),linear-gradient(0deg,#140e29a6,transparent 18%,transparent 80%,#170e2926);animation:scene-light var(--tv-cycle) ease-in-out infinite}
.scene-brand{top:18%;text-shadow:0 2px 16px #100a24cc}
.scene-brand .eyebrow{color:#f0e2fa}.scene-brand p{color:#f1e5f5}.scene-brand h1 span{color:#e6c7ff}
.hero-wordmark{filter:drop-shadow(0 8px 20px #160a32aa)}
.scene-flight{top:12%;opacity:.9}.scene-flight svg{width:130px;height:62px;filter:drop-shadow(0 7px 7px #1b10285c)}
.scene-coordinate{color:#fff;text-shadow:0 1px 5px #000}.scene-control{min-height:44px;background:#21172cdd;backdrop-filter:blur(8px)}
@keyframes scene-camera{0%,100%{transform:scale(1)}50%{transform:scale(1.025)}}
@keyframes scene-light{0%,100%{opacity:.9}50%{opacity:1}}
@media(min-width:601px) and (max-width:992px){.vacation-scene{height:auto;aspect-ratio:1.75}.scene-brand{top:15%;width:68%}.hero-wordmark{width:290px;margin:15px auto}.scene-brand h1{font-size:17px}.scene-brand p{font-size:12px}}
@media(max-width:600px){.vacation-scene{height:580px}.scene-brand{top:16%;width:92%}.scene-render img{object-position:center bottom}.scene-depth-light{background:linear-gradient(0deg,#120c27a6,transparent 15%,transparent 52%,#1a112b33),radial-gradient(ellipse at 50% 28%,#1b112955,transparent 55%)}.scene-flight{top:8%}.scene-flight svg{width:90px;height:43px}.scene-coordinate{bottom:16px;max-width:135px}.scene-control{bottom:8px;min-height:44px}}
/* Local motion stays within the open water and the palm, leaving travelers stable. */
.scene-environment{position:absolute;inset:0;animation:scene-camera var(--tv-cycle) ease-in-out infinite;transform-origin:50% 60%;will-change:transform}
.scene-render{animation:none;will-change:auto}
.scene-ocean{mask-image:radial-gradient(ellipse 30% 12% at 51% 70%,#000 45%,transparent 100%);-webkit-mask-image:radial-gradient(ellipse 30% 12% at 51% 70%,#000 45%,transparent 100%)}
.scene-ocean img{animation:shore-flow var(--tv-cycle) ease-in-out infinite;transform-origin:50% 59%;will-change:transform}
.scene-palm{mask-image:radial-gradient(ellipse 30% 38% at 0% 0%,#000 52%,transparent 100%);-webkit-mask-image:radial-gradient(ellipse 30% 38% at 0% 0%,#000 52%,transparent 100%)}
.scene-palm img{animation:palm-breeze var(--tv-cycle) ease-in-out infinite;transform-origin:2% 3%;will-change:transform}
.scene-flight{top:1%;animation-name:branded-plane-pass;opacity:1;z-index:1}
.scene-flight img{width:260px;height:auto;max-width:none;filter:drop-shadow(0 7px 10px #180e2540)}
@keyframes shore-flow{0%,100%{transform:translate(0,0) scale(1);filter:brightness(1)}35%{transform:translate(3px,3px) scaleY(1.018);filter:brightness(1.06)}70%{transform:translate(-3px,1px) scaleY(1.008);filter:brightness(1.02)}}
@keyframes palm-breeze{0%,100%{transform:rotate(0) skewX(0)}30%{transform:rotate(1.1deg) skewX(.6deg)}65%{transform:rotate(-.6deg) skewX(-.3deg)}}
@keyframes branded-plane-pass{0%{transform:translate(calc(-1 * var(--plane-width,260px)),5px);opacity:0}7%{opacity:1}90%{opacity:1}100%{transform:translate(105%,-20px);opacity:0}}
@media(max-width:600px){.scene-flight{top:3%;--plane-width:175px}.scene-flight img{width:175px}.scene-ocean{mask-image:radial-gradient(ellipse 32% 10% at 51% 78%,#000 42%,transparent 100%);-webkit-mask-image:radial-gradient(ellipse 32% 10% at 51% 78%,#000 42%,transparent 100%)}.scene-palm{mask-image:radial-gradient(ellipse 25% 20% at 0% 44%,#000 45%,transparent 100%);-webkit-mask-image:radial-gradient(ellipse 25% 20% at 0% 44%,#000 45%,transparent 100%)}.scene-palm img{transform-origin:0% 57%}}
.scene-flight{--plane-width:145px;top:5%;z-index:1}
.scene-flight img{width:145px;filter:drop-shadow(0 3px 4px #180e2526)}
.scene-palm{z-index:2;pointer-events:none}
.scene-palm img{animation-name:foreground-palm-wind}
@keyframes foreground-palm-wind{0%,100%{transform:rotate(0) skewX(0)}25%{transform:rotate(2.3deg) skewX(1.5deg)}45%{transform:rotate(.8deg) skewX(.3deg)}70%{transform:rotate(-1.3deg) skewX(-.7deg)}}
@media(max-width:600px){.scene-flight{--plane-width:100px;top:5%}.scene-flight img{width:100px}}
/* Small branded jet: depth, banking and a gently rising route across the sky. */
.scene-flight{--plane-width:180px;top:4%;perspective:650px;perspective-origin:90px 50%;animation-name:stylized-flight-route;animation-timing-function:linear}
.scene-flight .plane-model{display:block;width:180px;height:auto;overflow:visible;transform-origin:50% 50%;transform-style:preserve-3d;animation:stylized-flight-bank var(--tv-cycle) ease-in-out infinite;filter:drop-shadow(0 4px 5px #1b102533);will-change:transform}
@keyframes stylized-flight-route{0%{transform:translate(-190px,9px);opacity:0}6%{opacity:1}40%{transform:translate(35%,1px);opacity:1}72%{transform:translate(73%,-9px);opacity:1}94%{opacity:1}100%{transform:translate(108%,-17px);opacity:0}}
@keyframes stylized-flight-bank{0%,100%{transform:translateZ(-95px) rotateY(-17deg) rotateX(10deg) rotateZ(-3deg) scale(.75)}28%{transform:translateZ(-24px) rotateY(-6deg) rotateX(15deg) rotateZ(3deg) scale(.91)}52%{transform:translateZ(8px) rotateY(5deg) rotateX(-9deg) rotateZ(-4deg) scale(1)}76%{transform:translateZ(-30px) rotateY(16deg) rotateX(5deg) rotateZ(-7deg) scale(.88)}}
@media(max-width:600px){.scene-flight{--plane-width:115px;top:4%;perspective-origin:58px 50%}.scene-flight .plane-model{width:115px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.vacation-scene *{animation:none!important}.scene-flight{transform:translate(36%,0)}.scene-ocean{display:none}.button{transition:none}}
/* RDV identity: scoped to the homepage hero. */
.rdv-nav,.rdv-vacation-hero{box-sizing:border-box;width:calc(100% - 32px);max-width:var(--container-w,1240px)}
.rdv-vacation-hero{--tv-cycle:8s;padding:0;margin:0 auto 24px}
.rdv-vacation-hero *{box-sizing:border-box}
.rdv-vacation-hero .vacation-scene{height:660px;aspect-ratio:auto}
.rdv-vacation-hero .scene-brand{top:12%;width:min(620px,65%);display:flex;flex-direction:column;align-items:center;gap:0}
.rdv-hero-eyebrow{font:700 10px/1.5 system-ui,sans-serif;letter-spacing:.25em;color:#f3e7ff}
.rdv-hero-logo{display:block;width:250px;max-width:70%;height:auto;aspect-ratio:2770/2140;margin:14px auto 18px;filter:drop-shadow(0 5px 20px #160a3280);animation:logo-float var(--tv-cycle) ease-in-out infinite}
.rdv-vacation-hero .scene-brand h1{margin:0;font-size:clamp(18px,1.8vw,23px);line-height:1.35;font-weight:800;text-transform:none}
.rdv-vacation-hero .scene-brand .rdv-hero-description{margin:12px 0 0;font:14px/1.5 system-ui,sans-serif;color:#f3e8fa}
.rdv-hero-endorsement{display:flex;flex-direction:column;align-items:center;margin-top:24px;padding-top:16px;position:relative}
.rdv-hero-endorsement:before{content:'';position:absolute;top:0;width:94px;height:1px;background:linear-gradient(90deg,transparent,#d8b4f4,transparent)}
.rdv-tourvibe-logo{display:block;width:120px;height:44px;filter:drop-shadow(0 2px 8px #12091e)}
.rdv-vacation-hero .rdv-hero-endorsement p{font:15px/1.6 system-ui,sans-serif;letter-spacing:.035em;color:#e8d6f4;margin:7px 0 0}
.rdv-hero-endorsement strong{font-weight:650;color:#fff}
.rdv-vacation-hero .scene-control{font:11px/1.4 system-ui,sans-serif;cursor:pointer}
.rdv-vacation-hero .scene-control:focus-visible{outline:3px solid #e6c5ff;outline-offset:3px}
.rdv-vacation-hero .scene-coordinate{font:8px/1.5 system-ui,sans-serif;letter-spacing:.12em}
@media(max-width:992px) and (min-width:601px){.rdv-vacation-hero .vacation-scene{height:620px}.rdv-vacation-hero .scene-brand{top:11%;width:76%}.rdv-hero-logo{width:230px}}
@media(max-width:600px){.rdv-vacation-hero .vacation-scene{height:660px;border-radius:18px}.rdv-vacation-hero .scene-brand{top:11%;width:94%}.rdv-hero-logo{width:215px;margin:15px auto 20px}.rdv-vacation-hero .scene-brand h1{font-size:16px;max-width:310px}.rdv-vacation-hero .scene-brand .rdv-hero-description{font-size:11px;max-width:250px}.rdv-hero-endorsement{margin-top:20px;padding-top:14px}.rdv-vacation-hero .scene-coordinate{left:12px;bottom:18px;font-size:6px;max-width:150px}.rdv-vacation-hero .scene-control{right:8px;bottom:8px;font-size:10px;padding:8px}}
/* Keep the mobile brand and menu button separated within the homepage gutter. */
@media(max-width:600px){.rdv-nav{gap:8px;border-radius:12px}.rdv-brand{min-width:0}.rdv-toggle{flex:0 0 40px;width:40px;height:40px}}
@media(max-width:380px){.rdv-brand{gap:6px}.rdv-logo{flex:0 0 30px;width:30px;height:30px}.rdv-title{font-size:clamp(12px,3.5vw,13px);line-height:1.25;letter-spacing:.2px;white-space:normal}}
/* User-provided Riccione artwork: separate views into the original desktop/mobile composition. */
.rdv-riccione-scenery .scene-environment{animation:none;transform:none;will-change:auto}
.rdv-riccione-scenery .scene-render{overflow:hidden}
.rdv-scenery-desktop,.rdv-scenery-mobile{display:block;width:100%;height:100%;overflow:hidden}
.rdv-scenery-mobile{display:none}
.rdv-riccione-scenery .vacation-scene{height:600px}
.rdv-riccione-scenery .scene-depth-light{animation:none;background:radial-gradient(ellipse at 50% 40%,#25113b96,transparent 64%),linear-gradient(180deg,#25133955,transparent 48%)}
.rdv-riccione-scenery .scene-brand{top:40%;transform:translate(-50%,-50%);width:min(600px,76%);text-shadow:0 2px 5px #140b26e6,0 0 20px #140b2699}
.rdv-riccione-scenery .rdv-hero-eyebrow{font-size:10px;letter-spacing:.18em;color:#fff}
.rdv-riccione-scenery .rdv-hero-logo{width:170px;max-width:70%;margin:8px auto 10px;animation:none}
.rdv-riccione-scenery .scene-brand h1{font-size:23px;line-height:1.4;color:#fff;text-wrap:balance}
.rdv-riccione-scenery .scene-brand h1 span{color:#f3e8ff}
.rdv-riccione-scenery .scene-brand .rdv-hero-description{font-size:15px;font-weight:500;line-height:1.6;margin-top:10px;color:#fff;text-wrap:balance}
.rdv-riccione-scenery .rdv-hero-endorsement{flex-direction:row;gap:12px;margin-top:14px;padding-top:0}
.rdv-riccione-scenery .rdv-hero-endorsement:before{display:none}
.rdv-riccione-scenery .rdv-tourvibe-logo{width:100px;height:37px;flex-shrink:0}
.rdv-riccione-scenery .rdv-hero-endorsement p{font-size:12px;font-weight:500;line-height:1.5;letter-spacing:.01em;margin:0;text-align:left;color:#fff}
.rdv-riccione-scenery .rdv-hero-endorsement strong{font-weight:700}
.rdv-riccione-scenery .scene-flight{top:1%}
@media(min-width:601px) and (max-width:992px){.rdv-riccione-scenery .vacation-scene{height:580px}.rdv-riccione-scenery .scene-brand{width:80%}.rdv-riccione-scenery .rdv-hero-logo{width:160px}.rdv-riccione-scenery .scene-brand h1{font-size:21px}}
@media(max-width:600px){
.rdv-riccione-scenery .rdv-scenery-desktop{display:none}.rdv-riccione-scenery .rdv-scenery-mobile{display:block}
.rdv-riccione-scenery .vacation-scene{height:660px}.rdv-riccione-scenery .scene-brand{width:90%}
.rdv-riccione-scenery .rdv-hero-logo{width:150px;margin:8px auto 12px}
.rdv-riccione-scenery .scene-brand h1{font-size:17px;max-width:320px}
.rdv-riccione-scenery .scene-brand .rdv-hero-description{font-size:13px;max-width:300px}
.rdv-riccione-scenery .rdv-hero-endorsement{gap:9px;margin-top:12px}
.rdv-riccione-scenery .rdv-tourvibe-logo{width:76px;height:28px}
.rdv-riccione-scenery .rdv-hero-endorsement p{font-size:11px}
.rdv-riccione-scenery .scene-depth-light{background:radial-gradient(ellipse at 50% 40%,#25113ba6,transparent 65%),linear-gradient(180deg,#25133940,transparent 50%)}
}
/* Compact homepage artwork on phones; preserve the desktop composition. */
@media screen and (max-width:600px){
.rdv-riccione-scenery .vacation-scene{height:440px}
.rdv-riccione-scenery .scene-brand{top:44%;width:92%}
.rdv-riccione-scenery .rdv-hero-logo{width:130px;margin:8px auto}
.rdv-riccione-scenery .scene-brand h1{font-size:20px;line-height:1.35}
.rdv-riccione-scenery .scene-brand .rdv-hero-description{font-size:14px;line-height:1.5}
.rdv-riccione-scenery .rdv-hero-endorsement p{font-size:12px}
.rdv-vacation-hero .rdv-toggle{min-width:44px;min-height:44px}
}
/* Responsive exports preserve the original two artwork viewports. */
.rdv-riccione-scenery .scene-render picture{display:block;width:100%;height:100%}
.rdv-riccione-scenery .scene-render img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
/* One footer component for every public page, independent of page styles. */
body .rdv-standard-footer{margin:0;background:linear-gradient(115deg,#171024 0%,#100d1e 65%,#1c1230 100%);border-top:1px solid #654183;color:#eee8f6;font-family:system-ui,-apple-system,"Segoe UI",sans-serif;text-align:left;line-height:1.6}
.rdv-standard-footer *{box-sizing:border-box}
.rdv-standard-footer .rsf-inner{max-width:1240px;margin:auto;padding:48px 28px 28px}
.rdv-standard-footer .rsf-top{display:grid;grid-template-columns:1.2fr .7fr 1.1fr;gap:48px;padding-bottom:32px}
.rdv-standard-footer a{color:#d8cce5;text-decoration:none;text-shadow:none;font-family:inherit;overflow-wrap:anywhere}
.rdv-standard-footer a:hover{color:#fff;text-decoration:underline;text-underline-offset:4px}
.rdv-standard-footer .rsf-logo{display:flex;align-items:center;gap:14px;color:#fff;font-size:22px;font-weight:850;line-height:1.1;letter-spacing:-.5px;text-transform:uppercase;margin-bottom:20px}
.rdv-standard-footer .rsf-logo img{width:64px;height:64px;object-fit:contain;filter:none}
.rdv-standard-footer p{font-family:inherit;font-size:14px;line-height:1.8;color:#c3b5d1;margin:0 0 16px;text-shadow:none}
.rdv-standard-footer .rsf-managed{font-size:13px;color:#b6a2c8}.rdv-standard-footer .rsf-managed strong{color:#e1caef}
.rdv-standard-footer h2{font-family:inherit;font-size:16px;line-height:1.5;font-weight:750;color:#fff;text-transform:none;letter-spacing:0;text-shadow:none;margin:0 0 16px}
.rdv-standard-footer ul{list-style:none;padding:0;margin:0;display:grid;gap:2px}.rdv-standard-footer li a{display:inline-block;padding:8px 0;font-size:14px;min-height:40px}
.rdv-standard-footer .rsf-contact>a{display:block;width:fit-content;font-size:14px;padding:5px 0}
.rdv-standard-footer .rsf-contact .rsf-whatsapp{display:flex;align-items:center;justify-content:space-between;gap:28px;background:linear-gradient(110deg,#8955eb,#ac76df);border:1px solid #bb8cf0;border-radius:12px;padding:12px 18px;margin:0 0 14px;color:white;font-weight:750;min-height:48px;text-decoration:none}
.rdv-standard-footer .rsf-whatsapp:hover{filter:brightness(1.1)}
.rdv-standard-footer .rsf-bottom{border-top:1px solid #473052;padding-top:22px;display:flex;justify-content:space-between;align-items:center;gap:20px;padding-right:54px}
.rdv-standard-footer .rsf-bottom p{margin:0;font-size:12px}.rdv-standard-footer .rsf-vat{display:block;color:#ac9bbd}
.rdv-standard-footer .rsf-bottom nav{display:flex;flex-wrap:wrap;gap:20px}.rdv-standard-footer .rsf-bottom a{font-size:13px;padding:10px 0}
.rdv-standard-footer a:focus-visible{outline:2px solid #d1adff;outline-offset:5px;border-radius:4px}
@media(max-width:800px){.rdv-standard-footer .rsf-top{grid-template-columns:1fr 1fr;gap:30px}.rdv-standard-footer .rsf-brand{grid-column:1/-1}.rdv-standard-footer .rsf-inner{padding:32px 20px 24px}.rdv-standard-footer .rsf-bottom{align-items:flex-start;flex-direction:column;gap:10px}}
@media(max-width:480px){.rdv-standard-footer .rsf-top{grid-template-columns:1fr;gap:28px}.rdv-standard-footer .rsf-top nav ul{grid-template-columns:1fr 1fr}.rdv-standard-footer .rsf-logo{font-size:21px}.rdv-standard-footer .rsf-contact .rsf-whatsapp{width:100%}.rdv-standard-footer .rsf-bottom{padding-right:0;padding-bottom:20px}.rdv-standard-footer .rsf-bottom nav{gap:24px}}
.rdv-standard-footer .rsf-tourvibe{display:flex;align-items:center;gap:28px;margin-top:28px;padding:24px 0 6px;border-top:1px solid #473052}.rsf-tourvibe-logo{display:block;width:155px;height:74px;flex-shrink:0}.rsf-tourvibe-label{font-size:10px;letter-spacing:.16em;font-weight:700;color:#bc99e7}.rdv-standard-footer .rsf-tourvibe p{margin:7px 0 0;font-size:14px;color:#ddd5e9}.rsf-tourvibe-visit{margin-left:auto;padding:12px 18px;border:1px solid #735392;border-radius:10px;color:#eee5fa;text-decoration:none;font-size:13px;white-space:nowrap}.rsf-tourvibe-visit:hover{background:#30203f}@media(max-width:600px){.rdv-standard-footer .rsf-tourvibe{flex-direction:column;align-items:flex-start;gap:12px;padding-bottom:70px}.rsf-tourvibe-logo{width:135px;height:64px}.rsf-tourvibe-visit{margin-left:0}}
/* Management attribution lives with the main brand, on every page. */
.rdv-standard-footer .rsf-brand>p{margin:14px 0 0;line-height:1.65}
.rdv-standard-footer .rsf-brand .rsf-tourvibe{display:grid;grid-template-columns:90px minmax(0,1fr);align-items:center;gap:12px;margin:16px 0 0;padding:14px 0 0;border-top:1px solid #473052}
.rdv-standard-footer .rsf-brand .rsf-tourvibe-logo{width:90px;height:48px}
.rdv-standard-footer .rsf-brand .rsf-tourvibe-label{font-size:9px;letter-spacing:.12em}
.rdv-standard-footer .rsf-brand .rsf-tourvibe p{font-size:12px;line-height:1.55;margin:4px 0 0}
.rdv-standard-footer .rsf-brand .rsf-tourvibe .rsf-tourvibe-address{font-size:11px;color:#b9adc9}
.rdv-standard-footer .rsf-brand .rsf-tourvibe-visit{grid-column:1/-1;margin:0;justify-self:start}
@media(max-width:800px){.rdv-standard-footer .rsf-brand{max-width:460px}.rdv-standard-footer .rsf-top{gap:24px}.rdv-standard-footer .rsf-inner{padding-top:26px}}
.rdv-standard-footer .rsf-cookie-preferences{border:0;background:none;color:inherit;font:inherit;font-size:13px;padding:10px 0;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.rdv-standard-footer .rsf-cookie-preferences:focus-visible{outline:2px solid #cfa5ff;outline-offset:4px}
#rdv-dd-packages { min-width: 280px; max-height: min(70vh, 600px); overflow-y: auto; }
#rdv-dd-packages > li { padding: 10px 0; }
#rdv-dd-packages > li + li { border-top: 1px solid rgba(183,143,225,.2); }
#rdv-dd-packages .rdv-package-category { display: block; padding: 8px 12px; cursor: default; color: #cba8f5; font-weight: 700; font-size: 13px; }
#rdv-dd-packages .rdv-package-links { list-style: none; padding: 3px 0 0 12px; margin: 0; }
#rdv-dd-packages .rdv-package-links li { margin: 0; padding: 0; }
#rdv-dd-packages .rdv-package-links a { font-size: 13px; font-weight: 400; padding: 9px 12px; white-space: normal; }
@media(max-width: 768px) { #rdv-dd-packages { min-width: 0; width: 100%; } }
.tv-partners[hidden]{display:none!important}
.tv-partners{box-sizing:border-box;width:calc(100% - 32px);max-width:var(--container-w,1240px);margin:0 auto;padding:0;background:transparent;overflow:hidden;scroll-margin-top:80px}
.tv-logo-window{overflow:hidden;width:100%;mask-image:linear-gradient(to right,transparent,#000 5%,#000 95%,transparent);padding:16px 0;outline-offset:-3px}
.tv-logo-track{display:flex;width:max-content;animation:tv-logo-flow var(--tv-logo-duration,40s) linear infinite;will-change:transform}
.tv-logo-set{display:flex;flex:none;align-items:center;gap:28px;margin:0;padding:0 28px 0 0;list-style:none}
.tv-logo-item{flex:0 0 190px;width:190px;height:100px;display:flex;align-items:center;justify-content:center;background:transparent}
.tv-logo-item img{display:block;width:85%;height:85%;object-fit:contain;border:0}
.tv-logo-window:hover .tv-logo-track,.tv-logo-window:focus-within .tv-logo-track{animation-play-state:paused}
.tv-logo-window:focus-visible{outline:2px solid #8860dc}
@keyframes tv-logo-flow{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(max-width:600px){.tv-logo-window{padding:10px 0}.tv-logo-item{flex-basis:148px;width:148px;height:82px}.tv-logo-set{gap:20px;padding-right:20px}}
@media(prefers-reduced-motion:reduce){.tv-logo-track{animation:none;transform:none;will-change:auto}.tv-logo-window{overflow-x:auto}.tv-logo-set[aria-hidden="true"],.tv-logo-item[aria-hidden="true"]{display:none}}
.tv-partners.is-paused .tv-logo-track{animation-play-state:paused}
.tv-payment-receipt{box-sizing:border-box;padding:22px;border:1px solid #d8c4eb;border-radius:16px;background:linear-gradient(125deg,#fff,#f1e9fa);color:#402d50;font:14px/1.6 system-ui,sans-serif;margin:0 0 16px}.tv-payment-receipt h3{color:#402d50!important;font:750 22px/1.3 system-ui,sans-serif!important;margin:8px 0 14px!important}.tv-payment-reference{font-size:11px!important;color:#79638b!important;margin:0!important;overflow-wrap:anywhere}.tv-payment-description{font:13px/1.6 system-ui,sans-serif!important;color:#6b577c!important;margin:12px 0 0!important}.tv-payment-amounts{margin-top:18px;display:grid;gap:4px}.tv-payment-amounts>div{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:10px 0;font-size:13px}.tv-payment-amounts strong{white-space:nowrap}.tv-payment-amounts .tv-payment-highlight{padding:12px;border-radius:10px;background:#e9dbf8;color:#643590;margin:2px -2px}.tv-payment-highlight strong{font-size:25px}.tv-payment-receipt[data-state=paid]{border-color:#b4d8c5;background:linear-gradient(125deg,#fff,#eef8f2)}.tv-payment-receipt[data-state=paid] h3{color:#286744!important}.tv-payment-receipt[data-state=paid] .tv-payment-highlight{background:#dcefe3;color:#246441}.tv-payment-check{border:1px solid #ad87cf;border-radius:9px;background:#f4eafb;color:#643a84;padding:10px 15px;font:600 13px system-ui;min-height:44px;cursor:pointer}#pa-payment-step{width:100%;max-width:780px;margin:auto;box-sizing:border-box}#pa-payment-step>h3,#booking-title{color:#eee2fc!important}#pa-payment-status{line-height:1.6;font-size:13px}.hw-payment{width:100%;min-width:0}.hw-payment:empty{display:none}@media(max-width:600px){.tv-payment-receipt{padding:15px;border-radius:12px}.tv-payment-receipt h3{font-size:20px!important}.tv-payment-highlight strong{font-size:23px}#pa-payment-step{padding:0}#pa-payment-summary{padding:15px!important}.pa-payment-amounts>div{gap:12px}.tv-payment-amounts>div{font-size:12px}}
/* Shared package board: compact controls, consistent title and mobile spacing. */
.tv-catalog{scroll-margin-top:90px;box-sizing:border-box;width:calc(100% - 32px);max-width:1160px;margin:24px auto 32px;padding:22px 24px 18px;border:1px solid rgba(174,140,225,.3);border-radius:18px;background:linear-gradient(135deg,#151128,#100f22);color:#edeaff}
.tv-catalog *{box-sizing:border-box}
.tv-heading{margin:0 0 18px}
.tv-catalog .tv-heading h1,.tv-catalog .tv-heading h2{margin:0;padding:0;font-size:clamp(1.15rem,2.1vw,1.7rem);line-height:1.3;font-weight:800;letter-spacing:.015em;text-align:left;text-wrap:balance;text-shadow:none}
.tv-heading p{margin:7px 0 0;font-size:.82rem;line-height:1.5;color:#bdb5d1}
.tv-filters{display:grid;grid-template-columns:minmax(160px,1.35fr) minmax(170px,1.2fr) minmax(145px,1fr) minmax(130px,.85fr) auto;align-items:end;gap:12px;margin:0}
.tv-filters label{display:flex;min-width:0;flex-direction:column;gap:5px;margin:0;font-size:.72rem;line-height:1.3;font-weight:500;color:#c9bfdc}
.tv-filters input,.tv-filters select{width:100%;min-width:0;height:42px;margin:0;padding:9px 11px;background:#1c1930;color:#f2edff;border:1px solid #4e4167;border-radius:9px;font:inherit;font-size:.78rem;line-height:1.25;color-scheme:dark;transition:border-color .15s,background .15s}
.tv-filters input::placeholder{color:#a59ab9;opacity:1}
.tv-filters input:hover,.tv-filters select:hover{border-color:#9b7bc4;background:#211b39}
.tv-filters .tv-reset{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:78px;min-height:44px;padding:9px 8px;border:0;border-radius:9px;background:transparent;color:#c5acdF;font:inherit;font-size:.75rem;white-space:nowrap;cursor:pointer}
.tv-reset span{font-family:system-ui,sans-serif;font-size:1.25rem;line-height:1}
.tv-filters .tv-reset:hover{background:#2a2041;color:#fff}
.tv-catalog #tv-status{margin:14px 0 0;padding-top:12px;border-top:1px solid rgba(174,140,225,.14);font-size:.78rem;line-height:1.5;color:#bdb5d1}
.tv-results{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:16px}
.tv-results:empty{display:none;margin:0}
.tv-card{min-width:0;padding:18px;border:1px solid #655289;border-radius:12px}
.tv-card h3{font-size:1.1rem}.tv-card a{display:inline-block;background:#8860dc;color:#fff;border-radius:9px;padding:10px 14px}.tv-card p{white-space:pre-line}
.tv-catalog :focus-visible{outline:2px solid #c4a3ef;outline-offset:2px}
@media(max-width:900px){.tv-filters{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.tv-filters .tv-reset{grid-column:1/-1;justify-self:end;min-height:32px;padding:4px 8px}.tv-results{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.tv-catalog{width:calc(100% - 20px);margin:16px auto 24px;padding:17px 14px 14px;border-radius:14px}.tv-heading{margin-bottom:14px}.tv-catalog .tv-heading h1,.tv-catalog .tv-heading h2{font-size:1.15rem;line-height:1.4}.tv-heading p{font-size:.73rem;margin-top:6px}.tv-filters{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.tv-filters input,.tv-filters select{height:44px;font-size:16px;padding:8px;font-family:system-ui,sans-serif}.tv-filters label{font-size:.69rem}.tv-filters .tv-reset{min-height:44px;margin-top:-6px;margin-bottom:-8px}.tv-catalog #tv-status{margin-top:10px;padding-top:10px;font-size:.72rem}.tv-results{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.tv-filters input,.tv-filters select{transition:none}}
.tv-card{padding:0;overflow:hidden;background:#171329;display:flex;flex-direction:column}.tv-card .tv-card-cover{display:block;padding:0;border-radius:0;background:#100d1e}.tv-card-cover img{width:100%;height:210px;object-fit:contain;display:block}.tv-card-body{padding:18px;display:flex;flex-direction:column;flex:1;gap:10px}.tv-card-tag{color:#b994ed;font-size:.64rem;text-transform:uppercase;letter-spacing:.08em}.tv-card h3{margin:0}.tv-card h3 a{background:none;padding:0;color:#f2ebff;font-size:1.03rem;text-decoration:none}.tv-card .tv-card-summary{font-size:.76rem;line-height:1.65;color:#bdb1ce;margin:0}.tv-card .tv-card-dates{font-family:system-ui,sans-serif;font-size:.78rem;color:#cbb7e8;margin:0}.tv-card-footer{display:flex;align-items:end;justify-content:space-between;gap:10px;margin-top:auto;padding-top:12px;border-top:1px solid #393047}.tv-card-footer>div{display:grid;gap:5px}.tv-card-footer span{font-size:.62rem;color:#b2a5c2}.tv-card-footer strong{font-size:1.15rem}.tv-card .tv-card-cta{font-size:.69rem;padding:10px;text-align:center}.tv-card-summary{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
/* Full-width editorial cards, square cover on every screen. */
.tv-results{grid-template-columns:1fr}
.tv-card{display:flex;flex-direction:row;align-items:stretch;width:100%}
.tv-card .tv-card-cover{flex:0 0 32%;align-self:flex-start;aspect-ratio:1;overflow:hidden}
.tv-card-cover img{width:100%;height:100%;aspect-ratio:1;object-fit:contain}
.tv-card-body{min-width:0;padding:clamp(20px,3vw,36px);gap:16px;justify-content:center}
.tv-card h3 a{font-size:clamp(1.2rem,2.3vw,1.8rem);line-height:1.35}
.tv-card .tv-card-summary{font-family:system-ui,sans-serif;font-size:.98rem;line-height:1.7;display:block;overflow:visible;white-space:normal}
.tv-card .tv-card-dates{font-size:.9rem}.tv-card-footer{margin-top:auto;padding-top:18px}.tv-card .tv-card-cta{padding:13px 20px;font-size:.8rem}.tv-card-footer strong{font-size:1.45rem}
@media(max-width:600px){.tv-card{flex-direction:column}.tv-card .tv-card-cover{flex:none;width:100%;aspect-ratio:1}.tv-card-cover img{height:100%}.tv-card-body{padding:20px;gap:14px}.tv-card h3 a{font-size:1.2rem}.tv-card .tv-card-summary{font-size:.92rem}.tv-card .tv-card-cta{padding:12px;font-size:.73rem}}
/* One horizontal package rail per category, stacked vertically. */
.tv-results{display:flex;flex-direction:column;gap:28px}.tv-category{min-width:0}.tv-category-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 12px}.tv-catalog .tv-category-heading h2{font-family:system-ui,sans-serif;font-size:1.3rem;letter-spacing:-.02em;margin:0;text-transform:none;text-shadow:none}.tv-category-heading>span{font: .78rem system-ui,sans-serif;color:#a99abf;white-space:nowrap}.tv-package-rail{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#8260a9 #181224;padding-bottom:10px}.tv-package-rail>.tv-card{flex:0 0 100%;scroll-snap-align:start;min-width:0}.tv-category-empty{width:100%;margin:0;padding:18px;border:1px dashed #443452;border-radius:12px;color:#a99abf;font: .87rem/1.6 system-ui,sans-serif}.tv-package-rail:focus-visible{outline:2px solid #c4a3ef;outline-offset:3px}@media(max-width:600px){.tv-results{gap:24px}.tv-catalog .tv-category-heading h2{font-size:1.16rem}.tv-package-rail{gap:12px}}
.tv-card-facts{display:grid;gap:8px;margin:0;font-family:system-ui,sans-serif}.tv-card-facts>div{display:grid;grid-template-columns:112px minmax(0,1fr);gap:12px;align-items:baseline}.tv-card-facts dt{font-size:.73rem;font-weight:500;color:#a99bbb}.tv-card-facts dd{font-size:.82rem;line-height:1.5;color:#d6cbe3;margin:0;overflow-wrap:anywhere}.tv-card-footer small{font-family:system-ui,sans-serif;font-size:.72rem;font-weight:400;color:#bcb0cb;line-height:1.5}.tv-card-body{gap:12px;padding:24px}.tv-card .tv-card-summary{font-size:.9rem;line-height:1.6;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.tv-card h3 a{font-size:clamp(1.12rem,2vw,1.55rem)}.tv-card-footer{padding-top:12px}.tv-card .tv-card-cover{align-self:flex-start}
@media(max-width:600px){.tv-card-body{padding:18px}.tv-card-facts>div{grid-template-columns:90px minmax(0,1fr);gap:8px}.tv-card-facts dd{font-size:.79rem}.tv-card-footer{align-items:center}.tv-card-footer small{max-width:155px}}
/* Compact, screen-sized category panels on phones. */
.tv-card .tv-card-cover{flex-basis:240px;width:240px;aspect-ratio:1}.tv-card-cover img{object-fit:cover;object-position:center}.tv-card-body{padding:18px 22px;gap:9px}.tv-card h3 a{font-size:1.25rem}.tv-card-facts{gap:5px}.tv-card-footer{padding-top:9px}.tv-card-footer strong{font-size:1.25rem}.tv-catalog .tv-heading h1,.tv-catalog .tv-heading h2{font-size:2rem}
@media(max-width:600px){.tv-category{min-height:0;display:flex;flex-direction:column;justify-content:flex-start}.tv-category-heading{margin-bottom:10px}.tv-package-rail{flex-shrink:0}.tv-card{align-items:stretch}.tv-card .tv-card-cover{flex:none;width:100%;height:clamp(140px,24svh,210px);aspect-ratio:auto}.tv-card-cover img{height:100%;aspect-ratio:auto;object-fit:cover}.tv-card-body{padding:14px;gap:8px}.tv-card h3 a{font-size:1.04rem}.tv-card .tv-card-summary{font-size:.8rem;line-height:1.45;-webkit-line-clamp:2}.tv-card .tv-card-dates{font-size:.76rem}.tv-card-facts dd{font-size:.72rem;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.tv-card-facts dt{font-size:.67rem}.tv-card-facts>div{grid-template-columns:78px 1fr}.tv-card .tv-card-cta{font-size:.67rem;padding:10px}.tv-card-footer small{font-size:.66rem}.tv-results{gap:18px}.tv-catalog .tv-heading h1,.tv-catalog .tv-heading h2{font-size:1.8rem}}
/* Preserve card and image sizing; tighten copy and list every included activity. */
.tv-card-body{gap:7px}.tv-card-facts{gap:5px}.tv-card-facts .tv-included-value{display:block;overflow:visible;-webkit-line-clamp:unset}.tv-included-list{list-style:none;margin:0;padding:0;display:grid;gap:2px}.tv-included-list li{position:relative;padding-left:13px;line-height:1.4;margin:0}.tv-included-list li::before{content:"";position:absolute;left:0;top:.46em;width:6px;height:6px;border-radius:50%;background:#cda5ff}.tv-card-footer{padding-top:8px}.tv-card-facts .tv-included-row{align-items:start}
@media(max-width:600px){.tv-card-body{padding:12px 14px;gap:6px}.tv-included-list{gap:1px}.tv-included-list li{font-size:.72rem;line-height:1.35;padding-left:12px}.tv-included-list li::before{width:6px;height:6px;top:.42em}.tv-card-facts{gap:4px}.tv-card-footer{padding-top:7px}.tv-card-facts .tv-included-value{display:block;overflow:visible}}
/* Included services on the left, price and booking on the right. */
.tv-card-details{display:grid;grid-template-columns:minmax(0,1fr) minmax(125px,.65fr);gap:18px;align-items:start;margin-top:3px}
.tv-card-details .tv-card-facts>div{display:block}.tv-card-details .tv-card-facts dt{margin-bottom:5px;font-weight:750;color:#e0d4ef}.tv-card-details .tv-card-facts dd{font-weight:600}.tv-card-details .tv-card-facts{gap:9px}
.tv-card-details .tv-card-footer{display:flex;flex-direction:column;align-items:stretch;justify-content:center;margin:0;padding:5px 0 5px 16px;border-top:0;border-left:1px solid #40334f;gap:14px;min-width:0}
.tv-card-details .tv-card-footer>div{gap:7px}.tv-card-details .tv-card-footer strong{font-weight:850}.tv-card-details .tv-card-footer span{font-weight:650}.tv-card-details .tv-card-footer small{font-weight:600;max-width:none}.tv-card-details .tv-card-cta{font-weight:750;white-space:normal}
.tv-card h3 a{font-weight:800}.tv-card .tv-card-summary{font-weight:550}.tv-card .tv-card-dates{font-weight:700}.tv-included-list li{font-weight:650}
@media(max-width:600px){.tv-card-details{grid-template-columns:minmax(0,1fr) 122px;gap:10px}.tv-card-details .tv-card-footer{padding-left:10px;gap:12px}.tv-card-details .tv-card-facts dt{font-size:.72rem;margin-bottom:6px}.tv-card-details .tv-included-list li{font-size:.73rem;line-height:1.45}.tv-card-details .tv-card-footer strong{font-size:1.18rem}.tv-card-details .tv-card-cta{padding:10px 6px;font-size:.64rem}.tv-card-details .tv-card-footer small{font-size:.66rem;line-height:1.5}}
@media(max-width:350px){.tv-card-details{grid-template-columns:minmax(0,1fr) 105px;gap:8px}.tv-card-details .tv-card-footer{padding-left:8px}.tv-card-details .tv-card-footer strong{font-size:1rem}}
/* Category-first board: clear hierarchy and no filter controls. */
#tv-filters{display:none!important}.tv-catalog #tv-status{border:0;padding:0;margin:0 0 14px}.tv-heading{margin-bottom:10px}.tv-catalog .tv-heading h1,.tv-catalog .tv-heading h2{font-size:clamp(2rem,4vw,3rem);font-weight:900;letter-spacing:-.04em;text-transform:uppercase;line-height:1.1}.tv-heading p{font-family:system-ui,sans-serif;font-size:.86rem}.tv-category-heading{padding:10px 0 12px;border-bottom:1px solid #a77be52e;margin-bottom:14px}.tv-catalog .tv-category-heading h2{font-family:inherit;font-size:clamp(1.1rem,2vw,1.4rem);font-weight:900;text-transform:uppercase;letter-spacing:.015em;line-height:1.3;color:#eadbff}.tv-category-heading h2::before{content:"";display:inline-block;width:5px;height:.9em;background:linear-gradient(#dc94ff,#805aff);border-radius:4px;margin-right:10px;vertical-align:-.03em}.tv-card-tag{display:none}.tv-card h3 a{font-weight:900;letter-spacing:.015em}.tv-card-details{align-items:stretch}.tv-card-details .tv-card-footer{justify-content:flex-end;padding-bottom:0}.tv-card-details .tv-card-footer strong{font-weight:950}.tv-card-details .tv-card-footer span,.tv-card-details .tv-card-footer small{font-weight:750}.tv-card-details .tv-card-cta{font-weight:900}.tv-card-body{justify-content:flex-start}.tv-card-details{margin-top:auto}
@media(min-width:601px){.tv-package-rail{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px;overflow:visible;scroll-snap-type:none;padding:0}.tv-package-rail>.tv-card{width:100%;max-width:none;flex:none;flex-direction:column}.tv-card .tv-card-cover{flex:none;width:100%;height:220px;aspect-ratio:auto}.tv-card-cover img{height:100%;aspect-ratio:auto;object-fit:cover}.tv-card-body{padding:18px;gap:10px}.tv-card h3 a{font-size:1.2rem}.tv-card-details{grid-template-columns:minmax(0,1fr) 132px;gap:12px}.tv-card-details .tv-card-footer{padding-left:12px}.tv-card-details .tv-card-cta{font-size:.67rem;padding:11px 7px}.tv-card .tv-card-summary{font-size:.84rem}.tv-category{min-height:0}.tv-package-rail:has(>.tv-card:only-child){grid-template-columns:minmax(280px,420px)}.tv-card-facts dd{font-size:.78rem}}
@media(max-width:600px){.tv-category{min-height:0;padding-bottom:8px}.tv-results{gap:14px}.tv-category-heading{padding-top:6px;margin-bottom:10px;padding-bottom:10px}.tv-catalog .tv-category-heading h2{font-size:1.04rem}.tv-category-heading>span{font-size:.7rem}.tv-card-body{gap:7px}.tv-card-details{margin-top:3px}.tv-card-details .tv-card-footer{gap:10px}.tv-catalog{padding-top:18px}.tv-heading p{font-size:.77rem}}
.tv-category-heading{flex-wrap:wrap}.tv-month-filter{margin-left:auto;max-width:210px;min-height:38px;padding:7px 10px;background:#211830;color:#eee0ff;border:1px solid #725491;border-radius:8px;font:600 .8rem system-ui,sans-serif;color-scheme:dark}.tv-category-heading>span{margin-left:auto}.tv-month-filter+span{margin-left:0}@media(max-width:600px){.tv-month-filter{max-width:145px;font-size:.73rem}.tv-category-heading h2{flex:1 1 100%}.tv-category-heading>span{font-size:.7rem}}
.tv-rail-controls[hidden]{display:none!important}.tv-rail-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:8px;color:#cdb6ee;font:600 12px/1.4 system-ui,sans-serif}.tv-rail-controls button{display:grid;place-items:center;width:42px;height:42px;border:1px solid #8762ab;border-radius:50%;background:#22172f;color:#fff;font-size:21px;cursor:pointer}.tv-rail-controls button:disabled{opacity:.3;cursor:default}.tv-rail-controls button:focus-visible{outline:2px solid #d7b5ff;outline-offset:3px}@media(max-width:600px){.tv-package-rail:has(>.tv-card:nth-child(2))>.tv-card{flex-basis:90%}.tv-package-rail{scroll-padding-inline:0}.tv-category:has(.tv-rail-controls){padding-bottom:8px}}
/* Home packages: strong section hierarchy, readable inclusions, prominent pricing. */
.tv-catalog.tv-catalog-home{position:relative;max-width:1100px;width:calc(100% - 24px);margin:28px auto 52px;padding:32px;border:1px solid #9566d074;border-radius:26px;background:radial-gradient(ellipse at 8% 0%,#51317365,transparent 58%),linear-gradient(145deg,#1d1530,#120e20);box-shadow:0 18px 60px #08041255;isolation:isolate}
.tv-catalog-home:before{content:'';position:absolute;top:-1px;left:8%;right:8%;height:2px;border-radius:100%;background:linear-gradient(90deg,transparent,#bd8afc,transparent);pointer-events:none}
.tv-catalog-home .tv-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:0 0 16px}
.tv-eyebrow{display:block;margin:0 0 12px;font:750 10px/1.5 system-ui,sans-serif;letter-spacing:.17em;color:#c4a2ef}
.tv-catalog-home .tv-heading h2{max-width:24ch;font-size:clamp(25px,3.1vw,36px);line-height:1.22;letter-spacing:-.025em;font-weight:750;color:#f5edff;text-transform:none}
.tv-catalog-home .tv-heading p{max-width:58ch;margin:10px 0 0;font:14px/1.6 system-ui,sans-serif;color:#c2b4d2}
.tv-catalog-home #tv-status{display:inline-flex;padding:6px 11px;margin:0 0 14px;border:1px solid #9570b63b;border-radius:8px;background:#ffffff07;color:#cdb8e2;font:12px/1.5 system-ui,sans-serif}
.tv-catalog-home .tv-category-heading{padding:8px 0 12px;margin:0 0 14px;border-color:#ac83d32e}
.tv-catalog-home .tv-category-heading h3{display:flex;align-items:center;gap:9px;margin:0;color:#e1c7ff;font:700 14px/1.4 system-ui,sans-serif;letter-spacing:.01em;text-transform:none}
.tv-catalog-home .tv-category-heading h3:before{content:'';width:6px;height:18px;border-radius:4px;background:linear-gradient(#c697ff,#8154eb)}
.tv-catalog-home .tv-category-heading>span{font-size:11px;color:#b5a1c7}
.tv-catalog-home .tv-results{gap:26px}
.tv-catalog-home .tv-card{overflow:hidden;border:1px solid #74508e80;border-radius:19px;background:#21172f;box-shadow:0 8px 26px #09051220;transition:border-color .2s,box-shadow .2s}
.tv-catalog-home .tv-card:hover{border-color:#b488e7;box-shadow:0 10px 32px #09051240}
.tv-catalog-home .tv-card .tv-card-cover{position:relative;display:block;flex:none;width:100%;height:auto;aspect-ratio:16/10;align-self:stretch;background:#120d20;overflow:hidden}
.tv-catalog-home .tv-card-cover img{display:block;width:100%;height:100%;aspect-ratio:auto;object-fit:contain}
.tv-catalog-home .tv-card-body{min-width:0;padding:22px;gap:11px}
.tv-catalog-home .tv-card-title{margin:0;padding:0;line-height:1.3;text-transform:none;text-shadow:none}
.tv-catalog-home .tv-card-title a{color:#fff3ff;font-size:clamp(20px,2vw,25px);line-height:1.3;font-weight:750;letter-spacing:-.02em;text-decoration:none;overflow-wrap:anywhere}
.tv-catalog-home .tv-card-summary{font:13px/1.6 system-ui,sans-serif;color:#c8b9d6;-webkit-line-clamp:2;margin:0}
.tv-catalog-home .tv-card-dates{align-self:flex-start;margin:0;padding:7px 10px;border:1px solid #b888eb35;border-radius:7px;background:#b785f011;color:#ddc8f2;font:650 12px/1.45 system-ui,sans-serif}
.tv-catalog-home .tv-card-details{display:flex;flex-direction:column;gap:17px;margin-top:4px}
.tv-catalog-home .tv-card-facts{display:grid;grid-template-columns:1fr 1fr;gap:12px 18px}
.tv-catalog-home .tv-card-facts>div{display:block;min-width:0}
.tv-catalog-home .tv-card-facts dt{margin:0 0 4px;font:650 11px/1.4 system-ui,sans-serif;color:#e3d3f2}
.tv-catalog-home .tv-card-facts dd{display:block;overflow:visible;margin:0;font:400 12px/1.5 system-ui,sans-serif;color:#bdaccb;-webkit-line-clamp:unset}
.tv-catalog-home .tv-included-list{gap:3px}
.tv-catalog-home .tv-included-list li{font:400 12px/1.5 system-ui,sans-serif;padding-left:12px;color:#d0bfdc}
.tv-catalog-home .tv-included-list li:before{width:5px;height:5px;top:.55em;background:#c391f7}
.tv-catalog-home .tv-card-details .tv-card-footer{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:14px;margin:0;padding:16px;border:1px solid #dec2ff;border-radius:12px;background:linear-gradient(120deg,#f4eafb,#e3d3f8);color:#302040;box-shadow:0 4px 18px #10072015}
.tv-catalog-home .tv-card-footer>div{display:grid;gap:3px;min-width:0}
.tv-catalog-home .tv-card-footer span{font:600 11px/1.4 system-ui,sans-serif;color:#6d5380}
.tv-catalog-home .tv-card-footer strong{font:800 28px/1.15 system-ui,sans-serif;letter-spacing:-.04em;color:#342047;white-space:nowrap}
.tv-catalog-home .tv-card-footer small{font:500 10px/1.45 system-ui,sans-serif;color:#715c81;max-width:190px}
.tv-catalog-home .tv-card-details .tv-card-cta{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;min-height:46px;padding:12px 16px;font:700 12px/1.4 system-ui,sans-serif;text-decoration:none;border-radius:10px;border:1px solid #a679ee;background:linear-gradient(110deg,#7640e8,#9560dc);color:#fff;box-shadow:0 4px 12px #7544eb30;white-space:normal;text-align:center}
.tv-catalog-home .tv-card-cta:hover{filter:brightness(1.08)}
.tv-catalog-home a:focus-visible,.tv-catalog-home button:focus-visible{outline:3px solid #d4acff;outline-offset:3px}
@media(min-width:761px){.tv-catalog-home .tv-package-rail{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.tv-catalog-home .tv-package-rail:has(>.tv-card:only-child){grid-template-columns:minmax(0,1fr)}.tv-catalog-home .tv-package-rail>.tv-card:only-child{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}.tv-catalog-home .tv-card:only-child .tv-card-cover{height:100%;min-height:340px;aspect-ratio:auto}.tv-catalog-home .tv-card:only-child .tv-card-cover img{object-fit:contain}.tv-catalog-home .tv-card:only-child .tv-card-body{padding:26px}.tv-catalog-home .tv-card:only-child .tv-card-title a{font-size:clamp(23px,2.4vw,30px)}}
@media(min-width:601px) and (max-width:760px){.tv-catalog-home .tv-package-rail,.tv-catalog-home .tv-package-rail:has(>.tv-card:only-child){grid-template-columns:minmax(0,1fr)}}
@media(max-width:600px){.tv-catalog.tv-catalog-home{margin:24px 12px 36px;padding:22px 14px 16px;border-radius:22px}.tv-catalog-home .tv-heading{align-items:flex-start;gap:14px;flex-direction:column;margin-bottom:14px}.tv-catalog-home .tv-eyebrow{font-size:9px;margin-bottom:9px}.tv-catalog-home .tv-heading h2{font-size:25px;max-width:21ch}.tv-catalog-home .tv-heading p{font-size:12px;margin-top:9px}.tv-catalog-home #tv-status{font-size:11px;margin-bottom:8px}.tv-catalog-home .tv-category-heading h3{font-size:13px}.tv-catalog-home .tv-category-heading{gap:10px;padding-bottom:10px}.tv-catalog-home .tv-card{border-radius:15px}.tv-catalog-home .tv-card-body{padding:15px;gap:10px}.tv-catalog-home .tv-card-title a{font-size:21px}.tv-catalog-home .tv-card-summary{font-size:12px;line-height:1.5}.tv-catalog-home .tv-card-dates{font-size:11px;padding:6px 8px}.tv-catalog-home .tv-card-facts{gap:11px 12px}.tv-catalog-home .tv-card-details{gap:14px}.tv-catalog-home .tv-card-details .tv-card-footer{padding:13px 11px;gap:10px}.tv-catalog-home .tv-card-footer strong{font-size:27px}.tv-catalog-home .tv-card-footer small{font-size:10px}.tv-catalog-home .tv-card-details .tv-card-cta{min-height:46px;padding:10px;font-size:11px;max-width:130px}.tv-catalog-home .tv-package-rail:has(>.tv-card:nth-child(2))>.tv-card{flex-basis:94%}.tv-catalog-home .tv-rail-controls button{width:44px;height:44px}}
@media(max-width:360px){.tv-catalog-home .tv-card-details .tv-card-footer{flex-direction:column;align-items:stretch}.tv-catalog-home .tv-card-details .tv-card-cta{width:100%;max-width:none}.tv-catalog-home .tv-card-footer>div{grid-template-columns:1fr auto;align-items:baseline}.tv-catalog-home .tv-card-footer small{grid-column:1/-1}.tv-catalog-home .tv-card-facts{grid-template-columns:1fr}.tv-catalog-home .tv-card-body{padding:13px}}
@media(prefers-reduced-motion:reduce){.tv-catalog-home .tv-card{transition:none}}
.tv-catalog-home .tv-card-title a{display:inline;padding:0;background:none;border:0;border-radius:0;box-shadow:none}
.tv-catalog-home .tv-card .tv-card-cover{aspect-ratio:16/9}
@media(min-width:761px){.tv-catalog-home .tv-card:only-child .tv-card-cover{aspect-ratio:auto}.tv-catalog-home .tv-card:only-child .tv-card-cover:before{content:'';position:absolute;inset:-22px;background-image:var(--tv-cover);background-position:center;background-size:cover;filter:blur(18px) brightness(.4);opacity:.8;pointer-events:none}.tv-catalog-home .tv-card:only-child .tv-card-cover img{position:relative;z-index:1}}
/* Clear, compact package articles in the home catalog. */
.tv-catalog-home .tv-card{background:#faf7fd;border-color:#d7c2eb;box-shadow:0 8px 24px #10072016;overflow:hidden}.tv-catalog-home .tv-card-body{background:linear-gradient(140deg,#fff,#f1e9fa);color:#422d53;padding:20px;gap:12px}.tv-catalog-home .tv-card-title a{color:#432b57;font-family:system-ui,sans-serif;font-size:23px;font-weight:750;line-height:1.25;letter-spacing:-.025em}.tv-catalog-home .tv-card-summary{color:#796586;font:12px/1.6 system-ui,sans-serif;margin:0}.tv-catalog-home .tv-card-dates{color:#785191;background:#eaddf7;border-color:#d6c1e7;border-radius:8px;font:600 11px/1.5 system-ui,sans-serif}.tv-catalog-home .tv-card-facts{gap:13px 16px}.tv-catalog-home .tv-card-facts dt{color:#533767;font:700 12px/1.4 system-ui,sans-serif;margin-bottom:5px}.tv-catalog-home .tv-card-facts dd,.tv-catalog-home .tv-included-list li{color:#796385;font:12px/1.6 system-ui,sans-serif}.tv-catalog-home .tv-included-list li:before{background:#a372ce}.tv-catalog-home .tv-card-details .tv-card-footer{background:#fff;border-color:#d9c5e9;box-shadow:0 4px 14px #7647a108;padding:15px}.tv-catalog-home .tv-card-footer strong{color:#6b3894}.tv-catalog-home .tv-card-details .tv-card-cta{box-shadow:0 3px 10px #7544eb20}.tv-catalog-home .tv-card-cover{border-bottom:1px solid #d9c5e9}@media(max-width:600px){.tv-catalog-home .tv-card-body{padding:15px;gap:11px}.tv-catalog-home .tv-card-title a{font-size:21px}.tv-catalog-home .tv-card-facts{gap:12px}.tv-catalog-home .tv-card-details .tv-card-footer{display:grid;grid-template-columns:1fr;gap:12px;padding:13px}.tv-catalog-home .tv-card-footer>div{grid-template-columns:1fr auto;align-items:baseline;column-gap:10px}.tv-catalog-home .tv-card-footer small{grid-column:1/-1;max-width:none}.tv-catalog-home .tv-card-details .tv-card-cta{max-width:none;width:100%;box-sizing:border-box;min-height:44px;font-size:12px}.tv-catalog-home .tv-card-footer strong{font-size:27px}}
/* Clear inclusion hierarchy in the Home package cards. */
.tv-catalog-home .tv-inclusions-heading{margin:4px 0 9px;font-size:13px;font-weight:750;color:#422d53}
.tv-catalog-home .tv-card-facts{display:flex;flex-direction:column;gap:0;margin:0;background:#fff;border:1px solid #e5d9ef;border-radius:13px;padding:0 13px}
.tv-catalog-home .tv-card-facts>div{display:grid;grid-template-columns:100px minmax(0,1fr);gap:10px;padding:11px 0;border-bottom:1px solid #eee6f4;align-items:start}
.tv-catalog-home .tv-card-facts>div:last-child{border-bottom:0}
.tv-catalog-home .tv-card-facts dt{font-size:12px;line-height:1.6;margin:0;color:#503565}
.tv-catalog-home .tv-card-facts dd{font-size:12px;line-height:1.6;margin:0;color:#675575}
.tv-catalog-home .tv-included-list{margin:0;padding:0;list-style:none;display:grid;gap:4px}
.tv-catalog-home .tv-included-list li{position:relative;padding-left:15px;margin:0}
.tv-catalog-home .tv-included-list li::before{content:'✓';position:absolute;left:0;color:#9461c5;font-size:11px;font-weight:700}
.tv-catalog-home .tv-stay-treatment{display:block;font-size:11px;color:#6e5979;margin-top:2px}
.tv-catalog-home .tv-extras-heading{font-size:12px;font-weight:700;color:#65487b;margin:14px 0 7px}
.tv-catalog-home .tv-card-extras{margin:0;padding:10px 12px;border:1px dashed #d9c6e9;border-radius:11px;background:#f3edf9;display:grid;gap:8px}
.tv-catalog-home .tv-card-extras dt{font-size:12px;font-weight:700;color:#604177;margin:0 0 2px}
.tv-catalog-home .tv-card-extras dd{font-size:11px;line-height:1.6;color:#796587;margin:0}
.tv-catalog-home .tv-card-details{margin-top:13px}
@media(max-width:400px){.tv-catalog-home .tv-card-facts>div{grid-template-columns:85px minmax(0,1fr);gap:8px}.tv-catalog-home .tv-card-facts{padding:0 10px}}
.tv-catalog-home .tv-included-list li{list-style:none}.tv-catalog-home .tv-included-list li::marker{content:""}.tv-catalog-home .tv-inclusions-heading,.tv-catalog-home .tv-extras-heading,.tv-catalog-home .tv-card-extras{font-family:system-ui,-apple-system,"Segoe UI",sans-serif}.tv-catalog-home .tv-inclusions-heading{margin-bottom:8px}.tv-catalog-home .tv-card-facts{margin-top:0}
/* Refined compact Home cards: one clean checkmark, consistent spacing. */
.tv-catalog-home .tv-included-list li::before{content:'✓';top:0;left:0;width:auto;height:auto;border-radius:0;background:none;box-shadow:none;line-height:1.5;color:#9461c5;font-size:12px;font-weight:700}
.tv-catalog-home .tv-included-list li::after{content:none}
.tv-catalog-home .tv-card-body{padding:16px;gap:8px}
.tv-catalog-home .tv-card-title a{font-size:21px;line-height:1.25}
.tv-catalog-home .tv-card-summary{font-size:12px;line-height:1.5}
.tv-catalog-home .tv-card-dates{padding:5px 8px;font-size:11px}
.tv-catalog-home .tv-inclusions-heading{margin:3px 0 0;font:700 12px/1.5 system-ui,sans-serif}
.tv-catalog-home .tv-card-facts{padding:0 11px;border-radius:10px}
.tv-catalog-home .tv-card-facts>div{padding:8px 0;gap:10px;grid-template-columns:96px minmax(0,1fr)}
.tv-catalog-home .tv-card-facts dt,.tv-catalog-home .tv-card-facts dd,.tv-catalog-home .tv-included-list li{font-size:12px;line-height:1.5}
.tv-catalog-home .tv-included-list{gap:2px}
.tv-catalog-home .tv-included-list li{padding-left:16px}
.tv-catalog-home .tv-stay-treatment{margin-top:1px;line-height:1.4}
.tv-catalog-home .tv-extras-heading{margin:3px 0 0;font:700 12px/1.5 system-ui,sans-serif}
.tv-catalog-home .tv-card-extras{padding:8px 11px;border-radius:10px;gap:6px}
.tv-catalog-home .tv-card-extras>div{display:grid;grid-template-columns:96px minmax(0,1fr);gap:10px}
.tv-catalog-home .tv-card-extras dt{margin:0;font-size:12px;line-height:1.5}
.tv-catalog-home .tv-card-extras dd{font-size:11px;line-height:1.5}
.tv-catalog-home .tv-card-details{margin-top:2px;gap:0}
.tv-catalog-home .tv-card-details .tv-card-footer{padding:10px 11px;gap:8px;border-radius:10px}
.tv-catalog-home .tv-card-footer strong{font-size:25px}
.tv-catalog-home .tv-card-footer>div{gap:2px}
.tv-catalog-home .tv-card-details .tv-card-cta{min-height:44px;padding:10px 12px}
@media(min-width:761px){.tv-catalog-home .tv-card:only-child .tv-card-body{padding:20px;gap:8px}.tv-catalog-home .tv-card:only-child .tv-card-title a{font-size:25px}}
@media(max-width:600px){.tv-catalog.tv-catalog-home{padding-left:10px;padding-right:10px}.tv-catalog-home .tv-card-body{padding:13px;gap:7px}.tv-catalog-home .tv-card-title a{font-size:20px}.tv-catalog-home .tv-card-facts>div,.tv-catalog-home .tv-card-extras>div{grid-template-columns:85px minmax(0,1fr);gap:8px}.tv-catalog-home .tv-card{border-radius:14px}.tv-catalog-home .tv-card-details .tv-card-footer{gap:8px}.tv-catalog-home .tv-category{min-height:0}}
/* Home noticeboard without artwork, with explicit optional service prices. */
.tv-catalog-home .tv-package-rail>.tv-card:only-child{display:flex;flex-direction:column}
.tv-catalog-home .tv-card .tv-card-body{padding:18px;gap:8px}
.tv-catalog-home .tv-card .tv-card-title a{font-size:23px;font-weight:800}
.tv-catalog-home .tv-card-summary{font-weight:550;color:#675374}
.tv-catalog-home .tv-card-facts dt{font-weight:750}
.tv-catalog-home .tv-card-facts dd,.tv-catalog-home .tv-included-list li{font-weight:600;color:#584367}
.tv-catalog-home .tv-inclusions-heading,.tv-catalog-home .tv-extras-heading{font-weight:800;font-size:13px}
.tv-catalog-home .tv-card-extras{background:#f0e7fa;border:1px solid #d8c1ed}
.tv-catalog-home .tv-card-extras>div{grid-template-columns:minmax(95px,.7fr) minmax(0,1fr);align-items:start;padding:3px 0}
.tv-catalog-home .tv-card-extras>div+div{border-top:1px solid #ddcdec;padding-top:9px}
.tv-catalog-home .tv-card-extras dt{font-weight:750;color:#513363}
.tv-catalog-home .tv-card-extras dd strong{display:block;font-size:13px;color:#693d8b;font-weight:800}
.tv-catalog-home .tv-card-extras dd small{display:block;font-size:10px;line-height:1.5;color:#786285;margin-top:2px}
@media(min-width:761px){.tv-catalog-home .tv-card-body{display:grid;grid-template-columns:1fr 1fr;column-gap:20px!important}.tv-catalog-home .tv-card-body>.tv-card-tag{display:none}.tv-catalog-home .tv-card-title,.tv-catalog-home .tv-card-summary,.tv-catalog-home .tv-card-dates,.tv-catalog-home .tv-card-details{grid-column:1/-1}.tv-catalog-home .tv-inclusions-heading{grid-column:1;grid-row:4}.tv-catalog-home .tv-card-facts{grid-column:1;grid-row:5 / span 2}.tv-catalog-home .tv-extras-heading{grid-column:2;grid-row:4}.tv-catalog-home .tv-card-extras{grid-column:2;grid-row:5;align-self:start}.tv-catalog-home .tv-card-details{margin-top:4px}}
@media(max-width:600px){.tv-catalog-home .tv-card .tv-card-body{padding:14px}.tv-catalog-home .tv-card .tv-card-title a{font-size:21px}}
@media(min-width:761px){.tv-catalog-home .tv-card:not(:only-child) .tv-card-body{display:flex;flex-direction:column}.tv-catalog-home .tv-card:not(:only-child) .tv-card-details{margin-top:auto}}
/* Multiple optional services in one compact panel. */
.tv-catalog-home .tv-extra-panel{min-width:0;padding:0 11px;border:1px solid #d8c1ed;border-radius:10px;background:#f0e7fa}
.tv-catalog-home .tv-extra-panel .tv-card-extras{padding:0;border:0;border-radius:0;background:none;gap:0}
.tv-catalog-home .tv-extra-panel .tv-card-extras>div{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:9px 0}
.tv-catalog-home .tv-extra-panel .tv-card-extras>div+div{padding-top:9px;border-top:1px solid #ddcdec}
.tv-catalog-home .tv-extra-panel .tv-card-extras dt{font-size:12px;line-height:1.4}
.tv-catalog-home .tv-extra-panel .tv-card-extras dd strong{font-size:13px;white-space:nowrap}
.tv-catalog-home .tv-extras-note{margin:0;padding:7px 0 9px;border-top:1px solid #ddcdec;font:500 10px/1.4 system-ui,sans-serif;color:#665070;white-space:normal}
@media(min-width:761px){.tv-catalog-home .tv-card:only-child .tv-extra-panel{grid-column:2;grid-row:5;align-self:start}}
/* Clearly visible package navigation with room below the cards. */
.tv-catalog-home .tv-rail-controls{padding:10px 4px 8px;margin-top:4px;gap:12px;min-height:64px;overflow:visible;color:#e8d6fc}
.tv-catalog-home .tv-rail-controls button{flex:0 0 48px;width:48px;height:48px;display:grid;place-items:center;border:1px solid #dac3f2;border-radius:14px;background:#f0e4fc;color:#643594;font:700 26px/1 system-ui,sans-serif;box-shadow:0 4px 12px #08041235;cursor:pointer}
.tv-catalog-home .tv-rail-controls button:hover:not(:disabled){background:#fff;color:#502180}
.tv-catalog-home .tv-rail-controls button:disabled{opacity:1;background:#30243f;color:#9c87ae;border-color:#645074;box-shadow:none;cursor:default}
.tv-catalog-home .tv-rail-controls button:focus-visible{outline:3px solid #e6c7ff;outline-offset:3px}
.tv-catalog-home .tv-rail-controls>span{font:600 12px/1.4 system-ui,sans-serif;text-align:center}
.tv-catalog-home .tv-category:has(.tv-rail-controls){padding-bottom:12px}
@media(max-width:600px){.tv-catalog-home .tv-rail-controls{padding-bottom:14px}.tv-catalog-home .tv-package-rail{padding-bottom:4px;scrollbar-width:none}.tv-catalog-home .tv-package-rail::-webkit-scrollbar{display:none}}
/* On phones, keep package cards in a touch-scrollable rail. Showing the edge of
the following card makes the horizontal gesture discoverable. */
@media screen and (max-width:600px){
.tv-catalog .tv-category{min-height:0;scroll-snap-align:none}
.tv-catalog .tv-package-rail{display:flex;gap:12px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;touch-action:pan-x pan-y;padding:0 2px 10px}
.tv-catalog .tv-package-rail>.tv-card{flex:0 0 calc(100% - 28px);width:auto;height:auto;min-height:0;max-height:none;scroll-snap-align:start}
.tv-catalog .tv-card .tv-card-cover{height:190px}
.tv-catalog .tv-card .tv-card-body{padding:16px;min-width:0}
.tv-catalog .tv-card .tv-card-summary,.tv-catalog .tv-card-facts dd{display:block;overflow:visible;-webkit-line-clamp:unset;font-size:14px;line-height:1.5}
.tv-catalog .tv-card-facts dt{font-size:12px}
.tv-catalog .tv-card .tv-card-cta{min-height:46px;font-size:14px;white-space:normal}
.tv-catalog .tv-category-heading{flex-wrap:wrap;gap:8px}
.tv-catalog .tv-month-filter{font-size:16px;min-height:44px;max-width:100%}
.tv-catalog .tv-card-details{grid-template-columns:minmax(0,1fr)}
.tv-catalog .tv-card-details .tv-card-footer{border-left:0;padding-left:0}
.tv-catalog .tv-rail-controls{display:flex}
}
@media(max-width:600px){
.tv-catalog.tv-catalog-home .tv-card .tv-card-cover{height:175px}
.tv-catalog.tv-catalog-home .tv-card .tv-card-body{padding:14px;gap:8px}
.tv-catalog.tv-catalog-home .tv-card .tv-card-summary{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;font-size:12px;line-height:1.45}
.tv-catalog.tv-catalog-home .tv-card-facts>div{padding:7px 0}
.tv-catalog.tv-catalog-home .tv-card-facts dt,.tv-catalog.tv-catalog-home .tv-card-facts dd,.tv-catalog.tv-catalog-home .tv-included-list li{font-size:11px;line-height:1.4}
.tv-catalog.tv-catalog-home .tv-card-details .tv-card-footer{padding:11px}
}
/* Desktop: each category has one flexible row, with at most three visible cards. */
@media screen and (min-width:1024px) {
.tv-catalog .tv-package-rail {
--tv-rail-columns:1;
--tv-rail-gap:20px;
display:flex;
gap:var(--tv-rail-gap);
overflow-x:auto;
overflow-y:hidden;
scroll-snap-type:x mandatory;
scroll-padding-inline:0;
padding:0 0 12px;
align-items:stretch;
}
.tv-catalog .tv-package-rail[data-columns="2"] { --tv-rail-columns:2; }
.tv-catalog .tv-package-rail[data-columns="3"] { --tv-rail-columns:3; }
.tv-catalog .tv-package-rail>.tv-card {
flex:0 0 calc((100% - (var(--tv-rail-columns) - 1)*var(--tv-rail-gap))/var(--tv-rail-columns));
width:auto;
max-width:none;
min-width:0;
scroll-snap-align:start;
}
.tv-catalog .tv-package-rail[data-columns="3"] .tv-card-details {
display:flex;
flex-direction:column;
gap:14px;
}
.tv-catalog .tv-package-rail[data-columns="3"] .tv-card-details .tv-card-footer {
display:flex;
flex-direction:column;
align-items:stretch;
gap:12px;
width:100%;
border-left:0;
}
.tv-catalog:not(.tv-catalog-home) .tv-package-rail[data-columns="3"] .tv-card-details .tv-card-footer {
border-top:1px solid #40334f;
padding:12px 0 0;
}
.tv-catalog .tv-package-rail[data-columns="3"] .tv-card-footer>div {
grid-template-columns:minmax(0,1fr) auto;
align-items:baseline;
column-gap:8px;
}
.tv-catalog .tv-package-rail[data-columns="3"] .tv-card-footer small { grid-column:1/-1;max-width:none; }
.tv-catalog .tv-package-rail[data-columns="3"] .tv-card-cta { width:100%;max-width:none; }
}
/* Keep each accommodation together with its own board basis. */
.tv-catalog .tv-card-facts .tv-stays-row { align-items:start; }
.tv-catalog .tv-card-facts .tv-stays-row>dd { display:block;overflow:visible;-webkit-line-clamp:unset; }
.tv-catalog .tv-stay-list { display:grid;gap:9px;list-style:none;margin:0;padding:0; }
.tv-catalog .tv-stay-list>li { list-style:none;margin:0;padding:0;min-width:0;line-height:1.45; }
.tv-catalog .tv-stay-list>li::before { content:none; }
.tv-catalog .tv-stay-list>li+li { border-top:1px solid #a77be52e;padding-top:9px; }
.tv-catalog .tv-stay-name { display:block;font-weight:650;overflow-wrap:anywhere; }
.tv-catalog .tv-stay-list .tv-stay-treatment { display:block;margin-top:3px;font-size:11px;line-height:1.4;color:#bcb0cb; }
.tv-catalog-home .tv-stay-list .tv-stay-treatment { color:#796587; }
/* Compact service information, opened by the customer. */
.tv-service-details{min-width:0;font-weight:400}.tv-service-details summary{cursor:pointer;font-weight:600;overflow-wrap:anywhere;min-height:28px}.tv-service-details p{white-space:pre-line;font-size:12px;line-height:1.55;margin:8px 0;overflow-wrap:anywhere}.tv-card-extras dt{min-width:0;flex:1}.tv-service-details[open] summary{margin-bottom:6px}
