.fh{--fh-blue:#1e3c72;--fh-lime:#9cc53c;--fh-border:#dde3eb;--fh-muted:#59677b;--fh-soft:#f4f7fa;color:#18283e;background:var(--fh-soft);padding-bottom:3rem}
.fh [hidden]{display:none!important}.fh-wrap{max-width:1240px;margin:auto;padding:0 24px}
.fh-hero{background:var(--fh-blue);color:#fff;padding:38px 0}.fh-hero h1{font-size:clamp(2rem,4vw,3.3rem);line-height:1.14;font-weight:750;letter-spacing:-.04em;margin:14px 0 18px}.fh-hero p{max-width:650px}.fh-eyebrow{font-size:.72rem;font-weight:750;letter-spacing:.13em}.fh-hero .fh-eyebrow{color:#d9eca9}
.fh-content{padding-top:24px}.fh-notice{font-size:.85rem;margin-bottom:20px;color:var(--fh-muted)}
.fh-panel{background:#fff;border:1px solid var(--fh-border);border-radius:16px;padding:26px;margin-bottom:22px}.fh-panel h2{font-size:1.25rem;font-weight:700;margin:0 0 16px}.fh-panel p{color:var(--fh-muted);font-size:.9rem;line-height:1.6}
.fh-fields{display:grid;grid-template-columns:2fr 1.2fr 1.2fr .8fr .8fr;gap:14px}.fh-panel label{font-size:.8rem;font-weight:650;display:flex;flex-direction:column;gap:7px}.fh-panel input,.fh-panel select{width:100%;min-width:0;border:1px solid var(--fh-border);border-radius:8px;background:#fff;color:#18283e;font:inherit;font-size:1rem;min-height:46px;padding:10px}
.fh input:focus-visible,.fh select:focus-visible,.fh button:focus-visible,.fh a:focus-visible{outline:3px solid var(--fh-blue);outline-offset:3px}
.fh-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:18px}.fh-actions p{margin:0;font-size:.8rem}.fh-button{border:1px solid transparent;border-radius:9px;background:var(--fh-lime);color:#17280d;padding:12px 18px;font-size:.9rem;font-weight:700;cursor:pointer}.fh-button:disabled{opacity:.55;cursor:default}.fh-secondary{background:#fff;color:var(--fh-blue);border-color:var(--fh-border)}
.fh-results{margin-top:40px}.fh-summary{margin-top:24px}.fh-summary hr{border:0;border-top:1px solid var(--fh-border);margin:22px 0}.fh-summary .fh-small,.fh-small{font-size:.78rem!important}.fh-summary-line{display:flex;gap:16px;justify-content:space-between;align-items:start;margin:14px 0}.fh-summary-line strong{white-space:nowrap}.fh-total{background:var(--fh-soft);border-radius:10px;padding:16px;margin-top:20px}.fh-total strong{display:block;font-size:1.7rem;color:var(--fh-blue)}
.fh-selected{outline:2px solid var(--fh-blue);outline-offset:-2px}
.fh-rate,.fh-flight{border:1px solid var(--fh-border);border-radius:12px;padding:18px;margin-top:14px}.fh-rate h3,.fh-flight h3{font-size:1rem;margin:0 0 8px}.fh-rate ul{padding-left:18px;font-size:.8rem;color:var(--fh-muted)}.fh-rate .fh-actions,.fh-flight .fh-actions{flex-wrap:wrap}.fh-flight-fields{grid-template-columns:1fr 1fr;margin-bottom:14px}.fh-flight-leg{display:flex;justify-content:space-between;gap:12px;background:var(--fh-soft);padding:12px;border-radius:8px;margin:8px 0;font-size:.85rem}.fh-flight details{font-size:.8rem;margin:12px 0}.fh-error{background:#fff1ed;border:1px solid #f5c6bb;color:#8a2811!important;padding:14px;border-radius:10px}.fh-loading{opacity:.6;pointer-events:none}#fhMoreHotels{margin-top:20px}
@media(max-width:720px){.fh-wrap{padding:0 16px}.fh-content{padding-top:20px}.fh-hero{padding:32px 0}.fh-panel{padding:20px}.fh-actions{align-items:stretch;flex-direction:column}.fh-flight-leg{flex-wrap:wrap}}
@media(max-width:480px){.fh-flight-fields{grid-template-columns:1fr}}

.fh-search{min-width:0}.fh-hotels-panel{margin-bottom:28px}.fh-hotels-panel h2{font-size:1.5rem;font-weight:700}.fh-hotels-panel>p{color:var(--fh-muted)}
/* Search typography, fields and button come from hoescape.css, as on home.
   Only the extra departure field needs a wider desktop layout. */
.fh .search-submit[aria-busy="true"]{opacity:.6}
/* All facets follow the page scroll; a capped inner panel concealed localities and services. */
@media(min-width:992px){#flightHotelResults .filters-sidebar{position:static;max-height:none;overflow:visible}}
@media(min-width:1400px){#flightHotelPreview .fh-wrap{max-width:1440px}html[data-skin="hoe"] .fh .search-dates{flex-grow:1.7}}
@media(min-width:992px) and (max-width:1399.98px){html[data-skin="hoe"] .fh .search-row{flex-wrap:wrap}html[data-skin="hoe"] .fh .search-field{flex-basis:calc(50% - 14px)}html[data-skin="hoe"] .fh .search-submit{width:100%;min-height:52px}.fh .search-submit span{display:inline!important}}
.fh .hoe-hcard__media{background:#e8edf3}.fh .hoe-hcard__see{border:0}.fh .hoe-hcard__title button{padding:0;background:none;border:0;color:inherit;text-align:left;font:inherit}
.fh .hoe-hcard__media>button{display:block;border:0;padding:0;width:100%;height:100%;background:transparent}
@media(max-width:575px){.fh-results{margin-top:28px}}
.fh-back{display:inline-flex;gap:8px;margin:12px 0 20px;text-decoration:none;font-weight:600}
.fh-trip-bar{display:flex;flex-wrap:wrap;align-items:center;gap:12px 28px;padding:18px 22px;background:#fff;border-radius:14px;color:var(--fh-blue);font-weight:600}
.fh-trip-bar a{margin-left:auto}.fh-combination{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:32px;align-items:start}.fh-total-panel{padding:24px;background:var(--fh-soft);border-radius:14px}.fh-total-amount{display:block;font-size:2.5rem;font-weight:800;color:#f5901e;margin:12px 0}.fh-total-panel button{width:100%}
.fh-detail .fh-panel{margin-bottom:24px}.fh-detail .fh-panel h2{font-size:1.45rem}.fh-detail .fh-panel ul{font-size:.9rem;line-height:1.7}.fh-detail .vr-flights{margin:14px 0}.fh-detail .hd-hero-mosaic__title-row{display:block}.fh-detail .hd-hero-mosaic__title-block{display:block}.fh-detail .hd-hero-mosaic__more-overlay{z-index:2}.fh-detail .fh-selected{outline-color:var(--fh-lime)}
.fh-difference{font-size:1.05rem;color:var(--fh-blue);font-weight:700}.fh-detail .fh-rate{display:flex;flex-direction:column;gap:8px}.fh-detail .fh-rate p{margin-bottom:4px}
@media(max-width:991px){.fh-combination{grid-template-columns:minmax(0,1fr)}.fh-detail .hd-hero-mosaic__title-block{display:block!important}.fh-detail .hd-hero-mosaic__name{display:block!important;font-size:1.8rem}.fh-trip-bar a{margin-left:0}}

/* Same gallery, room and summary components as the travel hotel sheet. */
.fh.vd-page.fh-trip-detail{background:#fff;color:inherit;padding-bottom:4rem}.fh-trip-detail .vd-step-label{font-size:1rem;line-height:inherit;margin:0}.fh-trip-detail .v2-mod{text-decoration:none;display:inline-flex;align-items:center}
.fh-status-panel{margin:12px 0 18px;color:var(--fh-muted);font-size:.86rem}.fh-status-panel p{margin-bottom:8px}.fh-trip-detail .vd-place{flex-wrap:wrap}.fh-trip-detail .vd-main>section{min-width:0}
.fh-trip-side{scroll-margin-top:90px}.fh-trip-side .v2-riep-piede{position:static}.fh-trip-side .v2-passo-val{overflow-wrap:anywhere}
.fh-trip-detail .fh-rate.fh-selected{outline-color:#e08b1a}
.fh-trip-detail .v2-leg-cap small{display:block;font-size:.7rem;color:#667}.fh-trip-detail .v2-leg-cap:last-child{text-align:right}.fh-trip-detail .fh-rate .vd-flightinfo{border:0;padding:0}
.fh-trip-detail .vd-cta:disabled,.fh-trip-detail .v2-mod:disabled,.fh-room-select:disabled{opacity:.55;cursor:default}.fh-trip-detail .v2-mod.w-100{justify-content:center}
.fh-dock-close{display:none}
.fh-dock-sheet:not([open]){display:none}
.fh-dock-sheet{top:auto;margin:0;width:100%;max-width:none;border:0;padding:0;color:inherit;background:#fff}
.fh-dock-sheet::backdrop{background:rgba(15,38,64,.45)}
.fh-dock-sheet[open]{animation:fh-dock-in .28s cubic-bezier(.4,0,.2,1)}
@keyframes fh-dock-in{from{transform:translateY(100%)}to{transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.fh-dock-sheet[open]{animation:none}}
.fh-dock-sheet[open] .vd-dock-body{height:72dvh;max-height:72dvh}
.fh-dock-sheet .fh-summary-card{min-height:100%;overflow:visible;border:0;border-radius:0;box-shadow:none}
.fh-dock-sheet .v2-riep-head{margin:0 -14px;background:linear-gradient(135deg,#1e3c72 0%,#2a66c2 100%)}
.fh-dock-sheet .fh-dock-close{display:inline-flex}
.fh-trip-detail .vd-dock-cta{border:0;font-family:inherit}
.fh-trip-detail .vd-dock-cta:disabled{opacity:.55;cursor:default}
.fh-trip-detail #fhMobileDock button:focus-visible{outline-color:#fff}
@media(max-width:359px){.fh-trip-detail .vd-dock-header{gap:6px;padding-right:10px;padding-left:8px}.fh-trip-detail .vd-dock-price{padding-left:4px}.fh-trip-detail .vd-dock-total{font-size:22px}.fh-trip-detail .vd-dock-rie{padding:0 8px}.fh-trip-detail .vd-dock-cta{padding:0 10px}}
/* Match the compact ETG rows in hotel-detail.css, scoped to the combination
   page so the hotel sheet's global layout and booking styles stay separate. */
.fh-room-section{padding:2rem}
.fh-room-section .vd-step-label{font-size:1.125rem;color:var(--primary,#1e3c72)}
.fh-room-section>.fh-small{color:var(--fh-muted);margin-bottom:1.25rem}
.fh-room-group{border:1px solid #e9ecef;border-radius:12px;background:#fff;min-width:0}
.fh-room-group+.fh-room-group{margin-top:1.25rem}
.fh-room-group:has(.is-picked){border-color:rgba(224,139,26,.45);box-shadow:0 0 0 1px rgba(224,139,26,.25)}
.fh-room-group-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:1rem 1.15rem}
.fh-room-group-head .fh-room-name{min-width:0;margin:0;font-size:1rem;font-weight:700;line-height:1.3;color:#1a2235;overflow-wrap:anywhere}
.fh-room-rates{padding:0 .625rem .625rem}
.fh-room-option{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"summary price" "details price";align-items:center;gap:.35rem .5rem;padding:.625rem .75rem;margin-bottom:.4rem;border:2px solid #e9ecef;border-radius:12px;background:#fff;transition:border-color .2s,background-color .2s,box-shadow .2s}
.fh-room-option:last-child{margin-bottom:0}
.fh-room-option:hover{border-color:var(--primary,#1e3c72);background:#f8f9fa}
.fh-room-option.is-picked{border-color:rgba(224,139,26,.45);border-left:4px solid var(--price-amber,#e08b1a);padding-left:calc(.75rem - 2px);background:var(--card-selected-bg,#fdf8f0);box-shadow:0 0 0 1px rgba(224,139,26,.3),0 2px 6px rgba(245,166,35,.12)}
.fh-room-rate-summary{grid-area:summary;display:flex;align-items:center;flex-wrap:wrap;gap:.4rem;min-width:0}
.fh-room-select{display:flex;align-items:center;min-width:0;border:0;padding:0;background:transparent;text-align:left;font:inherit;color:inherit;cursor:pointer}
/* Stretch selection across the row, leaving details and cancellation above
   it. Each action remains a native keyboard-accessible button. */
.fh-room-select::after{content:"";position:absolute;inset:0;z-index:1;border-radius:10px}
.fh .fh-room-select:focus-visible{outline:none}
.fh-room-select:focus-visible::after{outline:3px solid var(--primary,#1e3c72);outline-offset:3px}
.fh-room-select:disabled::after{pointer-events:none}
.fh-room-treatment{font-size:.9rem;font-weight:600;line-height:1.25;color:var(--primary,#1e3c72)}
.fh-room-rate-summary .badge{font-size:.62rem;font-weight:500;padding:.22em .42em;line-height:1.2;white-space:normal;text-align:left}
.fh-room-cancellation{position:relative;z-index:2;border:0;font-family:inherit;cursor:help}
.fh-room-cancellation i{font-size:.68rem;opacity:.8}
.fh-room-cancellation:focus-visible{outline:2px solid var(--primary,#1e3c72);outline-offset:3px}
.fh-room-policy{font-size:.7rem;line-height:1.3;color:var(--fh-muted)}
.fh-room-price-col{grid-area:price;display:flex;flex-direction:column;align-items:flex-end;gap:3px;text-align:right;pointer-events:none}
.fh-room-price{font-size:1.62rem;font-weight:800;line-height:1.1;color:var(--price-amber,#e08b1a);white-space:nowrap}
.fh-room-option:has(.fh-room-select:disabled) .fh-room-price{max-width:5rem;font-size:.85rem;font-weight:500;line-height:1.3;white-space:normal;color:var(--fh-muted)}
.fh-room-difference{font-size:.7rem;font-weight:700;line-height:1.3;color:var(--fh-muted)}
.fh-room-link{display:inline-flex;align-items:center;gap:5px;border:0;background:transparent;color:var(--primary,#1e3c72);font-family:inherit;font-size:.85rem;font-weight:600;line-height:1.2;padding:0;text-decoration:none;text-align:left;cursor:pointer}
.fh-room-link:hover{text-decoration:underline;text-underline-offset:3px}
.fh-room-link>i{color:var(--accent,#a4b84c)}
.fh-room-services{flex-shrink:0;justify-content:center;min-width:44px;min-height:28px}
.fh-room-services>i{font-size:1rem}
.fh-room-services-count{display:inline-flex;align-items:center;justify-content:center;min-width:17px;height:17px;padding:0 5px;border-radius:999px;background:var(--primary,#1e3c72);color:#fff;font-size:.66rem;font-weight:700;line-height:1}
.fh-room-details{position:relative;z-index:2;grid-area:details;justify-self:start;min-height:28px;white-space:nowrap}
@media(min-width:992px){.fh-room-option{grid-template-columns:minmax(0,1fr) auto auto;grid-template-areas:"summary details price";column-gap:.75rem}}
@media(max-width:767.98px){.fh-room-option{grid-template-areas:"summary summary" "details price"}.fh-room-details,.fh-room-services{min-height:44px}}
@media(max-width:575.98px){.fh-room-section{padding:1rem}.fh-room-section .vd-rooms-head{flex-wrap:wrap;gap:.5rem}.fh-room-group-head{padding:.65rem .75rem}.fh-room-group-head .fh-room-name{font-size:.95rem}.fh-room-rates{padding:0 .5rem .5rem}.fh-room-option{padding:.625rem}.fh-room-option.is-picked{padding-left:calc(.625rem - 2px)}}
.fh-room-dialog{width:min(560px,calc(100% - 32px));max-height:85dvh;overflow:auto;border:1px solid var(--fh-border);border-radius:16px;padding:24px;color:#18283e}.fh-room-dialog::backdrop{background:#18283e88}.fh-room-dialog h2{font-size:1.3rem}.fh-room-dialog h3{font-size:1rem;margin:16px 0}.fh-room-dialog p,.fh-room-dialog li{font-size:.9rem;line-height:1.6;overflow-wrap:anywhere}.fh-room-dialog>.v2-mod{display:block;margin:20px 0 0 auto}body:has(.fh-room-dialog[open]){overflow:hidden}
.fh-more-rooms{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:.4rem .65rem;width:100%;margin-top:1.25rem;padding:.9rem 1rem;border:1px solid var(--fh-border);border-radius:12px;background:var(--fh-soft);color:var(--primary,#1e3c72);font:inherit;font-size:.9rem;font-weight:600;cursor:pointer}
.fh-more-rooms:hover{border-color:var(--primary,#1e3c72)}.fh-more-rooms:disabled{opacity:.55;cursor:default}.fh-more-rooms-count{font-size:.75rem;font-weight:400;color:var(--fh-muted)}
.fh-rooms-filters{display:flex;align-items:end;flex-wrap:wrap;gap:1rem;margin:18px 0 12px;font-size:.8rem}
.fh-rooms-treatment{display:flex;flex:1;min-width:180px;flex-direction:column;gap:6px;font-weight:600}
.fh-rooms-treatment select{width:100%;min-height:44px;border:1px solid var(--fh-border);border-radius:8px;padding:8px 10px;background:#fff;color:inherit;font:inherit}
.fh-rooms-refundable{display:flex;align-items:center;gap:8px;min-height:44px;cursor:pointer}.fh-rooms-refundable input{width:18px;height:18px;accent-color:var(--primary,#1e3c72);flex-shrink:0}
.fh-rooms-empty{padding:24px 0;text-align:center}.fh-rooms-empty p{color:var(--fh-muted);font-size:.9rem}.fh-rooms-empty .v2-mod{margin:auto}
.fh-review-badge{font-size:.8rem;color:var(--fh-blue);text-decoration:none;border:1px solid var(--fh-border);border-radius:8px;padding:7px 10px}.fh-guest-reviews{scroll-margin-top:100px}.fh-review-summary{display:flex;align-items:center;gap:16px;margin:16px 0}.fh-review-summary p{margin:0;font-size:.85rem;color:var(--fh-muted)}.fh-review-score{font-size:1.8rem;background:var(--fh-blue);color:#fff;padding:10px 14px;border-radius:10px}.fh-review-score small{font-size:.8rem;margin-left:2px}.fh-guest-review{border-top:1px solid var(--fh-border);padding:18px 0 4px}.fh-guest-review header{display:flex;flex-wrap:wrap;gap:8px 16px;font-size:.85rem;margin-bottom:12px}.fh-guest-review time{color:var(--fh-muted)}.fh-guest-review header span{margin-left:auto;font-weight:700;color:var(--fh-blue)}.fh-guest-review p{white-space:pre-line;font-size:.85rem;line-height:1.6;overflow-wrap:anywhere}.fh-guest-review p strong{font-weight:600}
@media(max-width:575px){.fh-room-dialog{padding:20px}}
@media(max-width:991.98px){.fh.vd-page.fh-trip-detail{padding-bottom:110px}.fh-trip-detail .vd-cols{display:flex;flex-direction:column;gap:16px}.fh-trip-detail .vd-main{display:contents}.fh-trip-detail .vd-cols>*{width:100%}.fh-room-section{order:1}.fh-flight-section{order:2}.fh-trip-detail .fh-trip-side{display:none}.fh-trip-detail .fh-info{order:4;width:100%}}
@media(max-width:575px){.fh-trip-detail .vd-rooms-count{font-size:.7rem}.fh-trip-detail .vd-flightinfo-head{align-items:center}.fh-trip-detail .v2-leg-coda{flex-basis:100%;text-align:left;margin-left:0}}
/* Package summary follows the hotel sheet's typography, prices and actions. */
.fh-summary-card{border:1px solid #e5e8ed;border-radius:16px;background:#fff;box-shadow:0 8px 28px #172d4d0d;overflow:hidden;color:var(--primary,#1e3c72)}
.fh-summary-banner{position:relative;display:flex;align-items:center;justify-content:center;gap:8px;padding:13px 16px;background:var(--accent,#a4b84c);color:#fff;font-size:.78rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}
.fh-summary-content{padding:20px}.fh-summary-room{display:flex;align-items:flex-start;gap:8px;font-size:.95rem;line-height:1.4}.fh-summary-room strong{font-weight:600;overflow-wrap:anywhere}.fh-summary-room>i{padding-top:2px;flex-shrink:0}
.fh-summary-board{margin:6px 0 15px 24px;font-size:.8rem;color:var(--fh-muted)}.fh-summary-stay{display:flex;gap:8px;align-items:center;font-size:.85rem;font-weight:600}.fh-summary-party{font-size:.76rem;color:var(--fh-muted);margin:5px 0 14px 24px}
.fh-summary-flight{display:flex;gap:9px;padding:12px 0;border-top:1px solid #eef0f3;border-bottom:1px solid #eef0f3;font-size:.75rem;line-height:1.5}.fh-summary-flight>i{font-size:1rem}.fh-summary-flight strong{font-weight:600}.fh-summary-flight span#fhSideFlight{display:block;margin-top:4px;white-space:pre-line;color:var(--fh-muted)}
.fh-summary-total{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:18px 0 8px}.fh-summary-total>span{font-size:.95rem;font-weight:700}.fh-summary-total small{display:block;color:var(--fh-muted);font-size:.66rem;font-weight:400;margin-top:3px}.fh-summary-total>strong{font-size:2rem;font-weight:800;line-height:1.15;color:var(--price-amber,#e08b1a);white-space:nowrap}
.fh-summary-note{font-size:.78rem;line-height:1.5;margin:10px 0;color:var(--fh-muted)}.fh-summary-note:empty{display:none}.fh-summary-payment{font-size:.75rem;color:var(--fh-muted);text-align:center;margin:0 0 14px}.fh-summary-payment strong{color:#172b4d}
.fh-summary-button{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:44px;padding:11px 10px;border:1px solid #d5dce6;border-radius:10px;background:#fff;color:var(--primary,#1e3c72);font-family:inherit;font-size:.82rem;font-weight:600;line-height:1.3;text-decoration:none;cursor:pointer;transition:background .15s,border-color .15s}.fh-summary-button:hover{background:#f4f6f9;border-color:var(--primary,#1e3c72);color:var(--primary,#1e3c72)}.fh-summary-button:disabled{opacity:.55;cursor:default}
.fh-summary-book{border-color:var(--accent,#a4b84c);background:var(--accent,#a4b84c);color:#fff;min-height:50px;font-size:1rem;font-weight:700}.fh-summary-book:hover{background:var(--accent,#a4b84c);border-color:var(--accent,#a4b84c);color:#fff;filter:brightness(.96)}
.fh-summary-reassurance{text-align:center;color:var(--fh-muted);font-size:.68rem;margin:7px 0 16px}.fh-summary-reassurance i{color:var(--accent,#a4b84c)}
.fh-summary-save{min-height:44px;padding:8px 14px;border:1.5px solid var(--primary,#1e3c72);font-size:13px;font-weight:700;gap:6px}.fh-summary-save i{font-size:14px}
.fh-summary-actions,.fh-summary-contacts{display:flex;gap:8px;margin-top:8px}.fh-summary-actions .fh-summary-heart,.fh-summary-actions .operator-shortlist-btn{width:44px;min-width:44px;padding:0;margin:0}.fh-summary-heart[aria-pressed=true]{color:#cf4768}.fh-summary-contacts>a{flex:1}.fh-summary-phone,.fh-summary-phone:hover{background:var(--primary,#1e3c72);color:#fff;border-color:var(--primary,#1e3c72)}.fh-summary-whatsapp,.fh-summary-whatsapp:hover{background:#229b57;border-color:#229b57;color:#fff}
.fh-summary-actions>.of-share-btn--inline{flex:1 1 auto}
.fh-summary-actions .fh-summary-heart{height:44px;flex:0 0 auto;border-color:var(--line,#dce3ec);color:#e74c3c;font-size:20px}.fh-summary-actions .fh-summary-heart:hover{background:var(--light-bg,#f8f9fa);border-color:#e74c3c}
.fh-summary-refresh{display:block;width:100%;border:0;background:transparent;color:var(--fh-muted);font:inherit;font-size:.72rem;text-decoration:underline;text-underline-offset:3px;min-height:40px;margin-top:6px;padding:8px 0;cursor:pointer}
.fh-summary-banner .fh-dock-close{position:absolute;right:10px;top:5px;align-items:center;justify-content:center;width:44px;height:40px;border:0;border-radius:8px;background:transparent;color:#fff;font-size:1rem}
.fh-dock-sheet .fh-summary-content{padding:16px 6px 4px}.fh-dock-sheet .fh-summary-banner{margin:0 -14px;padding:16px 52px 16px 14px;font-size:.72rem}.fh-dock-sheet .fh-summary-card{border-radius:0;box-shadow:none}
.fh-action-dialog{width:min(520px,calc(100% - 28px));max-height:90dvh;overflow:auto;border:0;border-radius:18px;padding:28px;color:var(--primary,#1e3c72);box-shadow:0 16px 80px #10284a33}.fh-action-dialog::backdrop{background:#10284a80}.fh-action-dialog h2{font-size:1.3rem;font-weight:700;margin:0 32px 12px 0}.fh-action-dialog p{font-size:.85rem;line-height:1.55;color:var(--fh-muted)}.fh-dialog-close{position:absolute;top:12px;right:12px;width:40px;height:40px;border:0;background:transparent;color:inherit;border-radius:8px}
.fh-action-dialog label{display:block;font-size:.8rem;font-weight:600;margin-bottom:14px}.fh-action-dialog input:not([type=checkbox]),.fh-action-dialog textarea{display:block;width:100%;padding:10px 12px;margin-top:5px;border:1px solid #d5dce6;border-radius:8px;background:#fff;font:inherit;font-size:1rem;color:#172b4d}.fh-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}.fh-action-dialog .fh-privacy{display:flex;align-items:flex-start;gap:9px;font-weight:400}.fh-privacy input{margin-top:2px;width:18px;height:18px;flex-shrink:0}.fh-action-dialog .fh-error{color:#a33122}.fh-action-summary{padding:12px;border-radius:10px;background:#f4f6f9}.fh-share-options{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}.fh-share-options>*{flex:1;min-width:130px}.fh-action-dialog .fh-summary-button+.fh-summary-button{margin-top:8px}body:has(.fh-action-dialog[open]){overflow:hidden}
@media(max-width:575.98px){.fh-action-dialog{padding:24px 20px}.fh-form-grid{grid-template-columns:1fr}.fh-summary-total>strong{font-size:1.9rem}}
/* Flight alternatives stay in a modal so they do not expand the hotel page. */
.fh-flight-dialog{width:min(860px,calc(100% - 32px));max-width:none;max-height:90dvh;padding:0;border:0;border-radius:18px;background:#fff;color:var(--primary,#1e3c72);box-shadow:0 20px 80px #10284a33;overflow:hidden}
.fh-flight-dialog[open]{display:flex;flex-direction:column}.fh-flight-dialog::backdrop{background:#10284a80}.fh-flight-dialog-head{position:relative;flex-shrink:0;padding:24px 28px 18px;border-bottom:1px solid var(--fh-border)}
.fh-flight-dialog-eyebrow{display:block;margin-bottom:5px;font-size:.7rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--fh-muted)}.fh-flight-dialog h2{margin:0 44px 12px 0;font-size:1.5rem;font-weight:700}.fh-flight-dialog-head>p{margin:6px 0 0;font-size:.8rem;line-height:1.5;color:var(--fh-muted)}.fh-flight-dialog-head .fh-flight-dialog-context{font-weight:600;color:var(--primary,#1e3c72)}.fh-flight-dialog-status:empty{display:none}.fh-flight-dialog-head .fh-error{color:#a33122}
.fh-flight-dialog-close{position:absolute;right:16px;top:18px;display:flex;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid var(--fh-border);border-radius:50%;background:#fff;color:inherit;font-size:1rem;cursor:pointer}.fh-flight-dialog-close:hover{background:var(--fh-soft)}
.fh-flight-dialog-list{min-height:0;overflow:auto;overscroll-behavior:contain;padding:20px 28px 28px;background:var(--fh-soft)}.fh-flight-option{border:1px solid var(--fh-border);border-radius:14px;background:#fff;padding:16px 20px}.fh-flight-option+.fh-flight-option{margin-top:16px}.fh-flight-option.is-current{border-color:var(--accent,#a4b84c);box-shadow:0 0 0 1px var(--accent,#a4b84c)}
.fh-flight-option .vd-flightinfo-row{padding:10px 0}.fh-flight-option .v2-leg-cap{min-width:0;overflow-wrap:anywhere}.fh-flight-option .v2-leg-coda{font-size:.72rem}.fh-flight-option-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:12px;padding-top:14px;border-top:1px solid #eef0f3}.fh-flight-option-price{display:flex;flex-direction:column;gap:3px}.fh-flight-option-price small,.fh-flight-option-price>span{font-size:.72rem;line-height:1.4;color:var(--fh-muted)}.fh-flight-option-price strong{font-size:1.65rem;font-weight:800;line-height:1.2;color:var(--price-amber,#e08b1a)}.fh-flight-option-footer .fh-summary-button{width:auto;min-width:170px;flex-shrink:0;font-size:.85rem}.fh-flight-option-footer .fh-summary-button:disabled{opacity:1;background:#f4f6f9;color:var(--fh-muted);border-color:var(--fh-border)}
.fh-flight-option-price>span{font-weight:700}
body:has(.fh-flight-dialog[open]){overflow:hidden}
@media(max-width:575.98px){.fh-flight-dialog{width:calc(100% - 20px);max-height:94dvh;border-radius:16px}.fh-flight-dialog-head{padding:20px 18px 16px}.fh-flight-dialog h2{font-size:1.3rem}.fh-flight-dialog-close{right:12px;top:14px}.fh-flight-dialog-list{padding:14px}.fh-flight-option{padding:10px 14px}.fh-flight-option-footer{align-items:stretch;flex-direction:column;gap:12px}.fh-flight-option-footer .fh-summary-button{width:100%}.fh-flight-option .vd-flight-leg-head{flex-wrap:wrap}.fh-flight-option .v2-leg-coda{flex-basis:100%;text-align:left;margin-left:0}}
@media(max-width:575.98px){
  #fhFlightsPanel .fh-flight-dialog-head{min-height:72px}
  #fhFlightsPanel h2{margin-bottom:0;line-height:1.25}
  #fhFlightsPanel .fh-flight-dialog-eyebrow,#fhFlightsDescription,#fhFlightsContext{display:none}
  .fh-rooms-picker{width:100%;height:100dvh;max-height:100dvh;margin:0;border-radius:0}
  .fh-rooms-picker .fh-flight-dialog-head{padding-top:max(20px,env(safe-area-inset-top));padding-bottom:10px}
  .fh-rooms-picker h2{margin-bottom:0;line-height:1.25}
  .fh-rooms-picker .fh-flight-dialog-eyebrow,.fh-rooms-picker #fhRoomsDescription{display:none}
  .fh-rooms-mobile-sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
  .fh-rooms-picker .fh-flight-dialog-list{flex:1;padding-bottom:max(14px,env(safe-area-inset-bottom))}
  .fh-rooms-filters{gap:.35rem;margin:10px 0 0}
  .fh-rooms-refundable{width:100%}
  .fh-more-rooms>span:first-child{flex-basis:100%}
}

/* Ingresso dal preventivo: barra «Torna al tuo preventivo» (come sulle schede hotel). */
.back-to-quote-bar { position: sticky; top: 0; z-index: 1050; display: flex; align-items: center;
  padding: 10px 16px; background: var(--primary, #1e3c72); color: #fff; text-decoration: none; font-size: 0.9rem; }
.back-to-quote-bar:hover, .back-to-quote-bar:focus { filter: brightness(1.1); color: #fff; }
.back-to-quote-bar .bi-arrow-left-circle-fill { font-size: 1.3rem; flex-shrink: 0; }
.back-to-quote-bar .bi-chevron-right { opacity: 0.7; }
@media (max-width: 576px) { .back-to-quote-bar { font-size: 0.82rem; padding: 9px 12px; } }
