/*
Theme Name: Voglia d'a-mare
Theme URI: https://vogliadamare.it
Author: Lop Lab
Author URI: https://loplab.it
Description: Tema a blocchi leggero, elegante e marino per il B&B VOGLIA D'A-MARE (Numana, Riviera del Conero). Multilingua (IT, EN, DE, FR, ES) con Polylang, modulo di richiesta disponibilità integrato, font ospitati localmente, nessun page builder.
Version: 1.4.0
Requires at least: 6.6
Tested up to: 6.8
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: vogliadamare
*/

/* ================= Base ================= */
html { scroll-behavior: smooth; scroll-padding-top: 96px; }
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; overflow-x: hidden; }
img { height: auto; max-width: 100%; }
.wp-site-blocks > * + * { margin-block-start: 0; }
.wp-block-post-content > .alignfull { margin-block-start: 0; margin-block-end: 0; }
h1, h2, h3, h4 { text-wrap: balance; }

/* ================= Dettagli tipografici ================= */
.vda-eyebrow {
	font-family: var(--wp--preset--font-family--sans);
	font-size: 0.78rem; font-weight: 500; letter-spacing: 0.26em; text-transform: uppercase;
	color: var(--wp--preset--color--sea-deep); margin-bottom: 0.6rem;
}
.vda-eyebrow::after {
	content: ""; display: block; width: 46px; height: 10px; margin: 0.8rem 0 0;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 46 10'%3E%3Cpath d='M1 5c3.5-4 7-4 10.5 0s7 4 11 0 7-4 11 0 7 4 11 0' fill='none' stroke='%23DBC56D' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E") center / contain no-repeat;
}
.has-text-align-center.vda-eyebrow::after { margin-inline: auto; }
.vda-lead { font-size: var(--wp--preset--font-size--medium); line-height: 1.7; color: var(--wp--preset--color--ink-soft); }
.vda-script {
	font-family: var(--wp--preset--font-family--serif); font-style: italic; font-weight: 500;
	font-size: clamp(1.5rem, 2.6vw, 2.1rem); line-height: 1.2; color: var(--wp--preset--color--sea-deep);
}
.vda-note { margin-top: 2rem !important; font-size: .9rem; font-style: italic; color: var(--wp--preset--color--ink-soft); }

