/* ==========================================================================
   INPSieme Vacanza – foglio di stile del plugin.
   Tutte le classi hanno prefisso "iv-" per convivere con il tema ed Elementor.
   I colori principali (--iv-oceano, --iv-sole) si cambiano dalle impostazioni.
   ========================================================================== */

:root {
    --iv-oceano: #0B5FD6;
    --iv-oceano-scuro: #083F8F;
    --iv-oceano-chiaro: #E3EEFF;
    --iv-sole: #FFC533;
    --iv-sole-scuro: #E5A800;
    --iv-sole-chiaro: #FFF3CC;
    --iv-menta: #19B394;
    --iv-menta-scuro: #0F8A72;
    --iv-menta-chiaro: #DDF6F0;
    --iv-lampone: #E4416B;
    --iv-lampone-scuro: #B92B50;
    --iv-lampone-chiaro: #FCE2E9;
    --iv-notte: #101C33;
    --iv-testo: #26303F;
    --iv-muto: #66707F;
    --iv-crema: #FFF9F0;
    --iv-sabbia: #F6F0E4;
    --iv-bianco: #FFFFFF;
    --iv-bordo: #ECE6DA;
    --iv-whatsapp: #25D366;
    --iv-font-titoli: 'Bricolage Grotesque', 'Segoe UI', Arial, sans-serif;
    --iv-font-testo: 'Figtree', 'Segoe UI', Arial, sans-serif;
    --iv-raggio: 22px;
    --iv-raggio-piccolo: 14px;
    --iv-ombra: 0 12px 34px rgba(16, 28, 51, .10);
    --iv-ombra-forte: 0 22px 50px rgba(16, 28, 51, .18);
    --iv-larghezza: 1200px;
}

