/* ============================================================
   SKIN CYBER-JUNGLE PARA WOOCOMMERCE — Cart · Checkout · My Account
   Diseñado por el arquitecto. CSS que viste la ESTRUCTURA de WooCommerce
   sin tocar su HTML funcional (para no romper el pago/carrito/cuenta).
   Codito: enqueue este CSS solo en las páginas WC (is_cart/is_checkout/
   is_account_page). Namespaced a las clases de WooCommerce.
   FILOSOFÍA: limpio, confiable, buen flujo de reserva. El checkout sobre
   todo debe dar SEGURIDAD (es donde pagan) — sin distracciones, claro.
   ============================================================ */

/* ============================================================
   VARIABLES (reusar las del tema si ya existen; aquí de referencia)
   ============================================================ */
:root{
  --catvs-neon:#39FF14;
  --catvs-neon-hover:#32E612;
  --catvs-black:#000;
  --catvs-glass:#09090B;
  --catvs-zinc-900:#18181B;
  --catvs-zinc-800:#27272A;
  --catvs-zinc-700:#3F3F46;
  --catvs-text:#E4E4E7;
  --catvs-text-dim:#A1A1AA;
}

/* ============================================================
   BASE — envuelve las 3 páginas WC
   Codito: idealmente añade una clase contenedora catvs-woo en el body
   o wrapper de estas páginas; si no, se targetea .woocommerce directo.
   ============================================================ */
.woocommerce, .woocommerce-page{
  color:var(--catvs-text);
  font-family:'Oswald', system-ui, sans-serif;
}

/* Headings de sección WC */
.woocommerce h1, .woocommerce h2, .woocommerce h3,
.woocommerce-page h1, .woocommerce-page h2, .woocommerce-page h3{
  font-family:'Oswald', sans-serif;
  color:#fff;
  text-transform:uppercase;
  letter-spacing:.01em;
}

/* Enlaces */
.woocommerce a:not(.button):not(.wc-block-components-button){
  color:var(--catvs-neon);
  text-decoration:none;
  border-bottom:1px solid rgba(57,255,20,.3);
  transition:border-color .2s;
}
.woocommerce a:not(.button):hover{border-bottom-color:var(--catvs-neon)}

/* ============================================================
   BOTONES — el CTA principal en neón (add to cart, proceed, place order)
   ============================================================ */
.woocommerce .button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #place_order,
.woocommerce .wc-proceed-to-checkout .button{
  font-family:'JetBrains Mono', monospace !important;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-weight:600;
  background:var(--catvs-neon) !important;
  color:#000 !important;
  border:none !important;
  border-radius:10px !important;
  padding:14px 28px !important;
  transition:background .2s, box-shadow .2s, transform .15s;
  box-shadow:0 4px 20px rgba(57,255,20,.25);
}
.woocommerce .button:hover,
.woocommerce #place_order:hover,
.woocommerce .wc-proceed-to-checkout .button:hover{
  background:var(--catvs-neon-hover) !important;
  box-shadow:0 6px 28px rgba(57,255,20,.4);
  transform:translateY(-1px);
}
/* Botón secundario (update cart, continue shopping) — outline */
.woocommerce .button[name="update_cart"],
.woocommerce a.button.wc-backward{
  background:transparent !important;
  color:var(--catvs-neon) !important;
  border:1px solid var(--catvs-zinc-700) !important;
  box-shadow:none;
}
.woocommerce .button[name="update_cart"]:hover,
.woocommerce a.button.wc-backward:hover{
  border-color:var(--catvs-neon) !important;
}

/* ============================================================
   CARRITO (Cart)
   ============================================================ */
/* Tabla del carrito */
.woocommerce table.cart,
.woocommerce table.shop_table{
  background:var(--catvs-glass);
  border:1px solid var(--catvs-zinc-800);
  border-radius:14px;
  overflow:hidden;
}
.woocommerce table.cart thead,
.woocommerce table.shop_table thead{
  background:var(--catvs-zinc-900);
  font-family:'JetBrains Mono', monospace;
  text-transform:uppercase;
  letter-spacing:.06em;
  font-size:12px;
  color:var(--catvs-neon);
}
.woocommerce table.cart th,
.woocommerce table.cart td,
.woocommerce table.shop_table th,
.woocommerce table.shop_table td{
  border-color:var(--catvs-zinc-800) !important;
  padding:16px !important;
}
.woocommerce table.cart img{
  border-radius:8px;
  border:1px solid var(--catvs-zinc-800);
}
/* Nombre del producto en el carrito */
.woocommerce table.cart .product-name a{
  font-family:'Oswald', sans-serif;
  font-weight:500;
  font-size:16px;
}
/* Totales del carrito */
.woocommerce .cart_totals,
.woocommerce .cart-collaterals .cart_totals{
  background:var(--catvs-glass);
  border:1px solid rgba(57,255,20,.18);
  border-radius:14px;
  padding:24px;
}
.woocommerce .cart_totals h2{
  font-size:20px;
  border-bottom:2px solid var(--catvs-neon);
  padding-bottom:12px;
  margin-bottom:16px;
}
/* Precio destacado */
.woocommerce .amount{
  font-family:'JetBrains Mono', monospace;
  color:#fff;
  font-weight:600;
}
.woocommerce .order-total .amount{
  color:var(--catvs-neon);
  font-size:20px;
}

/* Cupón */
.woocommerce .coupon input[type="text"]{
  background:var(--catvs-zinc-900);
  border:1px solid var(--catvs-zinc-700);
  border-radius:8px;
  color:var(--catvs-text);
  padding:12px 14px;
}

/* ============================================================
   CHECKOUT — el más importante: limpio, confiable, sin distracción
   ============================================================ */