/* ================= Header ================= */
.wp-site-blocks > header {
	position: sticky; top: 0; z-index: 60;
	background: rgba(255,255,255,0.94);
	backdrop-filter: saturate(1.4) blur(10px); -webkit-backdrop-filter: saturate(1.4) blur(10px);
	box-shadow: 0 1px 0 rgba(219,197,109,.45);
}
.admin-bar .wp-site-blocks > header { top: 32px; }
@media (max-width: 782px) { .admin-bar .wp-site-blocks > header { top: 46px; } }
.vda-header { max-width: 1240px; margin-inline: auto; padding: .7rem var(--wp--preset--spacing--30); gap: 1.5rem; }
.vda-header .vda-logo img, .vda-header .wp-block-site-logo img { display: block; width: auto; height: 80px; max-width: none; margin-block: -6px; }
.vda-header .vda-logo { line-height: 0; }
.vda-header .wp-block-navigation { font-size: 0.76rem; letter-spacing: 0.2em; text-transform: uppercase; font-weight: 500; gap: 1.9rem; }
.vda-header .wp-block-navigation a { text-decoration: none; }
.vda-header .wp-block-navigation .wp-block-navigation-item__content { position: relative; }
.vda-header .wp-block-navigation .wp-block-navigation-item__content:hover { color: var(--wp--preset--color--sea-deep); }
.vda-header .wp-block-navigation__submenu-container { border-radius: 0; border-color: var(--wp--preset--color--gold) !important; min-width: 5rem !important; }
.vda-header-right { display: flex; align-items: center; gap: 1.6rem; }
.vda-header-cta a.wp-block-button__link { padding: .75rem 1.35rem; font-size: .72rem; background: var(--wp--preset--color--gold); color: var(--wp--preset--color--ink); }
.vda-header-cta a.wp-block-button__link:hover { background: var(--wp--preset--color--sea-deep); color: #fff; }
@media (max-width: 781px) {
	.vda-header .vda-logo img, .vda-header .wp-block-site-logo img { height: 48px; }
	.vda-header-cta { display: none; }
}

/* ================= Pulsanti ================= */
.wp-element-button, .wp-block-button__link {
	font-family: var(--wp--preset--font-family--sans);
	font-size: 0.78rem; font-weight: 500; letter-spacing: 0.2em; text-transform: uppercase; text-decoration: none;
	padding: 1.05rem 2.1rem; border: 0; border-radius: 0; cursor: pointer;
	transition: background-color .3s ease, color .3s ease, border-color .3s ease, transform .3s ease;
}
.wp-block-button__link:hover { background-color: var(--wp--preset--color--ink); color: #fff; transform: translateY(-1px); }
.wp-block-button.is-style-outline .wp-block-button__link { background: transparent; color: var(--wp--preset--color--sea-deep); border: 1px solid var(--wp--preset--color--sea-deep); }
.wp-block-button.is-style-outline .wp-block-button__link:hover { background: var(--wp--preset--color--sea-deep); color: #fff; }
.vda-buttons { display: flex; flex-wrap: wrap; gap: .9rem; margin-top: 2rem; }
.vda-buttons.is-content-justification-center { justify-content: center; }
.vda-on-dark .wp-block-button__link, .wp-block-cover .wp-block-button__link { background: var(--wp--preset--color--gold); color: var(--wp--preset--color--ink); border: 1px solid var(--wp--preset--color--gold); }
.vda-on-dark .wp-block-button__link:hover, .wp-block-cover .wp-block-button__link:hover { background: #fff; border-color: #fff; color: var(--wp--preset--color--ink); }
.vda-on-dark .is-style-outline .wp-block-button__link, .wp-block-cover .is-style-outline .wp-block-button__link { background: transparent; color: #fff; border-color: rgba(255,255,255,.8); }
.vda-more { margin-top: auto; }
.vda-more a {
	display: inline-flex; align-items: center; gap: .6rem; font-size: .74rem; font-weight: 500; letter-spacing: .22em;
	text-transform: uppercase; text-decoration: none; color: var(--wp--preset--color--sea-deep);
}
.vda-more a::after { content: "→"; letter-spacing: 0; transition: transform .3s ease; }
.vda-more a:hover::after { transform: translateX(5px); }

/* ================= Sezioni e colori ================= */
.vda-section { padding-block: clamp(3.5rem, 7vw, 6rem); }
.vda-section:not(.has-global-padding) { padding-inline: var(--wp--preset--spacing--30); }
.vda-bg-sand { background: var(--wp--preset--color--sand); }
.vda-bg-mist { background: var(--wp--preset--color--mist); }
.vda-bg-sea { background: var(--wp--preset--color--sea-deep); color: #fff; }
.vda-bg-sea :is(h1,h2,h3,h4), .vda-bg-sea .vda-eyebrow { color: #fff; }
.vda-bg-sea .vda-eyebrow { color: var(--wp--preset--color--gold); }
.vda-bg-sea .vda-lead, .vda-bg-sea p { color: rgba(255,255,255,.86); }
.vda-pagehead { text-align: center; padding-block: clamp(3rem, 7vw, 5.5rem); }

/* ================= Onde ================= */
.vda-wave, .vda-wave-top { position: relative; }
.vda-wave { padding-bottom: calc(clamp(2.5rem, 5vw, 4rem) + clamp(40px, 6vw, 100px)); }
.vda-wave-top { padding-top: calc(clamp(2.5rem, 5vw, 4rem) + clamp(40px, 6vw, 100px)); }
.vda-wave::after, .vda-wave-top::before {
	content: ""; position: absolute; left: 0; right: 0; z-index: 2; pointer-events: none;
	height: clamp(40px, 6vw, 100px); min-height: 0; background-size: 100% 100%; background-repeat: no-repeat; display: block;
}
.vda-wave::after { bottom: -1px; }
.vda-wave-top::before { top: -1px; }
.vda-wave--to-white::after { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 120' preserveAspectRatio='none'%3E%3Cg%3E%3Cpath d='M0,62 C180,22 360,24 540,54 C720,86 900,96 1080,66 C1260,38 1350,38 1440,50 V120 H0Z' fill='%2336A9E1' fill-opacity='.22'/%3E%3Cpath d='M0,80 C200,44 380,48 560,74 C740,100 920,102 1100,80 C1280,58 1360,60 1440,68' fill='none' stroke='%23DBC56D' stroke-width='1.6' vector-effect='non-scaling-stroke'/%3E%3Cpath d='M0,90 C220,62 420,66 620,88 C820,110 1000,112 1180,94 C1300,82 1380,82 1440,86 V120 H0Z' fill='%23FFFFFF'/%3E%3C/g%3E%3C/svg%3E"); }
.vda-wave-top--from-white::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 120' preserveAspectRatio='none'%3E%3Cg transform='translate%280 120%29 scale%281 -1%29'%3E%3Cpath d='M0,62 C180,22 360,24 540,54 C720,86 900,96 1080,66 C1260,38 1350,38 1440,50 V120 H0Z' fill='%2336A9E1' fill-opacity='.22'/%3E%3Cpath d='M0,80 C200,44 380,48 560,74 C740,100 920,102 1100,80 C1280,58 1360,60 1440,68' fill='none' stroke='%23DBC56D' stroke-width='1.6' vector-effect='non-scaling-stroke'/%3E%3Cpath d='M0,90 C220,62 420,66 620,88 C820,110 1000,112 1180,94 C1300,82 1380,82 1440,86 V120 H0Z' fill='%23FFFFFF'/%3E%3C/g%3E%3C/svg%3E"); }
.vda-wave--to-sand::after { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 120' preserveAspectRatio='none'%3E%3Cg%3E%3Cpath d='M0,62 C180,22 360,24 540,54 C720,86 900,96 1080,66 C1260,38 1350,38 1440,50 V120 H0Z' fill='%2336A9E1' fill-opacity='.22'/%3E%3Cpath d='M0,80 C200,44 380,48 560,74 C740,100 920,102 1100,80 C1280,58 1360,60 1440,68' fill='none' stroke='%23DBC56D' stroke-width='1.6' vector-effect='non-scaling-stroke'/%3E%3Cpath d='M0,90 C220,62 420,66 620,88 C820,110 1000,112 1180,94 C1300,82 1380,82 1440,86 V120 H0Z' fill='%23F7F4EC'/%3E%3C/g%3E%3C/svg%3E"); }
.vda-wave-top--from-sand::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 120' preserveAspectRatio='none'%3E%3Cg transform='translate%280 120%29 scale%281 -1%29'%3E%3Cpath d='M0,62 C180,22 360,24 540,54 C720,86 900,96 1080,66 C1260,38 1350,38 1440,50 V120 H0Z' fill='%2336A9E1' fill-opacity='.22'/%3E%3Cpath d='M0,80 C200,44 380,48 560,74 C740,100 920,102 1100,80 C1280,58 1360,60 1440,68' fill='none' stroke='%23DBC56D' stroke-width='1.6' vector-effect='non-scaling-stroke'/%3E%3Cpath d='M0,90 C220,62 420,66 620,88 C820,110 1000,112 1180,94 C1300,82 1380,82 1440,86 V120 H0Z' fill='%23F7F4EC'/%3E%3C/g%3E%3C/svg%3E"); }
.vda-wave--to-mist::after { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 120' preserveAspectRatio='none'%3E%3Cg%3E%3Cpath d='M0,62 C180,22 360,24 540,54 C720,86 900,96 1080,66 C1260,38 1350,38 1440,50 V120 H0Z' fill='%2336A9E1' fill-opacity='.22'/%3E%3Cpath d='M0,80 C200,44 380,48 560,74 C740,100 920,102 1100,80 C1280,58 1360,60 1440,68' fill='none' stroke='%23DBC56D' stroke-width='1.6' vector-effect='non-scaling-stroke'/%3E%3Cpath d='M0,90 C220,62 420,66 620,88 C820,110 1000,112 1180,94 C1300,82 1380,82 1440,86 V120 H0Z' fill='%23EEF7FC'/%3E%3C/g%3E%3C/svg%3E"); }
.vda-wave-top--from-mist::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 120' preserveAspectRatio='none'%3E%3Cg transform='translate%280 120%29 scale%281 -1%29'%3E%3Cpath d='M0,62 C180,22 360,24 540,54 C720,86 900,96 1080,66 C1260,38 1350,38 1440,50 V120 H0Z' fill='%2336A9E1' fill-opacity='.22'/%3E%3Cpath d='M0,80 C200,44 380,48 560,74 C740,100 920,102 1100,80 C1280,58 1360,60 1440,68' fill='none' stroke='%23DBC56D' stroke-width='1.6' vector-effect='non-scaling-stroke'/%3E%3Cpath d='M0,90 C220,62 420,66 620,88 C820,110 1000,112 1180,94 C1300,82 1380,82 1440,86 V120 H0Z' fill='%23EEF7FC'/%3E%3C/g%3E%3C/svg%3E"); }
.vda-wave--to-ink::after { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 120' preserveAspectRatio='none'%3E%3Cg%3E%3Cpath d='M0,62 C180,22 360,24 540,54 C720,86 900,96 1080,66 C1260,38 1350,38 1440,50 V120 H0Z' fill='%2336A9E1' fill-opacity='.22'/%3E%3Cpath d='M0,80 C200,44 380,48 560,74 C740,100 920,102 1100,80 C1280,58 1360,60 1440,68' fill='none' stroke='%23DBC56D' stroke-width='1.6' vector-effect='non-scaling-stroke'/%3E%3Cpath d='M0,90 C220,62 420,66 620,88 C820,110 1000,112 1180,94 C1300,82 1380,82 1440,86 V120 H0Z' fill='%2322282B'/%3E%3C/g%3E%3C/svg%3E"); }
.vda-wave-top--from-ink::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 120' preserveAspectRatio='none'%3E%3Cg transform='translate%280 120%29 scale%281 -1%29'%3E%3Cpath d='M0,62 C180,22 360,24 540,54 C720,86 900,96 1080,66 C1260,38 1350,38 1440,50 V120 H0Z' fill='%2336A9E1' fill-opacity='.22'/%3E%3Cpath d='M0,80 C200,44 380,48 560,74 C740,100 920,102 1100,80 C1280,58 1360,60 1440,68' fill='none' stroke='%23DBC56D' stroke-width='1.6' vector-effect='non-scaling-stroke'/%3E%3Cpath d='M0,90 C220,62 420,66 620,88 C820,110 1000,112 1180,94 C1300,82 1380,82 1440,86 V120 H0Z' fill='%2322282B'/%3E%3C/g%3E%3C/svg%3E"); }
.vda-wave--to-sea::after { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 120' preserveAspectRatio='none'%3E%3Cg%3E%3Cpath d='M0,62 C180,22 360,24 540,54 C720,86 900,96 1080,66 C1260,38 1350,38 1440,50 V120 H0Z' fill='%2336A9E1' fill-opacity='.22'/%3E%3Cpath d='M0,80 C200,44 380,48 560,74 C740,100 920,102 1100,80 C1280,58 1360,60 1440,68' fill='none' stroke='%23DBC56D' stroke-width='1.6' vector-effect='non-scaling-stroke'/%3E%3Cpath d='M0,90 C220,62 420,66 620,88 C820,110 1000,112 1180,94 C1300,82 1380,82 1440,86 V120 H0Z' fill='%231B7BAA'/%3E%3C/g%3E%3C/svg%3E"); }
.vda-wave-top--from-sea::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 120' preserveAspectRatio='none'%3E%3Cg transform='translate%280 120%29 scale%281 -1%29'%3E%3Cpath d='M0,62 C180,22 360,24 540,54 C720,86 900,96 1080,66 C1260,38 1350,38 1440,50 V120 H0Z' fill='%2336A9E1' fill-opacity='.22'/%3E%3Cpath d='M0,80 C200,44 380,48 560,74 C740,100 920,102 1100,80 C1280,58 1360,60 1440,68' fill='none' stroke='%23DBC56D' stroke-width='1.6' vector-effect='non-scaling-stroke'/%3E%3Cpath d='M0,90 C220,62 420,66 620,88 C820,110 1000,112 1180,94 C1300,82 1380,82 1440,86 V120 H0Z' fill='%231B7BAA'/%3E%3C/g%3E%3C/svg%3E"); }


/* ================= Hero ================= */
.vda-hero.wp-block-cover { min-height: min(94vh, 920px); padding-inline: var(--wp--preset--spacing--30); }
.vda-hero .wp-block-cover__image-background { animation: vda-zoom 18s ease-out both; }
@keyframes vda-zoom { from { transform: scale(1.08); } to { transform: scale(1); } }
.vda-hero .wp-block-cover__background { background: radial-gradient(ellipse 70% 60% at 50% 48%, rgba(14,34,46,.62) 0%, rgba(14,34,46,.34) 60%, rgba(14,34,46,.42) 100%) !important; opacity: 1 !important; }
.vda-hero::before {
	content: ""; position: absolute; left: 0; bottom: 18px; z-index: 2; width: 200%; height: clamp(40px, 6vw, 100px);
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 120' preserveAspectRatio='none'%3E%3Cpath d='M0,70 Q180,40 360,70 T720,70 T1080,70 T1440,70 V120 H0Z' fill='%23FFFFFF' fill-opacity='.18'/%3E%3C/svg%3E") 0 0 / 50% 100% repeat-x; animation: vda-drift 22s linear infinite; pointer-events: none;
}
@keyframes vda-drift { to { transform: translateX(-50%); } }
.vda-hero .wp-block-cover__inner-container { max-width: 900px; margin-inline: auto; text-align: center; }
.vda-hero .vda-hero-mark img { width: 120px; margin: 0 auto .4rem; opacity: .95; }
.vda-hero h1 { font-size: var(--wp--preset--font-size--xxx-large); font-weight: 400; line-height: 1; margin: .2rem 0 .3rem; color: #fff; text-shadow: 0 2px 30px rgba(0,0,0,.25); }
.vda-hero .vda-eyebrow { color: #fff; }
.vda-hero .vda-script { color: var(--wp--preset--color--gold); margin: 0 0 1.4rem; text-shadow: 0 1px 18px rgba(0,0,0,.45); }
.vda-hero p.vda-hero-sub, .vda-hero .vda-eyebrow { text-shadow: 0 1px 14px rgba(0,0,0,.4); }
.vda-hero p.vda-hero-sub { font-size: var(--wp--preset--font-size--medium); font-weight: 300; max-width: 36rem; margin-inline: auto; color: rgba(255,255,255,.95); }
.vda-scroll { position: absolute; left: 50%; bottom: calc(clamp(40px, 6vw, 100px) + 14px); z-index: 3; width: 1px; height: 46px; background: linear-gradient(rgba(255,255,255,0), #fff); animation: vda-scroll 2.4s ease-in-out infinite; }
@keyframes vda-scroll { 0%,100% { opacity: .2; transform: translateY(-6px); } 50% { opacity: 1; transform: translateY(0); } }

/* ================= Introduzione ================= */
.vda-intro { overflow: hidden; }
.vda-intro::before {
	content: ""; position: absolute; right: -6%; top: 8%; width: 46%; aspect-ratio: 500/215; opacity: .05; pointer-events: none;
	background: url(assets/img/icona.png) center / contain no-repeat;
}
.vda-intro .wp-block-columns { align-items: center; gap: clamp(2rem, 6vw, 6rem); }
.vda-collage { position: relative; min-height: 520px; }
.vda-collage .wp-block-image { margin: 0; position: absolute; box-shadow: 0 30px 60px -30px rgba(27,123,170,.45); }
.vda-collage .wp-block-image img { display: block; width: 100%; height: 100%; object-fit: cover; }
.vda-collage .vda-collage-a { left: 0; top: 0; width: 62%; height: 88%; }
.vda-collage .vda-collage-b { right: 0; bottom: 0; width: 52%; height: 50%; border: 8px solid #fff; }
.vda-collage::after { content: ""; position: absolute; left: 6%; top: 6%; width: 62%; height: 88%; border: 1px solid var(--wp--preset--color--gold); transform: translate(-18px, 18px); z-index: -1; }
@media (max-width: 781px) { .vda-collage { min-height: 380px; } }

/* ================= Camere ================= */
.vda-rooms { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.6rem; margin-top: 3rem; }
@media (max-width: 1100px) { .vda-rooms { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .vda-rooms { grid-template-columns: 1fr; } }
.vda-rooms > * { margin: 0 !important; }
.vda-room-card {
	position: relative; display: flex; flex-direction: column; background: #fff;
	padding: 0 1.6rem 1.8rem; transition: transform .45s ease, box-shadow .45s ease;
	box-shadow: 0 1px 0 rgba(0,0,0,.03);
}
.vda-room-card:hover { transform: translateY(-6px); box-shadow: 0 26px 50px -28px rgba(27,123,170,.5); }
.vda-room-card > * { margin-block: 0 .6rem; }
.vda-room-card .wp-block-image { margin: 0 -1.6rem 2.2rem; overflow: hidden; aspect-ratio: 4/3.2; }
.vda-room-card .wp-block-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s ease; }
.vda-room-card:hover .wp-block-image img { transform: scale(1.05); }
.vda-room-card h3 { font-size: 2rem; margin-bottom: .2rem; }
.vda-room-type { font-size: .72rem !important; letter-spacing: .24em; text-transform: uppercase; color: var(--wp--preset--color--sea-deep); font-weight: 500; }
.vda-room-card p { font-size: .96rem; line-height: 1.65; color: var(--wp--preset--color--ink-soft); }
/* medaglione con icona sul bordo della foto */
.vda-room-card .vda-room-type { position: relative; }
.vda-room-card .vda-room-type::before, .vda-room-card .vda-room-type::after { content: ""; position: absolute; }
.vda-room-card .vda-room-type::before { left: 0; top: calc(-2.2rem - 29px); width: 58px; height: 58px; border-radius: 50%; background: #fff; border: 1px solid var(--wp--preset--color--gold); }
.vda-room-card .vda-room-type::after { left: 14px; top: calc(-2.2rem - 15px); width: 30px; height: 30px; background: var(--wp--preset--color--sea-deep); -webkit-mask: var(--vda-ico) center / contain no-repeat; mask: var(--vda-ico) center / contain no-repeat; }

/* ================= Servizi ================= */
.vda-services { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 2.6rem 2.2rem; margin-top: 3.2rem; }
@media (max-width: 1000px) { .vda-services { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .vda-services { grid-template-columns: 1fr; gap: 1.8rem; } }
.vda-services > * { margin: 0 !important; }
.vda-service { position: relative; padding-top: 4.4rem; }
.vda-service::before {
	content: ""; position: absolute; left: 0; top: 0; width: 56px; height: 56px; border-radius: 50%;
	border: 1px solid rgba(219,197,109,.75);
}
.vda-service::after {
	content: ""; position: absolute; left: 14px; top: 14px; width: 28px; height: 28px; background: var(--wp--preset--color--gold);
	-webkit-mask: var(--vda-ico) center / contain no-repeat; mask: var(--vda-ico) center / contain no-repeat;
}
.vda-service h3 { font-size: 1.55rem; margin: 0 0 .4rem; }
.vda-service p { font-size: .95rem; line-height: 1.65; margin: 0; }
@media (max-width: 560px) {
	.vda-service { padding: 0 0 0 4.4rem; min-height: 56px; }
}

/* icone (assets/icons) */
.vda-ico-clima { --vda-ico: url(assets/icons/clima.svg); }
.vda-ico-tv { --vda-ico: url(assets/icons/tv.svg); }
.vda-ico-frigo { --vda-ico: url(assets/icons/frigo.svg); }
.vda-ico-bagno { --vda-ico: url(assets/icons/bagno.svg); }
.vda-ico-colazione { --vda-ico: url(assets/icons/colazione.svg); }
.vda-ico-parcheggio { --vda-ico: url(assets/icons/parcheggio.svg); }
.vda-ico-giardino { --vda-ico: url(assets/icons/giardino.svg); }
.vda-ico-wifi { --vda-ico: url(assets/icons/wifi.svg); }
.vda-ico-tartaruga { --vda-ico: url(assets/icons/tartaruga.svg); }
.vda-ico-barca { --vda-ico: url(assets/icons/barca.svg); }
.vda-ico-faro { --vda-ico: url(assets/icons/faro.svg); }
.vda-ico-conchiglia { --vda-ico: url(assets/icons/conchiglia.svg); }

/* ================= Colazione ================= */
.vda-breakfast .wp-block-columns { align-items: center; gap: clamp(2rem, 6vw, 6rem); }
.vda-mosaic { display: grid; grid-template-columns: 1.3fr 1fr; grid-template-rows: 1fr 1fr; gap: 14px; height: clamp(380px, 46vw, 560px); }
.vda-mosaic > * { margin: 0 !important; overflow: hidden; }
.vda-mosaic .wp-block-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s ease; }
.vda-mosaic .wp-block-image:hover img { transform: scale(1.04); }
.vda-mosaic > :first-child { grid-row: 1 / 3; }

/* ================= Recensioni ================= */
.vda-reviews.wp-block-cover { min-height: 560px; padding-inline: var(--wp--preset--spacing--30); }
.vda-reviews .wp-block-cover__inner-container { max-width: 1100px; margin-inline: auto; text-align: center; }
.vda-reviews .vda-eyebrow { color: var(--wp--preset--color--gold); }
.vda-reviews h2 { color: #fff; }
.vda-reviews-note {
	max-width: 640px; margin: 2rem auto 0; padding: 1.4rem 1.6rem; border: 1px dashed rgba(255,255,255,.6);
	font-size: .92rem; color: #fff; background: rgba(255,255,255,.08);
}

/* ================= Disponibilità / contatti ================= */
.vda-booking .wp-block-columns { gap: clamp(2rem, 5vw, 4.5rem); }
.vda-card { background: #fff; padding: clamp(1.6rem, 4vw, 3rem); box-shadow: 0 30px 60px -40px rgba(27,123,170,.45); position: relative; }
.vda-card::before { content: ""; position: absolute; inset: 10px; border: 1px solid rgba(219,197,109,.45); pointer-events: none; }
.vda-card > * { position: relative; }
.vda-contacts { list-style: none; padding: 0; margin: 0 0 1.6rem; }
.vda-contacts li { display: flex; align-items: center; gap: .85rem; margin-bottom: .75rem; }
.vda-contacts li::before {
	content: ""; flex: 0 0 22px; height: 22px; background: var(--wp--preset--color--sea-deep);
	-webkit-mask: var(--vda-ico) center / contain no-repeat; mask: var(--vda-ico) center / contain no-repeat;
}
.vda-contacts .c-address { --vda-ico: url(assets/icons/posizione.svg); }
.vda-contacts .c-phone { --vda-ico: url(assets/icons/telefono.svg); }
.vda-contacts .c-whatsapp { --vda-ico: url(assets/icons/chat.svg); }
.vda-contacts .c-email { --vda-ico: url(assets/icons/mail.svg); }
.vda-contacts a { color: inherit; text-decoration-color: var(--wp--preset--color--gold); text-underline-offset: 4px; }
.vda-map { position: relative; width: 100%; overflow: hidden; background: var(--wp--preset--color--mist); box-shadow: 0 30px 60px -40px rgba(27,123,170,.45); }
.vda-map iframe { display: block; width: 100%; border: 0; filter: saturate(.8) hue-rotate(-6deg); }

/* ================= Modulo ================= */
.vda-form { display: grid; grid-template-columns: 1fr 1fr; gap: 1.2rem 1.4rem; }
.vda-form .vda-field { display: flex; flex-direction: column; gap: .35rem; }
.vda-form .vda-field--full, .vda-form .vda-consent, .vda-form .vda-submit { grid-column: 1 / -1; }
.vda-form label { font-size: .72rem; letter-spacing: .18em; text-transform: uppercase; font-weight: 500; color: var(--wp--preset--color--ink-soft); }
.vda-form input[type=text], .vda-form input[type=email], .vda-form input[type=tel],
.vda-form input[type=date], .vda-form input[type=number], .vda-form select, .vda-form textarea {
	width: 100%; font: inherit; font-size: 1rem; color: var(--wp--preset--color--ink); background: transparent;
	border: 0; border-bottom: 1px solid #b9c2c7; border-radius: 0; padding: .65rem .1rem; transition: border-color .2s;
}
.vda-form textarea { min-height: 120px; border: 1px solid #b9c2c7; padding: .8rem; resize: vertical; }
.vda-form input:focus, .vda-form textarea:focus, .vda-form select:focus { outline: 2px solid var(--wp--preset--color--sea); outline-offset: 2px; border-color: var(--wp--preset--color--sea-deep); }
.vda-consent { display: flex; gap: .65rem; align-items: flex-start; }
.vda-consent input { margin-top: .35rem; accent-color: var(--wp--preset--color--sea-deep); }
.vda-consent label { text-transform: none; letter-spacing: 0; font-size: .86rem; font-weight: 400; line-height: 1.5; }
.vda-submit .wp-block-button__link { width: 100%; }
.vda-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.vda-notice { padding: 1rem 1.25rem; border-left: 3px solid var(--wp--preset--color--gold); background: var(--wp--preset--color--sand); margin-bottom: 1.5rem; }
.vda-notice--error { border-left-color: #b3402f; background: #fbeeec; }
@media (max-width: 560px) { .vda-form { grid-template-columns: 1fr 1fr; } .vda-form .vda-field--email { grid-column: 1 / -1; } }

/* ================= Footer ================= */
.vda-footer { background: var(--wp--preset--color--ink); color: rgba(255,255,255,.8); padding-inline: var(--wp--preset--spacing--30); padding-top: clamp(1.5rem, 3vw, 2.5rem) !important; padding-bottom: 2rem !important; }
.vda-footer > * { max-width: 1200px; margin-inline: auto; }
.vda-footer-logo img { width: 210px; height: auto; display: block; }
.vda-footer h3 { font-family: var(--wp--preset--font-family--sans); font-size: .74rem; letter-spacing: .24em; text-transform: uppercase; font-weight: 500; color: var(--wp--preset--color--gold); margin: 0 0 1.1rem; }
.vda-footer a { color: #fff; text-decoration: none; }
.vda-footer a:hover { color: var(--wp--preset--color--gold); }
.vda-footer ul { list-style: none; padding: 0; margin: 0; }
.vda-footer li { margin-bottom: .5rem; }
.vda-footer .vda-contacts li::before { background: var(--wp--preset--color--gold); }
.vda-footer .vda-tagline { font-family: var(--wp--preset--font-family--serif); font-style: italic; font-size: 1.35rem; line-height: 1.4; color: rgba(255,255,255,.9); max-width: 22rem; }
.vda-social { display: flex; flex-wrap: wrap; gap: .8rem; }
.vda-social a { display: grid; place-items: center; width: 50px; height: 50px; border-radius: 50%; border: 1px solid rgba(219,197,109,.7); transition: background .3s ease, transform .3s ease; }
.vda-social a:hover { background: var(--wp--preset--color--gold); transform: translateY(-2px); }
.vda-social img { width: 24px; height: 24px; object-fit: contain; }
.vda-social-ico { width: 24px; height: 24px; background: var(--wp--preset--color--gold); -webkit-mask: var(--vda-ico) center / contain no-repeat; mask: var(--vda-ico) center / contain no-repeat; }
.vda-social a:hover .vda-social-ico { background: var(--wp--preset--color--ink); }
.vda-footer .vda-footer-bottom { border-top: 1px solid rgba(255,255,255,.14); margin-top: 3.5rem; padding-top: 1.6rem; font-size: .8rem; color: rgba(255,255,255,.55); }

/* ================= WhatsApp fluttuante ================= */
.vda-wa {
	position: fixed; right: 20px; bottom: 20px; z-index: 70; display: flex; align-items: center; gap: .6rem;
	background: var(--wp--preset--color--sea-deep); color: #fff; text-decoration: none; border-radius: 40px;
	padding: .8rem 1.1rem .8rem .9rem; box-shadow: 0 14px 30px -10px rgba(27,123,170,.6);
	font: 500 .74rem/1 var(--wp--preset--font-family--sans); letter-spacing: .14em; text-transform: uppercase;
	transition: transform .3s ease, background .3s ease;
}
.vda-wa:hover { transform: translateY(-3px); background: var(--wp--preset--color--ink); color: #fff; }
.vda-wa::before { content: ""; width: 26px; height: 26px; background: #fff; -webkit-mask: url(assets/icons/chat.svg) center / contain no-repeat; mask: url(assets/icons/chat.svg) center / contain no-repeat; }
@media (max-width: 600px) { .vda-wa span { display: none; } .vda-wa { padding: .85rem; } }

/* ================= Galleria ================= */
.wp-block-gallery .wp-block-image { overflow: hidden; }
.wp-block-gallery .wp-block-image img { transition: transform .6s ease; }
.wp-block-gallery .wp-block-image:hover img { transform: scale(1.04); }

/* ================= Comparsa delicata allo scroll ================= */
.vda-reveal { opacity: 0; transform: translateY(24px); transition: opacity .9s ease, transform .9s ease; }
.vda-reveal.is-visible { opacity: 1; transform: none; }

/* ================= Mobile ================= */
@media (max-width: 781px) {
	.vda-buttons { flex-direction: column; align-items: stretch; }
	.vda-buttons .wp-block-button__link { width: 100%; text-align: center; }
	.vda-hero.wp-block-cover { min-height: 88vh; }
	.vda-mosaic { height: 440px; }
}
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { animation: none !important; transition: none !important; }
	.vda-reveal { opacity: 1; transform: none; }
}

/* ================= Pagine interne (camere, territorio) ================= */
.vda-feature { border-top: 1px solid var(--wp--preset--color--gold); padding-top: 1.5rem; }
.vda-feature h3 { margin-top: 0; }
.wp-block-media-text.vda-split { gap: 0; }
.wp-block-media-text.vda-split .wp-block-media-text__content { padding: clamp(2rem, 5vw, 4.5rem); }
.wp-block-media-text.vda-split .wp-block-media-text__media { min-height: 380px; background: linear-gradient(160deg, #cfeaf7, #eef7fc); }
.wp-block-media-text.vda-split .wp-block-media-text__media img { height: 100%; object-fit: cover; }
.vda-room-meta { font-size: .9375rem; color: var(--wp--preset--color--ink-soft); letter-spacing: .04em; }
.wp-block-cover:not(:has(img.wp-block-cover__image-background)):not(:has(video)) { background: linear-gradient(160deg, #1b7baa 0%, #36a9e1 58%, #cfeaf7 100%); }
@media (max-width: 781px) { .wp-block-media-text.vda-split .wp-block-media-text__media { min-height: 260px; } }
.vda-submit .wp-block-button { width: 100%; }
@media (max-width: 781px) {
	.vda-collage { min-height: 420px; margin-top: 1rem; }
	.vda-collage .vda-collage-a { width: 78%; height: 80%; }
	.vda-collage .vda-collage-b { width: 58%; height: 46%; }
	.vda-collage::after { width: 78%; height: 80%; }
}

/* ================= Ritocchi v1.2 ================= */
.vda-title-wave::after { content: ""; display: block; width: 46px; height: 10px; margin: 1rem auto 0; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 46 10'%3E%3Cpath d='M1 5c3.5-4 7-4 10.5 0s7 4 11 0 7-4 11 0 7 4 11 0' fill='none' stroke='%23DBC56D' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E") center / contain no-repeat; }
.vda-booking > .wp-block-columns { margin-top: clamp(2.5rem, 5vw, 4rem) !important; }
.vda-rooms + .vda-note + .vda-buttons, .vda-note + .vda-buttons { margin-top: 1.4rem; }

/* ================= Intestazione pagine interne ================= */
.vda-pagehero.wp-block-cover { min-height: min(64vh, 640px); padding-inline: var(--wp--preset--spacing--30); }
.vda-pagehero .wp-block-cover__background { background: radial-gradient(ellipse 70% 70% at 50% 50%, rgba(14,34,46,.6) 0%, rgba(14,34,46,.32) 70%) !important; opacity: 1 !important; }
.vda-pagehero .wp-block-cover__inner-container { max-width: 900px; margin-inline: auto; text-align: center; }
.vda-pagehero h1 { color: #fff; font-size: var(--wp--preset--font-size--xx-large); margin: .2rem 0 .4rem; text-shadow: 0 2px 30px rgba(0,0,0,.3); }
.vda-pagehero .vda-eyebrow { color: #fff; text-shadow: 0 1px 14px rgba(0,0,0,.4); }
.vda-pagehero .vda-script { color: var(--wp--preset--color--gold); text-shadow: 0 1px 18px rgba(0,0,0,.45); margin: 0; }
.vda-pagehero .wp-block-cover__image-background { animation: vda-zoom 18s ease-out both; }
.vda-title-wave--left::after { margin-left: 0; }

/* colonne invertite su desktop */
@media (min-width: 782px) { .wp-block-columns.vda-reverse { flex-direction: row-reverse; } }

/* ================= Pagina Camere ================= */
.vda-room-cols { align-items: center; gap: clamp(2rem, 5vw, 5rem) !important; }
.vda-room-gallery { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.vda-room-gallery > * { margin: 0 !important; overflow: hidden; aspect-ratio: 1 / 1; }
.vda-room-gallery > .vda-room-main { grid-column: 1 / -1; aspect-ratio: 3 / 2; }
.vda-room-gallery .wp-block-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s ease; }
.vda-room-gallery .wp-block-image:hover img { transform: scale(1.04); }
.vda-room-gallery--1 { grid-template-columns: 1fr; }
.vda-room-gallery--1 > :not(.vda-room-main) { aspect-ratio: 3 / 1.3; }
.vda-room-gallery--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.vda-room-gallery--2 > :not(.vda-room-main) { aspect-ratio: 4 / 3; }
.vda-room-info { position: relative; padding-top: 84px; }
.vda-room-info::before { content: ""; position: absolute; left: 0; top: 0; width: 64px; height: 64px; border-radius: 50%; border: 1px solid var(--wp--preset--color--gold); background: #fff; }
.vda-room-info::after { content: ""; position: absolute; left: 16px; top: 16px; width: 32px; height: 32px; background: var(--wp--preset--color--sea-deep); -webkit-mask: var(--vda-ico) center / contain no-repeat; mask: var(--vda-ico) center / contain no-repeat; }
.vda-room-info h2 { font-size: var(--wp--preset--font-size--xx-large); margin: 0 0 .8rem; }
.vda-room-info .vda-eyebrow { margin-bottom: .2rem; }
.vda-room-section .vda-note { margin-top: 3rem !important; }

/* ================= Pagina Territorio ================= */
.vda-chapter-cols { align-items: center; gap: clamp(2rem, 5vw, 5rem) !important; }
.vda-chapter-num { font-family: var(--wp--preset--font-family--serif); font-size: clamp(3.5rem, 7vw, 5.5rem); line-height: 1; color: var(--wp--preset--color--gold); margin: 0 0 .3rem !important; font-weight: 300; }
.vda-chapter h2 { margin-bottom: .2rem; }
.vda-chapter .vda-script { margin: 0 0 1.4rem; }
.vda-beaches-title { font-family: var(--wp--preset--font-family--sans); font-size: .76rem !important; letter-spacing: .24em; text-transform: uppercase; font-weight: 500; color: var(--wp--preset--color--sea-deep); margin-top: 2rem; }
.vda-beaches { list-style: none; padding: 0; margin: 0; }
.vda-beaches li { position: relative; padding: .9rem 0 .9rem 2.6rem; border-top: 1px solid rgba(219,197,109,.5); font-size: .97rem; line-height: 1.6; color: var(--wp--preset--color--ink-soft); }
.vda-beaches li:last-child { border-bottom: 1px solid rgba(219,197,109,.5); }
.vda-beaches li::before { content: ""; position: absolute; left: 0; top: 1.1rem; width: 30px; height: 14px; background: var(--wp--preset--color--sea-deep); -webkit-mask: url(assets/icons/onda.svg) center / contain no-repeat; mask: url(assets/icons/onda.svg) center / contain no-repeat; }
.vda-beaches strong { display: block; font-family: var(--wp--preset--font-family--serif); font-size: 1.3rem; font-weight: 500; color: var(--wp--preset--color--ink); margin-bottom: .1rem; }
.vda-chapter-media { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.vda-chapter-media > * { margin: 0 !important; position: relative; overflow: hidden; aspect-ratio: 1 / 1; }
.vda-chapter-media > :first-child { grid-column: 1 / -1; aspect-ratio: 16 / 10; }
.vda-chapter-media--2 > :first-child { grid-column: auto; aspect-ratio: 3 / 4; }
.vda-chapter-media--2 > :last-child { aspect-ratio: 3 / 4; }
.vda-chapter-media .wp-block-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s ease; }
.vda-chapter-media .wp-block-image:hover img { transform: scale(1.04); }
.vda-chapter-media figcaption {
	position: absolute; left: 0; right: 0; bottom: 0; margin: 0; padding: 2.2rem 1rem .8rem; text-align: left;
	background: linear-gradient(transparent, rgba(14,34,46,.65)); color: #fff;
	font-size: .7rem !important; letter-spacing: .2em; text-transform: uppercase; font-weight: 500;
}

/* ================= Pagina Contatti ================= */
.vda-contact .wp-block-columns { gap: clamp(2rem, 5vw, 4.5rem) !important; }
.vda-card h2 { margin-top: 0; margin-bottom: 2rem; }
.vda-ccards { display: grid; gap: 14px; margin-top: 1.8rem; }
.vda-ccard {
	display: flex; align-items: center; gap: 1.2rem; padding: 1.2rem 1.4rem; background: #fff; text-decoration: none; color: var(--wp--preset--color--ink);
	border: 1px solid rgba(219,197,109,.55); transition: transform .35s ease, box-shadow .35s ease, border-color .35s ease;
}
.vda-ccard:hover { transform: translateY(-3px); box-shadow: 0 22px 40px -26px rgba(27,123,170,.55); border-color: var(--wp--preset--color--gold); color: var(--wp--preset--color--ink); }
.vda-ccard-ico { flex: 0 0 58px; height: 58px; border-radius: 50%; background: var(--wp--preset--color--mist); position: relative; }
.vda-ccard-ico::after { content: ""; position: absolute; inset: 15px; background: var(--wp--preset--color--sea-deep); -webkit-mask: var(--vda-ico) center / contain no-repeat; mask: var(--vda-ico) center / contain no-repeat; }
.vda-ccard:hover .vda-ccard-ico { background: var(--wp--preset--color--sea-deep); }
.vda-ccard:hover .vda-ccard-ico::after { background: #fff; }
.vda-ccard-txt { display: flex; flex-direction: column; gap: .15rem; min-width: 0; }
.vda-ccard-txt strong { font-size: .74rem; letter-spacing: .22em; text-transform: uppercase; font-weight: 500; color: var(--wp--preset--color--sea-deep); }
.vda-ccard-txt span { font-size: 1rem; line-height: 1.45; overflow-wrap: anywhere; }
.vda-map-full.wp-block-group { padding: 0 !important; }
.vda-map-full .vda-map { box-shadow: none; }
.vda-map-full .vda-map iframe { height: clamp(420px, 60vh, 600px); }
