/*
Theme Name: VilleLay Travel Porto Exact
Theme URI: https://villelaytravel.com
Author: VilleLay Travel
Description: Tema premium responsivo para alojamentos, transfers privados e tours em Portugal. Paleta azul-noite, preto, branco e dourado.
Version: 3.6.1
Requires at least: 6.0
Tested up to: 6.8
Requires PHP: 7.4
Text Domain: villelay-travel
*/
:root{--vlt-navy:#111827;--vlt-ink:#151515;--vlt-gold:#c9aa4e;--vlt-gold-light:#dfc66d;--vlt-cream:#f7f5ef;--vlt-white:#fff;--vlt-muted:#777;--vlt-serif:Georgia,'Times New Roman',serif;--vlt-sans:Arial,Helvetica,sans-serif;--vlt-width:1240px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--vlt-ink);font-family:var(--vlt-sans);line-height:1.65}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto;display:block}.vlt-container{width:min(calc(100% - 48px),var(--vlt-width));margin-inline:auto}.vlt-header{position:relative;z-index:20;background:linear-gradient(110deg,#111827,#202c45);border-bottom:1px solid rgba(201,170,78,.75);color:#fff}.vlt-header-inner{min-height:150px;display:flex;align-items:center;justify-content:flex-start;gap:24px}.vlt-brand{display:flex;align-items:center;justify-content:flex-start;min-width:180px;margin-right:auto;flex:0 1 auto}.vlt-brand img{width:auto;max-width:440px;max-height:116px;object-fit:contain;object-position:left center}.vlt-brand-text{font-family:var(--vlt-serif);font-size:31px;color:var(--vlt-gold);letter-spacing:.02em}.vlt-brand-text span{color:#fff;font-style:italic}.vlt-nav-wrap{display:flex;align-items:center;gap:24px}.vlt-nav ul{list-style:none;display:flex;align-items:center;gap:25px;margin:0;padding:0}.vlt-nav li{position:relative}.vlt-nav a{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#fff;padding:14px 0;display:block}.vlt-nav a:hover,.vlt-nav .current-menu-item>a{color:var(--vlt-gold-light)}.vlt-nav li.menu-item-has-children>a:after{content:'⌄';display:inline-block;margin-left:9px;color:var(--vlt-gold-light);font-size:15px;transition:transform .2s}.vlt-nav li.submenu-open>a:after{transform:rotate(180deg)}.vlt-nav .sub-menu{display:none;position:absolute;top:100%;left:-18px;min-width:210px;background:#171b24;padding:10px 18px;box-shadow:0 12px 30px #0004;border-top:2px solid var(--vlt-gold)}.vlt-nav li.submenu-open>.sub-menu{display:block}.vlt-nav .sub-menu li{border-bottom:1px solid #ffffff20}.vlt-nav .sub-menu li:last-child{border:0}.vlt-nav .sub-menu a{padding:10px 0}.vlt-language{position:relative}.vlt-language summary{cursor:pointer;list-style:none;border:1px solid #a88c43;border-radius:2px;padding:10px 13px;color:#f8f1df;font-size:12px;letter-spacing:.1em}.vlt-language summary::-webkit-details-marker{display:none}.vlt-language-list{position:absolute;right:0;top:calc(100% + 8px);background:#171b24;border:1px solid #a88c43;padding:9px;min-width:175px;box-shadow:0 10px 25px #0005}.vlt-language-list a{display:flex;gap:10px;padding:8px;color:#fff;font-size:13px}.vlt-language-list a:hover{color:var(--vlt-gold)}.vlt-menu-toggle{display:none;flex:0 0 auto;margin-left:auto;background:none;border:1px solid var(--vlt-gold);color:#fff;font-size:30px;width:68px;height:62px;cursor:pointer}.vlt-hero{min-height:900px;display:flex;align-items:flex-start;position:relative;color:#fff;background-color:#242a32;background-image:linear-gradient(90deg,rgba(8,10,15,.78),rgba(8,10,15,.28)),linear-gradient(0deg,rgba(0,0,0,.48),transparent 60%),var(--vlt-hero-image,linear-gradient(120deg,#273449,#6b5360));background-size:cover;background-position:center 54%}.vlt-hero-inner{padding-top:82px;padding-bottom:90px}.vlt-eyebrow{font-size:13px;letter-spacing:.18em;text-transform:uppercase;color:#f4ead0;margin:0 0 82px;text-align:center}.vlt-hero h1{font:clamp(58px,8vw,112px)/.98 var(--vlt-serif);font-weight:400;max-width:900px;margin:0 0 28px;letter-spacing:-.045em;text-shadow:0 2px 18px rgba(0,0,0,.25)}.vlt-hero h1 em{display:block;color:var(--vlt-gold-light);font-weight:400}.vlt-hero-copy{font-size:clamp(17px,2vw,23px);max-width:670px;color:#f2f0ed;margin:32px 0 42px}.vlt-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap}.vlt-button{display:inline-flex;align-items:center;justify-content:center;min-height:58px;padding:17px 34px;background:var(--vlt-gold);color:#111;font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;border:1px solid var(--vlt-gold);transition:.2s}.vlt-button:hover{background:transparent;color:var(--vlt-gold-light)}.vlt-button-outline{background:transparent;color:#fff;border-color:#d5bd75}.vlt-button-outline:hover{background:var(--vlt-gold);color:#111}.vlt-hero-note{position:absolute;right:5%;bottom:38px;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:#ddd}.vlt-section{padding:100px 0}.vlt-section-cream{background:var(--vlt-cream)}.vlt-section-dark{background:#17191d;color:#fff}.vlt-section-heading{text-align:center;max-width:760px;margin:0 auto 52px}.vlt-kicker{font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:#a58a43}.vlt-section-heading h2{font:clamp(38px,5vw,62px)/1.1 var(--vlt-serif);font-weight:400;margin:12px 0 16px}.vlt-section-heading p{color:var(--vlt-muted);font-size:17px}.vlt-section-dark .vlt-section-heading p{color:#c5c5c5}.vlt-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}.vlt-card{background:#fff;box-shadow:0 12px 35px #1515150d}.vlt-card-media{aspect-ratio:4/3;background:linear-gradient(135deg,#d7d1c2,#8c897f);overflow:hidden}.vlt-card-media img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.vlt-card:hover .vlt-card-media img{transform:scale(1.04)}.vlt-card-body{padding:24px}.vlt-card h3{font:30px var(--vlt-serif);font-weight:400;margin:0 0 10px}.vlt-card p{color:#686868;margin:0 0 18px}.vlt-text-link{font-size:12px;letter-spacing:.13em;text-transform:uppercase;color:#9c8039;border-bottom:1px solid #c9aa4e;padding-bottom:5px}.vlt-feature-row{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.vlt-feature-image{min-height:440px;background:linear-gradient(135deg,#26334a,#a08b68);background-size:cover;background-position:center}.vlt-feature-copy h2{font:clamp(38px,5vw,60px)/1.08 var(--vlt-serif);font-weight:400;margin:12px 0 20px}.vlt-feature-copy p{color:#666;font-size:17px}.vlt-booking{background:#17191d;color:#fff;padding:74px 0}.vlt-booking-inner{display:grid;grid-template-columns:.8fr 1.2fr;gap:55px;align-items:start}.vlt-booking h2{font:48px/1.08 var(--vlt-serif);font-weight:400;margin:12px 0}.vlt-booking-intro{color:#c8c8c8}.vlt-form{display:grid;grid-template-columns:1fr 1fr;gap:15px}.vlt-field{display:flex;flex-direction:column;gap:7px}.vlt-field-full{grid-column:1/-1}.vlt-field label{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#d9c78f}.vlt-field input,.vlt-field select,.vlt-field textarea{width:100%;min-height:49px;padding:12px 13px;border:1px solid #555;background:#24272d;color:#fff;border-radius:0;font:15px var(--vlt-sans)}.vlt-field textarea{min-height:100px}.vlt-form .vlt-button{cursor:pointer}.vlt-notice{padding:14px;background:#243a2d;color:#e9f8ed;margin-bottom:18px}.vlt-footer{background:#111827;color:#fff;padding:65px 0 25px;border-top:1px solid #9c8039}.vlt-footer-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:45px}.vlt-footer h3{font:27px var(--vlt-serif);font-weight:400;color:var(--vlt-gold)}.vlt-footer p,.vlt-footer a{color:#c7c7c7}.vlt-footer a:hover{color:var(--vlt-gold)}.vlt-footer-bottom{border-top:1px solid #ffffff20;margin-top:45px;padding-top:20px;color:#999;font-size:12px;display:flex;justify-content:space-between;gap:20px}.vlt-content{padding:70px 0;min-height:45vh}.vlt-content h1,.vlt-content h2{font-family:var(--vlt-serif);font-weight:400}.vlt-empty{padding:30px;background:#f6f3eb;color:#555}
@media(max-width:1000px){.vlt-header-inner{min-height:142px;justify-content:flex-start}.vlt-menu-toggle{display:block}.vlt-nav-wrap{display:none;position:absolute;top:100%;left:0;right:0;background:#151922;padding:22px 24px 28px;border-top:1px solid #9c8039;align-items:stretch;flex-direction:column}.vlt-nav-wrap.is-open{display:flex}.vlt-nav ul{display:block}.vlt-nav li{border-bottom:1px solid #ffffff20}.vlt-nav a{padding:13px 0}.vlt-nav .sub-menu{display:none;position:static;background:transparent;border:0;box-shadow:none;padding:0 0 8px 18px}.vlt-nav li.submenu-open>.sub-menu{display:block}.vlt-nav .sub-menu a{font-size:11px}.vlt-language-list{left:0;right:auto}.vlt-hero{min-height:720px}.vlt-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.vlt-booking-inner{grid-template-columns:1fr;gap:25px}.vlt-footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.vlt-container{width:min(calc(100% - 40px),var(--vlt-width))}.vlt-header-inner{min-height:142px;justify-content:flex-start;gap:10px}.vlt-brand{min-width:0;max-width:calc(100% - 82px);margin-right:auto}.vlt-brand img{max-width:100%;width:100%;max-height:108px;object-position:left center}.vlt-brand-text{font-size:25px}.vlt-hero{min-height:calc(100svh - 142px);background-position:60% center;background-size:cover}.vlt-hero-inner{padding-top:76px;padding-bottom:110px}.vlt-eyebrow{font-size:10px;letter-spacing:.14em;line-height:1.7;margin-bottom:72px;text-align:left}.vlt-hero h1{font-size:clamp(52px,13.5vw,78px);max-width:100%;line-height:1.02}.vlt-hero-copy{font-size:17px;line-height:1.65;margin:30px 0 42px;max-width:580px}.vlt-actions{align-items:flex-start;flex-direction:column;gap:24px}.vlt-button{min-height:64px;padding:18px 28px;font-size:11px}.vlt-hero-note{display:none}.vlt-section{padding:72px 0}.vlt-grid{grid-template-columns:1fr;gap:20px}.vlt-feature-row{grid-template-columns:1fr;gap:28px}.vlt-feature-image{min-height:300px}.vlt-booking{padding:65px 0}.vlt-booking h2{font-size:40px}.vlt-form{grid-template-columns:1fr}.vlt-field-full{grid-column:auto}.vlt-footer-grid{grid-template-columns:1fr;gap:20px}.vlt-footer-bottom{flex-direction:column}}


/* VILLELAY PORTO EXACT — reference-matched mobile homepage */
.vlt-mobile-reference{display:none;position:relative;width:100%;line-height:0;background:#06172d;overflow:hidden}
.vlt-mobile-reference>img{display:block;width:100%;height:auto;max-width:none}
.vlt-reference-hotspot{position:absolute;display:block;z-index:4;background:transparent;border:0;text-indent:-9999px;overflow:hidden}
.vlt-reference-menu-hotspot{top:4.7%;right:3.2%;width:10.2%;height:4.8%}
.vlt-reference-stays-hotspot{top:60.1%;left:7%;width:56%;height:5.2%}
.vlt-reference-plan-hotspot{top:66.7%;left:7%;width:52%;height:4.4%}
.vlt-mobile-nav{display:none;position:absolute;z-index:10;top:12%;left:5%;right:5%;padding:18px 22px;background:rgba(7,20,39,.97);border:1px solid #d7ad27;line-height:1.5;box-shadow:0 16px 36px #0008}
.vlt-mobile-nav.is-open{display:block}
.vlt-mobile-nav .vlt-nav ul{display:block;margin:0;padding:0;list-style:none}
.vlt-mobile-nav .vlt-nav li{border-bottom:1px solid #ffffff30}
.vlt-mobile-nav .vlt-nav a{display:block;padding:12px 0;color:#fff;font-size:13px;letter-spacing:.13em;text-transform:uppercase}
.vlt-mobile-nav .vlt-nav .sub-menu{display:none;position:static;padding:0 0 8px 18px;background:transparent;border:0;box-shadow:none}
.vlt-mobile-nav .vlt-nav li.submenu-open>.sub-menu{display:block}
.vlt-mobile-nav .vlt-language{margin-top:14px}
.vlt-mobile-nav .vlt-language summary{display:inline-block}
.vlt-desktop-hero{display:block}
@media(max-width:767px){
 body.home .vlt-header{display:none}
 .vlt-mobile-reference{display:block}
 .vlt-desktop-hero{display:none}
 .vlt-mobile-reference img{width:100%;height:auto}
}
@media(min-width:768px){
 .vlt-mobile-reference{display:none}
 .vlt-desktop-hero{display:block}
}


/* WhatsApp: standalone floating icon only — no green label or phone number */



@media(max-width:767px){}

/* VilleLay WhatsApp floating control — exactly one icon, no text label. */



@media(max-width:767px){}


/* WhatsApp: one icon-only floating control, rendered once in footer.php */
.vlt-whatsapp{position:fixed!important;z-index:99999!important;right:18px!important;bottom:18px!important;width:58px!important;height:58px!important;min-width:58px!important;min-height:58px!important;padding:0!important;margin:0!important;display:flex!important;align-items:center!important;justify-content:center!important;overflow:hidden!important;border:0!important;border-radius:50%!important;background:#18c65a!important;color:#fff!important;box-shadow:0 5px 18px rgba(0,0,0,.28)!important;font-size:0!important;line-height:0!important;text-indent:-9999px!important}
.vlt-whatsapp svg{position:absolute!important;inset:11px!important;width:36px!important;height:36px!important;display:block!important;fill:#fff!important;text-indent:0!important}
.vlt-whatsapp:hover,.vlt-whatsapp:focus{background:#10a94a!important;color:#fff!important}
@media(max-width:767px){.vlt-whatsapp{right:16px!important;bottom:18px!important;width:56px!important;height:56px!important;min-width:56px!important;min-height:56px!important}.vlt-whatsapp svg{inset:10px!important;width:36px!important;height:36px!important}}
