/* TCC · v3.508 · Pie y cabecera comunes de la web de reservas (archivo 57 §4) */
.tcf{background:#31382b;color:#e9e7da;font:400 14px/1.6 'Poppins',system-ui,sans-serif;margin-top:0}
.tcf a{color:#fff;text-decoration:none}
.tcf a:hover{text-decoration:underline;text-decoration-color:#fbbf54}
.tcf-in{max-width:1180px;margin:0 auto;padding:56px clamp(18px,4vw,40px) 28px;display:grid;gap:32px 40px;grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}
.tcf h2{margin:0 0 10px;font:600 12px/1.4 'Poppins',sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#fbbf54}
.tcf ul{margin:0 0 18px;padding:0;list-style:none}
.tcf li{padding:3px 0}
.tcf-brand{grid-column:span 2}
@media (max-width:640px){.tcf-brand{grid-column:auto}}
.tcf-logo{display:block;width:210px;color:#fff;margin-bottom:12px}
.tcf-logo svg{width:100%;height:auto}
.tcf-trust li{display:flex;align-items:center;gap:8px;color:#fff}
.tcf-trust svg{color:#fbbf54}
.tcf-base{max-width:1180px;margin:0 auto;padding:18px clamp(18px,4vw,40px) 28px;border-top:1px solid rgba(255,255,255,.15);display:flex;flex-wrap:wrap;gap:10px 28px;align-items:center;justify-content:space-between;font-size:12.5px}
.tcf-legal{display:flex;flex-wrap:wrap;gap:4px 16px;margin:0}
.tcf-pay span{display:inline-block;margin-left:4px;padding:2px 8px;border:1px solid rgba(255,255,255,.35);border-radius:6px;font-weight:600}
.tcf--min .tcf-in{display:flex;flex-wrap:wrap;gap:12px 28px;align-items:center;justify-content:space-between;padding:22px clamp(18px,4vw,40px)}
.tcf--min .tcf-legal{margin:0}
.tcs-top{display:flex;align-items:center;justify-content:space-between;gap:20px}
.tcs-nav{display:flex;align-items:center;gap:clamp(10px,2vw,24px);font:600 13px 'Poppins',sans-serif;letter-spacing:.04em}
.tcs-nav a{color:inherit;text-decoration:none}
.tcs-book{padding:8px 16px;border-radius:999px;background:#fbbf54;color:#0a0a16!important}
@media (max-width:860px){.tcs-nav a:not(.tcs-lang):not(.tcs-book){display:none}}
/* v3.508 · Carrusel de portada (archivo 57 §3) */
.tcc-car{padding:56px 0 24px}
.tcc-car-h{max-width:1180px;margin:0 auto 18px;padding:0 clamp(18px,4vw,40px)}
.tcc-car-h h2{margin:6px 0 0;font:400 clamp(28px,3.4vw,44px)/1.1 'DM Serif Display',Georgia,serif;color:#31382b}
.tcc-car-r{display:grid;grid-auto-flow:column;grid-auto-columns:86%;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:0 clamp(18px,4vw,40px);scroll-padding-inline:clamp(18px,4vw,40px)}
.tcc-car-r::-webkit-scrollbar{display:none}
@media (min-width:900px){.tcc-car-r{grid-auto-columns:46%}}
.tcc-car figure{position:relative;margin:0;scroll-snap-align:start;border-radius:18px;overflow:hidden}
.tcc-car img{display:block;width:100%;aspect-ratio:3/2;object-fit:cover;transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}
.tcc-car a:hover img{transform:scale(1.03)}
.tcc-car figcaption{position:absolute;left:14px;bottom:14px;padding:6px 12px;border-radius:999px;background:rgba(10,10,22,.62);color:#fff;font:500 13px 'Poppins',sans-serif;backdrop-filter:blur(4px)}
.tcc-car-nav{display:flex;justify-content:flex-end;gap:8px;max-width:1180px;margin:12px auto 0;padding:0 clamp(18px,4vw,40px)}
.tcc-car-nav button{width:44px;height:44px;border:1.5px solid #31382b;border-radius:50%;background:#fff;color:#31382b;font-size:22px;cursor:pointer}
/* v3.509 · Búsqueda con pocos resultados: fechas cercanas */
.tcl-near{max-width:1180px;margin:18px auto;padding:16px 20px;border-radius:14px;background:#fffaf0;border:1.5px solid #fbbf54;font-size:14px}
.tcl-near p{margin:0 0 8px}
.tcl-near ul{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}
.tcl-near a{display:inline-block;padding:7px 14px;border:1.5px solid #31382b;border-radius:999px;color:#0a0a16;text-decoration:none}
.tcl-near a:hover{background:#fbbf54;border-color:#fbbf54}
/* v3.514 · Guías con foto (la suya cuando la tengamos; mientras, la de su primer alojamiento) */
.tcg-fig{margin:8px 0 0;border-radius:20px;overflow:hidden}
.tcg-fig img{display:block;width:100%;aspect-ratio:16/7;object-fit:cover}
.tcg-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;margin:0;padding:0;list-style:none}
.tcg-card a{display:block;height:100%;border:1px solid #e4e1d6;border-radius:18px;overflow:hidden;background:#fff;color:#0a0a16;text-decoration:none;transition:box-shadow .25s,transform .25s}
.tcg-card a:hover{box-shadow:0 14px 34px rgba(10,10,22,.1);transform:translateY(-3px)}
.tcg-card img{display:block;width:100%;aspect-ratio:3/2;object-fit:cover}
.tcg-b{display:flex;flex-direction:column;gap:6px;padding:16px 18px 20px}
.tcg-b strong{font:600 17px/1.3 'Poppins',sans-serif}
.tcg-b span{font-size:14px;color:#5f6157;line-height:1.5}
/* v3.515 · Carrusel de portada más contenido y flechas centradas */
@media (min-width:900px){.tcc-car-r{grid-auto-columns:32%}}
.tcc-car-nav{justify-content:center}
/* v3.526 · Portada de reservas (archivo 64) */
.oc-h-big{margin:0;font:400 clamp(40px,6vw,76px)/1.05 'DM Serif Display',Georgia,serif;color:#fff;max-width:16ch;text-wrap:balance}
.oc-h-h1s{margin:12px 0 0;font:500 clamp(16px,1.6vw,20px)/1.4 'Poppins',sans-serif;color:#fff;max-width:46ch}
.oc-rs-ico{width:26px;height:26px;display:inline-block;vertical-align:middle}
.tl-why-c .oc-rs-ico{width:48px;height:48px}
.tcc-dests{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px;margin-top:16px}
.tcc-dest{position:relative;display:block;border-radius:20px;overflow:hidden;color:#fff;text-decoration:none;aspect-ratio:16/10}
.tcc-dest img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1s}
.tcc-dest:hover img{transform:scale(1.04)}
.tcc-dest span{position:absolute;inset:auto 0 0 0;display:flex;flex-direction:column;gap:6px;padding:22px;background:linear-gradient(transparent,rgba(10,10,22,.75))}
.tcc-dest strong{font:400 32px/1.1 'DM Serif Display',Georgia,serif}
.tcc-dest small{font-size:14px;line-height:1.5;max-width:46ch}
.tcc-rs-head{display:flex;gap:22px;align-items:flex-start}
.tcc-rs-logo{width:120px;height:auto;flex:none}
.tcc-rs-in{max-width:62ch;color:#5f6157}
.tcc-rs-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin:22px 0 10px;padding:0;list-style:none}
.tcc-rs-phone{position:relative;max-width:240px;margin:0 auto 10px}
.tcc-rs-scr{display:block;width:100%;height:auto;filter:drop-shadow(0 14px 28px rgba(10,10,22,.18))}
.tcc-rs-sim{position:absolute;top:8px;right:8px;padding:2px 8px;border-radius:999px;background:rgba(10,10,22,.6);color:#fff;font-size:10.5px}
.tcc-rs-n{margin:0;font:600 13px 'Poppins',sans-serif;color:#fcbf54}
.tcc-rs-step h3{margin:2px 0 4px;font-size:17px}
.tcc-rs-step p{margin:0;font-size:14px;line-height:1.55;color:#5f6157}
@media (max-width:900px){
  .tcc-rs-head{flex-direction:column}
  .tcc-rs-logo{width:90px}
  .tcc-rs-steps{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:78%;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:6px}
  .tcc-rs-step{scroll-snap-align:start}
}
.oc-h-hero .oc-h-big{margin:0;font:400 clamp(44px,6.2vw,82px)/1.02 'DM Serif Display',Georgia,serif!important;letter-spacing:-.01em;color:#fff}
.oc-h-hero h1.oc-h-h1s{margin:14px 0 0!important;font:500 clamp(16px,1.5vw,20px)/1.45 'Poppins',sans-serif!important;letter-spacing:0!important;max-width:46ch;text-transform:none}
.tcc-rs-logo{width:150px}
/* v3.527 · Buscador de portada algo más abajo */
.oc-h-hero .oc-h-h1s+.oc-h-search,.oc-h-hero h1.oc-h-h1s~.oc-h-search{margin-top:34px}
/* v3.527 · Reserva Smart rediseñada: fondo oscuro, números grandes, línea que se llena al bajar y pasos que entran por orden */
.tcc-rs{position:relative;padding:clamp(70px,9vw,120px) 0;background:radial-gradient(1200px 500px at 85% 0%,rgba(252,191,84,.14),transparent 60%),#262c21;color:#f6f4ec;overflow:hidden}
.tcc-rs .oc-h-kick.is-light{color:#fcbf54}
.tcc-rs-head{display:block;max-width:760px;margin:0 auto;text-align:center}
.tcc-rs-logo{display:block;width:170px;height:auto;margin:0 auto 18px}
.tcc-rs h2{margin:6px 0 12px;color:#fff;font:400 clamp(36px,4.6vw,60px)/1.05 'DM Serif Display',Georgia,serif}
.tcc-rs-in{margin:0 auto;max-width:60ch;color:rgba(246,244,236,.78);font-size:17px;line-height:1.6}
.tcc-rs-track{position:relative;margin-top:clamp(40px,6vw,70px)}
.tcc-rs-line{position:absolute;left:6%;right:6%;top:54px;height:3px;border-radius:3px;background:rgba(255,255,255,.12)}
.tcc-rs-line i{position:absolute;inset:0;transform-origin:left;transform:scaleX(var(--p,0));background:linear-gradient(90deg,#fcbf54,#ffd98f);box-shadow:0 0 18px rgba(252,191,84,.6);transition:transform .15s linear}
.tcc-rs-steps{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(16px,2.4vw,34px);margin:0;padding:0;list-style:none}
.tcc-rs-step{display:flex;flex-direction:column;align-items:center;text-align:center}
.tcc-rs-num{position:relative;z-index:1;display:grid;place-items:center;width:110px;height:110px;margin-bottom:26px;border-radius:50%;background:#262c21;border:3px solid rgba(255,255,255,.18);font:400 54px/1 'DM Serif Display',Georgia,serif;color:rgba(255,255,255,.35);transition:color .5s,border-color .5s,box-shadow .6s,transform .6s cubic-bezier(.2,1.4,.4,1)}
.tcc-rs-phone{width:min(230px,100%);opacity:0;transform:translateY(90px) rotateX(18deg) rotate(-4deg) scale(.92);transform-origin:50% 100%;filter:blur(6px);transition:opacity .7s,transform 1.1s cubic-bezier(.16,1,.3,1),filter .8s;perspective:900px}
.tcc-rs-scr{display:block;width:100%;height:auto;filter:drop-shadow(0 26px 40px rgba(0,0,0,.45))}
.tcc-rs-tx{opacity:0;transform:translateY(24px);transition:opacity .6s .25s,transform .8s .25s cubic-bezier(.16,1,.3,1)}
.tcc-rs-step h3{margin:22px 0 6px;color:#fff;font:600 20px/1.25 'Poppins',sans-serif}
.tcc-rs-step p{margin:0;color:rgba(246,244,236,.75);font-size:15px;line-height:1.6}
.tcc-rs-step.is-on .tcc-rs-num{color:#262c21;background:#fcbf54;border-color:#fcbf54;box-shadow:0 0 0 10px rgba(252,191,84,.16),0 0 40px rgba(252,191,84,.5);transform:scale(1.06)}
.tcc-rs-step.is-on .tcc-rs-phone{opacity:1;transform:none;filter:none}
.tcc-rs-step.is-on .tcc-rs-tx{opacity:1;transform:none}
.tcc-rs-step:nth-child(even) .tcc-rs-phone{transform:translateY(90px) rotateX(18deg) rotate(4deg) scale(.92)}
.tcc-rs-step.is-on:nth-child(even) .tcc-rs-phone{transform:none}
.tcc-rs-more{margin:clamp(36px,5vw,56px) 0 0;text-align:center}
.tcc-rs-more .oc-h-btn{background:#fcbf54;color:#262c21}
.tcc-vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
@media (max-width:900px){
  .tcc-rs-line{display:none}
  .tcc-rs-steps{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:82%;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 6px 14px;gap:16px}
  .tcc-rs-step{scroll-snap-align:center}
  .tcc-rs-num{width:84px;height:84px;font-size:42px;margin-bottom:18px}
}
@media (prefers-reduced-motion:reduce){.tcc-rs-phone,.tcc-rs-tx,.tcc-rs-num,.tcc-rs-line i{transition:none}}
/* v3.528 · Más protagonismo al logo de Reserva Smart: grande, con halo y entrada propia */
.tcc-rs-badge{position:relative;display:inline-grid;place-items:center;margin:0 auto 26px;padding:clamp(22px,3vw,34px) clamp(30px,4vw,52px);border-radius:28px;background:rgba(255,255,255,.04);border:1px solid rgba(252,191,84,.35);box-shadow:0 0 0 1px rgba(255,255,255,.04) inset,0 30px 80px rgba(0,0,0,.35)}
.tcc-rs-badge::before{content:"";position:absolute;inset:-40%;z-index:-1;background:radial-gradient(closest-side,rgba(252,191,84,.32),transparent 70%);opacity:.8;animation:tcc-rs-halo 4.5s ease-in-out infinite}
.tcc-rs-head .tcc-rs-logo{width:clamp(240px,30vw,400px);margin:0}
.tcc-rs .tcc-rs-badge{opacity:0;transform:scale(.82);filter:blur(8px);transition:opacity .9s,transform 1.2s cubic-bezier(.16,1.3,.3,1),filter .9s}
.tcc-rs.is-in .tcc-rs-badge{opacity:1;transform:none;filter:none}
@keyframes tcc-rs-halo{0%,100%{transform:scale(.92);opacity:.55}50%{transform:scale(1.06);opacity:.95}}
@media (prefers-reduced-motion:reduce){.tcc-rs-badge::before{animation:none}.tcc-rs .tcc-rs-badge{opacity:1;transform:none;filter:none;transition:none}}
/* v3.529 · Alineaciones y separaciones de la portada (revisión de Javier) */
.oc-pg-home .oc-h-hero .oc-h-guar{justify-content:flex-start;text-align:left;margin-left:0}
.oc-pg-home .oc-h-hero .oc-h-call{text-align:left}
.oc-pg-home .oc-h-why-tx{justify-content:flex-end}
.oc-pg-home .oc-h-why-t{display:flex;align-items:flex-end;min-height:2.05em}
.oc-pg-home .oc-h-why-d{min-height:3.2em}
/* Reserva Smart: sin cuadro, logo integrado y todo más contenido */
.tcc-rs{margin-top:clamp(56px,7vw,110px)}
.tcc-rs-badge{display:contents}
.tcc-rs-head .tcc-rs-logo{display:block;width:clamp(170px,16vw,230px);margin:0 auto 22px;opacity:0;transform:translateY(16px);transition:opacity .8s,transform 1s cubic-bezier(.16,1,.3,1)}
.tcc-rs.is-in .tcc-rs-head .tcc-rs-logo{opacity:1;transform:none}
.tcc-rs .oc-h-kick{justify-content:center;text-align:center}
.tcc-rs .oc-h-kick::before{display:none}
.tcc-rs-line{top:40px}
.tcc-rs-num{width:80px;height:80px;margin-bottom:22px;font-size:38px}
.tcc-rs-phone{width:min(190px,100%)}
.tcc-rs-step h3{font-size:18px}
.tcc-rs-step p{font-size:14.5px;max-width:30ch;margin:0 auto}
/* Dónde estamos: texto blanco y legible sobre la foto */
.tcc-dest span{background:linear-gradient(180deg,transparent 0%,rgba(10,10,22,.25) 35%,rgba(10,10,22,.82) 100%);padding:60px 26px 24px}
.tcc-dest strong,.tcc-dest small{color:#fff!important}
.tcc-dest strong{font-size:clamp(30px,3vw,40px)}
/* Carrusel «por dentro»: logo del alojamiento sobre su foto */
.tcc-car figure a{position:relative;display:block}
.tcc-car-logo{position:absolute;inset:auto 0 0 0;display:flex;justify-content:center;align-items:flex-end;padding:90px 28px 26px;background:linear-gradient(180deg,transparent,rgba(10,10,22,.72));color:#fff;pointer-events:none}
.tcc-car-logo svg{width:min(64%,300px);height:auto;max-height:110px;filter:drop-shadow(0 2px 12px rgba(0,0,0,.35))}
.tcc-car-logo svg *{fill:currentColor}
.tcc-car-logo+figcaption{display:none}
@media (max-width:900px){.tcc-car-logo svg{width:min(70%,220px)}}
/* v3.530 · Cabecera: titulares más grandes; buscador centrado y más abajo; garantías y teléfono centrados */
.oc-h-hero .oc-h-big{font-size:clamp(50px,7.2vw,96px)!important}
.oc-h-hero h1.oc-h-h1s{font-size:clamp(18px,1.9vw,25px)!important;max-width:40ch}
.oc-pg-home .oc-h-hero .oc-h-search{margin:clamp(40px,5vw,64px) auto 0!important}
.oc-pg-home .oc-h-hero .oc-h-guar{justify-content:center!important;text-align:center!important;margin-left:auto!important;margin-right:auto!important}
.oc-pg-home .oc-h-hero .oc-h-call{text-align:center!important}
/* Reserva Smart: cabecera siempre centrada */
.tcc-rs-head{display:flex;flex-direction:column;align-items:center;text-align:center}
.tcc-rs-head .tcc-rs-logo{margin:0 0 22px!important}
/* v3.531 · Carrusel «por dentro»: tarjeta final «Ver todos los alojamientos» */
.tcc-car-all a{display:grid;place-items:center;height:100%;min-height:100%;aspect-ratio:3/2;border-radius:inherit;background:radial-gradient(600px 300px at 80% 0%,rgba(252,191,84,.22),transparent 60%),#262c21;color:#fff;text-decoration:none;transition:background-color .3s}
.tcc-car-all-in{display:flex;flex-direction:column;align-items:center;gap:10px;padding:24px;text-align:center}
.tcc-car-all-k{font:600 12px/1 'Poppins',sans-serif;letter-spacing:.2em;text-transform:uppercase;color:#fcbf54}
.tcc-car-all strong{font:400 clamp(28px,3vw,42px)/1.1 'DM Serif Display',Georgia,serif;max-width:12ch}
.tcc-car-all-go{display:grid;place-items:center;width:58px;height:58px;margin-top:8px;border-radius:50%;background:#fcbf54;color:#262c21;font-size:26px;transition:transform .3s}
.tcc-car-all a:hover .tcc-car-all-go{transform:translateX(6px)}
.tcc-car figure.tcc-car-all a{display:grid;place-items:center;height:100%;aspect-ratio:auto}
.tcc-car figure.tcc-car-all{display:flex}
.tcc-car figure.tcc-car-all a{flex:1}
/* v3.532 · Portada: carruseles más bajos y con más tarjetas a la vista (por dentro, favoritos y para gastar menos) */
.tcc-car img{aspect-ratio:4/3!important;height:auto!important}
.tcc-car-r{grid-auto-columns:64%!important}
@media (min-width:700px){.tcc-car-r{grid-auto-columns:31%!important}}
@media (min-width:1100px){.tcc-car-r{grid-auto-columns:calc((100% - 4 * 14px - 2 * clamp(18px,4vw,40px)) / 4.4)!important}}
.tcc-car-logo{padding:60px 18px 16px}
.tcc-car-logo svg{width:min(62%,200px);max-height:80px}
.tcc-car-all strong{font-size:clamp(22px,2.2vw,32px)}
.tcc-car-all-go{width:46px;height:46px;font-size:22px}
.oc-pg-home .oc-h-rail{grid-auto-columns:62%}
@media (min-width:700px){.oc-pg-home .oc-h-rail{grid-auto-columns:31%}}
@media (min-width:1100px){.oc-pg-home .oc-h-rail{grid-auto-columns:calc((min(100vw,1440px) - 112px - 80px) / 5)}}
.oc-pg-home .oc-h-rail .oc-pg-card img{aspect-ratio:4/3;height:auto}
.tcc-car figure{border-radius:18px;overflow:hidden}
.tcc-car figure.tcc-car-all a{aspect-ratio:4/3;height:auto}
/* v3.533 · Aviso «Imagen recreada» (fotos con personas y recreadas) */
.tm-ai{position:absolute;right:10px;bottom:10px;z-index:3;padding:3px 9px;border-radius:999px;background:rgba(10,10,22,.55);color:#fff;font:500 10.5px/1.4 'Poppins',sans-serif;letter-spacing:.02em;pointer-events:none;backdrop-filter:blur(4px)}
.oc-h-why-i,.tcg-fig,.tl-gal figure{position:relative}
.oc-h-why-i .tm-ai{top:10px;bottom:auto}
/* Dónde estamos: vídeo de 10 s sobre la foto, con fundido */
.tcc-dest-v{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1.2s ease}
.tcc-dest-v.is-on{opacity:1}
.tcc-dest img{transition:transform 1s}
/* Cabeceras de Madrid y Málaga: vídeo al corte sobre la foto */
.tm-hero{position:relative;overflow:hidden}
.tm-hero img{display:block;width:100%;height:100%;object-fit:cover}
.tm-hero-v{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0}
.tm-hero-v.is-on{opacity:1}
.tcg-card a{position:relative}
/* v3.534 · Revisión de Javier (portada) */
/* Barra de garantía fija arriba al bajar; la cabecera, justo debajo */
.oc-site-tcc .oc-gbar{position:sticky;top:var(--wp-admin--admin-bar--height,0px);z-index:950}
.oc-site-tcc .oc-header{top:calc(var(--wp-admin--admin-bar--height,0px) + var(--gbar-h,0px))}
/* Por dentro: tarjetas algo más verticales */
.tcc-car img{aspect-ratio:4/5!important}
.tcc-car figure.tcc-car-all a{aspect-ratio:4/5}
/* ¿Cómo viajas?: 2 × 2 tarjetas apaisadas, las personas se ven enteras; textos alineados abajo */
@media (min-width:900px){
  .oc-pg-home .oc-h-why{display:grid!important;grid-template-columns:1fr 1fr;gap:20px;overflow:visible}
  .oc-pg-home .oc-h-why-i{aspect-ratio:16/9!important;min-height:0!important;height:auto!important}
}
.oc-pg-home .oc-h-why-i img{object-position:center 35%}
.oc-pg-home .oc-h-why-t{min-height:0;display:block}
.oc-pg-home .oc-h-why-d{min-height:0}
.oc-pg-home .oc-h-why-tx{position:absolute;inset:auto 0 0 0;padding:22px 26px;background:linear-gradient(180deg,transparent,rgba(10,10,22,.78))}
/* Dónde estamos: nombre grande centrado, vídeo algo más oscuro y efecto al pasar el ratón */
.tcc-dest-sec{padding-top:clamp(30px,4vw,56px)}
.tcc-dest{aspect-ratio:16/10}
.tcc-dest::after{content:"";position:absolute;inset:0;z-index:1;background:rgba(10,10,22,.34);transition:background .5s}
.tcc-dest span.tcc-dest-t{position:absolute;inset:0;z-index:2;display:grid;place-items:center;padding:20px;background:none}
.tcc-dest-t strong{font:400 clamp(44px,6vw,88px)/1 'DM Serif Display',Georgia,serif!important;letter-spacing:-.01em;text-shadow:0 4px 30px rgba(0,0,0,.35);transition:transform .6s cubic-bezier(.16,1,.3,1),letter-spacing .6s}
.tcc-dest img,.tcc-dest-v{transition:transform 1.2s cubic-bezier(.16,1,.3,1),opacity 1.2s}
.tcc-dest:hover::after{background:rgba(10,10,22,.18)}
.tcc-dest:hover img,.tcc-dest:hover .tcc-dest-v{transform:scale(1.06)}
.tcc-dest:hover .tcc-dest-t strong{transform:scale(1.06);letter-spacing:.01em}
/* Favoritos: tarjetas más grandes (4 a la vista) y nota destacada sobre la foto */
@media (min-width:1100px){.oc-pg-home .oc-h-rail{grid-auto-columns:calc((min(100vw,1440px) - 112px - 60px) / 4)}}
.tcc-fav{position:relative}
.tcc-fav-r{position:absolute;top:12px;left:12px;display:flex;align-items:center;gap:8px;padding:6px 12px 6px 6px;border-radius:999px;background:#fff;box-shadow:0 6px 18px rgba(10,10,22,.18);font-size:13px;color:#5f6157}
.tcc-fav-r b{display:grid;place-items:center;min-width:42px;height:32px;padding:0 8px;border-radius:999px;background:#31382b;color:#fff;font:700 15px/1 'Poppins',sans-serif}
/* Para gastar menos: precio con más presencia */
.oc-pg-home .oc-pg-card-p{display:inline-flex;align-items:baseline;gap:4px;margin-top:8px;padding:6px 12px;border-radius:10px;background:#fbf3df;font-size:14px;color:#31382b}
.oc-pg-home .oc-pg-card-p b{font:700 22px/1 'Poppins',sans-serif;color:#31382b}
/* Reserva Smart: números algo más pequeños */
.tcc-rs-num{width:64px;height:64px;font-size:30px;margin-bottom:18px}
.tcc-rs-line{top:32px}
/* v3.535 · Carruseles: flechas debajo, gruesas, en círculo blanco */
.oc-rail-w{position:relative}
.oc-rail-nav,.tcc-car-nav{display:flex;justify-content:center;gap:14px;margin-top:18px}
.oc-rail-nav[hidden]{display:none}
.oc-rail-b,.tcc-car-nav button{position:static!important;transform:none!important;display:grid;place-items:center;width:54px;height:54px;padding:0;border:0!important;border-radius:50%;background:#fff;box-shadow:0 6px 20px rgba(10,10,22,.16);color:#0a0a16;cursor:pointer;opacity:1;transition:transform .2s,box-shadow .2s,opacity .2s}
.oc-rail-b svg,.tcc-car-nav button svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.oc-rail-b:hover,.tcc-car-nav button:hover{transform:translateY(-2px)!important;box-shadow:0 10px 26px rgba(10,10,22,.22)}
.oc-rail-b:disabled{opacity:.35;cursor:default;box-shadow:0 4px 12px rgba(10,10,22,.1)}
.oc-rail-b[hidden]{display:grid!important}
/* Favoritos y económicos: tarjetas más grandes (unas 3,3 a la vista en escritorio) */
@media (min-width:1100px){.oc-pg-home .oc-h-rail.tcc-rail-big{grid-auto-columns:calc((min(100vw,1440px) - 112px - 60px) / 3.3)}}
@media (min-width:700px) and (max-width:1099px){.oc-pg-home .oc-h-rail.tcc-rail-big{grid-auto-columns:44%}}
.oc-pg-home .tcc-rail-big .oc-pg-card-t{font-size:17px}
/* Económicos: tarjetas alineadas (precio siempre abajo) */
.tcc-rail-cheap{align-items:stretch}
.tcc-rail-cheap .oc-pg-card{display:flex;flex-direction:column;height:100%}
.tcc-rail-cheap .oc-pg-card-p{margin-top:auto!important;align-self:flex-start}
.tcc-rail-cheap .oc-pg-card .oc-pg-card-r{margin-bottom:10px}
/* Última tarjeta «Ver todos…» */
.tcc-rail-all{display:grid!important;place-items:center;min-height:100%;border-radius:18px;background:radial-gradient(600px 300px at 80% 0%,rgba(252,191,84,.22),transparent 60%),#262c21;color:#fff!important;text-decoration:none}
.tcc-rail-all .tcc-car-all-go svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
.tcc-car-all-go{display:grid;place-items:center}
.tcc-rail-all:hover .tcc-car-all-go{transform:translateX(6px)}
/* Reserva Smart: logo más grande */
.tcc-rs-head .tcc-rs-logo{width:clamp(220px,22vw,320px)!important}
/* v3.536 · Landings: cabecera de fotos sin negro (foto pequeña de fondo mientras carga la grande) */
.tl-slides{background:#262c21 center/cover no-repeat}
/* «Por qué»: el sello de Reserva Smart del mismo tamaño que el resto de iconos */
.tl-why-c{display:flex;align-items:center;height:52px}
.tl-why-c .oc-rs-ico{width:52px;height:52px}
.tl-why-c svg:not(.oc-rs-ico),.tl-why-c img{max-height:52px}
/* Guías relacionadas: tarjetas grandes con foto arriba */
.tl-guides-l{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:22px}
.tl-guide a{flex-direction:column;align-items:stretch;gap:0;padding:0;overflow:hidden;border-radius:18px}
.tl-guide img{width:100%;height:auto;aspect-ratio:16/10;border-radius:0}
.tl-guide span{padding:16px 18px 20px}
.tl-guide strong{font-size:18px}
.tl-guide small{font-size:14px}
/* Más aire antes del pie */
.tcf{margin-top:clamp(56px,7vw,110px)}
/* v3.537 · Icono de Reserva Smart al tamaño del círculo del logo de TCC */
.oc-rs-ico{display:block;width:100%;height:100%;color:inherit}
.tl-why-c a{display:block;width:52px;height:52px;color:inherit}
.tl-why-c .oc-rs-ico{width:52px;height:52px}
.oc-h-stats .oc-rs-ico{width:24px;height:24px}
/* Menú lateral por debajo de la barra de garantía fija */
.oc-site-tcc .oc-menu__panel,.oc-site-tcc .oc-menu__scrim{top:calc(var(--wp-admin--admin-bar--height,0px) + var(--gbar-h,0px))}
/* Landings · Reserva Smart resumida: banda baja, oscura, con los 4 móviles en abanico */
.tcc-rss{margin:clamp(40px,6vw,80px) auto;max-width:1240px;padding:0 clamp(16px,3vw,28px)}
.tcc-rss-in{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);align-items:center;gap:clamp(20px,4vw,56px);padding:clamp(26px,3.6vw,44px) clamp(24px,4vw,56px);border-radius:26px;background:radial-gradient(700px 320px at 90% 0%,rgba(252,191,84,.18),transparent 60%),#262c21;color:#f6f4ec;overflow:hidden;min-height:300px}
.tcc-rss-logo{display:block;width:170px;height:auto;margin-bottom:14px}
.tcc-rss h2{margin:0 0 16px;color:#fff;font:400 clamp(26px,2.8vw,36px)/1.1 'DM Serif Display',Georgia,serif}
.tcc-rss-st{display:grid;gap:9px;margin:0 0 20px;padding:0;list-style:none}
.tcc-rss-st li{display:flex;align-items:center;gap:12px;font-size:15px;color:rgba(246,244,236,.85)}
.tcc-rss-st b{display:grid;place-items:center;flex:none;width:30px;height:30px;border-radius:50%;background:#fcbf54;color:#262c21;font:700 12px/1 'Poppins',sans-serif}
.tcc-rss-more{color:#fcbf54;font-weight:600;text-decoration:none;border-bottom:1px solid rgba(252,191,84,.5)}
.tcc-rss-fan{position:relative;height:300px}
.tcc-rss-ph{position:absolute;left:50%;bottom:-70px;width:150px;transform-origin:50% 120%;transform:translateX(-50%) rotate(0deg) translateY(30px);opacity:0;transition:transform 1s cubic-bezier(.2,1.2,.35,1) calc(var(--i) * .09s),opacity .6s calc(var(--i) * .09s)}
.tcc-rss-scr{display:block;width:100%;height:auto;filter:drop-shadow(0 18px 30px rgba(0,0,0,.45))}
.tcc-rss.is-in .tcc-rss-ph{opacity:1}
.tcc-rss.is-in .tcc-rss-ph:nth-child(1){transform:translateX(calc(-50% - 186px)) rotate(-14deg) translateY(26px)}
.tcc-rss.is-in .tcc-rss-ph:nth-child(2){transform:translateX(calc(-50% - 62px)) rotate(-5deg) translateY(4px)}
.tcc-rss.is-in .tcc-rss-ph:nth-child(3){transform:translateX(calc(-50% + 62px)) rotate(5deg) translateY(4px)}
.tcc-rss.is-in .tcc-rss-ph:nth-child(4){transform:translateX(calc(-50% + 186px)) rotate(14deg) translateY(26px)}
.tcc-rss-fan:hover .tcc-rss-ph{transition-delay:0s}
.tcc-rss.is-in .tcc-rss-ph:hover{z-index:5;transform:translateX(var(--hx,-50%)) rotate(0) translateY(-40px) scale(1.06)}
.tcc-rss.is-in .tcc-rss-ph:nth-child(1):hover{--hx:calc(-50% - 186px)}
.tcc-rss.is-in .tcc-rss-ph:nth-child(2):hover{--hx:calc(-50% - 62px)}
.tcc-rss.is-in .tcc-rss-ph:nth-child(3):hover{--hx:calc(-50% + 62px)}
.tcc-rss.is-in .tcc-rss-ph:nth-child(4):hover{--hx:calc(-50% + 186px)}
@media (max-width:900px){
  .tcc-rss-in{grid-template-columns:1fr;padding-bottom:0}
  .tcc-rss-fan{height:230px}
  .tcc-rss-ph{width:118px;bottom:-60px}
  .tcc-rss.is-in .tcc-rss-ph:nth-child(1){transform:translateX(calc(-50% - 132px)) rotate(-12deg) translateY(22px)}
  .tcc-rss.is-in .tcc-rss-ph:nth-child(2){transform:translateX(calc(-50% - 46px)) rotate(-4deg)}
  .tcc-rss.is-in .tcc-rss-ph:nth-child(3){transform:translateX(calc(-50% + 46px)) rotate(4deg)}
  .tcc-rss.is-in .tcc-rss-ph:nth-child(4){transform:translateX(calc(-50% + 132px)) rotate(12deg) translateY(22px)}
}
@media (prefers-reduced-motion:reduce){.tcc-rss-ph{transition:none}}
/* Página de Reserva Smart */
.tcc-rs-hero{text-align:center;padding-bottom:0}
.tcc-rs-hlogo{display:block;width:220px;height:auto;margin:0 auto 18px}
.tcc-rs-hero h1{margin:0 auto 12px;max-width:20ch;font:400 clamp(34px,4.4vw,56px)/1.08 'DM Serif Display',Georgia,serif}
.tcc-rs-in2{margin:0 auto;max-width:62ch;font-size:17px;line-height:1.6;color:#5f6157}
.tcc-rs-page .tcc-rs{margin-top:clamp(30px,4vw,50px)}
.tcc-rs-faq{max-width:820px}
.tcc-rs-faq .oc-faq-i{border-bottom:1px solid #e7e3d8;padding:16px 0}
.tcc-rs-faq summary{cursor:pointer;font-weight:600;font-size:17px}
.tcc-rs-faq p{margin:10px 0 0;color:#5f6157}
.tcc-rs-cta{margin-top:30px}
/* v3.538 · Icono de Reserva Smart del mismo tamaño que la C de TCC (30 px) */
.tl-why-c{height:auto}
.tl-why-c a,.tl-why-c .oc-rs-ico{width:30px!important;height:30px!important}
/* v3.541 · Buscador (/alojamientos/): la barra de búsqueda y el mapa fijos debajo de la barra de garantía y la cabecera */
.oc-site-tcc .oc-ls-top{top:calc(var(--wp-admin--admin-bar--height,0px) + var(--gbar-h,0px) + var(--oc-hh,64px))!important}
@media (min-width:901px){.oc-site-tcc .oc-ls-map{top:calc(var(--wp-admin--admin-bar--height,0px) + var(--gbar-h,0px) + var(--oc-hh,64px) + var(--oc-top-h,140px) + 16px)!important;height:calc(100vh - var(--wp-admin--admin-bar--height,0px) - var(--gbar-h,0px) - var(--oc-hh,64px) - var(--oc-top-h,140px) - 32px)!important}}
/* Fichas: tarjeta de Reserva Smart */
.tcf-rs .oc-rs-ico{width:28px;height:28px}
.tcf-rs a{color:inherit}
.oc-site-tcc .oc-l-hl .oc-rs-ico,.oc-site-tcc [class*="highlight"] .oc-rs-ico{width:28px;height:28px}
.oc-site-tcc a[data-rs]{color:inherit;text-decoration:underline;text-underline-offset:3px}