/* Cajas de checkout (billing, order review) */
.woocommerce-checkout .col2-set .col-1,
.woocommerce-checkout .col2-set .col-2,
.woocommerce-checkout #order_review,
.woocommerce-checkout #customer_details{
  background:var(--catvs-glass);
  border:1px solid var(--catvs-zinc-800);
  border-radius:14px;
  padding:24px;
}
.woocommerce-checkout h3{
  font-size:18px;
  border-left:3px solid var(--catvs-neon);
  padding-left:14px;
  margin-bottom:18px;
}
/* Campos del formulario */
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce-checkout input[type="text"],
.woocommerce-checkout input[type="email"],
.woocommerce-checkout input[type="tel"],
.woocommerce-checkout select,
.woocommerce-checkout textarea{
  background:var(--catvs-zinc-900) !important;
  border:1px solid var(--catvs-zinc-700) !important;
  border-radius:8px !important;
  color:var(--catvs-text) !important;
  padding:12px 14px !important;
  font-family:'Oswald', sans-serif;
  transition:border-color .2s, box-shadow .2s;
}
.woocommerce form .form-row input.input-text:focus,
.woocommerce-checkout input:focus,
.woocommerce-checkout select:focus,
.woocommerce-checkout textarea:focus{
  border-color:var(--catvs-neon) !important;
  box-shadow:0 0 0 3px rgba(57,255,20,.12) !important;
  outline:none !important;
}
.woocommerce form .form-row label,
.woocommerce-checkout label{
  color:var(--catvs-text-dim);
  font-size:13px;
  letter-spacing:.02em;
  margin-bottom:6px;
}
/* Tabla de revisión del pedido */
.woocommerce-checkout #order_review table.shop_table{
  border-radius:12px;
}
.woocommerce-checkout .order-total th,
.woocommerce-checkout .order-total .amount{
  font-size:18px;
}
/* Métodos de pago (Stripe) */
.woocommerce-checkout #payment,
.woocommerce-checkout .wc_payment_methods{
  background:var(--catvs-zinc-900);
  border:1px solid var(--catvs-zinc-800);
  border-radius:12px;
  padding:8px 20px;
}
.woocommerce-checkout #payment ul.payment_methods{
  border-bottom:1px solid var(--catvs-zinc-800);
}
.woocommerce-checkout #payment div.payment_box{
  background:var(--catvs-zinc-800);
  border-radius:8px;
  color:var(--catvs-text-dim);
}
.woocommerce-checkout #payment div.payment_box::before{
  border-bottom-color:var(--catvs-zinc-800);
}
/* La casilla de términos (importante — ya la configuramos) */
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper{
  background:var(--catvs-zinc-900);
  border:1px solid var(--catvs-zinc-800);
  border-radius:8px;
  padding:16px;
  margin:16px 0;
}
/* Place order — el botón final, grande y confiable */
.woocommerce-checkout #place_order{
  width:100%;
  font-size:16px;
  padding:18px !important;
  margin-top:12px;
}

/* Badge de seguridad (opcional, para dar confianza en el checkout) */
.catvs-secure-note{
  display:flex;align-items:center;gap:8px;
  justify-content:center;
  font-family:'JetBrains Mono', monospace;
  font-size:11px;letter-spacing:.08em;text-transform:uppercase;
  color:var(--catvs-text-dim);
  margin-top:14px;
}
.catvs-secure-note::before{
  content:"🔒";
}

/* ============================================================
   MY ACCOUNT
   ============================================================ */
/* Navegación de la cuenta (sidebar de tabs) */
.woocommerce-account .woocommerce-MyAccount-navigation ul{
  list-style:none;padding:0;margin:0;
  background:var(--catvs-glass);
  border:1px solid var(--catvs-zinc-800);
  border-radius:14px;
  overflow:hidden;
}
.woocommerce-account .woocommerce-MyAccount-navigation li{
  border-bottom:1px solid var(--catvs-zinc-800);
}
.woocommerce-account .woocommerce-MyAccount-navigation li a{
  display:block;
  padding:14px 20px;
  font-family:'JetBrains Mono', monospace;
  font-size:13px;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:var(--catvs-text-dim);
  border-bottom:none;
  transition:background .2s, color .2s;
}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation li a:hover{
  background:var(--catvs-zinc-900);
  color:var(--catvs-neon);
}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active{
  border-left:3px solid var(--catvs-neon);
}
/* Contenido de la cuenta */
.woocommerce-account .woocommerce-MyAccount-content{
  background:var(--catvs-glass);
  border:1px solid var(--catvs-zinc-800);
  border-radius:14px;
  padding:28px;
}
/* Formulario de login/registro */
.woocommerce-account .woocommerce form.login,
.woocommerce-account .woocommerce form.register,
.woocommerce .woocommerce-form-login,
.woocommerce .woocommerce-form-register{
  background:var(--catvs-glass);
  border:1px solid var(--catvs-zinc-800);
  border-radius:14px;
  padding:28px;
}

/* ============================================================
   AVISOS / MENSAJES WC (success, error, info)
   ============================================================ */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error{
  background:var(--catvs-zinc-900);
  border-top:3px solid var(--catvs-neon);
  border-radius:8px;
  color:var(--catvs-text);
}
.woocommerce-error{border-top-color:#EF4444}
.woocommerce-message::before,
.woocommerce-info::before{color:var(--catvs-neon)}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width:768px){
  .woocommerce table.cart thead{display:none} /* WC ya hace responsive; solo asegurar legibilidad */
  .woocommerce-checkout .col2-set .col-1,
  .woocommerce-checkout .col2-set .col-2{margin-bottom:16px}
}

/* ============================================================
   CART 1a · SKIN DEL BLOQUE WooCommerce (Cyber-Jungle)
   Hereda del sistema del tema (style.css): tokens --c-*, --glass-frost,
   --f-primary/--f-mono y el CARD HOVER UNIVERSAL. Anti-Frankenstein.
   Contrato de tokens: radius 12px · border 1px #27272A · glass frost+blur(12px).
   Solo CSS sobre el bloque; no reescribe HTML ni toca la lógica de pago.
   ============================================================ */

/* Glass panel del funnel = misma receta del mega-menú (glass-frost + blur) */
.wp-block-woocommerce-cart .wc-block-cart-items__row,
.wp-block-woocommerce-cart .wc-block-cart__payment-options,
.wp-block-woocommerce-cart .wp-block-woocommerce-cart-order-summary-block{
  background:rgba(9,9,11,.85);
  -webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);
  border:1px solid #27272A;
  border-radius:12px;
}

