/* --- Estilos del prototipo (sin cambios) --- */
body{margin:0;background:#ffffff}
a{color:#0f5768}a:hover{color:#0b4452}
a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid #0898ba;outline-offset:2px}
a[style*="border-radius: 999px"]{transition:background-color .2s,color .2s,border-color .2s}
a[style*="border-radius: 999px"]:hover{background:#2fa395 !important;color:#ffffff !important;border-color:#2fa395 !important}
#servicios article{transition:background-color .2s,border-color .2s,transform .2s,color .2s}
#servicios article:hover{background:#0f5768 !important;border-color:#0f5768 !important;transform:translateY(-3px)}
#servicios article:hover h3,#servicios article:hover p{color:#ffffff !important}
#servicios article:hover div{background:#0b4452 !important}
#servicios article:hover a{background:#ffffff !important;color:#0f5768 !important;border-color:#ffffff !important}
#servicios article:hover a:hover{background:#2fa395 !important;color:#ffffff !important;border-color:#2fa395 !important}
#blog-track > a{transition:border-color .2s,transform .2s}
#blog-track > a:hover{border-color:#2fa395 !important;transform:translateY(-3px)}
a.mapa-mini:hover{border-color:#2fa395 !important}
#pasos .utz-hl{display:inline-block;color:#ffffff;padding:.02em .4em .08em;margin-bottom:.12em}
#pasos .utz-track-wrap{position:relative;margin-top:56px}
#pasos .utz-track{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
#pasos .utz-rail,#pasos .utz-fill{position:absolute;top:36px;left:12.5%;height:4px;border-radius:2px}
#pasos .utz-rail{right:12.5%;background:#a8d7e2}
#pasos .utz-fill{width:calc(75% * var(--p));background:#2fa395;transition:width .55s cubic-bezier(.6,0,.3,1),height .55s cubic-bezier(.6,0,.3,1)}
#pasos .utz-step{position:relative;text-align:center;padding:0 6px}
#pasos .utz-node{position:relative;z-index:1;width:76px;height:76px;margin:0 auto 22px;border-radius:50%;background:#ffffff;border:4px solid #a8d7e2;display:grid;place-items:center;color:#5f8f9a;transition:border-color .4s,color .4s,transform .4s,background .4s;box-sizing:border-box}
#pasos .utz-node svg{width:32px;height:32px}
#pasos .utz-step.done .utz-node{border-color:#2fa395;color:#1f7d72}
#pasos .utz-step.on .utz-node{border-color:#2fa395;background:#2fa395;color:#ffffff;transform:scale(1.08)}
#pasos .utz-who{display:inline-block;font-size:13px;font-weight:700;padding:4px 10px;border-radius:999px;margin-bottom:10px;background:#eef6f8;color:#0f6f87}
#pasos .utz-who.you{background:#0f5768;color:#ffffff}
#pasos .utz-step h3{font-size:22px;font-weight:800;margin:0 0 8px;line-height:1.15}
#pasos .utz-step p{font-size:16px;line-height:1.5;margin:0 auto;max-width:15em;color:#3b6f7c}
#pasos .utz-box{position:absolute;z-index:2;top:-50px;left:calc(12.5% + 75% * var(--p) - 22px);width:44px;height:44px;pointer-events:none;transition:left .55s cubic-bezier(.6,0,.3,1)}
#pasos .utz-box svg{width:100%;height:100%}
#pasos .utz-box.hopA svg{animation:utzHopA .55s ease-in-out}
#pasos .utz-box.hopB svg{animation:utzHopB .55s ease-in-out}
@keyframes utzHopA{50%{transform:translateY(-10px) rotate(-6deg)}}
@keyframes utzHopB{50%{transform:translateY(-10px) rotate(-6deg)}}
@media (max-width:760px){#pasos .utz-track{grid-template-columns:minmax(0,1fr);gap:36px}#pasos .utz-rail,#pasos .utz-fill{left:36px;top:38px;width:4px;height:auto}#pasos .utz-rail{right:auto;bottom:60px}#pasos .utz-fill{height:calc((100% - 98px) * var(--p));bottom:auto}#pasos .utz-step{display:grid;grid-template-columns:76px 1fr;column-gap:20px;text-align:left;padding:0}#pasos .utz-node{grid-row:span 3;margin:0}#pasos .utz-who{justify-self:start}#pasos .utz-step p{margin:0;max-width:none}#pasos .utz-box{display:none}#pasos .utz-track-wrap{margin-top:8px}}
@media (prefers-reduced-motion:reduce){#pasos .utz-box,#pasos .utz-fill,#pasos .utz-node{transition:none}#pasos .utz-box svg{animation:none !important}}
@media (prefers-reduced-motion: reduce){#servicios article{transition:none}#servicios article:hover{transform:none}}
input{font:inherit}
#recursos .utz-card{transition:border-color .2s,transform .2s}
#recursos .utz-card:hover{border-color:#a8d7e2 !important;transform:translateY(-3px)}
#recursos .utz-read:hover{color:#2fa395 !important}
#recursos .utz-sub-btn:hover{background:#a8d7e2 !important}
@media (max-width:900px){#recursos .utz-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important}#recursos .utz-sub{grid-column:1/-1}}
@media (max-width:600px){#recursos .utz-grid{grid-template-columns:minmax(0,1fr) !important}}
@media (prefers-reduced-motion:reduce){#recursos .utz-card{transition:none}}
#resenas .rev-track{scrollbar-width:none}
#resenas .rev-track::-webkit-scrollbar{display:none}
#resenas .rev-arrow{transition:background-color .2s,color .2s}
#resenas .rev-arrow:hover{background:#0f5768 !important;color:#ffffff !important}
@media (max-width:760px){#resenas .rev-track > figure{flex-basis:85% !important;min-width:0 !important}}
@media (prefers-reduced-motion:reduce){#resenas .rev-track{scroll-behavior:auto !important}}
#inicio .gt-ring{transform-origin:259px 219px;animation:gtPulse 2.4s ease-out infinite}
@keyframes gtPulse{0%{transform:scale(.6);opacity:.9}100%{transform:scale(2.4);opacity:0}}
#inicio .route-text h1,#inicio .route-text p{text-shadow:0 0 18px #f4f9fa,0 0 8px #f4f9fa}
@media (max-width: 760px){#inicio.route-hero{height:780px !important}#inicio .route-text{justify-content:flex-start !important;padding-top:44px !important}#inicio .route-map{width:250% !important;height:auto !important;left:-30% !important;top:auto !important;bottom:12px !important}}
@media (prefers-reduced-motion: reduce){#inicio .gt-ring{animation:none}}
#inicio .route-map{-webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 12%,#000 88%,transparent 100%);mask-image:linear-gradient(to bottom,transparent 0,#000 12%,#000 88%,transparent 100%)}
.x-grid.is-pre li{opacity:0;transform:translateY(18px)}
.x-grid.is-in li{opacity:1;transform:none;transition:opacity .5s ease,transform .5s cubic-bezier(.2,.7,.2,1)}
.x-grid.is-in li > span[aria-hidden]{animation:xPop .6s ease both}
.x-grid.is-in.x-no li > span[aria-hidden]{animation:xShake .7s ease both}
@keyframes xPop{0%{transform:scale(.6)}60%{transform:scale(1.12)}100%{transform:scale(1)}}
@keyframes xShake{0%,100%{transform:none}25%{transform:rotate(-8deg)}50%{transform:rotate(7deg)}75%{transform:rotate(-4deg)}}
.x-grid li{transition:transform .2s ease,border-color .2s ease}
.x-grid li:hover{transform:translateY(-3px)}
#exportamos .x-grid li:hover{border-color:#2fa395 !important}
#no-exportamos .x-grid li:hover{border-color:#c62f2f !important}
.x-grid.is-in li:nth-child(1),.x-grid.is-in li:nth-child(1) > span[aria-hidden]{transition-delay:0ms;animation-delay:150ms}
.x-grid.is-in li:nth-child(2),.x-grid.is-in li:nth-child(2) > span[aria-hidden]{transition-delay:70ms;animation-delay:220ms}
.x-grid.is-in li:nth-child(3),.x-grid.is-in li:nth-child(3) > span[aria-hidden]{transition-delay:140ms;animation-delay:290ms}
.x-grid.is-in li:nth-child(4),.x-grid.is-in li:nth-child(4) > span[aria-hidden]{transition-delay:210ms;animation-delay:360ms}
.x-grid.is-in li:nth-child(5),.x-grid.is-in li:nth-child(5) > span[aria-hidden]{transition-delay:280ms;animation-delay:430ms}
.x-grid.is-in li:nth-child(6),.x-grid.is-in li:nth-child(6) > span[aria-hidden]{transition-delay:350ms;animation-delay:500ms}
.x-grid.is-in li:nth-child(7),.x-grid.is-in li:nth-child(7) > span[aria-hidden]{transition-delay:420ms;animation-delay:570ms}
.x-grid.is-in li:nth-child(8),.x-grid.is-in li:nth-child(8) > span[aria-hidden]{transition-delay:490ms;animation-delay:640ms}
.x-grid.is-in li:nth-child(9),.x-grid.is-in li:nth-child(9) > span[aria-hidden]{transition-delay:560ms;animation-delay:710ms}
.x-grid.is-in li:nth-child(10),.x-grid.is-in li:nth-child(10) > span[aria-hidden]{transition-delay:630ms;animation-delay:780ms}
.x-grid.is-in li:nth-child(11),.x-grid.is-in li:nth-child(11) > span[aria-hidden]{transition-delay:700ms;animation-delay:850ms}
.x-grid.is-in li:nth-child(12),.x-grid.is-in li:nth-child(12) > span[aria-hidden]{transition-delay:770ms;animation-delay:920ms}

@media (prefers-reduced-motion: reduce){.x-grid.is-pre li{opacity:1;transform:none}.x-grid li,.x-grid.is-in li > span[aria-hidden]{transition:none;animation:none}}
@media (max-width: 640px){.quote-art > svg{width:110px;height:120px}}

.dims{display:grid;grid-template-columns:1fr minmax(120px,170px) 1fr;grid-template-areas:"alto box ancho" ". largo .";grid-template-rows:auto auto;align-items:center;justify-items:center;gap:8px 12px;background:#f3f9fa;border:1.5px dashed #9cc7cf;border-radius:16px;padding:14px 12px}
.dim-box{width:100%;height:auto;display:block}
.dim-f{display:flex;flex-direction:column;gap:4px;width:min(118px,100%);font-size:13px;font-weight:700;color:#0f5768}
.dim-l{display:flex;align-items:center;gap:6px;justify-content:center}
.dim-i{width:100%;box-sizing:border-box;border:1.5px solid #9cc7cf;border-radius:12px;padding:12px 8px;font-size:16px;color:#0f5768;font-weight:600;text-align:center;background:#ffffff}
@media (max-width:420px){.dims{grid-template-columns:1fr 104px 1fr;gap:8px 8px;padding:12px 8px}}

.m-bar{display:none;align-items:center;gap:10px}
.burger{width:46px;height:46px;border:1.5px solid #9cc7cf;background:#ffffff;border-radius:12px;display:inline-flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;cursor:pointer;padding:0}
.burger span{display:block;width:20px;height:2.5px;border-radius:2px;background:#0f5768;transition:transform .2s,opacity .2s}

@media (max-width: 960px){
  .m-bar{display:inline-flex}
  .main-nav{display:none !important;order:3;width:100%;flex-direction:column;align-items:stretch !important;gap:0 !important;border-top:1px solid #d6e9ee;padding-top:8px}
  .main-nav.open{display:flex !important}
  .main-nav > a{padding:14px 4px !important;border-bottom:1px solid #eef6f7;font-size:17px}
  .main-nav > a[href="#cotizar"]{margin-top:12px;text-align:center;border-bottom:0;padding:14px 22px !important}
  .main-nav .lang-switch{display:none !important}
  header img{height:46px !important}
}
@media (max-width: 960px){#servicios .svc-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;overflow:visible !important}}
@media (max-width: 600px){#servicios .svc-grid{grid-template-columns:minmax(0,1fr) !important}#servicios h3{font-size:22px !important}}
@media (max-width: 760px){#inicio.route-hero{height:700px !important}}

#numeros .stats-grid{max-width:1200px;margin:0 auto;padding:48px 24px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;text-align:center}
#numeros .stat{display:flex;flex-direction:column;align-items:center;gap:8px;position:relative}
#numeros .stat + .stat::before{content:"";position:absolute;left:-12px;top:12%;bottom:12%;width:1px;background:rgba(207,232,236,.25)}
#numeros .stat-ic{width:38px;height:38px;fill:none;stroke:#7fd3c6;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:120;stroke-dashoffset:0}
#numeros .stat-n{margin:0;font-size:clamp(38px,4.4vw,58px);line-height:1;font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:-.01em}
#numeros .stat-l{margin:0;font-size:16px;font-weight:600;color:#cfe8ec}
#numeros .stats-grid.is-pre .stat{opacity:0;transform:translateY(22px)}
#numeros .stats-grid.is-pre .stat-ic{stroke-dashoffset:120}
#numeros .stats-grid.is-in .stat{opacity:1;transform:none;transition:opacity .6s ease,transform .6s cubic-bezier(.2,.8,.2,1);transition-delay:calc(var(--i) * 140ms)}
#numeros .stats-grid.is-in .stat-ic{stroke-dashoffset:0;transition:stroke-dashoffset 1.2s ease;transition-delay:calc(var(--i) * 140ms + 150ms)}
#numeros .stats-grid.is-done .stat-n{animation:statPop .45s cubic-bezier(.2,.8,.2,1.4) both;animation-delay:calc(var(--i) * 90ms)}
@keyframes statPop{0%{transform:scale(1)}45%{transform:scale(1.12);color:#7fd3c6}100%{transform:scale(1)}}
@media (max-width: 760px){#numeros .stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 12px;padding:36px 16px}#numeros .stat:nth-child(odd)::before{display:none}#numeros .stat-n{font-size:34px}#numeros .stat-l{font-size:14px}#numeros .stat-ic{width:30px;height:30px}}
@media (prefers-reduced-motion: reduce){#numeros .stat,#numeros .stat-ic,#numeros .stat-n{transition:none !important;animation:none !important;opacity:1 !important;transform:none !important;stroke-dashoffset:0 !important}}

#servicios .svc-art{display:block;border-radius:16px;overflow:hidden;aspect-ratio:16/9;background:#eaf4f6}
#servicios .svc-art img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .5s cubic-bezier(.2,.8,.2,1)}
#servicios article:hover .svc-art img{transform:scale(1.06)}
.x-emo .x-e{font-size:30px;line-height:1;font-weight:400;font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif;display:block;animation:xBob 3.6s ease-in-out infinite}
.x-grid li:nth-child(3n+2) .x-e{animation-delay:-1.2s}
.x-grid li:nth-child(3n+3) .x-e{animation-delay:-2.4s}
.x-badge{position:absolute;right:-6px;bottom:-6px;width:22px;height:22px;border-radius:50%;color:#ffffff;font-style:normal;font-size:13px;font-weight:800;line-height:22px;text-align:center;border:2.5px solid #ffffff;box-sizing:content-box}
.x-grid li:hover .x-e{animation:xHop .55s cubic-bezier(.2,.8,.2,1.3)}
.x-grid.x-no li:hover .x-e{animation:xNope .5s ease}
@keyframes xBob{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}
@keyframes xHop{0%{transform:translateY(0) scale(1)}40%{transform:translateY(-9px) scale(1.15) rotate(-6deg)}100%{transform:translateY(0) scale(1)}}
@keyframes xNope{0%,100%{transform:none}20%{transform:translateX(-4px) rotate(-8deg)}40%{transform:translateX(4px) rotate(8deg)}60%{transform:translateX(-3px)}80%{transform:translateX(2px)}}
@media (prefers-reduced-motion: reduce){.x-emo .x-e,.x-grid li:hover .x-e{animation:none}#servicios article:hover .svc-art img{transform:none}}
@media (max-width: 600px){.x-grid.x-no{display:grid !important;grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:10px !important}.x-grid.x-no li{flex-direction:column;text-align:center;gap:10px !important;padding:16px 10px !important;min-height:0 !important;justify-content:flex-start}.x-grid.x-no li p{font-size:14px !important}}

#cotizar .dims{grid-template-columns:1fr minmax(96px,128px) 1fr;padding:10px 12px;gap:4px 12px}
#cotizar .dim-i{padding:10px 8px}
#cotizar .dim-f{gap:3px}
#cotizar input{padding-top:12px !important;padding-bottom:12px !important}
@media (max-width:420px){#cotizar .dims{grid-template-columns:1fr 92px 1fr}}

#destinos .dest-map{margin-top:-36px !important}
#destinos .dest-title.is-pre{opacity:0;transform:translateY(16px)}
#destinos .dest-title.is-in{opacity:1;transform:none;transition:opacity .7s ease,transform .7s cubic-bezier(.2,.8,.2,1)}
@media (max-width:760px){#destinos .dest-map{margin-top:-12px !important}}
@media (prefers-reduced-motion: reduce){#destinos .dest-title{opacity:1 !important;transform:none !important;transition:none !important}}

/* --- Añadidos para la versión WordPress --- */
/* Bloques condicionales (cotizador listo / suscripción enviada). */
[data-utz-if][hidden]{display:none !important}
/* Sin los estilos del tema: ayudas de accesibilidad que otros plugins puedan imprimir. */
.screen-reader-text,.skip-link:not(:focus),.show-on-focus:not(:focus){border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute !important;width:1px;word-wrap:normal !important}
.screen-reader-text:focus{clip:auto !important;clip-path:none;height:auto;width:auto;margin:0;padding:12px 18px;left:8px;top:8px;z-index:100000;background:#ffffff;color:#0f5768;font:700 14px Montserrat,Arial,sans-serif;border-radius:8px}
/* Las tarjetas de la órbita quedan ocultas hasta que el script las ubica. */
#inicio .dest-card{opacity:0}
