
:root{color-scheme:light;--ink:#1c2e42;--forest:#082f57;--accent:#a31e31;--mint:#edf3fa;--cream:#fdf1f4;--paper:#fffdfd;--line:#dce4ef;--muted:#53647a;--sans:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;--display:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;--shell:76rem}
*,*::before,*::after{box-sizing:border-box}
html{scroll-padding-top:1rem}
body{margin:0;background:var(--paper);color:var(--ink);font:1rem/1.55 var(--sans)}
[hidden]{display:none!important}
img{max-inline-size:100%;block-size:auto;vertical-align:middle}
a{color:var(--accent);text-underline-offset:.18em}
button,input,textarea,select{font:inherit}
button{cursor:pointer}
:focus-visible{outline:3px solid #ad187e;outline-offset:3px}
h1,h2,h3,h4,p,ul,ol,figure{margin-block-start:0}
h1,h2,h3{color:var(--forest);line-height:1.12}
h1,h2{font-family:var(--display);font-weight:700;letter-spacing:-.035em;text-wrap:balance}
h1{font-size:clamp(2.4rem,5.3vw,4.25rem)}
h2{font-size:clamp(1.7rem,3.3vw,2.8rem)}
h3{font-size:clamp(1.18rem,1.9vw,1.48rem)}
.shell{width:min(var(--shell),calc(100% - clamp(1.75rem,6vw,5rem)));margin-inline:auto}
.screen-reader-text{clip-path:inset(50%);height:1px;width:1px;overflow:hidden;white-space:nowrap;position:absolute}
.skip-link:focus{clip-path:none;z-index:10;top:.5rem;left:.5rem;width:auto;height:auto;padding:.8rem 1.2rem;background:white}
.site-header{border-bottom:1px solid var(--line);position:relative;z-index:4;background:var(--paper)}
.header-inner{min-height:5rem;display:flex;align-items:center;gap:clamp(1rem,3vw,2.4rem)}
.site-brand{flex:none}
.custom-logo{max-width:min(180px,45vw);max-height:54px;object-fit:contain}
.header-controls{display:flex;align-items:center;justify-content:space-between;flex:1;gap:1rem;min-width:0}
.menu,.sub-menu{list-style:none;padding:0;margin:0}
.primary-nav .menu{display:flex;align-items:center;flex-wrap:wrap;gap:0 clamp(.55rem,1.8vw,1.5rem)}
.primary-nav li{position:relative}
.primary-nav a{display:inline-block;color:var(--forest);text-decoration:none;font-weight:650;font-size:.9rem;padding:.75rem .15rem}
.primary-nav a:hover,.primary-nav .current-menu-item>a{text-decoration:underline}
.primary-nav .sub-menu{display:none}
.primary-nav li:not(.has-submenu-toggle):is(:hover,:focus-within)>.sub-menu,.submenu-toggle[aria-expanded="true"]+.sub-menu{display:block}
.primary-nav .sub-menu{position:absolute;top:100%;left:0;min-width:13rem;background:var(--paper);border:1px solid var(--line);border-radius:.8rem;padding:.4rem .7rem;box-shadow:0 8px 25px #082f5722}
.primary-nav .sub-menu a{padding:.45rem .15rem}
.submenu-toggle{border:0;background:transparent;color:var(--forest);font-weight:800;padding:.55rem .35rem;line-height:1}
.submenu-toggle[aria-expanded="true"]{color:#a31e31}
.menu-toggle{margin-inline-start:auto;color:var(--forest);background:var(--mint);border:0;border-radius:.5rem;padding:.55rem .75rem;font-weight:700}
.search-form{display:flex;gap:.25rem;align-items:center;border:1px solid var(--line);border-radius:2rem;padding:.22rem;max-width:25rem;background:#fff}
.search-form input{width:100%;min-width:0;background:transparent;color:var(--ink);padding:.38rem .35rem .38rem .7rem;border:0}
.search-form button{border:0;background:var(--forest);color:#fff;border-radius:2rem;padding:.4rem .65rem;font-size:.85rem;font-weight:650}
.header-search{flex:0 1 13.5rem}
.home-main{overflow:hidden}
.hero{margin-block:clamp(.8rem,2vw,1.65rem) 0}
.section{padding-block:clamp(2.35rem,5.7vw,5.25rem)}
.section--tint{background:var(--cream)}
.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:.65rem 2rem;flex-wrap:wrap;margin-bottom:1.25rem}
.section-head h2{margin:0}
.section-head>a{font-weight:700;font-size:.95rem}
.story-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(.8rem,2vw,1.5rem)}
.story-card{min-width:0;display:flex}
.story-card-link{display:flex;flex-direction:column;width:100%;color:var(--forest);text-decoration:none;background:var(--paper);border:1px solid var(--line);border-radius:1rem;overflow:hidden}
.story-image{aspect-ratio:16/10;background:linear-gradient(135deg,#f5e0e8,#dfecfb);overflow:hidden}
.story-image img{width:100%;height:100%;object-fit:cover}
.story-copy{position:relative;flex:1;padding:1.05rem 2.7rem 1.1rem 1.05rem}
.story-copy h3{margin:0;font-size:clamp(1rem,1.7vw,1.3rem);line-height:1.22;overflow-wrap:anywhere}
.kicker{font-size:.73rem;letter-spacing:.09em;text-transform:uppercase;font-weight:750;color:var(--accent);display:block;margin-bottom:.3rem}
.story-arrow{position:absolute;right:1rem;top:1rem;color:var(--accent);font-weight:800}
.story-card--collection .story-image{aspect-ratio:2/1}
.story-card--collection .story-copy h3{font-size:clamp(1.1rem,2.2vw,1.45rem)}
.breadcrumbs{font-size:.84rem;color:var(--muted);overflow-wrap:anywhere;margin-block:0 1.2rem}
.breadcrumbs a{color:var(--accent);text-decoration:none}
.breadcrumbs a:hover{text-decoration:underline}
.singular{padding-block:clamp(1.3rem,3vw,2.65rem) clamp(2.5rem,6vw,5rem)}
.singular .breadcrumbs,.entry-header,.entry-cover,.entry-content,.comments-area{margin-inline:auto}
.singular .breadcrumbs,.entry-header,.entry-cover{max-width:60rem}
.entry-header{margin-bottom:1.45rem}
.entry-header:empty,.entry-header:not(:has(*)){display:none}
.entry-title,.entry-content h1{margin-bottom:.7rem}
.entry-meta{display:flex;flex-wrap:wrap;gap:.25rem 1.1rem;margin-bottom:0;color:var(--muted);font-size:.9rem}
.entry-content,.comments-area{max-width:47.5rem}
.entry-content{font-size:clamp(1.02rem,1.55vw,1.13rem);line-height:1.74;overflow-wrap:anywhere}
.entry-content :is(h2,h3,h4){line-height:1.2;margin-block:1.45em .55em;scroll-margin-block:1rem}
.entry-content :is(h2,h3,h4) :is(span,strong){color:inherit!important}
.entry-content :is(p,ul,ol,table,blockquote,figure){margin-bottom:1.15em}
.entry-content :is(img,iframe,video){max-width:100%}
.entry-content iframe{border:0}
.entry-content .aligncenter{display:block;margin-inline:auto}
.entry-content .alignleft{float:left;margin-right:1rem}
.entry-content .alignright{float:right;margin-left:1rem}
.entry-content .alignwide{width:min(60rem,calc(100vw - 2rem));max-width:none;margin-inline:50% 0;transform:translateX(-50%)}
.entry-content .alignfull{max-width:100%;margin-inline:0}
.entry-content :is(figure img,.wp-caption img){border-radius:.55rem}
.entry-content :is(figcaption,.wp-caption-text){color:var(--muted);font-size:.88rem;text-align:center;margin:.55rem 0 0}
.entry-content .wp-caption{max-width:100%}
.entry-content table{width:100%;border-collapse:collapse;font-size:.94em}
.entry-content th,.entry-content td{padding:.6rem .65rem;border-bottom:1px solid var(--line);text-align:start}
.entry-content thead{background:var(--mint)}
.entry-content :is(.tablepress,.rounded-table){display:block;overflow-x:auto}
.entry-content :is(blockquote,.td_quote_box,.elc-notice){border-inline-start:4px solid var(--accent);background:var(--mint);padding:1rem 1.2rem;border-radius:0 .8rem .8rem 0;margin:1.4rem 0}
.entry-content :is(blockquote,.td_quote_box,.elc-notice)>:last-child{margin-bottom:0}
.entry-content .elc-cta{background:var(--cream);border:1px solid var(--line);border-radius:1rem;padding:1rem 1.2rem;margin-block:1.5rem}
.entry-content .elc-cta :is(h2,h3),.entry-content .elc-notice :is(h2,h3){margin-top:0}
.entry-content details{margin-block:1rem;border:1px solid var(--line);border-radius:.7rem;padding:.75rem 1rem;background:#fff}
.entry-content summary{cursor:pointer;font-weight:700;color:var(--forest)}
.entry-content details[open]>summary{margin-bottom:.75rem}
.entry-content .elc-legacy-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,12rem),1fr));gap:.8rem;margin:1.2rem 0}
.entry-content .elc-legacy-cards figure{margin:0;background:var(--cream);border-radius:.65rem;overflow:hidden}
.entry-content .elc-legacy-cards img{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:0}
.entry-content .elc-legacy-cards figcaption{margin:0;padding:.45rem}
.entry-content #toc_container{max-width:100%;border-color:var(--line);background:var(--cream);padding:1rem;border-radius:.65rem}
.comments-area{border-top:1px solid var(--line);margin-top:2.5rem;padding-top:1.5rem;clear:both}
.comment-list{padding-inline-start:1.4rem}
.comment-list .children{padding-inline-start:1.1rem}
.comment-list li{margin-block:1rem}
.comment-list .avatar{border-radius:50%;margin-inline-end:.35rem}
:is(.comment-form,.wpcf7-form) :is(input:not([type=checkbox],[type=radio]),textarea){max-width:100%;padding:.65rem .7rem;border:1px solid #a6b5c7;border-radius:.45rem}
:is(.comment-form,.wpcf7-form) input[type=submit]{color:white;background:var(--forest);border:none;cursor:pointer}
.comment-form label{display:block}
.archive{min-height:45vh}
.archive-header{margin-bottom:2rem}
.archive-header h1{margin-bottom:.7rem}
.archive-description{max-width:45rem}
.pagination,.comments-pagination{margin-block:1.6rem}
.pagination .nav-links,.comments-pagination .nav-links{display:flex;flex-wrap:wrap;gap:.4rem}
.page-numbers{padding:.42rem .65rem;border:1px solid var(--line);border-radius:.5rem;text-decoration:none}
.page-numbers.current{background:var(--forest);color:#fff}
.site-footer{background:#092b51;color:#f7f9ff}
.footer-inner{padding-block:clamp(2rem,5vw,3.4rem);display:grid;grid-template-columns:1fr 1fr;gap:.8rem 2rem}
.footer-inner p{font-size:.92rem;color:#dbe7f6;margin:.65rem 0 0}
.footer-nav .menu{display:flex;gap:.65rem 1rem;flex-wrap:wrap;justify-content:flex-end;font-size:.92rem}
.affiliate-note{grid-column:1/-1;padding-top:.9rem;border-top:1px solid #415875}
@media(max-width:62rem){
  .header-inner{flex-wrap:wrap;gap:.65rem;min-height:0;padding-block:.65rem}
  .header-controls{width:100%;flex:1 0 100%;display:block;padding-bottom:.45rem}
  .menu-toggle[aria-expanded="false"]+.header-controls{display:none}
  .primary-nav .menu{display:block}
  .primary-nav .sub-menu{position:static;box-shadow:none;border:none;margin:0 0 .3rem;padding:.05rem .95rem;border-inline-start:2px solid var(--line);border-radius:0}
  .header-search{margin-top:.6rem}
}
@media(min-width:62.01rem){.menu-toggle{display:none}}
@media(max-width:52rem){.story-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:34rem){
  .story-grid--collections{grid-template-columns:1fr}
  .story-card--collection .story-card-link{flex-direction:row;align-items:stretch}
  .story-card--collection .story-image{flex:0 0 37%;aspect-ratio:auto;min-height:5.5rem}
  .story-card--collection .story-copy{align-self:center}
  .story-copy{padding:.7rem 1.5rem .75rem .65rem}
  .story-arrow{right:.55rem;top:.72rem}
  .entry-content :is(.alignleft,.alignright){float:none;display:block;margin-inline:auto}
  .footer-inner{grid-template-columns:1fr}
  .footer-nav .menu{justify-content:flex-start}
}


/* Identidad y portada */
.site-header{background:#fff;border-block-end:1px solid #ead9e4}
.header-inner{min-height:5.1rem}
.brand,.site-brand .custom-logo-link{display:inline-flex;align-items:center;text-decoration:none}
.brand img{display:block;width:clamp(8.3rem,15vw,11.4rem);height:auto}
.hero-inner{position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:clamp(1.1rem,3.2vw,3rem);padding:clamp(1.45rem,5.3vw,4.45rem);border:1px solid #f0dce6;border-radius:clamp(1.2rem,3vw,2.25rem);overflow:hidden;background:radial-gradient(ellipse at 86% 4%,#f8dce8 0,transparent 52%),linear-gradient(125deg,#fff9f9 28%,#f4f5ff 100%)}
.hero-inner::before{content:"";position:absolute;inset:auto -8% -58% auto;width:min(42rem,72vw);aspect-ratio:1;border:1px solid #dc91bd;border-radius:50%;opacity:.32;z-index:-1;box-shadow:0 0 0 2rem #fff5,0 0 0 4rem #fff5}
.hero-content{position:relative}
.hero h1{font-size:clamp(2.4rem,5vw,4.85rem);font-weight:820;line-height:1.04;letter-spacing:-.066em;margin:0 0 .95rem;text-wrap:balance}
.hero h1::after{content:"";display:block;width:3.2rem;height:4px;background:linear-gradient(90deg,#c42a3b,#b6218f);border-radius:4px;margin-top:.8rem}
.hero p{max-width:31rem;color:#465973;font-size:clamp(1rem,1.8vw,1.2rem);margin:0 0 1.45rem}
.hero-frame{position:relative;width:min(100%,var(--photo-width));margin:0 auto;border:6px solid #fff;border-radius:1.4rem;box-shadow:0 16px 36px #092b5126;background:#dce8f7}
.hero-photo{display:block;width:100%;height:auto;border-radius:.99rem}
.story-card-link{transition:box-shadow .18s ease,border-color .18s ease,transform .18s ease}
.story-card-link:hover{border-color:#d6a4b9;box-shadow:0 12px 30px #082f5718;transform:translateY(-3px)}
.story-card-link:hover h3{text-decoration:none;color:var(--accent)}
.story-card--collection .story-copy{padding-block:1.12rem}
.story-arrow{display:grid;place-items:center;width:1.55rem;height:1.55rem;border-radius:50%;background:#f8e6ec;top:.95rem;font-size:.88rem}
.section-head h2{font-weight:790;letter-spacing:-.055em}
.section--tint{border-block:1px solid #f2dde7}
.site-footer .brand{border-radius:.65rem;background:#fff;padding:.22rem .5rem}
.site-footer a{color:#eff4ff}

/* Guías, fichas y acciones de reserva */
.entry-title,.entry-content h1{font-weight:820;letter-spacing:-.056em}
.entry-cover{width:min(100%,var(--cover-width,60rem));margin-block:0 clamp(1.55rem,3vw,2.5rem);border:1px solid var(--line);border-radius:1.05rem;overflow:hidden;background:var(--mint)}
.entry-cover img{display:block;width:100%;height:auto;object-fit:contain}
.entry-content :is(h1,h2,h3,h4,h5,h6),.entry-content :is(h1,h2,h3,h4,h5,h6) *{text-align:start!important;text-justify:none!important;word-spacing:normal!important}
.entry-content :is(h1,h2,h3,h4){text-wrap:pretty}
.entry-content h2{border-block-end:2px solid #e8d7e5;padding-bottom:.45em;font-weight:790}
.entry-content h3{font-weight:780}
.entry-content h3:not(summary h3){border-inline-start:3px solid #b62454;padding-inline-start:.6em}
.entry-content :is(.elc-notice,.td_quote_box){background:#f0f5fc;border-inline-start-color:#214f80}
.entry-content .elc-cta{background:linear-gradient(115deg,#fff3f6,#faf4ff);border-color:#ead7e4}
.button,.entry-content a:is(.button,.elc-cta-link,.td_btn),.entry-content a:has(.td_btn),.entry-content .elc-features>li:last-child>a{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;max-width:100%;background:#ac2035;color:#fff!important;border:1px solid transparent;text-decoration:none!important;padding:.7rem 1.08rem;border-radius:.8rem;font-weight:750;font-size:.92rem;line-height:1.25;text-align:center;box-shadow:0 3px 0 #781828;transition:background-color .16s ease,transform .16s ease,box-shadow .16s ease}
.entry-content a:is(.button,.elc-cta-link,.td_btn) *,.entry-content a:has(.td_btn) *{color:inherit!important;background:transparent!important;box-shadow:none!important}
.entry-content a.elc-cta-link::after,.entry-content a:has(.td_btn)::after,.entry-content .elc-features>li:last-child>a::after{content:"";inline-size:.55em;block-size:.55em;border-block-start:2px solid;border-inline-end:2px solid;transform:rotate(45deg);flex:none}
.button:hover,.entry-content a:is(.button,.elc-cta-link,.td_btn):hover,.entry-content a:has(.td_btn):hover,.entry-content .elc-features>li:last-child>a:hover{background:#8d182d;transform:translateY(-2px);box-shadow:0 5px 0 #64121e}
.button:active,.entry-content a.elc-cta-link:active{transform:translateY(1px);box-shadow:0 1px 0 #781828}
.entry-content :is(a.elc-cta-link,a:has(.td_btn)){margin-block:.18em .45em}
.entry-content .elc-features{list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;padding:.85rem;margin:1.05rem 0 2.2rem;border:1px solid #dae5f2;background:#edf4fc;border-radius:1rem}
.entry-content .elc-features>li{min-inline-size:0;background:#fff;border:1px solid #dce6f3;border-radius:.72rem;padding:.8rem .85rem;line-height:1.48;font-size:.92em}
.entry-content .elc-features>li>strong:first-child{display:block;color:#173e6a;line-height:1.24;margin-bottom:.35rem}
.entry-content .elc-features>li>strong:first-child::before{content:"";display:inline-block;width:.58em;height:.37em;border-inline-start:2px solid #226a5e;border-block-end:2px solid #226a5e;transform:rotate(-45deg);margin:0 .5em .13em 0}
.entry-content .elc-features>li:last-child:has(>a){grid-column:1/-1;background:#fdf1f4;border-color:#ecdbe7}
.entry-content .elc-features>li:last-child>a{margin:.25em .45em .35em 0}
.entry-content .rounded-table:not(:has(th,caption)){display:block;background:#edf4fc;padding:.7rem;border:1px solid #dbe6f3;border-radius:1rem}
.entry-content .rounded-table:not(:has(th,caption))>tbody{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}
.entry-content .rounded-table:not(:has(th,caption)) tr{display:contents}
.entry-content .rounded-table:not(:has(th,caption)) td{background:#fff;border:1px solid #dce6f3;border-radius:.68rem;padding:.64rem .75rem;text-align:start!important}
.entry-content .rounded-table:not(:has(th,caption)) td:empty{display:none}
.entry-content table:not(.rounded-table){border:1px solid var(--line);border-radius:.7rem;background:#fff}
.entry-content th{color:#183b63}
.entry-content tbody tr:nth-child(even){background:#f6f9fd}
.entry-content .elc-faq-list{list-style:none;padding:0}
.entry-content .elc-faq-group{margin-block:1rem 1.7rem}
.entry-content .elc-faq{margin:.65rem 0;padding:0;background:#fff;border:1px solid #d6e1ef;border-radius:.82rem}
.entry-content .elc-faq[open]{border-color:#d4a9bc;box-shadow:0 4px 14px #082f570b}
.entry-content .elc-faq>summary{display:flex;align-items:center;justify-content:space-between;gap:.8rem;margin:0;padding:.86rem 1rem;line-height:1.32;list-style:none}
.entry-content .elc-faq>summary::-webkit-details-marker{display:none}
.entry-content .elc-faq>summary::after{content:"+";font-size:1.15rem;line-height:1;flex:none;display:grid;place-items:center;width:1.7rem;height:1.7rem;border-radius:50%;background:#fae8ef;color:#96213c}
.entry-content .elc-faq[open]>summary::after{content:"−"}
.entry-content .elc-faq>summary :is(h3,h4,h5){margin:0;font:inherit}
.entry-content .elc-faq-answer{border-top:1px solid #e7edf6;padding:.8rem 1rem 1rem}
.entry-content .elc-faq-answer>:last-child{margin-bottom:0}
.entry-content .elc-faq-list>li{margin:0}
@media(max-width:62rem){
  .header-inner{min-height:0}
  .hero-inner{grid-template-columns:minmax(0,1fr) minmax(0,1fr);padding:clamp(1.25rem,4vw,3rem)}
}
@media(max-width:44rem){
  .hero-inner{grid-template-columns:minmax(0,1fr);gap:1.25rem}
  .hero h1{font-size:clamp(2.25rem,9.6vw,3.4rem);max-width:19ch}
  .hero-frame{margin-inline:0;border-width:4px}
}
@media(max-width:36rem){
  .entry-content .elc-features,.entry-content .rounded-table:not(:has(th,caption))>tbody{grid-template-columns:minmax(0,1fr)}
}
@media(prefers-reduced-motion:reduce){
  .story-card-link,.button,.entry-content a{transition:none!important;transform:none!important}
}
.entry-content .elc-table-scroll{max-width:100%;overflow:auto;margin-bottom:1.15em;border-radius:.65rem}
.entry-content .elc-table-scroll table{min-width:28rem;margin-bottom:0}
