/*
Theme Name: Waterton Country Villas
Description: Light, fast theme for Waterton Country Villas. No page builder, no jQuery, system fonts.
Version: 1.0.0
Author: Waterton Country Villas
Text Domain: wcv
*/
:root{--bg:#F7F4EE;--ink:#1F2A24;--mute:#55605A;--g1:#1F4237;--g2:#2F5D50;--rust:#A8531F;--line:#DDD6C8;--sand:#E9E3D4;--serif:'Fraunces',Georgia,'Times New Roman',serif;--sans:'DM Sans',system-ui,-apple-system,'Segoe UI',Roboto,Helvetica,Arial,sans-serif}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font:17px/1.55 var(--sans)}
img{max-width:100%;height:auto}
a{color:var(--g2)}a:hover{color:var(--g1)}
a:focus-visible,button:focus-visible,input:focus,select:focus,textarea:focus,summary:focus-visible{outline:3px solid var(--rust);outline-offset:2px}
.wrap{max-width:1120px;margin:0 auto;padding:0 32px}
h1,h2,h3{font-family:var(--serif);font-weight:600;line-height:1.1;margin:0 0 .5em}
h1{font-size:clamp(34px,4.4vw,54px);letter-spacing:-.01em}
h2{font-size:clamp(28px,3.4vw,38px)}h3{font-size:22px}
.topbar{background:var(--g1);color:var(--bg);font-size:14px}
.topbar .wrap{display:flex;flex-wrap:wrap;gap:4px 24px;justify-content:space-between;padding-top:8px;padding-bottom:8px}
.topbar a{color:var(--bg);font-weight:700}
.site-header{background:#fff;border-bottom:1px solid var(--line)}
.site-header .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 24px;padding-top:10px;padding-bottom:10px}
.brand{font:600 24px/1.1 var(--serif);color:var(--ink);text-decoration:none}
.brand img{height:54px;width:auto;display:block}
.nav ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;align-items:center;gap:6px 18px}
.nav a{color:var(--ink);text-decoration:none;font-weight:500;font-size:15px;padding:10px 0;display:inline-block}
.nav a:hover{color:var(--rust)}
.nav .cta a,.btn{background:var(--rust);color:#fff;border-radius:999px;font-weight:700;padding:0 22px;min-height:46px;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;border:0;font:inherit;font-weight:700;cursor:pointer}
.nav .cta a:hover,.btn:hover{background:#8C4217;color:#fff}
.btn.alt{background:#fff;color:var(--g2);border:2px solid var(--g2)}.btn.alt:hover{background:var(--g2);color:#fff}
.btn.green{background:var(--g2)}.btn.green:hover{background:var(--g1)}
.menu-toggle{display:none;min-height:44px;padding:0 18px;border:2px solid var(--g2);background:#fff;color:var(--g2);border-radius:999px;font:inherit;font-weight:700}
@media(max-width:820px){.menu-toggle{display:inline-block}.nav{display:none;width:100%}.nav.open{display:block}.nav ul{flex-direction:column;align-items:stretch;gap:0}.nav li{border-top:1px solid var(--line)}.nav a{display:block;padding:14px 0}.nav .cta a{margin:12px 0;width:100%}.wrap{padding:0 20px}}
.hero{padding:56px 0 0}
.hero .grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(440px,100%),1fr));gap:40px;align-items:center}
.eyebrow{font-size:14px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--rust);margin:0 0 12px}
.lead{font-size:19px;color:var(--mute);max-width:36em}
.facts{display:flex;flex-wrap:wrap;gap:8px 28px;font-weight:500;margin:20px 0 0;padding:0;list-style:none}
.photo{border-radius:20px;overflow:hidden;background:#D9D2C3;min-height:340px}
.photo img{display:block;width:100%;height:100%;object-fit:cover}
.finder{margin-top:28px;background:#fff;border:1px solid var(--line);border-radius:20px;padding:24px;box-shadow:0 8px 24px rgba(31,42,36,.1)}
.finder h2{font-size:24px;margin:0 0 14px}
.finder .row{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(180px,100%),1fr));gap:12px}
.finder a{display:flex;flex-direction:column;gap:2px;padding:14px 16px;border:2px solid var(--line);border-radius:14px;text-decoration:none;color:var(--ink);font-weight:700}
.finder a span{font-weight:400;color:var(--mute);font-size:15px}
.finder a:hover{border-color:var(--rust)}
section.block{padding:64px 0 0}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:20px}
.card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:26px;display:flex;flex-direction:column;gap:12px}
.card.feature{border:2px solid var(--g2)}
.card .tag{font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--mute)}
.card .price{font-size:26px;font-weight:700}.card .price small{font-size:16px;font-weight:400;color:var(--mute)}
.card .btn{margin-top:auto;border-radius:12px}
.sand{background:var(--sand);border-radius:18px;padding:26px}
.small{font-size:15px;color:var(--mute)}
.band{background:var(--g1);color:var(--bg);margin-top:72px;padding:60px 0}
.band h2{color:var(--bg)}.band a{color:var(--bg)}
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));gap:32px}
.steps .n{font:600 34px var(--serif);color:#F2B98F}
.steps h3{font-family:var(--sans);font-size:20px;margin:4px 0 8px}
table.rates{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden}
table.rates th,table.rates td{text-align:left;padding:14px 16px;border-bottom:1px solid var(--line);vertical-align:top}
table.rates th{background:var(--sand);font-size:15px}
.page-head{padding:48px 0 8px}
.entry{padding:0 0 24px}
.entry>*{max-width:46em}
.entry .wide,.entry .cards,.entry table{max-width:none}
.entry h2{margin-top:1.6em}
.faq details{background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px 20px;margin:0 0 12px;max-width:46em}
.faq summary{font-weight:700;cursor:pointer}
.faq details p{margin:10px 0 0}
.facts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin:0 0 28px}
.facts-grid div{background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px 16px}
.facts-grid b{display:block;font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--mute)}
.gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(230px,100%),1fr));gap:16px}
.gallery img{border-radius:16px;display:block;width:100%;height:240px;object-fit:cover}
.wcv-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));gap:16px;max-width:760px}
.wcv-form label{display:flex;flex-direction:column;gap:6px;font-weight:700;font-size:14px}
.wcv-form .full{grid-column:1/-1}
.wcv-form input,.wcv-form select,.wcv-form textarea{font:inherit;font-weight:400;padding:12px 14px;border:1px solid #8A8F86;border-radius:12px;background:#fff;color:var(--ink);min-height:50px}
.wcv-form textarea{min-height:140px}
.wcv-hp{position:absolute;left:-9999px;height:0;overflow:hidden}
.notice{border-radius:14px;padding:18px 22px;margin:0 0 24px;max-width:760px}
.notice.ok{background:#E3EFE6;border:1px solid #2F5D50}.notice.bad{background:#FBE9DD;border:1px solid var(--rust)}
.site-footer{background:var(--g1);color:var(--bg);margin-top:88px;padding:52px 0 36px}
.site-footer .grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(200px,100%),1fr));gap:32px}
.site-footer a{color:var(--bg);display:block;padding:4px 0}
.site-footer b{display:block;margin-bottom:8px}
.site-footer .copy{margin-top:32px;font-size:14px;color:#C9D1C6}
.lodgix-wrap{padding:32px 0}
.skip{position:absolute;left:-9999px}.skip:focus{left:8px;top:8px;background:#fff;padding:8px 12px;z-index:99}
.entry .wide>p,.entry .wide>ul,.entry .wide>h2,.entry .wide>h3{max-width:46em}.entry .wide .btn{margin-top:4px}

/* Win against Elementor / old global styles */
html body{font-family:var(--sans);background:var(--bg);color:var(--ink)}
html body h1,html body h2,html body h3{font-family:var(--serif)!important;font-weight:600!important;color:var(--ink);line-height:1.1}
html body .band h2,html body .band h3{color:var(--bg)!important}
html body .steps h3{font-family:var(--sans)!important}
html body .brand{display:flex;align-items:center;gap:12px}
html body .brand img{height:54px;width:auto}
html body .btn,html body .nav .cta a{background:var(--rust);color:#fff!important;border-radius:999px;padding:0 22px;min-height:46px;text-decoration:none}
html body .btn.alt{background:#fff;color:var(--g2)!important;border:2px solid var(--g2)}
html body .btn.green{background:var(--g2)}
html body .card .btn{border-radius:12px}
html body .finder .row{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(180px,100%),1fr));gap:12px}
html body .finder .row a{display:flex;flex-direction:column;justify-self:stretch;width:100%;margin:0;padding:14px 16px;border:2px solid var(--line);border-radius:14px;background:#fff;color:var(--ink)}
html body .cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:20px}
html body .card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:26px}
html body .photo{border-radius:20px;overflow:hidden}

html body h1,html body h2,html body h3{color:var(--ink)!important}
html body .band h2,html body .band h3{color:var(--bg)!important}
html body .brand,html body .brand:hover{color:var(--ink)!important;font-family:var(--serif)!important;font-weight:600}
html body .finder .row br,html body .cards br{display:none}
