/*
Theme Name: Villa Dolce Vita
Author: Villa Dolce Vita / Codex
Version: 0.4.0
Description: Tema vacacional propio, preparado para inglés, español y francés con Polylang.
Requires at least: 6.8
Requires PHP: 8.3
License: GPL-2.0-or-later
Text Domain: villa-dolce-vita
*/
:root{--ink:#183f3e;--cream:#f5f1e8;--gold:#ddc69d;--muted:#526762}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font:17px/1.7 Arial,sans-serif}a{color:#13645a}button,a{touch-action:manipulation}button{font:inherit;cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid #b68535;outline-offset:4px}img{max-width:100%;height:auto}h1,h2,h3{font-family:Georgia,serif;line-height:1.15;font-weight:400}h1{font-size:clamp(38px,5vw,65px)}h2{font-size:clamp(30px,3.5vw,43px)}h3{font-size:26px}.wrap{max-width:1180px;margin:auto;padding:0 25px}.draft-bar{padding:8px 24px;background:#e7ddc8;text-align:center;font-size:13px}.site-header{background:#fcfaf5}.header-inner{min-height:105px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{font:28px Georgia,serif;text-decoration:none;color:var(--ink)}.brand small{display:block;font:10px Arial,sans-serif;letter-spacing:.17em;margin-top:8px}.main-nav{display:flex;gap:20px;align-items:center;flex-wrap:wrap}.main-nav a{font-size:14px;text-decoration:none;color:var(--ink)}.languages{display:flex;gap:7px;list-style:none;margin:0;padding:0}.languages a,.languages span{padding:6px 8px;border:1px solid #ccd7cd;border-radius:3px}.languages .current-lang a{background:var(--ink);color:white}.menu-toggle{display:none;background:transparent;border:1px solid #adbdb3;padding:8px 12px;color:var(--ink)}.hero{background:var(--ink);color:#fff;display:grid;grid-template-columns:1fr 1fr;min-height:580px}.hero-copy{padding:65px 45px 65px max(25px,calc((100vw - 1130px)/2))}.hero h1{margin:20px 0 25px}.hero p{max-width:550px;color:#e2ebe6}.hero img{width:100%;height:100%;min-height:580px;object-fit:cover}.eyebrow{text-transform:uppercase;font-size:11px;font-weight:700;letter-spacing:.17em}.hero .eyebrow,.dark .eyebrow{color:var(--gold)}.btn{display:inline-block;border:0;padding:13px 19px;background:var(--gold);color:#183f3e;text-decoration:none;border-radius:4px;font-weight:700;font-size:15px}.btn.secondary{border:1px solid #bfd0c7;background:transparent;color:white;margin:8px 0 0 8px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;padding:28px 0;border-bottom:1px solid #d1dbd2;text-align:center}.stats strong{font:27px Georgia,serif;display:block}.stats span{font-size:13px;color:var(--muted)}.section{padding:65px 0;scroll-margin-top:20px}.section-head{display:flex;justify-content:space-between;align-items:end;gap:30px}.section-head p{max-width:500px}.photos{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.photos figure{margin:0}.photos img{width:100%;height:235px;object-fit:cover;border-radius:4px}.photos figcaption{font-size:14px;margin-top:9px}.two-col{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:25px}.card{padding:30px;background:#fcfaf5;border:1px solid #dce2d8;border-radius:5px}.card h2,.card h3{margin-top:0}.dark{background:var(--ink);color:white}.dark p{color:#dce9e1}.booking-strip{display:flex;align-items:center;justify-content:space-between;gap:35px}.booking-strip p{max-width:700px}.blog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:23px}.post-card{background:#fcfaf5;border:1px solid #d9e1d7;border-radius:5px;overflow:hidden;display:flex;flex-direction:column}.post-card img{width:100%;height:210px;object-fit:cover}.post-card .copy{padding:23px}.post-card h2,.post-card h3{font-size:25px;margin-top:8px}.post-card h2 a,.post-card h3 a{text-decoration:none;color:inherit}.post-card p{font-size:15px}.post-card .tag{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#526762}.post-card .no-photo{height:110px;background:#e2e9df;padding:30px;font:23px Georgia,serif}.contact-strip{background:#e7dfcf;padding:30px;display:flex;align-items:center;justify-content:space-between;gap:30px}.site-footer{background:#e4e9df;padding:32px 0;font-size:13px}.site-footer nav{display:flex;gap:18px;flex-wrap:wrap}.page-title{padding:48px 0 25px}.page-title h1{margin:15px 0}.page-title p{max-width:850px}.article{max-width:830px;margin:0 auto;padding:0 25px 65px}.article h2{margin-top:40px;font-size:32px}.article h3{font-size:25px}.article p{overflow-wrap:anywhere}.article img{border-radius:4px}.article figure{margin:30px 0}.article .source-note{font-size:13px;background:#e6eade;padding:16px}.article ul{padding-left:25px}.search-form{display:flex;gap:10px;margin:25px 0}.search-form input{width:100%;padding:12px;border:1px solid #acbfb0;border-radius:4px;font:inherit}.pagination{padding:30px 0;display:flex;gap:14px;flex-wrap:wrap}.pagination a,.pagination span{padding:8px 14px;background:#e5ebdf}.legal-draft{border-left:4px solid #c4a566;background:#efe8d8;padding:18px}.skip-link{position:absolute;left:-9999px}.skip-link:focus{left:20px;top:20px;z-index:99;background:white;padding:10px}details{border-bottom:1px solid #cbd8cb;padding:18px 0}summary{cursor:pointer;font-weight:bold}.screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
@media(max-width:850px){.header-inner{min-height:90px;flex-wrap:wrap;padding-top:20px;padding-bottom:20px}.menu-toggle{display:block}.main-nav{display:none;width:100%;padding-top:15px}.main-nav.is-open{display:flex}.main-nav a{font-size:16px}.hero{grid-template-columns:1fr}.hero-copy{padding:42px 25px}.hero img{height:320px;min-height:0}.stats{grid-template-columns:repeat(2,1fr)}.section-head,.booking-strip,.contact-strip{display:block}.two-col{grid-template-columns:1fr}.photos{grid-template-columns:1fr}.photos img{height:270px}.blog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.btn.secondary{margin-left:0}.section{padding:45px 0}.booking-strip .btn,.contact-strip .btn{margin-top:14px}}
@media(max-width:540px){.blog-grid{grid-template-columns:1fr}.brand{font-size:24px}.wrap{padding:0 20px}.card{padding:23px}.search-form{flex-wrap:wrap}.search-form .btn{width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.article-cover img{width:100%;height:auto}.article figcaption{font-size:13px;line-height:1.6;color:var(--muted);overflow-wrap:anywhere}.article figcaption p{margin:8px 0}.article a{overflow-wrap:anywhere}.article table{display:block;overflow-x:auto;max-width:100%}

/* Línea combinada: portada Renova + identidad vacacional Villa Dolce Vita. */
:root{--ink:#163f46;--cream:#f7f1e6;--gold:#dec493;--muted:#536b6c}
body{background-color:#f4efe5;background-image:url('assets/palm-shadow.svg'),url('assets/palm-shadow.svg');background-position:left -80px top 150px,right -100px top 1100px;background-size:350px auto,430px auto;background-repeat:no-repeat;font-size:16px;color:var(--ink)}
.site-shell{width:calc(100% - 80px);max-width:1320px;margin:24px auto 30px;padding:0 44px;background:#fffdf9;border:1px solid #e9e1d4;border-radius:18px;box-shadow:0 10px 60px #594b2f0b;overflow:hidden}
.site-header{background:transparent}.header-inner{min-height:112px;padding-left:0;padding-right:0;gap:25px}.brand{font-size:30px;font-weight:700}.brand small{font-size:9px;font-weight:400;letter-spacing:.19em;color:#68766b}.main-nav{gap:18px}.main-nav a{font-size:13px}.languages a{font-size:12px;padding:6px 8px}
h1,h2,h3{font-weight:700;letter-spacing:-.025em}h1{font-size:clamp(36px,4.5vw,60px)}h2{font-size:clamp(29px,3.1vw,42px)}h3{font-size:26px}.eyebrow{letter-spacing:.13em;color:#8c744b}
.hero{position:relative;grid-template-columns:1.04fr .96fr;min-height:580px;background:#163f46;border-radius:18px;overflow:hidden;box-shadow:0 8px 22px #173e4310}
.hero-copy{position:relative;padding:42px 36px 35px;overflow:hidden}.hero-copy::before{content:"";position:absolute;right:-85px;top:-235px;width:330px;height:510px;background:url('assets/palm-shadow.svg') center/contain no-repeat;opacity:.28;transform:rotate(65deg);pointer-events:none}.hero-copy>*{position:relative}
.hero .eyebrow{font-size:10px;line-height:1.7;letter-spacing:.12em;color:#dec493}.hero h1{font-size:clamp(37px,3.7vw,51px);line-height:1.08;margin:21px 0 22px;color:#fff}.hero-copy>p{font-size:16px;line-height:1.8;margin-bottom:22px;color:#e5efec}.hero>img{display:block;width:100%;height:100%;min-height:580px;object-fit:cover;object-position:58% center}
.hero-actions{display:flex;flex-direction:column;align-items:flex-start;gap:11px}.hero-actions .btn{font-size:15px;line-height:1.45;min-height:48px;padding:13px 21px}.hero-actions .btn.secondary{margin:0;font-size:14px;padding:12px 20px;min-height:45px}.hero-copy .hero-note{font-size:12px;line-height:1.65;margin:14px 0 0;max-width:410px;color:#d4e3df}
.btn{border-radius:6px;background:#dec493;box-shadow:0 2px 2px #00000006;transition:background-color .15s,box-shadow .15s}.btn:hover{background:#e9d5af;box-shadow:0 5px 15px #0001}.btn.secondary:hover{background:#ffffff12}.stats{padding:27px 0 24px;border-bottom:1px solid #e8dfd1}.stats strong{font-size:28px}.stats span{font-size:12px}.section{padding:57px 0}.section-head{margin-bottom:23px;gap:30px}.section-head h2{margin-bottom:12px}.section-head p{max-width:480px;font-size:15px;color:var(--muted)}
.photos{gap:20px}.photos img{display:block;width:100%;height:235px;object-fit:cover;border-radius:12px}.photos figcaption{color:#536b6c;font-size:14px}.location-feature{display:grid;grid-template-columns:1fr 1fr;gap:35px;align-items:center;border-top:1px solid #eee5d8}.location-feature>img{display:block;width:100%;height:350px;object-fit:cover;border-radius:14px}.location-copy h2{margin:13px 0 20px}.location-copy p{line-height:1.85}.location-copy>a{font-weight:700}
.home-facts{padding-top:10px}.home-facts>h2{margin:0 0 25px}.facts-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:0;margin:0}.facts-grid li{list-style:none;padding:21px 23px;background:#f7f3eb;border:1px solid #e6dfd2;border-left:3px solid #cbb386;border-radius:8px;font-size:15px;line-height:1.8}
.dark{border-radius:16px;background:#163f46}.booking-strip{gap:30px}.booking-strip h2{color:#fff;margin:15px 0}.booking-strip p{max-width:680px}.booking-strip>.btn{flex:none}.card{border-color:#e8e1d5;border-radius:12px;background:#fffdf9}.contact-strip{position:relative;background:#f0e7d7;border:1px solid #e1d3b9;border-radius:14px;margin-bottom:45px;background-image:url('assets/palm-shadow.svg');background-repeat:no-repeat;background-position:right -120px top -130px;background-size:330px auto}.contact-strip h2{margin:14px 0}.post-card{border:1px solid #e7e0d4;border-radius:12px;box-shadow:0 4px 13px #4c402306}.post-card .copy{padding:23px}.post-card h2,.post-card h3{font-size:25px;line-height:1.18}.post-card img{height:210px}.post-card .tag{color:#8c744b;font-weight:700}.post-card p{line-height:1.75}
.page-title{padding-top:38px}.page-title h1{margin:16px 0 22px}.page-title .eyebrow{color:#8c744b}.article h2{font-size:32px}.article-cover img{border-radius:12px}.article .card{margin-top:32px}.site-footer{margin:0 -44px;padding:30px 44px;background:#f0eee5;border-top:1px solid #e1dccd}.site-footer .wrap{padding:0}.site-footer nav{margin:12px 0;gap:22px}.site-footer a{color:#26545a}.renova-signature{padding-top:14px;border-top:1px solid #dbd6c8;font-size:11px;letter-spacing:.08em}.renova-signature a{text-decoration:none}
@media(max-width:1150px){.site-shell{width:calc(100% - 40px);padding:0 30px}.header-inner{gap:15px}.brand{font-size:27px}.main-nav{gap:12px}.main-nav a{font-size:12px}.main-nav a.vdv-booking-nav-link{font-size:13px;padding:10px 14px}.hero-copy{padding:37px 29px 30px}.hero h1{font-size:43px}.hero-copy>p{font-size:15px}.hero>img{object-position:56% center}.site-footer{margin:0 -30px;padding:28px 30px}.location-feature{gap:25px}}
@media(max-width:850px){body{background-size:250px auto}.site-shell{width:100%;padding:0 20px;margin:0;border:0;border-radius:0;box-shadow:none}.header-inner{min-height:94px;padding-top:20px;padding-bottom:20px;gap:15px}.brand{font-size:26px}.brand small{font-size:8px}.main-nav{gap:15px}.main-nav a{font-size:15px}.main-nav .languages a{font-size:13px}.main-nav a.vdv-booking-nav-link{font-size:15px}.hero{grid-template-columns:1fr;border-radius:14px;min-height:0}.hero-copy{padding:31px 25px 27px}.hero h1{font-size:37px;line-height:1.1;margin:19px 0 22px}.hero-copy>p{font-size:15px;line-height:1.75}.hero .eyebrow{font-size:9px;letter-spacing:.09em}.hero-copy .hero-note{font-size:11px}.hero>img{height:330px;min-height:0;object-position:center}.hero-actions{align-items:stretch}.hero-actions .btn{font-size:15px;text-align:center}.hero-actions .btn.secondary{font-size:14px}.stats{grid-template-columns:repeat(2,1fr);gap:19px;padding:25px 0}.stats strong{font-size:26px}.wrap{padding-left:0;padding-right:0}.section{padding:39px 0}.section-head{margin-bottom:20px}.section-head h2{font-size:31px}.photos{gap:25px}.photos img{height:250px}.photos figcaption{margin-top:9px}.location-feature{grid-template-columns:1fr;gap:22px}.location-feature>img{height:270px}.location-copy h2{font-size:31px}.home-facts{padding-top:8px}.facts-grid{grid-template-columns:1fr;gap:12px}.facts-grid li{font-size:14px;padding:18px 20px}.dark{padding:34px 24px}.booking-strip h2{font-size:31px}.booking-strip p{font-size:15px}.booking-strip>.btn{display:block;text-align:center}.contact-strip{padding:25px 22px;margin-bottom:32px}.contact-strip h2{font-size:31px}.contact-strip>.btn{display:block;text-align:center}.page-title{padding:32px 0 20px}.page-title h1{font-size:37px}.article{padding-left:0;padding-right:0}.article h2{font-size:29px}.article .card{padding:23px}.site-footer{margin:0 -20px;padding:26px 20px}.site-footer nav{gap:12px 18px}.hero-copy::before{right:-145px;opacity:.16}}
@media(max-width:370px){.site-shell{padding:0 15px}.brand{font-size:23px}.hero-copy{padding:29px 21px 25px}.hero h1{font-size:34px}.hero-actions .btn{font-size:14px;padding:13px 12px}.hero>img{height:290px}.site-footer{margin:0 -15px;padding:25px 15px}}
@media(prefers-reduced-motion:reduce){.btn{transition:none}}

@media(max-width:540px){.hero h1{font-size:33px}}
@media(max-width:370px){.hero h1{font-size:30px}}

/* Revisión de espacios, contacto y preparación de la estancia. */
.rich-page{padding-bottom:25px}.rich-page h2{font-size:clamp(29px,3.1vw,40px);margin:0 0 20px}.rich-page h3{font-size:25px;margin-top:0}.rich-page p{overflow-wrap:anywhere}.rich-page figure{margin:0}.rich-page figcaption{font-size:13px;color:var(--muted);padding:10px 0}.rich-hero{display:grid;grid-template-columns:1fr 1fr;gap:34px;align-items:center;margin:12px 0 45px}.rich-hero img{display:block;width:100%;height:360px;object-fit:cover;border-radius:14px}.rich-hero .btn{margin:0 8px 10px 0}.rich-hero .quiet-link{display:inline-block;margin:0 8px 10px 0}.rich-page .two-col{margin:28px 0}.rich-page .card{border-radius:14px;background:#f6f0e5}.rich-page .card p:last-child{margin-bottom:0}.rich-page .photos{margin:30px 0}.rich-page .photos img{height:255px}.rich-page .fact-inline{border-top:1px solid #e2d9c9;border-bottom:1px solid #e2d9c9;padding:20px 0;font-weight:bold}.rich-page .practical-list{padding-left:20px}.rich-page .practical-list li{margin-bottom:12px}.rich-page .contact-mail{overflow-wrap:anywhere}.related-guides{border-top:1px solid #e8decc}.rich-page .section{padding:35px 0}
@media(max-width:850px){.rich-hero{grid-template-columns:1fr;gap:20px;margin-bottom:30px}.rich-hero img{height:290px}.rich-page .two-col{grid-template-columns:1fr}.rich-page .photos img{height:auto;aspect-ratio:3/2}.rich-page .card{padding:24px}}

.home-photos{grid-template-columns:repeat(2,minmax(0,1fr))}.home-photos img{height:300px}@media(max-width:650px){.home-photos{grid-template-columns:1fr}.home-photos img{height:auto;aspect-ratio:3/2}}

.vdv-registration{font-size:12px;line-height:1.7;overflow-wrap:anywhere}.site-footer nav{align-items:center}.site-footer .change-settings-button{font:inherit;color:inherit;text-decoration:underline;background:transparent;border:0;padding:0}.legal-identity{padding:22px;background:#f6f0e5;border-radius:12px;overflow-wrap:anywhere}.article .legal-identity p{margin:8px 0}.article th,.article td{padding:10px;text-align:left;border-bottom:1px solid #ddd4c6;vertical-align:top}.booking-info-hero{margin-bottom:30px}.booking-info-hero img{width:100%;height:auto}
