/* =====================================================================
   UKIYO · Home responsive (diseño «Responsive - Pruebas» de Claude Design)
   ---------------------------------------------------------------------
   Regla: el escritorio (≥1024px) no cambia. Todo vive dentro de
   @media (max-width:1023px) o (max-width:759px). Fuera de media query
   solo se ocultan elementos que existen únicamente en tablet y móvil.

   Adaptación a WordPress:
   - Las reglas de la Home van bajo .uk-home para no tocar la cabecera
     ni el pie del tema (que también usan .container) y para ganar en
     especificidad a home-v2.css (.uk-v2 .x).
   - El menú usa la cabecera del tema (#site-header, #mobile-menu-btn).
   - La sección de viajes es #viajes; «En preparación» (.tcard__by) se
     mantiene visible en móvil.
   ===================================================================== */

/* --- solo existen por debajo de 1024px: ocultos en escritorio --- */
.hint,.mfind,.mfold__b,.mcta,.mcta .m0,.mnav,.m-only,.hscroll-cue,.rv-more{display:none}

/* =========================== componentes =========================== */
@media (max-width:1023px){
  html,body{overflow-x:clip}
  input,select,textarea{font-size:max(16px,1em)}

  /* menú móvil (panel lateral) */
  .mnav{position:fixed;inset:0;z-index:200}
  .mnav.open{display:block}
  .mnav__bg{position:absolute;inset:0;background:rgba(20,18,14,.5);opacity:0;transition:opacity .3s}
  .mnav.open .mnav__bg{opacity:1}
  .mnav__p{position:absolute;top:0;right:0;bottom:0;width:min(400px,88vw);background:#FEFCF8;color:#2C2C2C;display:flex;flex-direction:column;padding:max(16px,env(safe-area-inset-top)) 20px max(20px,env(safe-area-inset-bottom));transform:translateX(100%);transition:transform .4s cubic-bezier(.4,0,.2,1);overflow-y:auto;overscroll-behavior:contain;font-family:'Satoshi',system-ui,sans-serif}
  .mnav.open .mnav__p{transform:none}
  .mnav__h{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
  .mnav__h img{height:30px;width:auto}
  .mnav__x{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:#F5F2ED;color:#2C2C2C;border:0;cursor:pointer}
  .mnav__x svg{width:18px;height:18px}
  .mnav__l{display:flex;flex-direction:column;border-top:1px solid #E8E0D2}
  .mnav__l a{display:flex;align-items:center;justify-content:space-between;min-height:56px;padding:0 4px;border-bottom:1px solid #E8E0D2;font-family:'Rowdies',serif;font-weight:300;font-size:1.35rem;color:#2C2C2C;text-decoration:none}
  .mnav__l a::after{content:"→";font-family:'Satoshi',system-ui,sans-serif;font-size:1rem;color:#8B4513}
  .mnav__l a[aria-current="page"]{color:#8B4513}
  .mnav__lang{margin-top:16px}
  .mnav__lang .ukiyo-lang{background:#F5F2ED;border-color:#E8E0D2}
  .mnav__lang .ukiyo-lang__btn{color:#5F5A52!important}
  .mnav__lang .ukiyo-lang__btn[aria-pressed="true"]{color:#fff!important}
  .mnav__lang .ukiyo-lang__pill{background:#343A2C!important}
  .mnav__f{margin-top:auto;padding-top:24px;display:flex;flex-direction:column;gap:10px}
  .mnav__f a{display:flex;align-items:center;justify-content:center;gap:10px;min-height:52px;border-radius:999px;font-weight:700;font-size:1rem;text-decoration:none}
  .mnav__f .a1{background:#8B4513;color:#fff}
  .mnav__f .a2{border:1.5px solid #E8E0D2;color:#2C2C2C}
  .mnav__f .wa-d{width:20px;height:20px;border-radius:50%;background:#25D366}
  html.mnav-lock,html.mnav-lock body{overflow:hidden}

  /* buscador «¿Qué buscas?» (hoja inferior) */
  .mfind{display:block;position:fixed;inset:0;z-index:120;pointer-events:none;font-family:'Satoshi',system-ui,sans-serif}
  .mfind:not(.open){visibility:hidden;transition:visibility 0s .42s}
  .mfind__bg{position:absolute;inset:0;background:rgba(30,22,14,.45);opacity:0;transition:opacity .3s}
  .mfind__p{position:absolute;left:0;right:0;bottom:0;max-height:88svh;overflow-y:auto;background:#FEFCF8;color:#2C2C2C;border-radius:26px 26px 0 0;padding:10px 20px calc(24px + env(safe-area-inset-bottom));transform:translateY(100%);transition:transform .42s cubic-bezier(.4,0,.2,1)}
  .mfind.open{pointer-events:auto}.mfind.open .mfind__bg{opacity:1}.mfind.open .mfind__p{transform:none}
  .mfind__grab{width:44px;height:5px;border-radius:9px;background:#E8E0D2;margin:0 auto 14px}
  .mfind__h{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}
  .mfind__h h2{font-family:'Rowdies',serif;font-size:1.5rem;font-weight:300;margin:0;color:#2C2C2C}
  .mfind__h h2 em{color:#8B4513}
  .mfind__x{width:44px;height:44px;border-radius:50%;background:#F5F2ED;display:grid;place-items:center;border:0;cursor:pointer;color:#2C2C2C}
  .mfind__x svg{width:16px;height:16px}
  .mfind__k{display:block;font-family:'DM Mono',monospace;font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:#8B4513;margin:18px 0 10px}
  .mfind__d{display:grid;grid-template-columns:1fr 1fr;gap:8px}
  .mfind__d a{position:relative;display:flex;align-items:flex-end;min-height:86px;padding:10px 12px;border-radius:16px;overflow:hidden;color:#fff;font-weight:700;font-size:.98rem;text-decoration:none;background:#343A2C}
  .mfind__d a img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
  .mfind__d a::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 30%,rgba(0,0,0,.65))}
  .mfind__d a span{position:relative;z-index:2}
  .mfind__d a small{display:block;font-weight:500;font-size:.74rem;opacity:.9}
  .mfind__t{display:flex;flex-wrap:nowrap;gap:8px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;margin:0 -20px;padding:0 20px 4px}
  .mfind__t::-webkit-scrollbar{display:none}
  .mfind__t a{flex-shrink:0;scroll-snap-align:start;display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 14px;border-radius:999px;border:1.5px solid #E8E0D2;background:#fff;font-weight:600;font-size:.86rem;color:#2C2C2C;white-space:nowrap;text-decoration:none}
  .mfind__q{display:flex;align-items:center;gap:12px;margin-top:18px;padding:14px 16px;border-radius:18px;background:#343A2C;color:#fff;text-decoration:none}
  .mfind__q b{display:block;font-size:1rem}.mfind__q small{color:rgba(255,255,255,.75);font-size:.84rem}
  .mfind__q i{margin-left:auto;width:40px;height:40px;border-radius:50%;background:#EBD2AE;color:#3A2A14;display:grid;place-items:center;font-style:normal;font-weight:700}

  /* textos con dos versiones */
  .uk-home .d-only{display:none!important}
  .uk-home .m-only{display:revert}
  .uk-home span.m-only{display:inline}
  .uk-home a.btn.m-only{display:inline-flex}
}

@media (max-width:759px){
  /* barra de contacto fija abajo */
  .mcta{display:flex;position:fixed;left:10px;right:10px;bottom:calc(10px + env(safe-area-inset-bottom));z-index:90;gap:8px;padding:8px;border-radius:22px;background:rgba(52,58,44,.96);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 18px 40px -16px rgba(0,0,0,.55);transform:translateY(calc(100% + 30px));transition:transform .4s cubic-bezier(.4,0,.2,1);font-family:'Satoshi',system-ui,sans-serif}
  .mcta.show{transform:none}
  .mcta a,.mcta button{display:flex;align-items:center;justify-content:center;gap:8px;min-height:48px;border-radius:16px;font-weight:700;font-size:.95rem;text-decoration:none}
  .mcta .m0{display:flex;width:48px;flex-shrink:0;background:rgba(255,255,255,.12);color:#fff;border:0;cursor:pointer}
  .mcta .m0 svg{width:22px;height:22px}
  .mcta .m1{flex:1;background:#EBD2AE;color:#3A2A14}
  .mcta .m2{width:48px;flex-shrink:0;background:#25D366}
  .mcta .m2 svg{width:24px;height:24px;color:#fff}
  body.has-mcta #site-footer,body.has-mcta footer.site-footer{padding-bottom:calc(76px + env(safe-area-inset-bottom))}
  .uk-home .fab{display:none!important}
  /* aviso y «Guardados» por encima de la barra; ocultos del todo mientras no se usan */
  .uk-home .toast{bottom:calc(84px + env(safe-area-inset-bottom))}
  .uk-home .toast:not(.show){transform:translate(-50%,calc(100% + 120px))}
  .uk-home .savedpill{bottom:calc(84px + env(safe-area-inset-bottom))}
  .uk-home .savedpill:not(.has){transform:translateY(calc(100% + 120px))}
}
@media (prefers-reduced-motion:reduce){.mnav__p,.mnav__bg,.mcta,.mfind__p,.mfind__bg{transition:none}}

/* ============================== HOME =============================== */
@media (max-width:759px){
  .uk-home{font-size:16px}
  .uk-home .container{padding-left:clamp(16px,5vw,24px);padding-right:clamp(16px,5vw,24px)}
  .uk-home .shead{flex-direction:column;align-items:flex-start;gap:.9rem}
  .uk-home .shead h2,.uk-home .section h2{font-size:clamp(1.85rem,7.6vw,2.4rem);line-height:1.08}
  .uk-home .shead p{font-size:1rem;max-width:none}
  .uk-home .btn{min-height:48px}
  .uk-home .arrow{width:44px;height:44px}
  .uk-home .heart{min-width:44px;min-height:44px}
}

/* portada */
@media (max-width:1023px){
  .uk-home .hero{height:auto;min-height:100vh;min-height:100svh;max-height:none}
  .uk-home .hero__inner{min-height:100vh;min-height:100svh;justify-content:flex-end;padding-top:7rem;padding-bottom:7.5rem}
  .uk-home .hero__title{max-width:14ch}
}
@media (max-width:759px){
  .uk-home .hero{position:relative}
  .uk-home .hero::after{background:linear-gradient(180deg,rgba(20,18,14,.4) 0%,rgba(20,18,14,.1) 30%,rgba(20,18,14,.55) 62%,rgba(20,18,14,.82) 100%)}
  .uk-home .hero__slide img{object-position:50% 50%}
  .uk-home .hero__slide:nth-child(1) img{object-position:68% 40%}
  .uk-home .hero,.uk-home .hero__inner{min-height:72svh!important}
  .uk-home .hero__inner{padding-bottom:4.6rem!important}
  .uk-home .hero__eyebrow{font-size:.7rem;padding:.4rem .8rem}
  .uk-home .hero__title{font-size:clamp(2.4rem,10.5vw,3.3rem);margin:1rem 0 .9rem}
  .uk-home .hero__sub{display:none}
  .uk-home .planner-wrap{display:none}
  .uk-home .planner__hint{flex-direction:column;align-items:center;text-align:center;gap:.3rem}
  .uk-home .pf__btn{min-height:56px}
  .uk-home .chip{min-height:44px}
  /* flecha que invita a bajar */
  .uk-home .hscroll-cue{display:grid;place-items:center;position:absolute;left:50%;bottom:14px;z-index:5;width:44px;height:44px;margin-left:-22px;border-radius:50%;color:#fff;background:none;border:0;filter:drop-shadow(0 2px 6px rgba(0,0,0,.45));animation:ukcue 1.8s cubic-bezier(.4,0,.2,1) infinite}
  .uk-home .hscroll-cue svg{width:26px;height:26px;stroke-width:2.2}
  .uk-home .hscroll-cue:active{transform:scale(.94)}
  @keyframes ukcue{0%,100%{transform:translateY(0);opacity:.85}50%{transform:translateY(7px);opacity:1}}
}
@media (prefers-reduced-motion:reduce){.uk-home .hscroll-cue{animation:none}}

/* garantías y secciones ocultas en tablet y móvil */
@media (max-width:1023px){
  .uk-home .m-hide,.uk-home .trust{display:none!important}
}

/* destinos: filtros en una fila deslizable, alineados con las tarjetas */
@media (max-width:1023px){
  .uk-home #destinos .arrows,.uk-home #dPrev,.uk-home #dNext{display:none!important}
  .uk-home #dTabs{display:flex!important;flex-wrap:nowrap!important;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:none;gap:8px;margin-left:0!important;padding-left:0!important;margin-right:calc(-1*clamp(16px,5vw,24px))!important;padding-right:clamp(16px,5vw,24px)!important;padding-bottom:4px;scroll-padding-left:0}
  .uk-home #dTabs::-webkit-scrollbar{display:none}
  .uk-home #dTabs .tab{flex-shrink:0;scroll-snap-align:start;white-space:nowrap;min-height:44px}
  /* los carriles se detienen alineados con el margen del contenido (y con los filtros) */
  .uk-home .rail{scroll-padding-inline:1.75rem}
}
@media (max-width:759px){
  .uk-home .rail{margin-left:calc(-1*clamp(16px,5vw,24px));margin-right:calc(-1*clamp(16px,5vw,24px));padding-left:clamp(16px,5vw,24px);padding-right:clamp(16px,5vw,24px);scroll-padding-inline:clamp(16px,5vw,24px)}
}

/* test: la foto aparece con el resultado */
@media (max-width:1023px){
  .uk-home .quiz__box:not(.has-res) .quiz__r{display:none}
  .uk-home .quiz__box.has-res .quiz__r{display:block;animation:ukqr .5s cubic-bezier(.4,0,.2,1)}
  @keyframes ukqr{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
}
@media (max-width:759px){
  .uk-home .quiz__box{min-height:0}
  .uk-home .quiz__l{padding:2rem 1.25rem}
  .uk-home .quiz__box.has-res .quiz__r{min-height:380px}
}
@media (prefers-reduced-motion:reduce){.uk-home .quiz__box.has-res .quiz__r{animation:none}}

/* formas de viajar: 4 en tablet, 2×2 en móvil, solo el título */
@media (max-width:1023px){
  .uk-home #formas .shead p{display:none}
  .uk-home .ways__acc{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;height:auto!important;flex-direction:initial}
  .uk-home .way,.uk-home .way.is-on{flex:none!important;height:auto!important;min-height:0!important;aspect-ratio:3/4}
  .uk-home .way img,.uk-home .way.is-on img{transform:none}
  .uk-home .way::after{background:linear-gradient(180deg,rgba(0,0,0,.05) 30%,rgba(0,0,0,.78))}
  .uk-home .way__vt{display:none}
  .uk-home .way__n{top:12px;left:12px}
  .uk-home .way__body,.uk-home .way.is-on .way__body{opacity:1;transform:none;padding:12px 14px;max-width:none;transition:none}
  .uk-home .way__body h3{font-size:clamp(1.05rem,2.6vw,1.35rem);line-height:1.15;margin:0}
  .uk-home .way__body h3 .m-only{white-space:nowrap}
  .uk-home .way__body p,.uk-home .way__body .btn{display:none}
  .uk-home .way__body h3::after{content:"\00a0→";display:inline;margin-left:0;color:#EBD2AE}
  .uk-home .way:active{transform:scale(.98)}
}
@media (max-width:759px){
  .uk-home .ways__acc{grid-template-columns:1fr 1fr}
  .uk-home .way,.uk-home .way.is-on{aspect-ratio:1/1}
}

/* así nace tu viaje: solo los tres títulos */
@media (max-width:1023px){
  .uk-home .proc__grid{display:block}
  .uk-home #proceso .shead p,.uk-home .pstep__d,.uk-home .pstep__bar,.uk-home .pvis{display:none!important}
  .uk-home .psteps{display:flex;flex-direction:column;gap:8px;margin-top:1.2rem}
  .uk-home .pstep{display:flex;align-items:center;gap:14px;padding:12px 14px;border-radius:16px;background:#fff;border:1px solid #E8E0D2;cursor:default}
  .uk-home .pstep h3{margin:0;font-size:1.05rem}
  .uk-home .pstep .pstep__n,.uk-home .pstep.is-on .pstep__n{flex-shrink:0;background:#8B4513;color:#fff;border-color:#8B4513}
}

/* viajes: sin flechas ni autores */
@media (max-width:1023px){
  .uk-home #viajes .arrows,.uk-home #tPrev,.uk-home #tNext{display:none!important}
  .uk-home .authors,.uk-home .tcard__m .tcard__av{display:none!important}
  .uk-home .tcard.dim{opacity:1!important;filter:none!important}
}

/* reseñas: carrusel con la tarjeta centrada, sin pestañas ni tarjeta oscura */
@media (max-width:1023px){
  .uk-home #rTabs,.uk-home .rc--q{display:none!important}
  .uk-home .rgrid{display:flex!important;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;grid-template-columns:none;margin-left:calc(-1*clamp(16px,5vw,24px))!important;margin-right:calc(-1*clamp(16px,5vw,24px))!important;padding:0 8vw 6px!important;scroll-padding-inline:8vw}
  .uk-home .rgrid::-webkit-scrollbar{display:none}
  .uk-home .rgrid>.rc{flex:0 0 84vw!important;max-width:420px;scroll-snap-align:center;margin:0}
  .uk-home .rgrid>.rc:not(.rc--q):nth-of-type(n+5){display:none}
  .uk-home .rv-more{display:flex!important;justify-content:center;margin-top:18px}
}
@media (min-width:760px) and (max-width:1023px){
  .uk-home .rgrid{padding-left:clamp(16px,5vw,24px)!important;padding-right:clamp(16px,5vw,24px)!important}
  .uk-home .rgrid>.rc{flex-basis:calc(50% - 6px)!important;scroll-snap-align:start}
}

/* llamada final */
@media (max-width:759px){
  .uk-home .cta{padding-top:4rem;padding-bottom:4rem}
  .uk-home .cta__btns{flex-direction:column;align-items:stretch}
  .uk-home .cta__btns .btn{justify-content:center}
}

/* menos aire entre secciones */
@media (max-width:1023px){
  .uk-home .section{padding-top:clamp(2.75rem,8vw,4rem)!important;padding-bottom:clamp(2.75rem,8vw,4rem)!important}
  .uk-home #viajes{padding-bottom:1.25rem!important}
  .uk-home #reviews{padding-top:1.75rem!important}
}