/* Base ---------------------------------------------------------------- */
body.iv-layout-plugin { margin: 0; background: var(--iv-crema); color: var(--iv-testo); font-family: var(--iv-font-testo); font-size: 17px; line-height: 1.6; -webkit-font-smoothing: antialiased; }
.iv-main { display: block; }
[class^="iv-"], [class*=" iv-"] { box-sizing: border-box; }
.iv-header *, .iv-footer *, .iv-sezione *, .iv-scheda *, .iv-testata-pagina *, .iv-hero *, .iv-calc * { box-sizing: border-box; }
.iv-header, .iv-footer, .iv-sezione, .iv-scheda, .iv-testata-pagina, .iv-hero, .iv-calc, .iv-wa-fisso { font-family: var(--iv-font-testo); color: var(--iv-testo); line-height: 1.6; }
.iv-header img, .iv-footer img, .iv-sezione img, .iv-scheda img, .iv-hero img { max-width: 100%; height: auto; display: block; }
.iv-header a, .iv-footer a, .iv-sezione a, .iv-scheda a, .iv-hero a { color: inherit; text-decoration: none; }
.iv-header ul, .iv-footer ul, .iv-sezione ul, .iv-scheda ul, .iv-hero ul, .iv-sezione ol { list-style: none; margin: 0; padding: 0; }
.iv-header h1, .iv-sezione h1, .iv-scheda h1, .iv-testata-pagina h1, .iv-hero h1,
.iv-sezione h2, .iv-scheda h2, .iv-calc h2, .iv-sezione h3, .iv-scheda h3, .iv-calc h3, .iv-footer h4, .iv-sezione h4, .iv-scheda h4 { font-family: var(--iv-font-titoli); color: var(--iv-notte); line-height: 1.1; margin: 0 0 .45em; letter-spacing: -.02em; font-weight: 800; }
.iv-sezione p, .iv-scheda p, .iv-hero p, .iv-footer p, .iv-calc p { margin: 0 0 1em; }
.iv-contenitore { width: min(var(--iv-larghezza), 100% - 40px); margin-inline: auto; }
.iv-contenitore-stretto { max-width: 860px; }
.iv-sezione { padding: clamp(52px, 7vw, 92px) 0; position: relative; }
.iv-titolo-sezione { font-size: clamp(1.8rem, 3.4vw, 2.7rem); }
.iv-testata { max-width: 720px; margin: 0 auto 2.4rem; text-align: center; }
.iv-testata p { color: var(--iv-muto); font-size: 1.08rem; }
.iv-testata-riga { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; max-width: none; text-align: left; margin-bottom: 1.8rem; }
.iv-testata-riga p { margin: 0; }
.iv-icona { width: 1.1em; height: 1.1em; vertical-align: -.18em; flex: none; }
.iv-nota { font-size: .9rem; color: var(--iv-muto); }
.iv-sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.iv-footer-seo { border-top: 1px solid rgba(255, 255, 255, .15); padding-top: 18px; margin-bottom: 18px; font-size: .88rem; color: rgba(255, 255, 255, .7); }
.iv-footer-seo p { margin: 0 0 .5em; }
.iv-footer-seo strong { color: #fff; margin-right: .3em; }
.iv-testata-bando { margin-top: .8em !important; }
.iv-testata-azioni { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 1.2em !important; }
.iv-testata-bando a { display: inline-flex; align-items: center; gap: .4em; font-weight: 700; color: var(--iv-oceano) !important; text-decoration: underline !important; }
.iv-chips a { color: inherit; }
.iv-chips a:hover { text-decoration: underline; }
.iv-punto { display: inline-block; width: .55em; height: .55em; border-radius: 50%; margin-right: .45em; vertical-align: .05em; background: var(--iv-oceano); }
.iv-punto-sole { background: var(--iv-sole); } .iv-punto-menta { background: var(--iv-menta); } .iv-punto-lampone { background: var(--iv-lampone); } .iv-punto-oceano { background: var(--iv-oceano); }
.iv-sfondo-sole { background: var(--iv-sole-chiaro); color: var(--iv-sole-scuro); } .iv-sfondo-oceano { background: var(--iv-oceano-chiaro); color: var(--iv-oceano); } .iv-sfondo-menta { background: var(--iv-menta-chiaro); color: var(--iv-menta-scuro); } .iv-sfondo-lampone { background: var(--iv-lampone-chiaro); color: var(--iv-lampone-scuro); }

/* Evidenziazione "marker" sotto i titoli */
.iv-evidenzia { background: linear-gradient(transparent 62%, var(--iv-sole-chiaro) 62%); padding: 0 .1em; }
.iv-evidenzia-oceano { background-image: linear-gradient(transparent 62%, var(--iv-oceano-chiaro) 62%); }
.iv-evidenzia-menta { background-image: linear-gradient(transparent 62%, var(--iv-menta-chiaro) 62%); }
.iv-evidenzia-lampone { background-image: linear-gradient(transparent 62%, var(--iv-lampone-chiaro) 62%); }

/* Sticker / etichette ------------------------------------------------- */
.iv-sticker { display: inline-flex; align-items: center; gap: .4em; padding: .38em .9em; border-radius: 999px; font-family: var(--iv-font-titoli); font-weight: 700; font-size: .85rem; letter-spacing: .01em; background: var(--iv-notte); color: #fff; transform: rotate(-1.5deg); margin-bottom: 1rem; }
.iv-sticker-sole { background: var(--iv-sole); color: var(--iv-notte); }
.iv-sticker-oceano { background: var(--iv-oceano); color: #fff; }
.iv-sticker-menta { background: var(--iv-menta); color: #fff; }
.iv-sticker-lampone { background: var(--iv-lampone); color: #fff; }

/* Pulsanti ------------------------------------------------------------ */
button.iv-btn, input.iv-btn { -webkit-appearance: none; appearance: none; }
.iv-btn, button.iv-btn, input.iv-btn { display: inline-flex; align-items: center; justify-content: center; gap: .45em; padding: .78em 1.4em; border-radius: 999px; font-family: var(--iv-font-titoli); font-weight: 700; font-size: 1rem; line-height: 1.2; border: 2px solid transparent; cursor: pointer; text-decoration: none !important; transition: transform .15s, box-shadow .15s, background .15s, color .15s; white-space: nowrap; }
.iv-btn:hover, button.iv-btn:hover { transform: translateY(-2px); box-shadow: var(--iv-ombra); }
.iv-btn:focus-visible { outline: 3px solid var(--iv-oceano); outline-offset: 2px; }
.iv-btn.iv-btn-sole { background: var(--iv-sole); color: var(--iv-notte) !important; }
.iv-btn.iv-btn-sole:hover { background: var(--iv-sole-scuro); }
.iv-btn.iv-btn-oceano { background: var(--iv-oceano); color: #fff !important; }
.iv-btn.iv-btn-oceano:hover { background: var(--iv-oceano-scuro); }
.iv-btn.iv-btn-menta { background: var(--iv-menta); color: #fff !important; }
.iv-btn.iv-btn-lampone { background: var(--iv-lampone); color: #fff !important; }
.iv-btn.iv-btn-whatsapp { background: var(--iv-whatsapp); color: #fff !important; }
.iv-btn.iv-btn-contorno { background: transparent; color: var(--iv-notte) !important; border-color: var(--iv-notte); }
.iv-btn.iv-btn-contorno-bianco { background: transparent; color: #fff !important; border-color: rgba(255, 255, 255, .7); }
.iv-btn.iv-btn-grande { padding: .95em 1.7em; font-size: 1.05rem; }
.iv-btn.iv-btn-piccolo { padding: .55em 1em; font-size: .9rem; }
.iv-btn.iv-btn-blocco { display: flex; width: 100%; margin-bottom: .6rem; }
.iv-link-freccia { font-family: var(--iv-font-titoli); font-weight: 700; color: var(--iv-oceano) !important; display: inline-flex; align-items: center; gap: .3em; }
.iv-link-freccia:hover { text-decoration: underline !important; }

/* Header -------------------------------------------------------------- */
.iv-header { position: sticky; top: 0; z-index: 900; background: var(--iv-bianco); box-shadow: 0 1px 0 var(--iv-bordo); }
.admin-bar .iv-header { top: 32px; }
.iv-header-top { background: var(--iv-notte); color: #fff; font-size: .85rem; }
.iv-header-top-interno { display: flex; justify-content: space-between; align-items: center; min-height: 36px; gap: 16px; }
.iv-header-top-testo { display: inline-flex; align-items: center; gap: .4em; opacity: .9; }
.iv-header-top-contatti { display: flex; gap: 18px; }
.iv-header-top-contatti a { display: inline-flex; align-items: center; gap: .35em; color: #fff; font-weight: 600; }
.iv-header-interno { display: flex; align-items: center; justify-content: space-between; gap: 24px; min-height: 76px; }
.iv-logo { display: inline-flex; align-items: center; gap: 12px; }
.iv-logo img { max-height: 54px; width: auto; }
.iv-logo-marchio { width: 46px; height: 46px; border-radius: 14px; background: var(--iv-crema); display: grid; place-items: center; box-shadow: inset 0 0 0 1px var(--iv-bordo); }
.iv-logo-marchio svg { width: 34px; height: 34px; }
.iv-logo-testo { display: flex; flex-direction: column; line-height: 1.05; }
.iv-logo-testo strong { font-family: var(--iv-font-titoli); font-size: 1.35rem; color: var(--iv-notte); letter-spacing: -.02em; }
.iv-logo-testo small { font-size: .72rem; color: var(--iv-muto); letter-spacing: .12em; text-transform: uppercase; margin-top: 3px; }
.iv-nav ul { display: flex; gap: 4px; }
.iv-nav a { display: inline-flex; align-items: center; padding: .55em .9em; border-radius: 999px; font-family: var(--iv-font-titoli); font-weight: 700; font-size: .98rem; color: var(--iv-notte); }
.iv-nav a:hover, .iv-nav a[aria-current="page"] { background: var(--iv-sabbia); }
.iv-nav-mobile-contatti { display: none; }
button.iv-nav-chiudi { display: none; }
.iv-header-azioni { display: flex; align-items: center; gap: 10px; }
button.iv-hamburger { display: none; width: 46px; height: 46px; border: 0; border-radius: 12px; background: var(--iv-sabbia); color: var(--iv-notte); cursor: pointer; align-items: center; justify-content: center; }
.iv-hamburger .iv-icona { width: 26px; height: 26px; }
@media (max-width: 960px) {
    .iv-header-top-testo { display: none; }
    .iv-header-top-interno { justify-content: center; }
    button.iv-hamburger { display: inline-flex; }
    .iv-header-cta span { display: none; }
    .iv-header-cta { padding: .7em; width: 46px; height: 46px; }
    .iv-nav { position: fixed; inset: 0; top: 0; background: var(--iv-bianco); padding: 84px 24px 24px; transform: translateX(105%); transition: transform .25s; z-index: 99999; overflow: auto; }
    .iv-nav.iv-aperto { transform: none; }
    button.iv-nav-chiudi { display: inline-flex !important; align-items: center; gap: .35em; position: absolute; top: 18px; right: 18px; padding: .6em 1em !important; border: 0 !important; border-radius: 999px !important; background: var(--iv-sabbia) !important; color: var(--iv-notte) !important; font-family: var(--iv-font-titoli) !important; font-weight: 700 !important; font-size: 1rem !important; cursor: pointer; box-shadow: none !important; }
    button.iv-nav-chiudi .iv-icona { width: 1.2em !important; height: 1.2em !important; }
    body.iv-menu-aperto .iv-wa-fisso, body.iv-menu-aperto .iv-barra-mobile { display: none !important; }
    .admin-bar .iv-nav { padding-top: 130px; }
    .admin-bar button.iv-nav-chiudi { top: 64px; }
    .iv-nav ul { flex-direction: column; gap: 4px; }
    .iv-nav a { font-size: 1.25rem; padding: .7em 1em; }
    .iv-nav-mobile-contatti { display: grid; gap: 10px; margin-top: 24px; }
    .iv-header-barra { position: relative; z-index: 900; }
}

/* Footer -------------------------------------------------------------- */
.iv-footer { background: var(--iv-notte); color: rgba(255, 255, 255, .82); padding: 64px 0 28px; margin-top: 0; }
.iv-footer a { color: #fff; }
.iv-footer a:hover { color: var(--iv-sole); }
.iv-footer h4 { color: #fff; font-size: 1.05rem; margin-bottom: 1rem; }
.iv-footer-griglia { display: grid; grid-template-columns: 1.6fr 1fr 1.2fr 1fr; gap: 40px; margin-bottom: 40px; }
.iv-footer-brand .iv-logo-testo strong { color: #fff; }
.iv-footer-brand .iv-logo-testo small { color: rgba(255, 255, 255, .6); }
.iv-footer-brand p { margin-top: 1rem; }
.iv-footer-social a { margin-right: 14px; font-weight: 700; }
.iv-footer li { padding: .22em 0; }
.iv-footer-consulenti a { display: inline-flex; align-items: center; gap: .4em; }
.iv-footer-orari li { display: flex; justify-content: space-between; gap: 12px; border-bottom: 1px dashed rgba(255, 255, 255, .15); }
.iv-footer-legale { border-top: 1px solid rgba(255, 255, 255, .15); padding-top: 22px; font-size: .82rem; color: rgba(255, 255, 255, .6); }
.iv-footer-legale a { color: rgba(255, 255, 255, .8); }
@media (max-width: 900px) { .iv-footer-griglia { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .iv-footer-griglia { grid-template-columns: 1fr; gap: 28px; } }

/* WhatsApp fisso ------------------------------------------------------ */
.iv-wa-fisso { position: fixed; right: 18px; bottom: 18px; z-index: 950; display: inline-flex; align-items: center; gap: .5em; background: var(--iv-whatsapp); color: #fff !important; padding: .75em 1.1em; border-radius: 999px; font-family: var(--iv-font-titoli); font-weight: 700; box-shadow: var(--iv-ombra-forte); text-decoration: none !important; }
.iv-wa-fisso .iv-icona { width: 1.4em; height: 1.4em; }
@media (max-width: 640px) { .iv-wa-fisso span { display: none; } .iv-wa-fisso { width: 56px !important; height: 56px !important; padding: 0 !important; border-radius: 50% !important; justify-content: center !important; } }
.iv-wa-fisso { box-sizing: border-box !important; line-height: 1 !important; }
.iv-wa-fisso .iv-icona { width: 26px !important; height: 26px !important; flex: none !important; display: block !important; }

/* Hero ---------------------------------------------------------------- */
.iv-hero { position: relative; background: var(--iv-notte); color: #fff; padding: clamp(56px, 8vw, 110px) 0 0; }
.iv-hero-sfondo { position: absolute; inset: 0; overflow: hidden; background: radial-gradient(circle at 20% 20%, rgba(11, 95, 214, .55), transparent 55%), radial-gradient(circle at 85% 70%, rgba(25, 179, 148, .35), transparent 50%), var(--iv-notte); background-size: cover; background-position: center; }
.iv-hero-sfondo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(100deg, rgba(16, 28, 51, .92) 0%, rgba(16, 28, 51, .78) 45%, rgba(16, 28, 51, .35) 100%); }
.iv-hero-interno { position: relative; display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); gap: 40px; align-items: center; padding-bottom: 56px; }
.iv-hero .iv-hero-titolo { color: #fff; font-size: clamp(2.4rem, 5.4vw, 4.3rem); line-height: 1.02; margin-bottom: .5em; }
.iv-hero-sotto { font-size: clamp(1.05rem, 1.5vw, 1.25rem); color: rgba(255, 255, 255, .85); max-width: 560px; }
.iv-hero-prove { display: flex; flex-wrap: wrap; gap: 8px 20px; margin: 1.4rem 0; font-weight: 600; font-size: .95rem; }
.iv-hero-prove li { display: inline-flex; align-items: center; gap: .4em; }
.iv-hero-prove .iv-icona { color: var(--iv-sole); }
.iv-hero-foto { position: relative; height: 380px; overflow: visible; }
.iv-hero-interno, .iv-hero .iv-contenitore { position: relative; z-index: 1; }
.iv-polaroid { position: absolute; width: 58%; background: #fff; padding: 10px 10px 14px; border-radius: 14px; box-shadow: var(--iv-ombra-forte); color: var(--iv-notte); transition: transform .3s; }
.iv-polaroid img { border-radius: 8px; aspect-ratio: 4 / 3; object-fit: cover; width: 100%; }
.iv-polaroid span { display: block; font-family: var(--iv-font-titoli); font-weight: 700; font-size: .85rem; margin-top: 8px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.iv-polaroid-1 { left: 0; top: 30px; transform: rotate(-6deg); z-index: 1; }
.iv-polaroid-2 { right: 0; top: 0; transform: rotate(4deg); z-index: 2; }
.iv-polaroid-3 { left: 22%; bottom: 0; transform: rotate(-1deg); z-index: 3; }
.iv-polaroid:hover { transform: rotate(0) scale(1.04); z-index: 5; }
.iv-ricerca { position: relative; z-index: 2; display: grid; grid-template-columns: 1.2fr 1.2fr 1fr auto; gap: 10px; background: #fff; border-radius: var(--iv-raggio); padding: 14px; box-shadow: var(--iv-ombra-forte); transform: translateY(50%); margin-top: -40px; color: var(--iv-notte); }
.iv-ricerca-campo { display: flex; flex-direction: column; gap: 4px; padding: 6px 14px; border-radius: var(--iv-raggio-piccolo); background: var(--iv-sabbia); }
.iv-ricerca-campo span { display: inline-flex; align-items: center; gap: .35em; font-size: .78rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: var(--iv-muto); }
.iv-ricerca .iv-ricerca-campo select { border: 0; background: transparent; font: inherit; font-weight: 600; font-size: 1rem; color: var(--iv-notte); padding: 0; min-height: 30px; width: 100%; }
.iv-ricerca-campo select:focus { outline: none; }
.iv-hero + .iv-sezione, .iv-hero ~ .iv-segmenti { padding-top: clamp(90px, 10vw, 130px); }
@media (max-width: 960px) {
    .iv-hero-interno { grid-template-columns: 1fr; }
    .iv-hero-foto { display: none; }
    .iv-ricerca { grid-template-columns: 1fr 1fr; transform: none; margin: 0 0 -20px; }
    .iv-ricerca .iv-btn { grid-column: 1 / -1; }
    .iv-hero { padding-bottom: 60px; }
    .iv-hero + .iv-sezione, .iv-hero ~ .iv-segmenti { padding-top: 56px; }
}
@media (max-width: 560px) { .iv-ricerca { grid-template-columns: 1fr; } }

/* Segmenti (per chi parte) ------------------------------------------- */
.iv-segmenti-griglia { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.iv-segmento { position: relative; display: flex; flex-direction: column; justify-content: flex-end; min-height: 380px; border-radius: var(--iv-raggio); overflow: hidden; background: var(--iv-notte); color: #fff; box-shadow: var(--iv-ombra); transition: transform .2s, box-shadow .2s; isolation: isolate; }
.iv-sezione .iv-segmento, .iv-sezione .iv-segmento strong { color: #fff; }
.iv-segmento:hover { transform: translateY(-6px); box-shadow: var(--iv-ombra-forte); }
.iv-segmento img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: 0; transition: transform .5s; }
.iv-segmento:hover img { transform: scale(1.06); }
.iv-segmento::before { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, rgba(16, 28, 51, .95) 20%, rgba(16, 28, 51, .35) 60%, transparent); z-index: 1; }
.iv-segmento-eta { position: absolute; top: 16px; left: 16px; z-index: 2; display: inline-flex; align-items: center; gap: .35em; padding: .35em .8em; border-radius: 999px; font-family: var(--iv-font-titoli); font-weight: 700; font-size: .85rem; background: var(--iv-sole); color: var(--iv-notte); }
.iv-segmento-oceano .iv-segmento-eta { background: var(--iv-oceano); color: #fff; }
.iv-segmento-menta .iv-segmento-eta { background: var(--iv-menta); color: #fff; }
.iv-segmento-lampone .iv-segmento-eta { background: var(--iv-lampone); color: #fff; }
.iv-segmento-corpo { position: relative; z-index: 2; padding: 22px; display: flex; flex-direction: column; gap: 6px; }
.iv-segmento-corpo strong { font-family: var(--iv-font-titoli); font-size: 1.45rem; line-height: 1.1; letter-spacing: -.02em; }
.iv-segmento-corpo em { font-style: normal; font-size: .92rem; color: rgba(255, 255, 255, .82); }
.iv-segmento-piede { display: inline-flex; align-items: center; gap: .35em; font-family: var(--iv-font-titoli); font-weight: 700; color: var(--iv-sole); margin-top: 6px; }
@media (max-width: 960px) { .iv-segmenti-griglia { grid-template-columns: 1fr 1fr; } .iv-segmento { min-height: 300px; } }
@media (max-width: 560px) { .iv-segmenti-griglia { grid-template-columns: 1fr; } .iv-segmento { min-height: 240px; } }

/* Griglie e card ------------------------------------------------------ */
.iv-griglia { display: grid; gap: 24px; grid-template-columns: repeat(3, 1fr); }
.iv-griglia-2 { grid-template-columns: repeat(2, 1fr); }
.iv-griglia-4 { grid-template-columns: repeat(4, 1fr); }
@media (max-width: 1024px) { .iv-griglia, .iv-griglia-4 { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px) { .iv-griglia, .iv-griglia-2, .iv-griglia-4 { grid-template-columns: 1fr; } }
.iv-card { display: flex; flex-direction: column; background: var(--iv-bianco); border-radius: var(--iv-raggio); overflow: hidden; box-shadow: 0 2px 0 var(--iv-bordo), var(--iv-ombra); transition: transform .2s, box-shadow .2s; }
.iv-card:hover { transform: translateY(-5px); box-shadow: var(--iv-ombra-forte); }
.iv-card[hidden] { display: none; }
.iv-card-foto { position: relative; display: block; aspect-ratio: 10 / 7; overflow: hidden; background: var(--iv-sabbia); }
.iv-card-foto img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s; }
.iv-card:hover .iv-card-foto img { transform: scale(1.05); }
.iv-card-tipo { position: absolute; left: 14px; top: 14px; padding: .3em .75em; border-radius: 999px; background: rgba(255, 255, 255, .92); color: var(--iv-notte); font-family: var(--iv-font-titoli); font-weight: 700; font-size: .8rem; }
.iv-card-promo { position: absolute; right: 14px; top: 14px; padding: .3em .75em; border-radius: 999px; background: var(--iv-lampone); color: #fff; font-family: var(--iv-font-titoli); font-weight: 700; font-size: .8rem; transform: rotate(2deg); display: inline-flex; align-items: center; gap: .3em; }
.iv-card-promo-evidenza { background: var(--iv-sole); color: var(--iv-notte); }
.iv-card-corpo { display: flex; flex-direction: column; gap: 8px; padding: 18px 20px 20px; flex: 1; }
.iv-card-luogo { display: inline-flex; align-items: center; gap: .35em; margin: 0; font-size: .85rem; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; color: var(--iv-oceano); }
.iv-card-sole .iv-card-luogo { color: var(--iv-sole-scuro); } .iv-card-menta .iv-card-luogo { color: var(--iv-menta-scuro); } .iv-card-lampone .iv-card-luogo { color: var(--iv-lampone-scuro); }
.iv-card-titolo { font-size: 1.28rem; margin: 0; }
.iv-card-titolo a { color: var(--iv-notte); }
.iv-card-sotto { margin: 0; color: var(--iv-muto); font-size: .95rem; }
.iv-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.iv-chips li { display: inline-flex; align-items: center; gap: .3em; padding: .28em .7em; border-radius: 999px; background: var(--iv-sabbia); font-size: .82rem; font-weight: 600; color: var(--iv-testo); }
.iv-chips .iv-chip-tema { background: var(--iv-oceano-chiaro); color: var(--iv-oceano); }
.iv-chips-grandi li { font-size: .95rem; padding: .4em .9em; }
.iv-chips-link li { padding: 0; }
.iv-chips-link a { display: inline-flex; align-items: center; gap: .4em; padding: .4em .9em; border-radius: 999px; background: var(--iv-bianco); border: 1px solid var(--iv-bordo); font-weight: 600; }
.iv-chips-link a:hover { border-color: var(--iv-oceano); color: var(--iv-oceano); }
.iv-chips-link b { font-size: .75rem; padding: .1em .5em; border-radius: 999px; background: var(--iv-sabbia); }
.iv-card-piede { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: auto; padding-top: 10px; border-top: 1px dashed var(--iv-bordo); }
.iv-prezzo { display: inline-flex; align-items: baseline; gap: .3em; font-family: var(--iv-font-titoli); }
.iv-prezzo small { font-size: .8rem; color: var(--iv-muto); font-weight: 600; }
.iv-prezzo strong { font-size: 1.45rem; color: var(--iv-notte); letter-spacing: -.02em; }
.iv-prezzo s { font-size: .9rem; color: var(--iv-muto); }
.iv-card-inps { margin: 0; display: inline-flex; align-items: center; gap: .35em; font-size: .8rem; color: var(--iv-menta-scuro); font-weight: 600; }

/* Filtri -------------------------------------------------------------- */
.iv-filtri { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 10px; padding: 14px; margin-bottom: 26px; background: var(--iv-bianco); border-radius: var(--iv-raggio); box-shadow: 0 2px 0 var(--iv-bordo); }
.iv-filtro { display: flex; flex-direction: column; gap: 3px; flex: 1 1 150px; }
.iv-filtro-cerca { flex: 2 1 220px; }
.iv-filtro span { font-size: .75rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: var(--iv-muto); }
.iv-filtri .iv-filtro select, .iv-filtri .iv-filtro input { font: inherit; font-weight: 600; padding: .55em .8em; border: 1.5px solid var(--iv-bordo); border-radius: 12px; background: var(--iv-crema); color: var(--iv-notte); min-height: 44px; }
.iv-filtri .iv-filtro select:focus, .iv-filtri .iv-filtro input:focus { outline: none; border-color: var(--iv-oceano); }
button.iv-filtri-reset { display: inline-flex; align-items: center; gap: .3em; border: 0; background: transparent; font: inherit; font-weight: 700; color: var(--iv-muto); cursor: pointer; min-height: 44px; padding: 0 10px; }
.iv-filtri-reset:hover { color: var(--iv-lampone); }
.iv-filtri-conteggio { margin: 0; min-height: 44px; display: inline-flex; align-items: center; gap: .3em; padding: 0 10px; font-weight: 600; color: var(--iv-muto); }
.iv-filtri-conteggio strong { font-family: var(--iv-font-titoli); font-size: 1.3rem; color: var(--iv-notte); }
.iv-vuoto { text-align: center; padding: 40px 20px; background: var(--iv-bianco); border-radius: var(--iv-raggio); }
.iv-vuoto a { color: var(--iv-oceano); font-weight: 700; }

/* Destinazioni -------------------------------------------------------- */
.iv-destinazioni { background: var(--iv-sabbia); }
.iv-destinazioni-griglia { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; }
.iv-destinazioni-gruppo { background: var(--iv-bianco); border-radius: var(--iv-raggio); padding: 22px 24px; }
.iv-destinazioni-gruppo h3 { font-size: 1.15rem; margin-bottom: .8rem; }
@media (max-width: 760px) { .iv-destinazioni-griglia { grid-template-columns: 1fr; } }

/* Calcolatore --------------------------------------------------------- */
.iv-calc-sezione { background: var(--iv-notte); color: #fff; }
.iv-calc-sezione .iv-titolo-sezione, .iv-calc-sezione h2 { color: #fff; }
.iv-calc-sezione p { color: rgba(255, 255, 255, .85); }
.iv-calc-interno { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: center; }
.iv-elenco-check li, .iv-elenco-x li { display: flex; gap: .5em; padding: .3em 0; align-items: flex-start; }
.iv-elenco-check .iv-icona { color: var(--iv-menta); margin-top: .25em; }
.iv-elenco-x .iv-icona { color: var(--iv-lampone); margin-top: .25em; }
.iv-calc-form { background: var(--iv-bianco); color: var(--iv-testo); border-radius: var(--iv-raggio); padding: 26px; box-shadow: var(--iv-ombra-forte); display: grid; gap: 14px; }
.iv-calc-compatto { background: var(--iv-bianco); border-radius: var(--iv-raggio); padding: 22px; box-shadow: 0 2px 0 var(--iv-bordo); margin-bottom: 20px; }
.iv-calc-compatto .iv-calc-form { padding: 0; box-shadow: none; }
.iv-calc-titolo { font-size: 1.15rem; display: flex; align-items: center; gap: .4em; }
.iv-calc-titolo .iv-icona { color: var(--iv-menta); }
.iv-campo-form { display: flex; flex-direction: column; gap: 4px; }
.iv-campo-form span { font-size: .8rem; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; color: var(--iv-muto); }
label.iv-campo-form select, label.iv-campo-form input, label.iv-campo-form textarea { font: inherit; font-weight: 600; padding: .6em .85em; border: 1.5px solid var(--iv-bordo); border-radius: 12px; background: var(--iv-crema); color: var(--iv-notte); min-height: 46px; width: 100%; }
label.iv-campo-form select:focus, label.iv-campo-form input:focus, label.iv-campo-form textarea:focus { outline: none; border-color: var(--iv-oceano); background: #fff; }
.iv-calc-risultato { background: var(--iv-sabbia); border-radius: var(--iv-raggio-piccolo); padding: 16px; }
.iv-calc-riga { display: flex; justify-content: space-between; gap: 12px; padding: .35em 0; font-weight: 600; }
.iv-calc-riga strong { font-family: var(--iv-font-titoli); font-size: 1.15rem; }
.iv-calc-inps strong { color: var(--iv-menta-scuro); }
.iv-calc-totale { border-top: 2px solid var(--iv-bordo); margin-top: 6px; padding-top: 10px; }
.iv-calc-totale strong { font-size: 1.7rem; color: var(--iv-notte); }
.iv-calc-barra { height: 10px; background: var(--iv-bordo); border-radius: 999px; overflow: hidden; margin: 10px 0 6px; }
.iv-calc-barra i { display: block; height: 100%; background: linear-gradient(90deg, var(--iv-menta), var(--iv-oceano)); transition: width .4s; }
.iv-calc-percento { margin: 0; font-size: .85rem; color: var(--iv-muto); }
@media (max-width: 900px) { .iv-calc-interno { grid-template-columns: 1fr; gap: 28px; } }

/* Perché noi, passi --------------------------------------------------- */
.iv-perche-griglia { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.iv-perche-voce { background: var(--iv-bianco); border-radius: var(--iv-raggio); padding: 26px 22px; box-shadow: 0 2px 0 var(--iv-bordo); }
.iv-perche-icona { display: inline-grid; place-items: center; width: 54px; height: 54px; border-radius: 16px; margin-bottom: 14px; }
.iv-perche-icona .iv-icona { width: 26px; height: 26px; }
.iv-perche-voce h3 { font-size: 1.15rem; }
.iv-perche-voce p { margin: 0; color: var(--iv-muto); font-size: .95rem; }
@media (max-width: 960px) { .iv-perche-griglia { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .iv-perche-griglia { grid-template-columns: 1fr; } }
.iv-passi { background: var(--iv-sabbia); }
.iv-passi-lista { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; counter-reset: passo; }
.iv-passo { position: relative; padding: 26px 22px 22px; background: var(--iv-bianco); border-radius: var(--iv-raggio); }
.iv-passo-numero { display: inline-grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; background: var(--iv-sole); color: var(--iv-notte); font-family: var(--iv-font-titoli); font-weight: 800; font-size: 1.2rem; margin-bottom: 14px; transform: rotate(-6deg); }
.iv-passo:nth-child(2) .iv-passo-numero { background: var(--iv-oceano); color: #fff; }
.iv-passo:nth-child(3) .iv-passo-numero { background: var(--iv-menta); color: #fff; }
.iv-passo:nth-child(4) .iv-passo-numero { background: var(--iv-lampone); color: #fff; }
.iv-passo h3 { font-size: 1.15rem; }
.iv-passo p { margin: 0; color: var(--iv-muto); font-size: .95rem; }
@media (max-width: 960px) { .iv-passi-lista { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .iv-passi-lista { grid-template-columns: 1fr; } }

/* Recensioni ---------------------------------------------------------- */
.iv-stelle { display: inline-flex; gap: 2px; color: var(--iv-sole); margin-bottom: 8px; }
.iv-stelle .iv-icona { fill: currentColor; width: 1.3em; height: 1.3em; }
.iv-recensioni-griglia { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.iv-recensione { margin: 0; background: var(--iv-bianco); border-radius: var(--iv-raggio); padding: 24px; box-shadow: 0 2px 0 var(--iv-bordo); position: relative; }
.iv-recensione::before { content: "“"; position: absolute; top: -18px; left: 20px; font-family: var(--iv-font-titoli); font-size: 5rem; line-height: 1; color: var(--iv-sole); }
.iv-recensione p { font-size: 1rem; }
.iv-recensione footer { font-size: .9rem; color: var(--iv-muto); }
.iv-recensione footer a { color: var(--iv-oceano); }
.iv-recensioni-scheda { grid-template-columns: 1fr 1fr; }
@media (max-width: 900px) { .iv-recensioni-griglia, .iv-recensioni-scheda { grid-template-columns: 1fr; } }

/* FAQ / accordion ----------------------------------------------------- */
.iv-accordion { display: grid; gap: 10px; }
.iv-accordion-voce { background: var(--iv-bianco); border-radius: var(--iv-raggio-piccolo); box-shadow: 0 2px 0 var(--iv-bordo); overflow: hidden; }
.iv-accordion-voce summary { display: flex; align-items: center; gap: 12px; padding: 16px 20px; cursor: pointer; font-family: var(--iv-font-titoli); font-weight: 700; font-size: 1.08rem; color: var(--iv-notte); list-style: none; }
.iv-accordion-voce summary::-webkit-details-marker { display: none; }
.iv-accordion-voce summary .iv-icona:last-child { margin-left: auto; transition: transform .2s; color: var(--iv-muto); }
.iv-accordion-voce[open] summary .iv-icona:last-child { transform: rotate(180deg); }
.iv-accordion-corpo { padding: 0 20px 20px; }
.iv-accordion-corpo p:last-child { margin-bottom: 0; }
.iv-accordion-icona { display: inline-grid; place-items: center; width: 36px; height: 36px; border-radius: 10px; background: var(--iv-sabbia); font-size: 1.1rem; flex: none; }
.iv-prosa h3, .iv-prosa h4, .iv-prosa h5 { font-size: 1.08rem; margin: 1.2em 0 .4em; }
.iv-prosa ul { list-style: disc; padding-left: 1.3em; margin: 0 0 1em; }
.iv-prosa ol { list-style: decimal; padding-left: 1.3em; margin: 0 0 1em; }
.iv-prosa li { margin: .25em 0; }
.iv-prosa a { color: var(--iv-oceano); text-decoration: underline; }
.iv-prosa table { width: 100%; border-collapse: collapse; font-size: .95rem; }
.iv-prosa td, .iv-prosa th { border: 1px solid var(--iv-bordo); padding: .4em .6em; text-align: left; }

/* Contatti ------------------------------------------------------------ */
.iv-contatti { background: var(--iv-sabbia); }
.iv-contatti-griglia { display: grid; grid-template-columns: 1fr 1.1fr; gap: 48px; align-items: start; }
.iv-contatti-azioni { display: flex; flex-wrap: wrap; gap: 10px; margin: 1.2rem 0; }
.iv-consulenti { display: grid; gap: 10px; margin: 1rem 0; }
.iv-consulenti li { display: flex; align-items: center; gap: 12px; }
.iv-consulenti li span:last-child { display: flex; flex-direction: column; line-height: 1.3; }
.iv-consulenti a { color: var(--iv-oceano); font-weight: 600; }
.iv-avatar { display: inline-grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; background: var(--iv-oceano); color: #fff; font-family: var(--iv-font-titoli); font-weight: 800; }
.iv-consulenti li:nth-child(2) .iv-avatar { background: var(--iv-menta); } .iv-consulenti li:nth-child(3) .iv-avatar { background: var(--iv-lampone); } .iv-consulenti li:nth-child(4) .iv-avatar { background: var(--iv-sole); color: var(--iv-notte); }
.iv-orari { display: inline-flex; align-items: center; gap: .4em; color: var(--iv-muto); font-size: .95rem; }
.iv-form { background: var(--iv-bianco); border-radius: var(--iv-raggio); padding: 30px; box-shadow: var(--iv-ombra); display: grid; gap: 14px; }
.iv-form h3 { font-size: 1.4rem; margin: 0; }
.iv-form-griglia { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.iv-form-soggiorno { margin: 0; padding: 10px 14px; border-radius: 12px; background: var(--iv-sole-chiaro); font-size: .95rem; }
.iv-consenso { display: flex; gap: 10px; align-items: flex-start; font-size: .88rem; color: var(--iv-muto); }
.iv-consenso input { margin-top: .3em; }
.iv-consenso a { color: var(--iv-oceano); text-decoration: underline; }
.iv-honeypot { position: absolute; left: -9999px; }
.iv-avviso { padding: 12px 16px; border-radius: 12px; font-weight: 600; margin: 0; }
.iv-avviso-ok { background: var(--iv-menta-chiaro); color: var(--iv-menta-scuro); }
.iv-avviso-errore { background: var(--iv-lampone-chiaro); color: var(--iv-lampone-scuro); }
@media (max-width: 900px) { .iv-contatti-griglia { grid-template-columns: 1fr; gap: 28px; } }
@media (max-width: 560px) { .iv-form-griglia { grid-template-columns: 1fr; } .iv-form { padding: 22px; } }

/* CTA ----------------------------------------------------------------- */
.iv-cta { background: linear-gradient(120deg, var(--iv-oceano), var(--iv-oceano-scuro)); color: #fff; padding: clamp(44px, 6vw, 72px) 0; }
.iv-cta .iv-titolo-sezione { color: #fff; margin-bottom: .3em; }
.iv-cta p { color: rgba(255, 255, 255, .88); margin: 0; max-width: 620px; }
.iv-cta-interno { display: flex; align-items: center; justify-content: space-between; gap: 32px; }
.iv-cta-azioni { display: flex; flex-wrap: wrap; gap: 12px; flex: none; }
@media (max-width: 900px) { .iv-cta-interno { flex-direction: column; align-items: flex-start; } }

/* Testata pagina elenco ----------------------------------------------- */
.iv-testata-pagina { background: var(--iv-bianco); padding: 28px 0 40px; border-bottom: 1px solid var(--iv-bordo); }
.iv-testata-pagina h1 { font-size: clamp(2rem, 4.5vw, 3.2rem); }
.iv-testata-pagina p { color: var(--iv-muto); max-width: 640px; margin: 0; font-size: 1.08rem; }
.iv-testata-pagina-interno { display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; }
.iv-testata-pagina-numero { text-align: center; }
.iv-testata-pagina-numero strong { display: block; font-family: var(--iv-font-titoli); font-size: 3rem; line-height: 1; color: var(--iv-oceano); }
.iv-testata-pagina-sole { background: linear-gradient(180deg, var(--iv-sole-chiaro), var(--iv-bianco)); }
.iv-testata-pagina-oceano { background: linear-gradient(180deg, var(--iv-oceano-chiaro), var(--iv-bianco)); }
.iv-testata-pagina-menta { background: linear-gradient(180deg, var(--iv-menta-chiaro), var(--iv-bianco)); }
.iv-testata-pagina-lampone { background: linear-gradient(180deg, var(--iv-lampone-chiaro), var(--iv-bianco)); }
.iv-briciole { font-size: .85rem; color: var(--iv-muto); margin-bottom: 18px; display: flex; flex-wrap: wrap; gap: 6px; }
.iv-briciole a { color: var(--iv-oceano); font-weight: 600; }
@media (max-width: 700px) { .iv-testata-pagina-interno { flex-direction: column; align-items: flex-start; } .iv-testata-pagina-numero { display: none; } }

/* Scheda singola ------------------------------------------------------ */
.iv-scheda { padding-top: 24px; }
.iv-scheda-testata { margin-bottom: 22px; }
.iv-scheda-etichette { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 6px; }
.iv-scheda-etichette .iv-sticker { margin-bottom: 0; }
.iv-scheda-titolo { font-size: clamp(2rem, 4.5vw, 3.3rem); max-width: 900px; }
.iv-scheda-sotto { font-size: 1.15rem; color: var(--iv-muto); max-width: 760px; }
.iv-galleria { display: grid; gap: 10px; grid-template-columns: repeat(4, 1fr); grid-template-rows: 240px 240px; border-radius: var(--iv-raggio); overflow: hidden; position: relative; }
.iv-galleria-foto { position: relative; display: block; overflow: hidden; background: var(--iv-sabbia); }
.iv-galleria-foto img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s; }
.iv-galleria-foto:hover img { transform: scale(1.04); }
.iv-galleria-foto:first-child { grid-column: 1 / 3; grid-row: 1 / 3; }
.iv-galleria-1 { grid-template-columns: 1fr; grid-template-rows: 420px; }
.iv-galleria-1 .iv-galleria-foto:first-child { grid-column: auto; grid-row: auto; }
.iv-galleria-2 { grid-template-columns: 1fr 1fr; grid-template-rows: 420px; }
.iv-galleria-2 .iv-galleria-foto:first-child { grid-column: auto; grid-row: auto; }
.iv-galleria-3 .iv-galleria-foto:first-child { grid-column: 1 / 3; grid-row: 1 / 3; }
.iv-galleria-3 .iv-galleria-foto:nth-child(2), .iv-galleria-3 .iv-galleria-foto:nth-child(3) { grid-column: 3 / 5; }
.iv-galleria-4 .iv-galleria-foto:nth-child(2) { grid-column: 3 / 5; }
.iv-galleria-altre { position: absolute; inset: 0; display: grid; place-items: center; background: rgba(16, 28, 51, .55); color: #fff; font-family: var(--iv-font-titoli); font-weight: 800; font-size: 1.4rem; }
button.iv-galleria-tutte { position: absolute; right: 16px; bottom: 16px; display: inline-flex; align-items: center; gap: .4em; padding: .6em 1em; border: 0; border-radius: 999px; background: rgba(255, 255, 255, .95); color: var(--iv-notte); font-family: var(--iv-font-titoli); font-weight: 700; cursor: pointer; box-shadow: var(--iv-ombra); }
@media (max-width: 760px) { .iv-galleria { grid-template-columns: 1fr 1fr; grid-template-rows: 220px 120px; } .iv-galleria-foto:first-child { grid-column: 1 / 3; grid-row: 1; } .iv-galleria-foto:nth-child(n+4) { display: none; } .iv-galleria-3 .iv-galleria-foto:nth-child(2), .iv-galleria-3 .iv-galleria-foto:nth-child(3), .iv-galleria-4 .iv-galleria-foto:nth-child(2) { grid-column: auto; } }
.iv-scheda-griglia { display: grid; grid-template-columns: minmax(0, 1fr) 380px; gap: 40px; margin-top: 32px; align-items: start; }
.iv-info-griglia { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 12px; margin-bottom: 26px; }
.iv-info-griglia li { background: var(--iv-bianco); border-radius: var(--iv-raggio-piccolo); padding: 14px 16px; display: flex; flex-direction: column; box-shadow: 0 2px 0 var(--iv-bordo); }
.iv-info-griglia strong { font-family: var(--iv-font-titoli); font-size: 1.05rem; color: var(--iv-notte); }
.iv-info-griglia span { font-size: .8rem; color: var(--iv-muto); text-transform: uppercase; letter-spacing: .04em; font-weight: 600; }
.iv-blocco { margin-top: 34px; }
.iv-blocco h2 { font-size: 1.6rem; display: flex; align-items: center; gap: .4em; }
.iv-blocco h2 .iv-icona { color: var(--iv-oceano); }
.iv-turni { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 16px; }
.iv-turni-gruppo { background: var(--iv-bianco); border-radius: var(--iv-raggio-piccolo); padding: 18px 20px; box-shadow: 0 2px 0 var(--iv-bordo); }
.iv-turni-gruppo h3 { font-size: 1rem; color: var(--iv-muto); text-transform: uppercase; letter-spacing: .05em; }
.iv-turni-gruppo li { padding: .35em 0; border-bottom: 1px dashed var(--iv-bordo); font-weight: 600; }
.iv-turni-gruppo li:last-child { border: 0; }
.iv-quota-griglia { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.iv-quota-griglia > div { background: var(--iv-bianco); border-radius: var(--iv-raggio-piccolo); padding: 20px 22px; box-shadow: 0 2px 0 var(--iv-bordo); }
.iv-quota-griglia h3 { font-size: 1.05rem; }
@media (max-width: 700px) { .iv-quota-griglia { grid-template-columns: 1fr; } }
.iv-media { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.iv-video, .iv-mappa { position: relative; aspect-ratio: 16 / 9; border-radius: var(--iv-raggio-piccolo); overflow: hidden; background: var(--iv-notte); }
.iv-video iframe, .iv-mappa iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
@media (max-width: 700px) { .iv-media { grid-template-columns: 1fr; } }
.iv-scheda-lato { position: sticky; top: 100px; }
.iv-prenota { background: var(--iv-bianco); border-radius: var(--iv-raggio); padding: 24px; box-shadow: var(--iv-ombra-forte); margin-bottom: 20px; border-top: 6px solid var(--iv-sole); }
.iv-scheda-oceano .iv-prenota { border-top-color: var(--iv-oceano); } .iv-scheda-menta .iv-prenota { border-top-color: var(--iv-menta); } .iv-scheda-lampone .iv-prenota { border-top-color: var(--iv-lampone); }
.iv-prezzi li { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 10px 0; border-bottom: 1px dashed var(--iv-bordo); }
.iv-prezzi li span { display: flex; flex-direction: column; line-height: 1.25; }
.iv-prezzi small { color: var(--iv-muto); font-size: .82rem; }
.iv-prezzi b { font-family: var(--iv-font-titoli); font-size: 1.5rem; color: var(--iv-notte); letter-spacing: -.02em; white-space: nowrap; }
.iv-prenota-vecchio { margin: 10px 0 0; font-size: .9rem; color: var(--iv-lampone-scuro); font-weight: 600; }
.iv-prenota-nota { font-size: .82rem; color: var(--iv-muto); margin: 8px 0 14px; }
.iv-prenota-info { display: flex; font-size: .92rem; margin-top: 6px; }
.iv-garanzie { background: var(--iv-menta-chiaro); border-radius: var(--iv-raggio-piccolo); padding: 16px 18px; }
.iv-garanzie p { margin: 0; padding: .3em 0; display: flex; align-items: center; gap: .5em; font-weight: 600; color: var(--iv-menta-scuro); font-size: .92rem; }
@media (max-width: 960px) { .iv-scheda-griglia { grid-template-columns: 1fr; } .iv-scheda-lato { position: static; } }
.iv-simili { background: var(--iv-sabbia); margin-top: 48px; }

/* Barra fissa mobile nella scheda ------------------------------------- */
.iv-barra-mobile { display: none; }
@media (max-width: 960px) {
    .iv-barra-mobile { position: fixed; left: 0; right: 0; bottom: 0; z-index: 940; display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 10px 16px; background: var(--iv-bianco); box-shadow: 0 -8px 30px rgba(16, 28, 51, .15); }
    .iv-barra-mobile .iv-prezzo strong { font-size: 1.3rem; }
    .iv-barra-mobile .iv-btn { padding: .7em 1.1em; }
    body.iv-pagina .iv-wa-fisso { bottom: 78px; }
    .iv-scheda { padding-bottom: 80px; }
    .iv-logo-testo strong { font-size: 1.1rem; }
    .iv-logo-testo small { display: none; }
}

/* Lightbox ------------------------------------------------------------ */
.iv-lightbox { position: fixed; inset: 0; z-index: 1000; background: rgba(16, 28, 51, .96); display: flex; align-items: center; justify-content: center; padding: 20px; }
.iv-lightbox[hidden] { display: none; }
.iv-lightbox img { max-width: 92vw; max-height: 86vh; border-radius: 12px; box-shadow: var(--iv-ombra-forte); }
.iv-lightbox button { position: absolute; width: 52px; height: 52px; border: 0; border-radius: 50%; background: rgba(255, 255, 255, .15); color: #fff; cursor: pointer; display: grid; place-items: center; }
.iv-lightbox button:hover { background: rgba(255, 255, 255, .3); }
.iv-lightbox button .iv-icona { width: 26px; height: 26px; }
.iv-lightbox-chiudi { top: 18px; right: 18px; }
.iv-lightbox-prec { left: 18px; top: 50%; transform: translateY(-50%) rotate(180deg); }
.iv-lightbox-succ { right: 18px; top: 50%; transform: translateY(-50%); }
.iv-lightbox-conta { position: absolute; bottom: 20px; left: 50%; transform: translateX(-50%); color: #fff; font-family: var(--iv-font-titoli); font-weight: 700; }

/* Compatibilità con i temi / Elementor -------------------------------- */
.iv-main-tema { padding-top: 0; }
.elementor-widget-container > .iv-sezione:first-child { margin: 0; }
.iv-sezione .iv-btn, .iv-scheda .iv-btn { color: inherit; }
@media (prefers-reduced-motion: reduce) { .iv-card, .iv-btn, .iv-segmento, .iv-polaroid, .iv-card-foto img, .iv-segmento img { transition: none; } }

/* ==========================================================================
   Compatibilità con temi ed Elementor kit che caricano CSS dopo il plugin
   (regole "a", "button", "img", "h2" globali). Qui si fissano con !important
   solo le proprietà che i temi sovrascrivono più spesso.
   ========================================================================== */
.iv-header a, .iv-footer a, .iv-sezione a, .iv-scheda a, .iv-hero a, .iv-calc a, .iv-testata-pagina a, .iv-barra-mobile a { color: inherit !important; text-decoration: none !important; box-shadow: none !important; border-bottom: 0 !important; }
.iv-header-top a { color: #fff !important; }
.iv-nav a { color: var(--iv-notte) !important; white-space: nowrap; }
.iv-footer a { color: #fff !important; }
.iv-footer a:hover { color: var(--iv-sole) !important; }
.iv-footer-legale a { color: rgba(255, 255, 255, .8) !important; }
.iv-card-titolo a, .iv-polaroid { color: var(--iv-notte) !important; }
.iv-briciole a, .iv-consulenti a, .iv-recensione footer a, .iv-vuoto a, .iv-consenso a { color: var(--iv-oceano) !important; }
.iv-chips-link a { color: var(--iv-testo) !important; }
.iv-chips-link a:hover { color: var(--iv-oceano) !important; }
.iv-link-freccia, .iv-link-freccia:hover { color: var(--iv-oceano) !important; }
.iv-link-freccia:hover, .iv-chips a:hover, .iv-vuoto a, .iv-consenso a { text-decoration: underline !important; }
.iv-prosa a { color: var(--iv-oceano) !important; text-decoration: underline !important; }
.iv-sezione .iv-segmento, .iv-sezione .iv-segmento strong, .iv-sezione .iv-segmento em { color: #fff !important; }
.iv-segmento-piede { color: var(--iv-sole) !important; }
.iv-cta a:not(.iv-btn) { color: #fff !important; }

.iv-btn, button.iv-btn, input.iv-btn, a.iv-btn { display: inline-flex !important; align-items: center !important; gap: .45em; border-radius: 999px !important; padding: .78em 1.4em !important; font-family: var(--iv-font-titoli) !important; font-weight: 700 !important; font-size: 1rem !important; line-height: 1.2 !important; letter-spacing: 0 !important; text-transform: none !important; border: 2px solid transparent !important; box-shadow: none !important; min-height: 0 !important; height: auto !important; width: auto; background-image: none !important; }
.iv-btn.iv-btn-sole { background-color: var(--iv-sole) !important; color: var(--iv-notte) !important; }
.iv-btn.iv-btn-sole:hover { background-color: var(--iv-sole-scuro) !important; }
.iv-btn.iv-btn-oceano { background-color: var(--iv-oceano) !important; color: #fff !important; }
.iv-btn.iv-btn-oceano:hover { background-color: var(--iv-oceano-scuro) !important; }
.iv-btn.iv-btn-menta { background-color: var(--iv-menta) !important; color: #fff !important; }
.iv-btn.iv-btn-lampone { background-color: var(--iv-lampone) !important; color: #fff !important; }
.iv-btn.iv-btn-whatsapp { background-color: var(--iv-whatsapp) !important; color: #fff !important; }
.iv-btn.iv-btn-contorno { background-color: transparent !important; color: var(--iv-notte) !important; border-color: var(--iv-notte) !important; }
.iv-btn.iv-btn-contorno-bianco { background-color: transparent !important; color: #fff !important; border-color: rgba(255, 255, 255, .7) !important; }
.iv-btn.iv-btn-grande { padding: .95em 1.7em !important; font-size: 1.05rem !important; }
.iv-btn.iv-btn-piccolo { padding: .55em 1em !important; font-size: .9rem !important; }
.iv-btn.iv-btn-blocco { display: flex !important; width: 100% !important; }
.iv-btn:hover { box-shadow: var(--iv-ombra) !important; }
button.iv-hamburger, button.iv-filtri-reset, button.iv-galleria-tutte, .iv-lightbox button { background-image: none !important; text-transform: none !important; letter-spacing: 0 !important; }
button.iv-hamburger { background-color: var(--iv-sabbia) !important; color: var(--iv-notte) !important; border: 0 !important; border-radius: 12px !important; padding: 0 !important; width: 46px !important; height: 46px !important; min-height: 0 !important; }
button.iv-filtri-reset { background: transparent !important; color: var(--iv-muto) !important; border: 0 !important; padding: 0 10px !important; box-shadow: none !important; }
button.iv-galleria-tutte { background: rgba(255, 255, 255, .95) !important; color: var(--iv-notte) !important; border: 0 !important; border-radius: 999px !important; padding: .6em 1em !important; }

.iv-header h1, .iv-sezione h1, .iv-scheda h1, .iv-testata-pagina h1, .iv-hero h1, .iv-sezione h2, .iv-scheda h2, .iv-calc h2, .iv-sezione h3, .iv-scheda h3, .iv-calc h3, .iv-footer h4, .iv-sezione h4, .iv-scheda h4 { font-family: var(--iv-font-titoli) !important; text-transform: none !important; letter-spacing: -.02em !important; }
.iv-hero .iv-hero-titolo, .iv-cta .iv-titolo-sezione, .iv-calc-sezione .iv-titolo-sezione, .iv-footer h4 { color: #fff !important; }
.iv-header, .iv-footer, .iv-sezione, .iv-scheda, .iv-testata-pagina, .iv-hero, .iv-calc, .iv-form input, .iv-form select, .iv-form textarea, .iv-filtri select, .iv-filtri input { font-family: var(--iv-font-testo) !important; }

/* Immagini: niente bordi, ombre o dissolvenze dei plugin di lazy load (Smush, Jetpack...). */
.iv-card-foto img, .iv-galleria-foto img, .iv-segmento img, .iv-polaroid img, .iv-logo img { opacity: 1 !important; visibility: visible !important; padding: 0 !important; border: 0 !important; box-shadow: none !important; background: transparent !important; filter: none !important; max-width: 100% !important; }
.iv-card-foto img, .iv-galleria-foto img, .iv-segmento img { width: 100% !important; height: 100% !important; object-fit: cover !important; border-radius: 0 !important; }
.iv-polaroid img { width: 100% !important; height: auto !important; aspect-ratio: 4 / 3 !important; object-fit: cover !important; border-radius: 8px !important; }
@media (max-width: 1100px) { .iv-nav a { padding: .55em .6em; font-size: .92rem; } }

/* Icone SVG: misura fissa anche se il tema imposta svg { width: 100% } */
.iv-icona { width: 1.1em !important; height: 1.1em !important; max-width: none !important; flex: none !important; display: inline-block !important; vertical-align: -.18em !important; }
.iv-btn .iv-icona { width: 1.1em !important; height: 1.1em !important; }
button.iv-hamburger .iv-icona { width: 26px !important; height: 26px !important; }
.iv-perche-icona .iv-icona { width: 26px !important; height: 26px !important; }
.iv-lightbox button .iv-icona { width: 26px !important; height: 26px !important; }
.iv-stelle .iv-icona { width: 1.3em !important; height: 1.3em !important; }
