/* Villa Silvana – stile ispirato al linguaggio di Villa Tre Ville: luce, crema, maiuscolo spaziato, pillole morbide.
   Colori e font principali sono nel Kit globale di Elementor. */
:root{
  --vs-green:#7EBF47; --vs-green-text:#4A7F24; --vs-grey:#393536; --vs-grey-2:#6B6566;
  --vs-bg:#FAF7F2; --vs-cream:#ECE4D6; --vs-sand:#ECE4D6; --vs-taupe:#4A7F24;
  --vs-serif:"Cormorant Garamond",Georgia,serif;
  --vs-sans:"Jost",system-ui,sans-serif;
  --vs-admin:var(--wp-admin--admin-bar--height,0px);
  --vs-ease:cubic-bezier(.22,.61,.36,1);
}
html{scroll-behavior:smooth}
body{background:var(--vs-bg);color:var(--vs-grey)}
:focus-visible{outline:2px solid var(--vs-green-text);outline-offset:3px}
img{height:auto}
.vs-todo{background:#fff3b0;color:#5a4a00;padding:0 .25em}

/* ---------- Tipografia ---------- */
.elementor-heading-title{font-weight:400}
h1.elementor-heading-title,h2.elementor-heading-title{line-height:1.2}
.vs-sub .elementor-heading-title,.vs-sub-txt{font-family:var(--vs-sans)!important;font-size:14px!important;font-weight:400!important;letter-spacing:.14em!important;text-transform:uppercase;color:var(--vs-grey-2)!important;margin:0;line-height:1.6!important}
.vs-lead,.vs-lead p{font-size:15.5px;line-height:1.85;letter-spacing:.025em;color:var(--vs-grey-2)}
.vs-lead p:last-child{margin-bottom:0}
.vs-giant .elementor-heading-title{font-size:clamp(56px,9vw,128px)!important;letter-spacing:.06em!important;line-height:1!important}
@media (max-width:767px){.vs-sub .elementor-heading-title,.vs-sub-txt{font-size:12.5px!important}}

/* ---------- Pillole (pulsanti) ---------- */
.vs-pill .elementor-button{border-radius:6px!important;background:var(--vs-sand)!important;border:0!important;color:var(--vs-grey)!important;font-family:var(--vs-sans)!important;font-size:15px!important;font-weight:400!important;letter-spacing:.03em!important;text-transform:none!important;padding:13px 26px!important;transition:background .3s,color .3s}
.vs-pill .elementor-button:hover{background:var(--vs-grey-2)!important;color:#fff!important}
.vs-pill--book .elementor-button{background:var(--vs-green-text)!important;color:#fff!important}
.vs-pill--book .elementor-button:hover{background:var(--vs-grey)!important}
.vs-hpills{display:inline-flex;border-radius:6px;overflow:hidden;margin:0}
.vs-hp{display:inline-block;font-family:var(--vs-sans);font-size:14px;letter-spacing:.03em;padding:9px 20px;text-decoration:none!important;transition:background .3s,color .3s;white-space:nowrap}
a.vs-hp--req{background:var(--vs-sand);color:var(--vs-grey)!important}
a.vs-hp--book{background:#4A7F24;color:#fff!important}
a.vs-hp--req:hover{background:#e4d7c6}
a.vs-hp--book:hover{background:var(--vs-green-text)}
.vs-hpills--inline{margin-top:18px}

/* ---------- Header: trasparente in apertura, poi fascia crema satinata con bordo curvo ---------- */
.vs-header{position:fixed!important;top:var(--vs-admin);left:0;right:0;z-index:999;transition:background .45s var(--vs-ease)}
.vs-header:after{content:"";position:absolute;left:-5%;right:-5%;top:100%;height:46px;background:inherit;border-radius:0 0 50% 50%/0 0 100% 100%;pointer-events:none;-webkit-backdrop-filter:inherit;backdrop-filter:inherit;opacity:var(--vs-curve,1);transition:opacity .45s}
body:not(.home) .vs-header,body.vs-scrolled .vs-header{background:rgba(250,247,242,.82);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
body.home:not(.vs-scrolled) .vs-header{background:transparent;--vs-curve:0}
body.home:not(.vs-scrolled) .vs-header .vs-logo{opacity:0;pointer-events:none}
.vs-header .vs-logo{display:block;line-height:0;transition:opacity .5s}
.vs-header .vs-logo img{width:190px;max-width:44vw;height:auto}
.vs-burger{display:inline-block;width:38px;height:22px;position:relative;color:var(--vs-grey)!important}
.vs-burger i,.vs-burger i:before,.vs-burger i:after{position:absolute;left:0;width:38px;height:1px;background:currentColor;content:""}
.vs-burger i{top:7px}.vs-burger i:before{top:4px}.vs-burger i:after{top:8px}
.vs-hright{display:flex;align-items:center;justify-content:flex-end;gap:18px}
.vs-lang{display:flex;gap:10px;font-family:var(--vs-sans);font-size:12px;letter-spacing:.14em}
.vs-lang a{text-decoration:none;color:var(--vs-grey-2)!important;opacity:.75}.vs-lang a.is-current{opacity:1;border-bottom:1px solid currentColor}
@media (max-width:767px){.vs-hide-m{display:none!important}.vs-header .vs-logo img{width:150px}.vs-hp{padding:8px 14px;font-size:13px}}

/* ---------- Apertura della home ---------- */
.vs-intro{position:relative;height:100vh;height:100svh;min-height:560px;overflow:hidden;display:flex;align-items:center;justify-content:center;text-align:center}
.vs-intro__bg{position:absolute;inset:-4%;width:108%!important;height:108%!important;max-width:none!important;object-fit:cover;filter:blur(7px) saturate(.85);animation:vsDrift 26s ease-in-out infinite alternate}
.vs-intro__veil{position:absolute;inset:0;background:linear-gradient(180deg,rgba(250,248,244,.72),rgba(250,247,242,.62) 60%,rgba(250,247,242,.8))}
.vs-intro__in{position:relative;z-index:1;padding:0 24px;display:flex;flex-direction:column;align-items:center;min-height:100%;justify-content:space-between;padding-top:calc(var(--vs-admin) + 34px);padding-bottom:40px;box-sizing:border-box;height:100%}
.vs-intro__logo{width:200px;max-width:52vw;height:auto;animation:vsIn 1.4s var(--vs-ease) both}
.vs-intro__h1{font-family:var(--vs-sans)!important;font-size:12px!important;font-weight:400!important;letter-spacing:.32em!important;text-transform:uppercase;color:var(--vs-grey-2)!important;margin:14px 0 0!important;animation:vsIn 1.4s .2s var(--vs-ease) both}
.vs-intro__quote{font-family:var(--vs-serif);font-size:clamp(30px,3.6vw,50px);font-weight:400;letter-spacing:.08em;color:var(--vs-grey);margin:0;display:flex;flex-direction:column;line-height:1.35}
.vs-intro__quote span{display:block;animation:vsIn 1.6s .5s var(--vs-ease) both}
.vs-intro__quote span:first-child{transform-origin:left;align-self:flex-start;margin-left:-8vw}
.vs-intro__quote span:last-child{align-self:flex-end;margin-right:-8vw;animation-delay:.9s}
.vs-intro__cue{position:relative;font-family:var(--vs-sans);font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--vs-green-text)!important;text-decoration:none;padding-bottom:46px}
.vs-intro__cue:after{content:"";position:absolute;left:50%;bottom:0;width:1px;height:34px;background:currentColor;animation:vsCue 2.2s infinite}
@keyframes vsCue{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}51%{transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}
@keyframes vsIn{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@keyframes vsDrift{from{transform:scale(1)}to{transform:scale(1.07) translate(-1%,1%)}}
@media (max-width:767px){.vs-intro__quote span:first-child,.vs-intro__quote span:last-child{margin:0;align-self:center}}

/* ---------- Film guidato dallo scroll ---------- */
.vs-hero-wrap{padding:0!important}
.vs-hero-scroll{position:relative;height:360vh;background:var(--vs-cream)}
.vs-hero-scroll.has-frames{height:420vh}
.vs-hero-sticky{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden}
.vs-hero-sticky .vs-shot,.vs-hero-sticky .vs-hero-canvas{position:absolute;inset:0;width:100%!important;height:100%!important;max-width:none!important;object-fit:cover;will-change:transform,opacity}
.vs-shot{opacity:0;transform-origin:50% 55%}
.vs-shot.is-on{opacity:1}
.vs-hero-canvas{display:none}
.vs-hero-scroll.is-canvas .vs-hero-canvas{display:block}
.vs-hero-scroll.is-canvas .vs-shot{display:none}
@media (prefers-reduced-motion:reduce){.vs-hero-scroll,.vs-hero-scroll.has-frames{height:100vh}.vs-intro__bg,.vs-intro__logo,.vs-intro__h1,.vs-intro__quote span{animation:none}}

/* ---------- Comparsa sezioni ---------- */
.vs-reveal{opacity:0;transform:translateY(40px);transition:opacity 1.1s var(--vs-ease),transform 1.1s var(--vs-ease)}
.vs-reveal.is-in{opacity:1;transform:none}

/* ---------- Immagini fluttuanti dell'introduzione ---------- */
.vs-float-l{margin-top:180px}
.vs-float-r{margin-top:-40px}
.vs-float img{width:100%;aspect-ratio:3/4;object-fit:cover;display:block;will-change:transform}
.vs-float-r .vs-float img{aspect-ratio:4/5}

/* ---------- Sezioni alternate ---------- */
.vs-split-media{padding:70px 0}
.vs-split-img,.vs-split-img .elementor-widget-container{overflow:hidden}
.vs-split-img img{width:78%!important;margin:0 auto;display:block;aspect-ratio:4/5;object-fit:cover;max-height:760px}
.vs-split[style*="row-reverse"] .vs-split-img img{margin-left:auto}
@media (max-width:767px){.vs-split-media{padding:0}.vs-split-img img{width:100%!important;aspect-ratio:4/3}}

/* ---------- Hero pagine interne (immagine sfalsata + decoro) ---------- */
.vs-ph-img{position:relative}
.vs-ph-deco{background:#fff}
.vs-ornament{width:min(260px,70%);height:auto;opacity:.09;filter:grayscale(1)}
.vs-ph-gutter{background:var(--vs-cream)}
.vs-ph-title h1.elementor-heading-title{font-size:clamp(36px,4.6vw,62px)}

/* Template camera */
.vs-rhero{display:flex;min-height:84vh}
.vs-rhero__img{flex:0 0 70%;background:center/cover no-repeat}
.vs-rhero__deco{flex:1;display:flex;align-items:center;justify-content:center}
.vs-rhero__title{display:flex}
.vs-rhero__gutter{flex:0 0 30%;background:var(--vs-cream)}
.vs-rhero__in{flex:1;padding:90px 70px 40px}
.vs-rhero h1,.vs-rhero__in h1{font-family:var(--vs-serif);font-weight:400;text-transform:uppercase;letter-spacing:.08em;font-size:clamp(34px,4.4vw,58px);line-height:1.15;color:var(--vs-grey);margin:0 0 10px}
@media (max-width:767px){.vs-rhero{min-height:62vh}.vs-rhero__img{flex-basis:100%}.vs-rhero__deco,.vs-rhero__gutter{display:none}.vs-rhero__in{padding:40px 20px 10px}}
.vs-room-content{max-width:720px;margin:0 auto}
.vs-room-content ul.vs-keys{list-style:none;padding:22px 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:18px;margin:0 0 36px;border-top:1px solid #e6ddd0;border-bottom:1px solid #e6ddd0}
.vs-room-content ul.vs-keys li{font-family:var(--vs-sans);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--vs-grey-2)}
.vs-room-content ul.vs-keys strong{display:block;font-family:var(--vs-serif);font-size:26px;letter-spacing:.02em;text-transform:none;color:var(--vs-grey);font-weight:400}
.vs-room-content h2{font-family:var(--vs-serif);font-weight:400;text-transform:uppercase;letter-spacing:.08em;font-size:26px;margin:44px 0 16px;color:var(--vs-grey)}
.vs-room-content ul.vs-services{columns:2;padding-left:18px}

/* ---------- Elenco tipografico camere ---------- */
.vs-rlist{list-style:none;margin:20px 0;padding:0;text-align:center}
.vs-rlist li{border-bottom:1px solid #e6ddd0}
.vs-rlist li:first-child{border-top:1px solid #e6ddd0}
.vs-rlist a{display:block;padding:22px 10px;text-decoration:none!important;transition:background .4s}
.vs-rlist a:hover{background:rgba(239,230,218,.4)}
.vs-rlist__t{display:block;font-family:var(--vs-serif);font-size:clamp(26px,3vw,40px);text-transform:uppercase;letter-spacing:.08em;color:var(--vs-grey);line-height:1.2;transition:letter-spacing .5s var(--vs-ease)}
.vs-rlist a:hover .vs-rlist__t{letter-spacing:.12em}
.vs-rlist__s{display:block;font-family:var(--vs-sans);font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--vs-grey-2);margin-top:6px}
.vs-rlist__preview{position:fixed;left:0;top:0;width:240px;height:300px;background:center/cover;opacity:0;pointer-events:none;z-index:50;transition:opacity .35s;border-radius:4px;box-shadow:0 20px 50px rgba(0,0,0,.12)}
.vs-rlist__preview.is-on{opacity:1}

/* ---------- Card camere (pagina Camere e Suite) ---------- */
.vs-rooms{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(280px,100%),1fr));gap:48px 32px}
.vs-room-card a{display:block;text-decoration:none;color:inherit;text-align:center}
.vs-room-card img{width:100%;aspect-ratio:4/5;object-fit:cover;display:block;transition:transform 1s var(--vs-ease)}
.vs-room-card{overflow:hidden}
.vs-room-card a:hover img{transform:scale(1.03)}
.vs-room-card h3{font-family:var(--vs-serif);font-size:24px;font-weight:400;text-transform:uppercase;letter-spacing:.08em;margin:20px 0 6px;color:var(--vs-grey)}
.vs-room-card p{font-size:12.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--vs-grey-2);margin:0 0 10px}
.vs-link{font-family:var(--vs-sans);font-size:14px;color:var(--vs-grey);border-bottom:1px solid currentColor}

/* ---------- Da scoprire ---------- */
.vs-see{display:block;text-decoration:none!important;text-align:center}
.vs-see__img{display:block;overflow:hidden}
.vs-see__img img{width:100%;aspect-ratio:4/5;object-fit:cover;display:block;transition:transform 1.2s var(--vs-ease)}
.vs-see:hover .vs-see__img img{transform:scale(1.04)}
.vs-see__t{display:block;font-family:var(--vs-serif);font-size:26px;text-transform:uppercase;letter-spacing:.08em;color:var(--vs-grey);margin-top:20px}
.vs-see__s{display:block;font-family:var(--vs-sans);font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--vs-grey-2);margin-top:4px}

/* ---------- Menu a schermo intero ---------- */
.vs-fullmenu ul{list-style:none;margin:0;padding:0}
.vs-fullmenu li{margin:0 0 .3em}
.vs-fullmenu a{font-family:var(--vs-serif);font-size:clamp(26px,3.4vw,42px);text-transform:uppercase;letter-spacing:.08em;line-height:1.25;color:var(--vs-grey)!important;text-decoration:none;transition:color .3s,letter-spacing .5s var(--vs-ease)}
.vs-fullmenu a:hover,.vs-fullmenu .current-menu-item a{color:var(--vs-green-text)!important;letter-spacing:.11em}
.vs-menu-img img{width:100%;aspect-ratio:16/10;object-fit:cover}

/* ---------- Servizi ---------- */
.vs-services-grid ul{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;justify-content:center;gap:10px 34px}
.vs-services-grid li{font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--vs-grey-2);padding:6px 0}

/* ---------- Ricerca disponibilità ---------- */
.vs-booking{display:flex;flex-wrap:wrap;align-items:flex-end;gap:14px 18px;background:#fff;padding:24px 26px;border-radius:6px}
.vs-booking label{display:flex;flex-direction:column;gap:6px;flex:1 1 130px;font-family:var(--vs-sans);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--vs-grey-2)}
.vs-booking input,.vs-booking select{border:0;border-bottom:1px solid #d9cfc2;border-radius:0;background:transparent;padding:8px 2px;font-family:var(--vs-sans);font-size:16px;color:var(--vs-grey);min-height:42px}
.vs-booking .vs-btn{flex:1 1 200px}
.vs-booking__manage{flex-basis:100%;font-family:var(--vs-sans);font-size:13px;color:var(--vs-grey-2)!important}
.vs-btn,a.vs-btn{display:inline-block;font-family:var(--vs-sans);font-size:15px;letter-spacing:.03em;padding:13px 26px;border:0;border-radius:6px;background:var(--vs-sand);color:var(--vs-grey);text-decoration:none;cursor:pointer;transition:background .3s,color .3s}
.vs-btn--solid,a.vs-btn--solid{background:var(--vs-green-text);color:#fff!important}
.vs-btn--solid:hover{background:var(--vs-grey)}
@media (max-width:767px){.vs-booking{padding:18px 16px}.vs-booking .vs-btn{flex-basis:100%;white-space:normal}}

/* ---------- Footer chiaro ---------- */
.vs-footer{text-align:center;color:var(--vs-grey-2)}
.vs-footer a{color:var(--vs-grey-2)!important;text-decoration:none}
.vs-footer a:hover{color:var(--vs-grey)!important;text-decoration:underline}
.vs-flogo{width:150px;height:auto}
.vs-fmenu ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:8px 30px}
.vs-fmenu a{font-family:var(--vs-sans);font-size:12.5px;letter-spacing:.16em;text-transform:uppercase}
.vs-finfo p{margin:0 0 6px;font-size:14px}
.vs-legal{font-size:12px;line-height:1.7;margin:0;color:var(--vs-grey-2)}
.vs-social{list-style:none;margin:0;padding:0;display:flex;gap:22px;justify-content:center;flex-wrap:wrap}
.vs-social a{font-size:13px;letter-spacing:.1em;text-transform:uppercase}
.vs-maiolica{height:38px;opacity:.55;background-color:var(--vs-cream);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='38' height='38' viewBox='0 0 46 46'%3E%3Crect width='46' height='46' fill='%23ECE4D6'/%3E%3Cpath d='M23 4c5 7 5 12 0 19c-5-7-5-12 0-19zM23 42c-5-7-5-12 0-19c5 7 5 12 0 19zM4 23c7-5 12-5 19 0c-7 5-12 5-19 0zM42 23c-7 5-12 5-19 0c7-5 12-5 19 0z' fill='%237EBF47' fill-opacity='.45'/%3E%3Ccircle cx='23' cy='23' r='2.5' fill='%23393536'/%3E%3C/svg%3E");background-size:38px 38px}
.vs-contacts{list-style:none;margin:0;padding:0}
.vs-contacts li{margin:0 0 10px;line-height:1.5}

/* ---------- Mappa al click ---------- */
.vs-map{position:relative;aspect-ratio:16/9;min-height:320px;background:var(--vs-cream);display:flex;align-items:center;justify-content:center;text-align:center;border-radius:6px;overflow:hidden}
.vs-map__inner{max-width:420px;padding:24px}
.vs-map iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

/* ---------- Barra mobile e WhatsApp ---------- */
.vs-mbar{display:none}
.vs-wa{position:fixed;right:22px;bottom:22px;z-index:998;width:54px;height:54px;border-radius:50%;background:#25D366;color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 20px rgba(0,0,0,.18)}
@media (max-width:767px){
  .vs-mbar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:998;background:rgba(250,247,242,.94);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid #e6ddd0;padding-bottom:env(safe-area-inset-bottom)}
  .vs-mbar a{flex:1;text-align:center;color:var(--vs-grey)!important;text-decoration:none;font-family:var(--vs-sans);font-size:13px;letter-spacing:.06em;padding:15px 4px}
  .vs-mbar a.is-book{background:#4A7F24;color:#fff!important}
  .vs-wa{display:none}
  body{padding-bottom:52px}
}

/* ---------- Form ---------- */
.elementor-form .elementor-field-group .elementor-field-textual{border-radius:4px;border-color:#ddd3c6;background:#fff}
.elementor-form .elementor-button{border-radius:6px!important;background:#4A7F24!important;color:#fff!important;text-transform:none!important;letter-spacing:.03em!important}
.elementor-form .elementor-button:hover{background:var(--vs-green-text)!important}
.elementor-field-group .elementor-field-label{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--vs-grey-2)}

/* ---------- 404 / ricerca ---------- */
.search-form{display:flex;gap:10px;max-width:520px;margin:0 auto}
.search-form input[type=search]{flex:1;border:1px solid #ddd3c6;border-radius:6px;padding:12px 14px;background:#fff}
.search-form .search-submit{border-radius:6px;background:var(--vs-sand);border:0;color:var(--vs-grey);font-size:14px;padding:0 22px}
.vs-404-links{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:12px 28px;justify-content:center}
.vs-404-links a{font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--vs-grey)}

.vs-hright .elementor-widget{width:auto!important;flex:0 0 auto}
@media (max-width:767px){.vs-hright .elementor-widget-shortcode{display:none}}
.vs-booking .vs-btn--solid{background:#4A7F24!important;color:#fff!important;border:0!important;border-radius:6px!important}
.vs-booking .vs-btn--solid:hover{background:var(--vs-green-text)!important}
.vs-ph-deco .elementor-widget,.vs-ph-deco .elementor-widget-container{width:100%;text-align:center}
.vs-ornament{width:260px!important;max-width:70%}
@media (max-width:767px){.vs-header{flex-wrap:nowrap!important}.vs-header>.e-con{min-width:0}.vs-header>.e-con:first-child{width:auto!important;flex:0 0 48px}.vs-hright{width:auto!important;flex:0 0 auto!important}.vs-header>.e-con:nth-child(2){flex:1 1 auto;width:auto!important}}

/* ---------- Design system Villa Silvana (handover): pulsanti rettangolari, bordo 1px, maiuscolo 0,15em, verde testo ---------- */
.vs-pill .elementor-button,.vs-btn,a.vs-btn,.vs-hp,.elementor-form .elementor-button,.search-form .search-submit{border-radius:0!important;font-family:var(--vs-sans)!important;font-size:12.5px!important;font-weight:500!important;letter-spacing:.15em!important;text-transform:uppercase!important}
.vs-pill .elementor-button,.vs-btn,a.vs-btn,.search-form .search-submit{background:transparent!important;border:1px solid var(--vs-green-text)!important;color:var(--vs-green-text)!important;padding:13px 26px!important}
.vs-pill .elementor-button:hover,.vs-btn:hover,a.vs-btn:hover,.search-form .search-submit:hover{background:var(--vs-green-text)!important;color:#fff!important}
.vs-pill--book .elementor-button,.vs-booking .vs-btn--solid,.vs-btn--solid,a.vs-btn--solid,.elementor-form .elementor-button{background:var(--vs-green-text)!important;border:1px solid var(--vs-green-text)!important;color:#fff!important}
.vs-pill--book .elementor-button:hover,.vs-booking .vs-btn--solid:hover,.elementor-form .elementor-button:hover{background:var(--vs-grey)!important;border-color:var(--vs-grey)!important}
.vs-hpills{border-radius:0;gap:0}
.vs-hp{padding:9px 18px!important;border:1px solid var(--vs-green-text)}
a.vs-hp--req{background:transparent!important;color:var(--vs-green-text)!important}
a.vs-hp--req:hover{background:var(--vs-green-text)!important;color:#fff!important}
a.vs-hp--book{background:var(--vs-green-text)!important;color:#fff!important;margin-left:-1px}
a.vs-hp--book:hover{background:var(--vs-grey)!important;border-color:var(--vs-grey)}
.vs-booking,.vs-map,.search-form input[type=search]{border-radius:0}
.vs-booking{background:var(--vs-bg)}
.vs-lead,.vs-lead p{color:var(--vs-grey)}
.vs-intro__veil{background:linear-gradient(180deg,rgba(250,247,242,.74),rgba(250,247,242,.6) 60%,rgba(236,228,214,.8))}
.vs-rlist a:hover{background:rgba(236,228,214,.45)}
.vs-rlist li,.vs-rlist li:first-child,.vs-room-content ul.vs-keys{border-color:#d9cfc0}
.vs-ph-deco{background:var(--vs-bg)}
.vs-ornament{opacity:.14;filter:none}