/* Header inyectado (render_block): eyebrow + H1 */
.catvs-cart-head{max-width:1180px;margin:8px auto 6px;padding:0 20px}
.catvs-cart-eyebrow{font:500 10px var(--f-mono);color:var(--c-neon);letter-spacing:.18em;margin-bottom:8px}
.catvs-cart-h1{font-family:'Anton',sans-serif;font-size:clamp(30px,6vw,44px);color:#fff;letter-spacing:.02em;line-height:1;margin:0;text-transform:none}

/* Layout del bloque */
.wp-block-woocommerce-cart{max-width:1180px;margin:0 auto;padding:8px 20px 56px}
.wp-block-woocommerce-cart .wc-block-cart{display:flex;flex-wrap:nowrap;align-items:flex-start;gap:28px}
.wp-block-woocommerce-cart .wc-block-cart__main{flex:1 1 auto;min-width:0}
.wp-block-woocommerce-cart .wc-block-cart__sidebar{flex:0 0 360px;max-width:360px;display:flex;flex-direction:column;gap:16px}

/* Ocultar cross-sells en la ruta de pago */
.wp-block-woocommerce-cart .wp-block-woocommerce-product-collection,
.wp-block-woocommerce-cart .wc-block-cart__cross-sells,
.wp-block-woocommerce-cart .wc-block-cart-cross-sells,
.wp-block-woocommerce-cart .wc-block-cart-items__row + .wp-block-heading{display:none !important}

/* Ancho de la página + ocultar el título "Cart" del tema (usamos el inyectado) */
body.woocommerce-cart .catvs-page-content{max-width:1200px !important}
body.woocommerce-cart .catvs-page > header,
body.woocommerce-cart .site-main > header{display:none !important}

/* ---- Ítems: tarjeta = fila flex (img | producto) ---- */
.wc-block-cart-items,.wc-block-cart-items tbody,.wc-block-cart-items__header{border:0 !important;background:none !important;display:block}
.wc-block-cart-items__header{display:none !important}
.wc-block-cart-items__row{
  position:relative;display:flex !important;align-items:center;gap:20px;
  padding:20px !important;margin-bottom:16px;overflow:hidden;
}
.wc-block-cart-items__row td{border:0 !important;padding:0 !important}
/* Imagen 200px (desktop), 16:10 cover, radius 8px, sin tocar bordes (el gap 20px separa) */
.wc-block-cart-item__image{width:200px;flex:none}
.wc-block-cart-item__image img{aspect-ratio:16/10;object-fit:cover;width:100%;height:auto;border-radius:8px;display:block}
/* Celda de producto: grid (izq nombre+meta / der precio+✕) */
.wc-block-cart-item__product{flex:1 1 auto;min-width:0}
.wc-block-cart-item__wrap{display:grid;grid-template-columns:1fr auto;column-gap:16px;align-items:center}
/* Nombre Oswald 600 18px blanco */
.wc-block-components-product-name{
  grid-column:1;grid-row:1;
  font:600 18px var(--f-primary) !important;letter-spacing:.02em;color:#fff;text-transform:uppercase;border:0 !important;margin:0;
}
/* Ocultar: precio bajo el nombre + descripción larga (la quantity guarda la ✕) */
.wc-block-cart-item__prices,
.wc-block-components-product-metadata__description{display:none !important}
.wc-block-cart-item__quantity .wc-block-components-quantity-selector{display:none !important}
/* Meta = DOS líneas mono 11px #A1A1AA .06em, 6px de separación (las arma el filtro PHP) */
.wc-block-components-product-metadata{grid-column:1;grid-row:2;margin-top:6px}
.wc-block-components-product-details{margin:0 !important;padding:0 !important;list-style:none;display:block}
.wc-block-components-product-details__name{display:none}
/* cada entrada es un <span> de nivel superior -> a bloque (2 líneas) */
.wc-block-components-product-details > span{display:block;margin-bottom:6px}
.wc-block-components-product-details > span:last-child{margin-bottom:0}
/* ocultar el separador "/" que WC mete entre entradas */
.wc-block-components-product-details > span > span:not(.wc-block-components-product-details__value){display:none}
.wc-block-components-product-details__value{
  color:var(--c-zinc-400);font:400 11px var(--f-mono);letter-spacing:.06em;text-transform:uppercase;
}
/* Precio a la derecha, centrado con el bloque (mono neón 20px) */
.wc-block-cart-item__total{grid-column:2;grid-row:1/3;justify-self:end;align-self:center;margin:0 !important;padding-right:28px}
.wc-block-cart-item__total .wc-block-components-product-price__value,
.wc-block-cart-item__total .wc-block-components-product-price{
  font:600 20px var(--f-mono) !important;color:var(--c-neon) !important;
}
/* ✕ eliminar: arriba a la derecha DENTRO de la tarjeta, área táctil 40x40 */
.wc-block-cart-item__quantity{
  position:absolute;top:10px;right:10px;display:block !important;width:auto !important;min-width:0 !important;margin:0 !important;z-index:3;
}
.wc-block-cart-item__remove-link{
  display:inline-flex !important;align-items:center;justify-content:center;
  min-width:40px;min-height:40px;font-size:0 !important;line-height:1;position:static !important;margin:0 !important;
}
.wc-block-cart-item__remove-link svg{display:none}
.wc-block-cart-item__remove-link::before{content:"\2715";font-size:16px;color:var(--c-zinc-400)}
.wc-block-cart-item__remove-link:hover::before{color:var(--c-neon)}

/* ---- Express pay: panel glass borde neón, ARRIBA del summary ---- */
.wc-block-cart__payment-options{order:-1;padding:20px !important;border-color:var(--c-neon-35) !important;position:relative}
.wc-block-cart__payment-options .wc-block-components-express-payment{background:none;border:0;padding:0;border-radius:0;margin:0}
.wc-block-components-express-payment__title-container{display:none}
/* eyebrow: EXPRESS CHECKOUT (izq neón) + STRIPE (der muted) */
.wc-block-cart__payment-options::before{content:"EXPRESS CHECKOUT";display:block;font:500 11px var(--f-mono);color:var(--c-neon);letter-spacing:.1em;margin-bottom:16px}
html[lang|="es"] .wc-block-cart__payment-options::before{content:"PAGO EXPR\00c9S"}
.wc-block-cart__payment-options .wc-block-components-express-payment::before{content:"STRIPE";position:absolute;top:24px;right:24px;font:400 10px var(--f-mono);color:var(--c-zinc-400);letter-spacing:.06em}
/* iframes de wallets: mismo ancho, gap 10px (color nativo Stripe, no se toca por dentro) */
.wc-block-components-express-payment__event-buttons{display:flex !important;flex-direction:column !important;gap:10px !important;margin:0 !important}
.wc-block-components-express-payment__event-buttons > li{width:100% !important;margin:0 !important}
/* Quitar el "OR" nativo de Stripe/WC (dejamos solo OR CONTINUE BELOW) */
.wc-block-components-express-payment-continue-container,
.wc-block-components-express-payment-continue-rule{display:none !important}
.wc-block-cart__payment-options::after{
  content:"OR CONTINUE BELOW";display:block;text-align:center;font:400 10px var(--f-mono);color:var(--c-zinc-400);letter-spacing:.14em;margin-top:16px;
}
html[lang|="es"] .wc-block-cart__payment-options::after{content:"O CONTIN\00daA ABAJO"}

/* ---- Totales ---- */
.wp-block-woocommerce-cart-order-summary-block{padding:24px !important}
.wc-block-components-totals-item{
  font:400 13px var(--f-primary) !important;color:var(--c-zinc-400) !important;text-transform:uppercase;letter-spacing:.02em;
}
.wc-block-components-totals-item__value{color:#fff !important}
.wc-block-components-totals-item .wc-block-components-totals-item__value:has(+ *),
.wc-block-components-totals-item__description{color:var(--c-neon) !important}
.wc-block-components-totals-footer-item{border-top:1px solid #27272A;margin-top:8px;padding-top:12px !important}
/* Label TOTAL: el hack de ocultar el nativo + ::after "TOTAL" es SOLO del carrito.
   En checkout se usa el texto nativo (ver sección CHECKOUT) para evitar "TotalTOTAL". */
.wp-block-woocommerce-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__label{font:600 0 var(--f-primary) !important;letter-spacing:.04em;color:#fff}
.wp-block-woocommerce-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__label::after{content:"TOTAL";font-size:16px}
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value{font:700 28px var(--f-mono) !important;color:var(--c-neon) !important}
/* Add coupons: vestir el toggle discreto */
.wc-block-components-totals-coupon__button,
.wp-block-woocommerce-cart-order-summary-coupon-form-block .wc-block-components-panel__button{
  font:500 11px var(--f-primary) !important;text-transform:uppercase;letter-spacing:.04em;color:var(--c-zinc-400) !important;
}

/* ---- CTA principal (full width, height 52px, Oswald 600 14px caps, negro) ---- */
.wc-block-cart__submit-button,
.wp-block-woocommerce-proceed-to-checkout-block a.wc-block-cart__submit-button{
  display:flex;align-items:center;justify-content:center;width:100%;
  background:var(--c-neon) !important;color:#000 !important;
  font:600 0px var(--f-primary) !important;letter-spacing:.08em;text-transform:uppercase;
  border:0 !important;border-radius:12px !important;height:52px;min-height:52px;padding:0 18px !important;
}
.wc-block-cart__submit-button::after{content:"SECURE YOUR MISSION \2192";font-size:14px}
.wc-block-cart__submit-button:hover{background:var(--c-neon-hi) !important}
/* Microcopy bajo el CTA (2 líneas, via ::after del bloque proceed-to-checkout) */
.wp-block-woocommerce-proceed-to-checkout-block::after{
  content:"THE PRICE YOU SEE IS THE PRICE YOU PAY\A CANCEL ANYTIME \00b7 FREE RESCHEDULE";
  white-space:pre-line;display:block;text-align:center;
  font:400 10px var(--f-mono);color:var(--c-zinc-400);letter-spacing:.06em;line-height:1.9;margin-top:12px;
}
html[lang|="es"] .wp-block-woocommerce-proceed-to-checkout-block::after{
  content:"EL PRECIO QUE VES ES EL QUE PAGAS\A CANCELA CUANDO QUIERAS \00b7 REAGENDA SIN COSTO";
}

/* ---- Card hover universal (mismos valores que la regla del tema) ---- */
.wc-block-cart-items__row{transition:transform .28s ease,border-color .28s ease,box-shadow .28s ease}
.wc-block-cart-items__row:hover{border-color:var(--c-neon) !important;box-shadow:0 8px 30px rgba(57,255,20,.28);transform:translateY(-5px)}
.wc-block-cart-item__image img{transition:transform .3s ease}
.wc-block-cart-items__row:hover .wc-block-cart-item__image img{transform:scale(1.03)}
@media (prefers-reduced-motion:reduce){
  .wc-block-cart-items__row:hover{transform:none}
  .wc-block-cart-items__row:hover .wc-block-cart-item__image img{transform:none}
}

/* ---- Móvil: summary+express arriba de los ítems ---- */
@media (max-width:768px){
  .wp-block-woocommerce-cart .wc-block-cart{flex-direction:column}
  .wp-block-woocommerce-cart .wc-block-cart__main,
  .wp-block-woocommerce-cart .wc-block-cart__sidebar{flex:1 1 auto;max-width:none}
  .wp-block-woocommerce-cart .wc-block-cart__sidebar{order:-1}
}

/* ============================================================
   CHECKOUT 1c · SKIN DEL BLOQUE WooCommerce (Cyber-Jungle)
   Homogéneo con el carrito (misma receta glass + tokens): radius 12px ·
   border 1px #27272A · glass rgba(9,9,11,.85)+blur(12px) · eyebrow mono neón ·
   CTA neón texto negro. Solo CSS sobre el bloque; NO reescribe HTML ni toca
   la lógica de pago (Store API/Stripe/Bookings). Anti-Frankenstein.
   ============================================================ */

/* Ancho de página + ocultar el H1 del tema (usamos el catvs-cart-head inyectado) */
body.woocommerce-checkout .catvs-page-content{max-width:1200px !important}
body.woocommerce-checkout .catvs-page > header,
body.woocommerce-checkout .site-main > header{display:none !important}

/* Blindaje anti-glitch: sin text-shadow heredado del tema en el form */
.wp-block-woocommerce-checkout label,
.wp-block-woocommerce-checkout input,
.wp-block-woocommerce-checkout .wc-block-components-checkout-step__title,
.wp-block-woocommerce-checkout .wc-block-components-totals-item{text-shadow:none !important}

/* ---- Layout: main (formulario) | sidebar (resumen) ---- */
.wp-block-woocommerce-checkout{max-width:1180px;margin:0 auto;padding:8px 20px 56px}
.wp-block-woocommerce-checkout .wc-block-checkout__main{min-width:0}
.wp-block-woocommerce-checkout .wc-block-checkout__sidebar{flex:0 0 360px;max-width:360px}

/* Glass panel = misma receta del carrito, aplicada a cada paso + resumen */
.wc-block-components-checkout-step,
.wp-block-woocommerce-checkout-express-payment-block,
.wc-block-checkout__sidebar .wc-block-components-order-summary,
.wc-block-checkout__sidebar > .wc-block-components-totals-wrapper,
.wp-block-woocommerce-checkout-order-summary-block{
  background:rgba(9,9,11,.85);
  -webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);
  border:1px solid #27272A;
  border-radius:12px;
}

/* Cada paso = tarjeta glass, padding 24px, gap 16px entre paneles */
.wc-block-components-checkout-step{padding:24px !important;margin:0 0 16px !important;border:1px solid #27272A;position:relative}
/* Quitar el borde/línea interna que WC pone bajo el heading */
.wc-block-components-checkout-step__heading{margin:0 0 6px !important;border:0 !important;padding:0 !important}

/* ---- Pasos numerados: 01 · CONTACT / 02 · BILLING & PICKUP / 03 · PAYMENT ----
   El título real de WC se oculta visualmente (queda en el DOM para lectores de
   pantalla) y se pinta el label de la maqueta con número (::before) + texto (::after). */
.wc-block-components-checkout-step__title{
  font-size:0 !important;color:transparent !important;line-height:1 !important;
  display:flex;align-items:baseline;gap:10px;margin:0 !important;text-shadow:none !important;
}
.wc-block-components-checkout-step__title::before{
  font:600 11px var(--f-mono);color:var(--c-neon);letter-spacing:.14em;
}
.wc-block-components-checkout-step__title::after{
  font:600 15px var(--f-primary);color:#fff;letter-spacing:.06em;text-transform:uppercase;
}
/* 01 · CONTACTO */
.wp-block-woocommerce-checkout-contact-information-block .wc-block-components-checkout-step__title::before{content:"01"}
.wp-block-woocommerce-checkout-contact-information-block .wc-block-components-checkout-step__title::after{content:"· CONTACT INFORMATION"}
html[lang|="es"] .wp-block-woocommerce-checkout-contact-information-block .wc-block-components-checkout-step__title::after{content:"· DATOS DE CONTACTO"}
/* 02 · FACTURACIÓN Y PUNTO DE SALIDA */
.wp-block-woocommerce-checkout-billing-address-block .wc-block-components-checkout-step__title::before,
.wp-block-woocommerce-checkout-shipping-address-block .wc-block-components-checkout-step__title::before{content:"02"}
.wp-block-woocommerce-checkout-billing-address-block .wc-block-components-checkout-step__title::after,
.wp-block-woocommerce-checkout-shipping-address-block .wc-block-components-checkout-step__title::after{content:"· BILLING & PICKUP DETAILS"}
html[lang|="es"] .wp-block-woocommerce-checkout-billing-address-block .wc-block-components-checkout-step__title::after,
html[lang|="es"] .wp-block-woocommerce-checkout-shipping-address-block .wc-block-components-checkout-step__title::after{content:"· FACTURACIÓN Y PUNTO DE SALIDA"}
/* 03 · PAGO */
.wp-block-woocommerce-checkout-payment-block .wc-block-components-checkout-step__title::before{content:"03"}
.wp-block-woocommerce-checkout-payment-block .wc-block-components-checkout-step__title::after{content:"· PAYMENT"}
html[lang|="es"] .wp-block-woocommerce-checkout-payment-block .wc-block-components-checkout-step__title::after{content:"· PAGO"}

/* Subtítulo/descripción de cada paso = mono muted */
.wc-block-components-checkout-step__description{
  font:400 11px var(--f-mono) !important;color:var(--c-zinc-400) !important;letter-spacing:.04em;margin:0 0 14px !important;
}

/* ---- Inputs / selects (BUG 3) + floating-label (BUG 1) ----
   Se trabaja CON el mecanismo nativo de WC (clase .is-active): WC YA flota el
   label y sube el padding-top del input a 24px cuando hay valor/foco/autofill.
   El bug era que la sección del checkout CLÁSICO (arriba en este archivo) fuerza
   `.woocommerce-checkout input{padding:12px 14px !important}`, que pisa esa regla
   nativa (sin !important) → el valor se sienta arriba y choca con el label.
   Aquí re-imponemos la caja del sistema y el padding activo con scope
   `body.woocommerce-checkout` (más especificidad) + !important, que SÍ ganan.
   NO tocamos position/transform del label: lo flota WC (top:6px/scale(.82)). */

/* Caja base: texto, textarea, combobox país/estado, selects nativos */
body.woocommerce-checkout .wc-block-components-text-input input[type=text],
body.woocommerce-checkout .wc-block-components-text-input input[type=email],
body.woocommerce-checkout .wc-block-components-text-input input[type=tel],
body.woocommerce-checkout .wc-block-components-text-input input[type=number],
body.woocommerce-checkout .wc-block-components-text-input textarea,
body.woocommerce-checkout .wc-block-components-combobox input,
body.woocommerce-checkout .wc-blocks-components-select__select,
body.woocommerce-checkout .wc-block-components-address-form select{
  background:rgba(9,9,11,.85) !important;
  border:1px solid #27272A !important;border-radius:12px !important;
  color:#fff !important;font:400 15px var(--f-primary) !important;
  min-height:48px;height:auto !important;padding:14px 16px !important;line-height:1.3 !important;box-shadow:none !important;
}
/* Placeholder muted */
body.woocommerce-checkout .wc-block-components-text-input input::placeholder,
body.woocommerce-checkout .wc-block-components-combobox input::placeholder{color:var(--c-zinc-400) !important;opacity:1}

/* FOCO: borde neón + glow sutil */
body.woocommerce-checkout .wc-block-components-text-input input:focus,
body.woocommerce-checkout .wc-block-components-text-input textarea:focus,
body.woocommerce-checkout .wc-block-components-combobox input:focus,
body.woocommerce-checkout .wc-blocks-components-select__select:focus,
body.woocommerce-checkout .wc-block-components-address-form select:focus{
  border:1px solid var(--c-neon) !important;box-shadow:0 0 0 2px rgba(57,255,20,.15) !important;outline:0 !important;
}

/* ESTADO ACTIVO (valor/foco/autofill): el input CEDE ~24px arriba para que el
   label flotado NO se encime. Reimpone el padding activo nativo pisando el clásico. */
body.woocommerce-checkout .wc-block-components-text-input.is-active input[type=text],
body.woocommerce-checkout .wc-block-components-text-input.is-active input[type=email],
body.woocommerce-checkout .wc-block-components-text-input.is-active input[type=tel],
body.woocommerce-checkout .wc-block-components-text-input.is-active input[type=number],
body.woocommerce-checkout .wc-block-components-text-input.is-active textarea,
body.woocommerce-checkout .wc-block-components-text-input input:-webkit-autofill{
  padding:24px 16px 6px !important;
}

/* Label: SOLO color + alineación (el FLOAT lo hace WC). Muted reposo, neón foco. */
body.woocommerce-checkout .wc-block-components-text-input label{
  color:var(--c-zinc-400) !important;font-family:var(--f-primary) !important;left:16px !important;
}
body.woocommerce-checkout .wc-block-components-text-input:focus-within label{color:var(--c-neon) !important}

/* ---- SELECTS Country/State (BUG floating-label en selects) ----
   El <select> real es `.wc-blocks-components-select__select` (prefijo wc-BLOCKS-).
   SIEMPRE tiene valor (trae default) → su label SIEMPRE está flotado, así que el
   select necesita padding-top permanente (no solo en foco) para que el valor se
   siente DEBAJO del label. El clásico `.woocommerce-checkout select{padding:12px
   14px !important}` se lo comía → label encima de "Mexico"/"Quintana Roo". */
body.woocommerce-checkout .wc-blocks-components-select{position:relative}
body.woocommerce-checkout .wc-blocks-components-select__select,
body.woocommerce-checkout .wc-block-components-address-form select{
  appearance:none;-webkit-appearance:none;-moz-appearance:none;
  padding:24px 40px 6px 16px !important;   /* top 24px = sitio para el label flotado; right 40px = flecha */
}
/* Label del select: forzado a la posición flotada (arriba), 11px muted, neón al enfocar */
body.woocommerce-checkout .wc-blocks-components-select__label{
  position:absolute !important;top:7px !important;left:16px !important;
  font:400 11px var(--f-primary) !important;color:var(--c-zinc-400) !important;
  line-height:1 !important;margin:0 !important;letter-spacing:.02em;transform:none !important;
}
body.woocommerce-checkout .wc-blocks-components-select:focus-within .wc-blocks-components-select__label{color:var(--c-neon) !important}
/* Flecha nativa de WC (`__expand`): venía en #2b2d2f (invisible en oscuro) → #A1A1AA */
body.woocommerce-checkout .wc-blocks-components-select__expand{fill:var(--c-zinc-400) !important;right:14px !important}

/* AUTOFILL oscuro coherente (el label ya flota nativo con autofill: WC usa
   input:-webkit-autofill+label). Mantiene fondo oscuro + texto blanco. */
body.woocommerce-checkout .wc-block-components-text-input input:-webkit-autofill,
body.woocommerce-checkout .wc-block-components-text-input input:-webkit-autofill:hover,
body.woocommerce-checkout .wc-block-components-text-input input:-webkit-autofill:focus{
  -webkit-box-shadow:0 0 0 1000px #09090B inset !important;
  -webkit-text-fill-color:#fff !important;caret-color:#fff;
}

/* Validación: rojo discreto */
body.woocommerce-checkout .wc-block-components-text-input.has-error input{border-color:#ef4444 !important}
body.woocommerce-checkout .wc-block-components-validation-error{color:#fca5a5 !important;font:400 11px var(--f-mono) !important}

/* ---- Panel EXPRESS (idéntico al carrito): glass borde neón + eyebrow + STRIPE ---- */
.wp-block-woocommerce-checkout-express-payment-block{
  padding:20px !important;border-color:var(--c-neon-35) !important;position:relative;margin:0 0 16px !important;
}
.wp-block-woocommerce-checkout-express-payment-block .wc-block-components-express-payment{background:none;border:0;padding:0;margin:0}
.wp-block-woocommerce-checkout-express-payment-block .wc-block-components-express-payment__title-container,
.wp-block-woocommerce-checkout-express-payment-block .wc-block-components-checkout-step__title{display:none !important}
.wp-block-woocommerce-checkout-express-payment-block::before{
  content:"EXPRESS CHECKOUT";display:block;font:500 11px var(--f-mono);color:var(--c-neon);letter-spacing:.1em;margin-bottom:16px;
}
html[lang|="es"] .wp-block-woocommerce-checkout-express-payment-block::before{content:"PAGO EXPR\00c9S"}
.wp-block-woocommerce-checkout-express-payment-block .wc-block-components-express-payment::before{
  content:"STRIPE";position:absolute;top:20px;right:20px;font:400 10px var(--f-mono);color:var(--c-zinc-400);letter-spacing:.06em;
}
.wp-block-woocommerce-checkout-express-payment-block .wc-block-components-express-payment__event-buttons{
  display:flex !important;flex-direction:column !important;gap:10px !important;margin:0 !important;
}
.wp-block-woocommerce-checkout-express-payment-block .wc-block-components-express-payment__event-buttons > li{width:100% !important;margin:0 !important}

/* Divisor "OR PAY WITH CARD": ocultamos la regla "Or" nativa de WC y pintamos
   el divisor como pseudo del panel express (mismo patrón del carrito, robusto). */
.wc-block-components-express-payment-continue-rule{display:none !important}
.wp-block-woocommerce-checkout-express-payment-block::after{
  content:"OR PAY WITH CARD";display:block;text-align:center;
  font:400 10px var(--f-mono);color:var(--c-zinc-400);letter-spacing:.14em;margin-top:16px;
}
html[lang|="es"] .wp-block-woocommerce-checkout-express-payment-block::after{content:"O PAGA CON TARJETA"}

/* ---- Sidebar: ORDER SUMMARY (tarjetas glass iguales al carrito) ---- */
.wp-block-woocommerce-checkout-order-summary-block{padding:24px !important}
/* eyebrow del resumen */
.wp-block-woocommerce-checkout-order-summary-block .wc-block-components-checkout-order-summary__title,
.wc-block-components-order-summary .wc-block-components-checkout-order-summary__title{
  font:500 11px var(--f-mono) !important;color:var(--c-neon) !important;letter-spacing:.1em;text-transform:uppercase;margin:0 0 16px !important;
}
/* ítems del resumen: imagen 16:10 radius 8px + nombre + meta mono */
.wc-block-components-order-summary-item__image img{aspect-ratio:16/10;object-fit:cover;border-radius:8px}
.wc-block-components-order-summary-item__description .wc-block-components-product-name,
.wc-block-components-order-summary-item__name{font:600 14px var(--f-primary) !important;color:#fff !important;text-transform:uppercase;letter-spacing:.02em}
.wc-block-components-order-summary-item__total-price .wc-block-components-formatted-money-amount,
.wc-block-components-order-summary-item .wc-block-components-product-price{font:600 15px var(--f-mono) !important;color:var(--c-neon) !important}
.wc-block-components-order-summary-item .wc-block-components-product-metadata,
.wc-block-components-order-summary-item__quantity{font:400 11px var(--f-mono) !important;color:var(--c-zinc-400) !important;letter-spacing:.06em}

/* Totales (misma receta del carrito) */
.wc-block-components-totals-item{
  font:400 13px var(--f-primary) !important;color:var(--c-zinc-400) !important;text-transform:uppercase;letter-spacing:.02em;
}
.wc-block-components-totals-item__value{color:#fff !important}
.wc-block-components-totals-footer-item{border-top:1px solid #27272A;margin-top:8px;padding-top:12px !important}
/* Footer TOTAL (checkout): texto NATIVO de WC en mayúsculas (EN "Total"/ES "Total"
   → "TOTAL"), SIN pseudo-elemento → nunca "TotalTOTAL". */
.wc-block-components-totals-footer-item .wc-block-components-totals-item__label{font:600 16px var(--f-primary) !important;letter-spacing:.04em;color:#fff;text-transform:uppercase !important}
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value{font:700 26px var(--f-mono) !important;color:var(--c-neon) !important}

/* ---- CTA principal PLACE ORDER (full width 52px, neón, texto NEGRO) ---- */
.wc-block-components-checkout-place-order-button,
button.wc-block-components-checkout-place-order-button{
  display:flex !important;align-items:center;justify-content:center;width:100% !important;
  background:var(--c-neon) !important;color:#000 !important;
  font:600 14px var(--f-primary) !important;letter-spacing:.08em;text-transform:uppercase;
  border:0 !important;border-radius:12px !important;height:52px;min-height:52px;padding:0 18px !important;box-shadow:none !important;
}
.wc-block-components-checkout-place-order-button:hover{background:var(--c-neon-hi) !important}
.wc-block-components-checkout-place-order-button *{color:#000 !important}
/* Nota segura bajo el botón (mono muted, centrada) */
.wp-block-woocommerce-checkout-actions-block .wc-block-components-checkout-return-to-cart-button{
  font:400 11px var(--f-mono) !important;color:var(--c-zinc-400) !important;letter-spacing:.04em;
}

/* ---- Card hover universal en los ítems del resumen ---- */
.wc-block-components-order-summary-item{transition:border-color .28s ease}

/* ---- Móvil: resumen arriba, una columna ---- */
@media (max-width:768px){
  .wp-block-woocommerce-checkout .wc-block-checkout__sidebar{flex:1 1 auto;max-width:none;order:-1}
  .wc-block-components-checkout-step{padding:20px !important}
}

/* ============================================================
   PÁGINA 3 · GRACIAS / MISSION PASS (order-received)
   HTML propio (woocommerce/checkout/thankyou.php). Mismo sistema que
   carrito/checkout: glass rgba(9,9,11,.85)+blur(12px) · border #27272A ·
   radius 12px · Anton/Oswald/JetBrains Mono. ÚNICA con imagen de fondo.
   ============================================================ */

/* Fondo atmosférico (WebP responsive) + degradado oscuro para contraste */
.catvs-ty-bg{
  position:fixed;inset:0;z-index:-2;
  background:#09090B url(../img/thankyou-bg-1456.webp) center center / cover no-repeat;
}
.catvs-ty-bg::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg, rgba(9,9,11,.82) 0%, rgba(9,9,11,.62) 38%, rgba(9,9,11,.80) 100%);
}
@media (max-width:1024px){ .catvs-ty-bg{background-image:url(../img/thankyou-bg-1024.webp)} }
@media (max-width:640px){ .catvs-ty-bg{background-image:url(../img/thankyou-bg-640.webp)} }

/* Contenedor: columna centrada, gap 16px entre paneles */
.catvs-ty{
  position:relative;z-index:1;max-width:620px;margin:0 auto;
  padding:8px 20px 64px;display:flex;flex-direction:column;gap:16px;
}
.catvs-ty-eyebrow{display:block;font:500 11px var(--f-mono);color:var(--c-neon);letter-spacing:.14em;margin-bottom:14px}

/* 1 · Confirmación */
.catvs-ty-confirm{text-align:center;padding:8px 0 4px}
.catvs-ty-check{display:inline-flex;width:64px;height:64px;color:var(--c-neon);filter:drop-shadow(0 0 14px rgba(57,255,20,.45));margin-bottom:14px}
.catvs-ty-check svg{width:100%;height:100%}
.catvs-ty-h1{font-family:'Anton',sans-serif;font-size:clamp(30px,7vw,46px);line-height:1;color:#fff;letter-spacing:.02em;margin:0 0 8px}
.catvs-ty-sub{font:400 14px var(--f-primary);color:var(--c-zinc-400);margin:0 0 14px}
.catvs-ty-order{display:inline-flex;align-items:baseline;gap:8px;border:1px solid #27272A;border-radius:999px;padding:7px 16px;background:rgba(9,9,11,.7)}
.catvs-ty-order-k{font:500 10px var(--f-mono);color:var(--c-zinc-400);letter-spacing:.14em}
.catvs-ty-order-n{font:600 15px var(--f-mono);color:var(--c-neon)}

/* Panel glass base (mission pass, timeline, hotel) */
.catvs-ty-pass,.catvs-ty-timeline,.catvs-ty-hotel{
  background:rgba(9,9,11,.85);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);
  border:1px solid #27272A;border-radius:12px;padding:24px;
}

/* 2 · Mission Pass */
.catvs-ty-pass-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}
.catvs-ty-pass-head .catvs-ty-eyebrow{margin-bottom:0}
.catvs-ty-paid{display:flex;flex-direction:column;align-items:flex-end;text-align:right}
.catvs-ty-paid-k{font:500 9px var(--f-mono);color:var(--c-zinc-400);letter-spacing:.12em}
.catvs-ty-paid-v{font:700 22px var(--f-mono);color:var(--c-neon);line-height:1.1}
.catvs-ty-tour{font:600 20px var(--f-primary);color:#fff;text-transform:uppercase;letter-spacing:.02em;margin:14px 0 18px;line-height:1.15}
.catvs-ty-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.catvs-ty-cell{display:flex;flex-direction:column;gap:5px;border-left:2px solid var(--c-neon-35);padding-left:12px}
.catvs-ty-cell-k{font:500 10px var(--f-mono);color:var(--c-zinc-400);letter-spacing:.12em}
.catvs-ty-cell-v{font:600 15px var(--f-primary);color:#fff;text-transform:uppercase;letter-spacing:.02em}
.catvs-ty-cell-v.catvs-ty-date{font:600 14px var(--f-mono);letter-spacing:0;color:var(--c-neon)}

/* 3 · Email */
.catvs-ty-email{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;text-align:center;font:400 13px var(--f-primary);color:var(--c-zinc-400);margin:0}
.catvs-ty-email strong{color:#fff;font-weight:600}
.catvs-ty-ico{display:inline-flex;width:18px;height:18px;color:var(--c-neon);flex:none}
.catvs-ty-ico svg{width:100%;height:100%}

/* 4 · Timeline HUD */
.catvs-ty-steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:0}
.catvs-ty-step{position:relative;padding:0 0 20px 26px}
.catvs-ty-step:last-child{padding-bottom:0}
.catvs-ty-step::before{content:"";position:absolute;left:5px;top:14px;bottom:0;width:1px;background:#27272A}
.catvs-ty-step:last-child::before{display:none}
.catvs-ty-dot{position:absolute;left:0;top:3px;width:11px;height:11px;border-radius:50%;border:2px solid #3f3f46;background:#09090B}
.catvs-ty-step.is-now .catvs-ty-dot{border-color:var(--c-neon);background:var(--c-neon);box-shadow:0 0 10px var(--c-neon);animation:catvsTyPulse 1.8s ease-in-out infinite}
.catvs-ty-step-t{display:block;font:600 12px var(--f-mono);color:#fff;letter-spacing:.1em}
.catvs-ty-step.is-now .catvs-ty-step-t{color:var(--c-neon)}
.catvs-ty-step-d{display:block;font:400 12px var(--f-primary);color:var(--c-zinc-400);margin-top:3px}
@keyframes catvsTyPulse{0%,100%{box-shadow:0 0 8px var(--c-neon),0 0 16px rgba(57,255,20,.5)}50%{box-shadow:0 0 3px var(--c-neon)}}

/* Botones */
.catvs-ty-btn{
  display:flex;align-items:center;justify-content:center;gap:9px;width:100%;
  height:52px;border-radius:12px;font:600 13px var(--f-primary);letter-spacing:.08em;text-transform:uppercase;
  text-decoration:none;cursor:pointer;transition:background .2s,border-color .2s,color .2s;
}
.catvs-ty-btn--ghost{background:transparent;border:1px solid #27272A;color:#fff}
.catvs-ty-btn--ghost:hover{border-color:var(--c-neon);color:var(--c-neon)}
.catvs-ty-btn--ghost .catvs-ty-ico{color:var(--c-neon)}
.catvs-ty-btn--wa{background:transparent;border:1px solid var(--c-neon-35);color:var(--c-neon)}
.catvs-ty-btn--wa:hover{background:rgba(57,255,20,.08);border-color:var(--c-neon)}
.catvs-ty-btn--wa .catvs-ty-ico{color:var(--c-neon)}

/* 6 · Hotel condicional */
.catvs-ty-hotel-q{font:600 15px var(--f-primary);color:#fff;margin:0 0 4px}
.catvs-ty-hotel-h{font:400 12px var(--f-mono);color:var(--c-zinc-400);margin:0 0 14px}
.catvs-ty-hotel-row{display:flex;gap:10px}
.catvs-ty-hotel-in{
  flex:1;min-width:0;height:48px;background:rgba(0,0,0,.35);border:1px solid #27272A;border-radius:12px;
  color:#fff;font:400 15px var(--f-primary);padding:0 16px;
}
.catvs-ty-hotel-in:focus{border-color:var(--c-neon);box-shadow:0 0 0 2px rgba(57,255,20,.15);outline:0}
.catvs-ty-hotel-in::placeholder{color:var(--c-zinc-400)}
.catvs-ty-hotel-save{width:auto;padding:0 22px;background:var(--c-neon);color:#000;border:0;flex:none}
.catvs-ty-hotel-save:hover{background:var(--c-neon-hi)}
.catvs-ty-hotel-save:disabled{opacity:.6;cursor:default}
.catvs-ty-hotel-ok{font:500 13px var(--f-mono);color:var(--c-neon);margin:12px 0 0}

/* 7 · Bring + Field Guide */
.catvs-ty-bring{text-align:center;font:400 12px var(--f-mono);color:var(--c-zinc-400);letter-spacing:.04em;line-height:1.7;margin:0}
.catvs-ty-bring-k{color:#fff;font-weight:600;margin-right:4px}
.catvs-ty-fg{display:inline-block;margin-left:6px;color:var(--c-neon);text-decoration:none;font-weight:600;white-space:nowrap}
.catvs-ty-fg:hover{text-decoration:underline}

/* Móvil */
@media (max-width:600px){
  .catvs-ty{padding:8px 16px 56px;gap:14px}
  .catvs-ty-pass,.catvs-ty-timeline,.catvs-ty-hotel{padding:20px}
  .catvs-ty-hotel-row{flex-direction:column}
  .catvs-ty-hotel-save{width:100%;height:48px}
}
@media (prefers-reduced-motion:reduce){ .catvs-ty-step.is-now .catvs-ty-dot{animation:none} }
