*{box-sizing:border-box}
body{margin:0;background:#FAFAF7;color:#1F1B16;font-family:'Poppins',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.6}
.wrap{max-width:820px;margin:0 auto;padding:0 18px}
header.bar{display:flex;align-items:center;gap:10px;padding:12px 18px;border-bottom:1px solid #ECEAE4;background:#fff}
header.bar>a:first-child{display:flex;align-items:center;gap:10px;color:inherit;text-decoration:none}
header.bar .volver{margin-left:auto;font-size:.82rem;font-weight:600;color:#2d6a4f;text-decoration:none;white-space:nowrap}
header.bar .volver:hover{color:#1b4332}
header.bar .mk{width:28px;height:28px;border-radius:7px;background:#2E6E4E;display:flex;align-items:center;justify-content:center}
header.bar .mk svg{width:18px;height:18px}
header.bar b{font-size:.95rem}
header.bar a{color:#1F1B16;text-decoration:none}
h1{font-family:Georgia,'Times New Roman',serif;font-size:1.9rem;margin:22px 0 2px}
.sub{color:#6E6A60;font-style:italic;margin:0 0 8px}
.badges{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0 18px}
.badge{font-size:.72rem;font-weight:600;color:#6E6A60;background:#F0EEE8;border:1px solid #ECEAE4;border-radius:99px;padding:3px 10px}
.badge.acc{color:#1E4F37;background:#E8F1EB;border-color:#C9E0D2}
.lead{font-size:1.05rem;margin:0 0 18px}
h2{font-size:1.1rem;color:#1E4F37;margin:26px 0 10px;font-family:Georgia,serif}
table{border-collapse:collapse;width:100%;font-size:.92rem;margin:0 0 10px}
th,td{text-align:left;padding:8px 10px;border-bottom:1px solid #F0EEE8}
th{color:#6E6A60;font-weight:600;width:55%}
td{text-align:right;font-variant-numeric:tabular-nums;font-weight:600}
ul.orig{list-style:none;padding:0;margin:0;font-size:.92rem}
ul.orig li{display:flex;justify-content:space-between;padding:5px 0;border-bottom:1px solid #F7F5EF}
.cta{display:inline-block;margin:22px 0;padding:12px 20px;background:#2E6E4E;color:#fff;text-decoration:none;border-radius:12px;font-weight:600}
.cta:hover{background:#1E4F37;box-shadow:0 6px 16px -10px rgba(30,79,55,.5)}
.cta{transition:background .18s,box-shadow .18s}
.rel{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 0}
.rel a{font-size:.85rem;color:#1E4F37;background:#E8F1EB;border:1px solid #C9E0D2;border-radius:99px;padding:5px 12px;text-decoration:none}
footer{margin:34px 0 50px;padding-top:16px;border-top:1px solid #ECEAE4;color:#8F8B81;font-size:.78rem}
footer a{color:#2E6E4E}
.src{color:#8F8B81;font-size:.74rem;margin:4px 0 0}
.promo{position:relative;display:flex;gap:14px;align-items:center;flex-wrap:wrap;background:linear-gradient(135deg,#FFF8E8,#FBF1D6);border:1px solid #E9D9A8;border-radius:16px;padding:16px 18px;margin:0 0 20px}
.promo .ptag{position:absolute;top:8px;right:12px;font-size:.55rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#9A7B1F}
.promo .pbody{flex:1;min-width:200px}
.promo .pbody b{font-size:1.02rem}
.promo .pbody div{font-size:.85rem;color:#6E6A60}
.promo .pcta{flex:none;font-size:.85rem;font-weight:700;color:#fff;background:#2E6E4E;border-radius:11px;padding:11px 17px;text-decoration:none}
.promo .pcta:hover{background:#1E4F37}
.viaje{background:linear-gradient(135deg,#FFF8E8,#FBF1D6);border:1px solid #E9D9A8;border-radius:16px;padding:15px 16px 12px;margin:0 0 20px}
.viaje .vhead{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:11px}
.viaje .vhead b{font-size:1.05rem}
.viaje .ptag{font-size:.55rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:#9A7B1F}
.vcards{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
@media(max-width:620px){.vcards{grid-template-columns:1fr}}
.vcard{display:flex;flex-direction:column;gap:1px;background:#fff;border:1px solid #EADFBE;border-left:3px solid #2E6E4E;border-radius:13px;padding:12px 13px;text-decoration:none;color:#1F1B16}
.vcard.booking{border-left-color:#1565C0}.vcard.civitatis{border-left-color:#E4572E}
.vcard .vk{font-size:.58rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#8F8B81}
.vcard b{font-size:.92rem;margin:2px 0}.vcard .vd{font-size:.74rem;color:#6E6A60}
.viaje .note{margin:10px 2px 2px}
.guia{margin:0 0 22px}
.guia-banner{width:100%;max-height:300px;object-fit:cover;border-radius:14px;margin:0 0 14px;border:1px solid #E7E3DA}
.guia-intro{font-size:1rem;line-height:1.7;color:#3A352E;margin:0 0 14px}
.guia-intro a{color:#2E6E4E;font-weight:600;white-space:nowrap}
.guia h3{font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;color:#8F8B81;margin:16px 0 9px}
ul.qv{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px}
ul.qv li{background:#F6F4EE;border:1px solid #E7E3DA;border-radius:10px;padding:9px 12px}
ul.qv li b{display:block;font-size:.9rem}ul.qv li span{font-size:.72rem;color:#8F8B81;text-transform:capitalize}
ul.qv li.nat{border-left:3px solid #2E6E4E}
ul.guia-dp{list-style:none;padding:0;margin:14px 0 0;display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}
ul.guia-dp li{border:1px solid #E7E3DA;border-radius:10px;padding:9px 12px}
ul.guia-dp li span{display:block;font-size:.62rem;text-transform:uppercase;letter-spacing:.04em;color:#8F8B81}
ul.guia-dp li b{font-size:.88rem}ul.guia-dp li a{color:#2E6E4E;font-weight:600;text-decoration:none}
.faq{margin:24px 0}
.faq details{border:1px solid #E7E3DA;border-radius:10px;padding:10px 14px;margin-bottom:8px;background:#fff}
.faq summary{font-weight:600;cursor:pointer;font-size:.92rem}
.faq details p{margin:8px 0 2px;font-size:.88rem;line-height:1.6;color:#3A352E}
.hubgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin:6px 0 20px}
.hubcard{display:block;border:1px solid #E7E3DA;border-radius:12px;padding:12px 14px;text-decoration:none;color:#1F1B16;background:#fff}
.hubcard b{font-size:.95rem}.hubcard span{display:block;font-size:.72rem;color:#8F8B81;margin-top:2px}
.kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:0 0 18px}
@media(max-width:560px){.kpis{grid-template-columns:1fr}}
.kpibox{border:1px solid #E7E3DA;border-radius:12px;padding:12px 14px;background:#fff}
.kpibox .k{font-size:.62rem;text-transform:uppercase;letter-spacing:.04em;color:#8F8B81}
.kpibox .v{font-size:1.5rem;font-weight:700;line-height:1.1;margin-top:3px}
.kpibox .s{font-size:.72rem;color:#8F8B81}
ol.toplist{list-style:none;padding:0;margin:0}
ol.toplist li{display:flex;gap:10px;align-items:baseline;padding:8px 2px;border-top:1px solid #EFEBE3}
ol.toplist li a{font-weight:600;text-decoration:none;color:#1F1B16}
ol.toplist li .m{margin-left:auto;color:#6E6A60;font-size:.85rem}
ol.toplist li span:first-child{color:#B7B1A4;font-variant-numeric:tabular-nums}
p.listado{font-size:.9rem;line-height:1.9}
p.listado a{margin-right:2px}
.clima{margin:0 0 22px}
.clima .climo{width:100%;height:auto;display:block;margin:0 0 12px}
.estaciones{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;margin:8px 0 6px}
.estac{border:1px solid #E7E3DA;border-radius:12px;padding:11px 13px;background:#F6F4EE}
.estac b{font-size:.86rem;color:#2E6E4E}.estac p{margin:4px 0 0;font-size:.8rem;line-height:1.5}
ul.climadatos{display:block!important}
ul.climadatos li{display:list-item;background:none;border:0;padding:2px 0;margin-left:18px;font-size:.84rem}
