/* ================= AEROTRIP SHOP v1 (carrito / checkout / nav) ================= */

/* --- Ícono de carrito en el navbar --- */
.nav-cart{position:relative;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border:1.5px solid var(--line-2);border-radius:50%;color:var(--ink);transition:border-color .2s var(--ease-out),transform .18s var(--ease-out),background .2s var(--ease-out)}
.nav-cart:hover{border-color:var(--ink);transform:translateY(-2px)}
.nav-cart svg{width:20px;height:20px}
.nav-cart-badge{position:absolute;top:-5px;right:-5px;min-width:19px;height:19px;padding:0 5px;display:inline-flex;align-items:center;justify-content:center;background:var(--grad);color:#fff;font-family:var(--f-mono);font-size:.66rem;font-weight:700;line-height:1;border-radius:100px;box-shadow:0 2px 6px -1px rgba(242,106,27,.6)}
.nav-cart-badge.is-empty{display:none}

/* --- Contenedor de páginas de tienda (carrito/checkout) --- */
.shop-wrap{padding-block:clamp(40px,6vw,80px)}

/* --- Carrito: layout de dos columnas --- */
.cart-layout{display:grid;grid-template-columns:1.6fr .9fr;gap:clamp(24px,3.5vw,48px);align-items:start}
.cart-main{min-width:0}
.cart-lines{display:flex;flex-direction:column;gap:1rem}

.cart-line{position:relative;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:1.1rem;background:var(--paper);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:0 14px 34px -28px rgba(0,0,0,.45);padding:1rem 1.2rem;padding-right:2.6rem}
.cart-line-media{display:block;width:92px;height:72px;border-radius:12px;overflow:hidden;flex:none}
.cart-line-media img{width:100%;height:100%;object-fit:cover;display:block}
.cart-line-body{min-width:0}
.cart-line-name{font-family:var(--f-display);font-weight:700;font-size:1.06rem;line-height:1.2;margin:0}
.cart-line-name a{color:var(--ink)}
.cart-line-name a:hover{color:var(--red)}
.cart-line-meta{margin-top:.3rem;color:var(--muted);font-size:.86rem;display:flex;flex-wrap:wrap;gap:.2rem .8rem}
.cart-line-meta p{margin:0}
.cart-line-price{font-family:var(--f-display);font-weight:800;font-size:1.12rem;white-space:nowrap}
.cart-line-remove{position:absolute;top:.7rem;right:.8rem;width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;border:1px solid var(--line);color:var(--muted);font-size:1.15rem;line-height:1;background:var(--paper);transition:all .18s var(--ease-out)}
.cart-line-remove:hover{border-color:var(--red);color:var(--red);background:#fff5f5}
.cart-line-qty{font-family:var(--f-mono);font-size:.78rem;color:var(--ink-soft)}

.cart-continue{display:inline-flex;align-items:center;gap:.55em;margin-top:1.4rem;font-family:var(--f-display);font-weight:600;font-size:.92rem;color:var(--ink-soft)}
.cart-continue svg{width:18px;height:18px;transition:transform .2s var(--ease-out)}
.cart-continue:hover{color:var(--ink)}
.cart-continue:hover svg{transform:translateX(-3px)}

/* --- Carrito: card de resumen (sticky) --- */
.cart-side{position:sticky;top:92px}
.cart-summary{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:0 24px 50px -34px rgba(0,0,0,.4);overflow:hidden}
.cart-summary-body{padding:1.3rem 1.4rem 1.5rem;display:flex;flex-direction:column;gap:1rem}
.cart-summary-rows{display:flex;flex-direction:column;gap:.55rem}
.cart-summary-row{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;color:var(--ink-soft);font-size:.98rem}
.cart-summary-row span:last-child{font-family:var(--f-display);font-weight:600;color:var(--ink)}
.cart-summary-discount span:last-child{color:var(--orange)}
.cart-summary-total{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;padding-top:.9rem;border-top:1px solid var(--line)}
.cart-summary-total small{margin:0}
.cart-summary-total b{font-size:1.7rem;color:var(--ink)}
.cart-summary .wc-proceed-to-checkout{margin:0}
.cart-summary .checkout-button.button.alt{display:inline-flex;align-items:center;justify-content:center;gap:.55em;width:100%;font-family:var(--f-display);font-weight:700;font-size:.95rem;letter-spacing:.02em;text-transform:uppercase;padding:1em 1.6em;border-radius:100px;background:var(--grad);color:#fff;box-shadow:0 8px 22px -10px rgba(242,106,27,.55);transition:transform .18s var(--ease-out),box-shadow .25s var(--ease-out)}
.cart-summary .checkout-button:hover{transform:translateY(-2px);box-shadow:0 16px 34px -12px rgba(224,30,38,.7)}
.cart-continue-side{margin-top:-.2rem}
.cart-summary-note{display:flex;align-items:center;justify-content:center;gap:.45em;margin:.1rem 0 0;font-size:.74rem;color:var(--muted);text-align:center}
.cart-summary-note svg{width:14px;height:14px;flex:none}

/* --- Carrito vacío --- */
.cart-empty{max-width:520px;margin:clamp(20px,4vw,48px) auto;text-align:center;background:var(--paper);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:0 24px 50px -34px rgba(0,0,0,.4);padding:clamp(32px,5vw,56px) 2rem}
.cart-empty-ic{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:50%;background:var(--paper-2);color:var(--orange);margin-bottom:1.2rem}
.cart-empty-ic svg{width:30px;height:30px}
.cart-empty h2{font-family:var(--f-display);text-transform:uppercase;font-size:clamp(1.5rem,3.5vw,2rem);margin:0 0 .6rem}
.cart-empty p{color:var(--ink-soft);margin:0 0 1.6rem}

/* --- Checkout: coherencia con la marca (solo CSS, sin tocar la plantilla) --- */
.woocommerce-checkout .shop-wrap .wrap>form.checkout{display:grid;grid-template-columns:1.35fr .9fr;grid-template-areas:"cust rev-h" "cust rev";gap:clamp(24px,3.5vw,48px);align-items:start}
.woocommerce-checkout #customer_details{grid-area:cust;min-width:0}
.woocommerce-checkout #order_review_heading{grid-area:rev-h;margin:0}
.woocommerce-checkout #order_review{grid-area:rev;position:sticky;top:92px;background:var(--paper);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:0 24px 50px -34px rgba(0,0,0,.4);padding:1.3rem 1.4rem;min-width:0}
.woocommerce-checkout #order_review_heading{font-family:var(--f-display);text-transform:uppercase;font-size:1.15rem}
.woocommerce-checkout h3{font-family:var(--f-display);font-size:1.2rem;text-transform:uppercase}
.woocommerce-checkout .form-row label{font-size:.86rem;color:var(--ink-soft);font-weight:600}
.woocommerce-checkout .input-text,.woocommerce-checkout select,.woocommerce-checkout .select2-selection{border:1px solid var(--line-2)!important;border-radius:10px!important;padding:.7em .9em!important;font-family:var(--f-body)!important;min-height:auto}
.woocommerce-checkout .input-text:focus,.woocommerce-checkout select:focus{border-color:var(--orange)!important;outline:none;box-shadow:0 0 0 3px rgba(242,106,27,.15)}
.woocommerce-checkout #order_review .shop_table{width:100%;border:none;font-size:.95rem}
.woocommerce-checkout #order_review .shop_table th,.woocommerce-checkout #order_review .shop_table td{padding:.55rem 0;border:none;border-bottom:1px solid var(--line)}
.woocommerce-checkout #order_review .order-total th,.woocommerce-checkout #order_review .order-total td{font-family:var(--f-display);font-weight:800;font-size:1.1rem;border-bottom:none;padding-top:.9rem}
.woocommerce-checkout .woocommerce-checkout-payment{background:transparent!important;border-radius:0;margin-top:1rem}
.woocommerce-checkout .woocommerce-checkout-payment ul.payment_methods{border:none;padding:0;background:transparent}
.woocommerce-checkout .woocommerce-checkout-payment li.wc_payment_method{border:1px solid var(--line);border-radius:12px;padding:.9rem 1rem;margin-bottom:.6rem;list-style:none}
.woocommerce-checkout .woocommerce-checkout-payment li.wc_payment_method>label{font-family:var(--f-display);font-weight:600;color:var(--ink)}
.woocommerce-checkout #payment .form-row.place-order{padding:0;margin-top:.6rem}
.woocommerce-checkout #place_order{display:inline-flex;align-items:center;justify-content:center;gap:.55em;width:100%;font-family:var(--f-display);font-weight:700;font-size:.95rem;letter-spacing:.02em;text-transform:uppercase;padding:1em 1.6em;border-radius:100px;background:var(--grad);color:#fff;box-shadow:0 8px 22px -10px rgba(242,106,27,.55);border:none;cursor:pointer;transition:transform .18s var(--ease-out),box-shadow .25s var(--ease-out)}
.woocommerce-checkout #place_order:hover{transform:translateY(-2px);box-shadow:0 16px 34px -12px rgba(224,30,38,.7)}

/* --- Avisos de WooCommerce con estética de marca (sin el ícono que choca) --- */
.woocommerce-message,.woocommerce-info,.woocommerce-error{display:flex;align-items:center;gap:1rem;border-radius:12px;border:1px solid var(--line);border-left:4px solid var(--orange);background:var(--paper-2);padding:.85rem 1.1rem;font-family:var(--f-body);color:var(--ink);list-style:none}
.woocommerce-error{border-left-color:var(--red)}
.woocommerce-message::before,.woocommerce-info::before,.woocommerce-error::before{display:none;content:none}
.woocommerce-message .button,.woocommerce-info .button,.woocommerce-message .restore-item,.woocommerce-info .restore-item{margin-left:auto;flex:none;font-family:var(--f-display);font-weight:600;font-size:.82rem}
.woocommerce-message .button,.woocommerce-info .button{background:var(--paper);border:1.5px solid var(--line-2);color:var(--ink);border-radius:100px;padding:.5em 1.1em}
.woocommerce-message .button:hover,.woocommerce-info .button:hover{border-color:var(--ink)}

/* --- Responsive --- */
@media(max-width:900px){
  .cart-layout{grid-template-columns:1fr}
  .cart-side{position:static}
  .woocommerce-checkout .shop-wrap .wrap>form.checkout{grid-template-columns:1fr;grid-template-areas:"cust" "rev-h" "rev"}
  .woocommerce-checkout #order_review{position:static}
}
@media(max-width:560px){
  .cart-line{grid-template-columns:auto 1fr;gap:.9rem;padding:.9rem 1rem;padding-right:2.4rem}
  .cart-line-price{grid-column:2;justify-self:start;font-size:1.05rem}
  .cart-line-media{width:64px;height:56px}
  .nav-cart{width:40px;height:40px}
}
/* --- Configurador de reserva en la ficha (pasajeros / fecha / franja) ---
   Prefijo atbk-* para NO colisionar con el planner del home (que usa .booking-form/.booking-field). */
.atbk-form{display:flex;flex-direction:column;gap:1.1rem}
.atbk-contact-wrap{display:flex;flex-direction:column;gap:1.1rem}
.atbk-field{display:flex;flex-direction:column;gap:.5rem}
.atbk-label{font-family:var(--f-mono);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.atbk-pax{display:flex;flex-wrap:wrap;gap:.5rem}
.atbk-paxopt{cursor:pointer}
.atbk-paxopt input{position:absolute;opacity:0;width:0;height:0}
.atbk-paxopt span{display:inline-flex;align-items:center;justify-content:center;min-width:44px;height:44px;padding:0 .6rem;border:1.5px solid var(--line-2);border-radius:12px;font-family:var(--f-display);font-weight:700;color:var(--ink);transition:all .16s var(--ease-out)}
.atbk-paxopt input:checked+span{background:var(--grad);border-color:transparent;color:#fff;box-shadow:0 8px 20px -10px rgba(242,106,27,.6)}
.atbk-paxopt input:focus-visible+span{outline:2px solid var(--orange);outline-offset:2px}
.atbk-form input[type=date]{border:1.5px solid var(--line-2);border-radius:12px;padding:.8em .9em;font-family:var(--f-body);font-size:1rem;color:var(--ink);background:var(--paper);width:100%}
.atbk-form input[type=date]:focus{border-color:var(--orange);outline:none;box-shadow:0 0 0 3px rgba(242,106,27,.15)}
.atbk-hint{font-size:.74rem;color:var(--muted)}
.atbk-franja{display:flex;gap:.5rem}
.atbk-franjaopt{flex:1;cursor:pointer}
.atbk-franjaopt input{position:absolute;opacity:0;width:0;height:0}
.atbk-franjaopt span{display:flex;align-items:center;justify-content:center;height:44px;border:1.5px solid var(--line-2);border-radius:12px;font-family:var(--f-display);font-weight:600;color:var(--ink);transition:all .16s var(--ease-out)}
.atbk-franjaopt input:checked+span{background:var(--ink);border-color:transparent;color:#fff}
.atbk-franjaopt input:focus-visible+span{outline:2px solid var(--orange);outline-offset:2px}

/* --- El toggle de grupo del wizard (/reserva/) reutiliza estas mismas clases .atbk-*
   dentro de Gravity Forms — GF trae su propio CSS de tema (varias hojas, bastante
   específico) que pisaba el radio oculto y el ancho parejo de las pastillas.
   Se refuerza con !important solo en lo que GF sobreescribía. --- */
.gform_wrapper .atbk-franjaopt input{position:absolute!important;opacity:0!important;width:0!important;height:0!important;min-height:0!important}
.gform_wrapper .atbk-franjaopt span{white-space:nowrap;padding:0 .5rem}
.gform_wrapper .atbk-paxopt input{position:absolute!important;opacity:0!important;width:0!important;height:0!important;min-height:0!important}
.gform_wrapper .atbk-label{margin:0}

/* --- Paso de upsell "Suma a tu experiencia" --- */
.upsell-intro{color:var(--ink-soft);font-size:1.05rem;max-width:60ch;margin:0 0 1.6rem}
.upsell-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:1.1rem}
.upsell-card{position:relative;display:flex;flex-direction:column;background:var(--paper);border:1.5px solid var(--line);border-radius:var(--r-lg);box-shadow:0 14px 34px -28px rgba(0,0,0,.45);overflow:hidden;cursor:pointer;transition:border-color .18s var(--ease-out),box-shadow .2s var(--ease-out),transform .18s var(--ease-out)}
.upsell-card:hover{transform:translateY(-3px);box-shadow:0 22px 44px -26px rgba(0,0,0,.5)}
.upsell-card input{position:absolute;opacity:0;width:0;height:0}
.upsell-card:has(input:checked){border-color:var(--orange);box-shadow:0 16px 36px -22px rgba(242,106,27,.55)}
.upsell-card:has(input:focus-visible){outline:2px solid var(--orange);outline-offset:2px}
.upsell-card-media{width:100%;height:104px;display:flex;align-items:center;justify-content:center;background:var(--paper-2);color:var(--orange)}
.upsell-card-body{padding:1rem 1.1rem .3rem;flex:1 1 auto}
.upsell-card-name{display:block;font-family:var(--f-display);font-weight:700;font-size:1.02rem;color:var(--ink);line-height:1.25}
.upsell-card-desc{display:block;margin-top:.35rem;font-size:.84rem;color:var(--muted);line-height:1.4}
.upsell-card-price{display:block;padding:.2rem 1.1rem 1.05rem;font-family:var(--f-display);font-weight:800;font-size:1.15rem;color:var(--ink)}
.upsell-card-check{position:absolute;top:.7rem;right:.7rem;width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;border:1.5px solid var(--line-2);background:var(--paper);color:transparent;font-size:.85rem;font-weight:700;transition:all .16s var(--ease-out)}
.upsell-card:has(input:checked) .upsell-card-check{background:var(--grad);border-color:transparent;color:#fff}
.upsell-actions{display:flex;flex-direction:column;gap:.7rem;max-width:420px;margin:2.2rem auto 0}

/* --- Íconos SVG de los adicionales (upsell + carrito) --- */
.addon-thumb{display:flex;align-items:center;justify-content:center;width:100%;height:100%;color:var(--orange);background:var(--paper-2)}
.upsell-card-media .at-addon-ic{width:46px;height:46px}
.addon-thumb .at-addon-ic{width:58%;height:58%}
.at-addon-ic{display:block}

/* --- Navbar: mega-menú "Experiencias aéreas" --- */
.nav-mega-item{position:static;display:inline-flex;align-items:center}
.nav-mega-trigger{display:inline-flex;align-items:center;gap:.35em;font-family:var(--f-display);font-weight:600;font-size:.96rem;color:var(--ink);cursor:pointer}
.nav-mega-item:hover .nav-mega-trigger,.nav-mega-trigger:focus-visible{color:var(--red)}
.nav-chev{width:15px;height:15px;transition:transform .2s var(--ease-out)}
.nav-mega-item:hover .nav-chev,.nav-mega-item:focus-within .nav-chev{transform:rotate(180deg)}
.mega{position:absolute;left:0;right:0;top:100%;background:var(--paper);border-top:1px solid var(--line);box-shadow:0 30px 60px -30px rgba(0,0,0,.35);opacity:0;visibility:hidden;transform:translateY(4px);transition:opacity .18s var(--ease-out),transform .18s var(--ease-out),visibility .18s;z-index:60}
/* Puente invisible que cubre el hueco entre el trigger y el menú (evita el flicker al desplegar). */
.mega::before{content:"";position:absolute;left:0;right:0;bottom:100%;height:34px}
.nav-mega-item:hover .mega,.nav-mega-item:focus-within .mega{opacity:1;visibility:visible;transform:translateY(0)}
.mega-inner{padding-block:clamp(28px,3vw,44px)}
.mega-cols{display:grid;grid-template-columns:repeat(3,1fr) 1.15fr;gap:clamp(24px,3vw,48px);align-items:stretch}
.mega-col{display:flex;flex-direction:column}
.mega-col-head{display:flex;align-items:center;gap:.7rem;margin-bottom:1rem;min-height:5.2rem}
.mega-ic{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:12px;background:var(--paper-2);color:var(--orange);flex:none}
.mega-ic svg{width:22px;height:22px}
.mega-col-title b{display:block;font-family:var(--f-display);font-weight:700;font-size:1.05rem;text-transform:uppercase;letter-spacing:.02em}
.mega-col-title small{display:block;font-family:var(--f-mono);font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-top:.15rem}
.mega-list{list-style:none;margin:0 0 1rem;padding:0;display:flex;flex-direction:column;gap:.55rem}
.mega-list a{color:var(--ink-soft);font-size:.98rem;transition:color .16s var(--ease-out)}
.mega-list a:hover{color:var(--red)}
.mega-more{display:inline-flex;align-self:flex-start;align-items:center;gap:.3em;margin-top:auto;padding-top:.4rem;font-family:var(--f-display);font-weight:600;font-size:.82rem;letter-spacing:.02em;text-transform:uppercase;color:var(--orange)}
.mega-more:hover{color:var(--red)}
.mega-card{display:flex;flex-direction:column;gap:.55rem;background:var(--paper);color:var(--ink);border:1.5px solid var(--red);border-radius:var(--r-lg);padding:1.4rem 1.5rem;justify-content:center;box-shadow:0 16px 36px -26px rgba(224,30,38,.45);transition:transform .18s var(--ease-out),box-shadow .2s var(--ease-out)}
.mega-card:hover{transform:translateY(-3px);box-shadow:0 24px 48px -22px rgba(224,30,38,.55)}
.mega-card-eyebrow{font-family:var(--f-display);font-weight:800;font-size:1.5rem;text-transform:uppercase;line-height:1.05;color:var(--red)}
.mega-card-desc{font-size:.86rem;color:var(--ink-soft);line-height:1.4}
.mega-card-cta{margin-top:.3rem;font-family:var(--f-display);font-weight:700;font-size:.82rem;letter-spacing:.02em;text-transform:uppercase;color:var(--red)}
.mega-all{display:flex;align-items:center;justify-content:center;gap:.4em;margin-top:1.6rem;padding-top:1.4rem;border-top:1px solid var(--line);width:100%;font-family:var(--f-display);font-weight:700;font-size:.9rem;letter-spacing:.02em;text-transform:uppercase;color:var(--ink)}
.mega-all:hover{color:var(--red)}
@media(max-width:1000px){
  .mega{display:none}
  .nav-chev{display:none}
}

/* --- Fix overflow horizontal de .trust-grid (v1.3.2) ---
   Las 4 columnas eran repeat(4,1fr) = repeat(4,minmax(auto,1fr)); el minimo
   "auto" no dejaba encoger la celda bajo su contenido (svg + texto + --gutter
   de padding a cada lado), asi que a >980px las 4 no cabian en un laptop y la
   pagina ganaba scroll horizontal. min-width:0 en la celda y en su bloque de
   texto convierte ese "auto" en 0: las columnas encogen y el texto envuelve.
   No toca las media queries de 2/1 columna del tema. */
.trust-grid > div{min-width:0}
.trust-grid > div > div{min-width:0;word-break:break-word}

/* ================= /AEROTRIP SHOP v1 ================= */


/* ================= PANORAMAS (escapadas por ocasión) v1.3.3 ================= */

/* Hero: CTA + chips de capítulo bajo el subtítulo */
.pan-hero-actions{display:flex;flex-wrap:wrap;gap:1rem 1.4rem;align-items:center;margin-top:2rem}
.pan-chips{display:flex;flex-wrap:wrap;gap:.55rem}
.pan-chip{display:inline-flex;align-items:center;min-height:44px;padding:.5rem 1.05rem;border-radius:999px;border:1.5px solid rgba(255,255,255,.35);color:#fff;font-family:var(--f-mono);font-size:.7rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;transition:background .2s var(--ease-out),border-color .2s var(--ease-out),transform .18s var(--ease-out)}
.pan-chip:hover{background:rgba(255,255,255,.16);border-color:#fff;transform:translateY(-2px)}
.pan-chip:focus-visible{outline:2px solid #fff;outline-offset:2px}

/* Capítulos: número fantasma editorial (decorativo, aria-hidden) */
.pan-sec{position:relative}
.pan-head{position:relative}
.pan-num{display:block;font-family:var(--f-display);font-weight:800;font-size:clamp(3.4rem,8vw,6.2rem);line-height:.85;letter-spacing:-.03em;color:var(--ink);opacity:.08;margin-bottom:.1rem}

/* Rail de capítulos fijo (solo desktop): dots minimalistas, sin píldora de fondo.
   El activo es un punto rojo; la etiqueta aparece como tooltip pequeño a la
   izquierda SOLO al pasar el mouse o al enfocar (nunca queda expandida). */
.pan-rail{position:fixed;right:clamp(12px,1.6vw,22px);top:50%;transform:translateY(-50%);z-index:40;display:flex;flex-direction:column;gap:.5rem}
.pan-rail a{position:relative;display:flex;align-items:center;justify-content:center;width:32px;height:32px;text-decoration:none}
.pan-rail-dot{width:11px;height:11px;border-radius:50%;background:rgba(255,255,255,.62);border:1.5px solid rgba(15,16,18,.32);box-shadow:0 1px 5px rgba(15,16,18,.28);flex:none;transition:background .2s var(--ease-out),border-color .2s var(--ease-out),transform .2s var(--ease-out)}
.pan-rail a:hover .pan-rail-dot{border-color:var(--ink);transform:scale(1.15)}
.pan-rail a.active .pan-rail-dot{background:var(--red);border-color:var(--red);transform:scale(1.3)}
.pan-rail-lbl{position:absolute;right:34px;top:50%;transform:translateY(-50%) translateX(6px);white-space:nowrap;background:var(--ink);color:#fff;font-family:var(--f-mono);font-size:.62rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;padding:.34rem .6rem;border-radius:8px;box-shadow:0 8px 20px -10px rgba(15,16,18,.55);opacity:0;pointer-events:none;transition:opacity .18s var(--ease-out),transform .18s var(--ease-out)}
.pan-rail a:hover .pan-rail-lbl,.pan-rail a:focus-visible .pan-rail-lbl{opacity:1;transform:translateY(-50%) translateX(0)}
.pan-rail a:focus-visible{outline:2px solid var(--red);outline-offset:3px;border-radius:50%}
@media(max-width:1160px){.pan-rail{display:none}}

/* Banda intersticial full-bleed con pull-quote */
.pan-interstitial{position:relative;color:#fff;overflow:hidden}
.pan-inter-bg{position:absolute;inset:0;background-size:cover;background-position:center;z-index:0}
.pan-inter-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,rgba(15,16,18,.84),rgba(15,16,18,.42))}
.pan-inter-inner{position:relative;z-index:1;max-width:900px;padding-block:clamp(64px,10vw,124px)}
.pan-inter-inner blockquote{margin:0}
.pan-inter-inner q{font-family:var(--f-display);font-weight:700;text-transform:uppercase;font-size:clamp(1.6rem,4vw,3.1rem);line-height:1.04;letter-spacing:-.01em;quotes:none}
.pan-inter-inner cite{display:block;margin-top:1.3rem;font-family:var(--f-mono);font-size:.72rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.78);font-style:normal}

@media(max-width:700px){.pan-num{font-size:clamp(2.6rem,15vw,4rem)}}

/* ================= /PANORAMAS ================= */


/* ================= RESCATE <48h (CTA de urgencia por anticipación) v1.3.5 ================= */
/* Callout que reemplaza a "Reservar" cuando la fecha elegida es en menos de 48h,
   ofreciendo coordinar de último minuto por WhatsApp. Usado en la ficha (.atbk-form)
   y en la página de reserva (bajo el formulario de cotización). */
.atbk-urgent{display:flex;flex-direction:column;gap:.75rem;padding:.95rem 1rem;border:1.5px solid var(--red);border-radius:14px;background:rgba(224,30,38,.05)}
.atbk-urgent-txt{display:flex;flex-direction:column;gap:.2rem}
.atbk-urgent-txt b{font-family:var(--f-display);font-weight:700;font-size:1rem;color:var(--ink)}
.atbk-urgent-txt span{font-size:.82rem;line-height:1.4;color:var(--ink-soft)}
.atbk-urgent .btn{margin:0}
/* Variante en la página de reserva: centrada, con algo más de aire */
.pan-urgent-reserva{max-width:820px;margin:1.4rem auto 0}
.pan-urgent-reserva .atbk-urgent{flex-direction:row;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem 1.4rem}
.pan-urgent-reserva .atbk-urgent .btn{width:auto;flex:none}
@media(max-width:620px){.pan-urgent-reserva .atbk-urgent{flex-direction:column;align-items:stretch}.pan-urgent-reserva .atbk-urgent .btn{width:100%}}
/* ================= /RESCATE <48h ================= */


/* ================= Formulario de cotización (Solicitar reserva) v1.3.6 ================= */
.atbk-input{width:100%;padding:.7rem .85rem;border:1.5px solid var(--line-2);border-radius:12px;background:var(--paper);color:var(--ink);font-family:var(--f-body);font-size:.95rem;transition:border-color .2s var(--ease-out)}
.atbk-input:focus{outline:none;border-color:var(--ink)}
.atbk-formerr{padding:.7rem .9rem;border:1.5px solid var(--red);border-radius:12px;background:rgba(224,30,38,.06);color:var(--ink);font-size:.85rem;line-height:1.4}
/* ================= /cotización ================= */


/* ================= CHECKOUT rediseño (layout limpio + tarjeta resumen premium) v1.3.7 ================= */
/* Grid 2 columnas: formulario | tarjeta de resumen sticky (se oculta el header suelto).
   OJO: la estructura real es .shop-wrap > .wrap > .woocommerce > form.checkout, por eso el
   selector es por descendencia (.shop-wrap form.checkout), NO hijo directo de .wrap. */
.woocommerce-checkout .shop-wrap form.checkout{display:grid;grid-template-columns:1.35fr .92fr;grid-template-areas:"cust rev";column-gap:clamp(28px,3.5vw,52px);row-gap:0;align-items:start}
.woocommerce-checkout #customer_details{grid-area:cust}
.woocommerce-checkout #order_review_heading{display:none}
/* Apilar facturación + notas → mata la media columna vacía del col2-set. */
.woocommerce-checkout #customer_details,
.woocommerce-checkout #customer_details.col2-set{display:block}
.woocommerce-checkout #customer_details .col-1,
.woocommerce-checkout #customer_details .col-2{width:100%;max-width:none;float:none;padding:0}
.woocommerce-checkout #customer_details .col-2{margin-top:1.9rem}
/* Facturación: Nombre/Apellidos en 2 columnas; el resto a lo ancho. */
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper{display:grid;grid-template-columns:1fr 1fr;column-gap:1rem}
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper>.form-row{width:auto!important;float:none!important;grid-column:1/-1;margin:0 0 1.1rem}
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper>.form-row-first{grid-column:1/2}
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper>.form-row-last{grid-column:2/3}
/* Encabezados de sección más marcados. */
.woocommerce-checkout #customer_details h3,.woocommerce-checkout .woocommerce-additional-fields>h3{margin:0 0 1.2rem;padding-bottom:.6rem;border-bottom:2px solid var(--line);font-size:1.05rem}
/* Tarjeta de resumen: header oscuro DENTRO de la card sticky. */
.woocommerce-checkout #order_review::before{content:"Resumen del pedido";display:block;background:var(--ink);color:#fff;margin:-1.3rem -1.4rem 1.3rem;padding:1.05rem 1.4rem;border-radius:var(--r-lg) var(--r-lg) 0 0;font-family:var(--f-display);font-weight:700;text-transform:uppercase;font-size:1rem;letter-spacing:.02em}
/* Método de pago seleccionado resaltado. */
.woocommerce-checkout li.wc_payment_method:has(input:checked){border-color:var(--red)!important;box-shadow:inset 0 0 0 1px var(--red);background:rgba(224,30,38,.035)}
/* Inputs más cómodos + foco naranjo más visible (AA). */
.woocommerce-checkout .input-text,.woocommerce-checkout select,.woocommerce-checkout textarea{padding:.82em .95em!important}
.woocommerce-checkout .input-text:focus,.woocommerce-checkout select:focus,.woocommerce-checkout textarea:focus{border-color:var(--orange)!important;outline:none;box-shadow:0 0 0 3px rgba(242,106,27,.32)!important}
.woocommerce-checkout textarea{min-height:110px;resize:vertical}
/* Responsive: una columna. */
@media(max-width:900px){
	.woocommerce-checkout .shop-wrap form.checkout{grid-template-columns:1fr;grid-template-areas:"cust" "rev"}
	.woocommerce-checkout #order_review{position:static}
}
@media(max-width:520px){
	.woocommerce-checkout .woocommerce-billing-fields__field-wrapper>.form-row-first,
	.woocommerce-checkout .woocommerce-billing-fields__field-wrapper>.form-row-last{grid-column:1/-1}
}
/* ================= /CHECKOUT rediseño ================= */

/* Aviso de vuelo de último minuto bajo el buscador del home. Va sobre el hero
   oscuro, así que necesita fondo sólido propio: .atbk-urgent usa texto oscuro
   sobre un rojo translúcido que ahí no se leería. */
.booking-urgent{max-width:1120px;margin:.9rem auto 0}
.booking-urgent .atbk-urgent{background:#fff;flex-direction:row;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem 1.4rem;box-shadow:0 24px 50px -30px rgba(0,0,0,.6)}
.booking-urgent .atbk-urgent .btn{width:auto;flex:none;margin:0}
@media(max-width:620px){.booking-urgent .atbk-urgent{flex-direction:column;align-items:stretch}.booking-urgent .atbk-urgent .btn{width:100%}}

/* Calendario de marca (.aero-cal la agrega el JS): el CSS de flatpickr que trae Fluent Forms se carga
   y el propio flatpickr del tema se cargan después de styles.css y le ganaban a los colores de marca, por eso el día elegido
   salía celeste. La clase .aero-cal la agrega el JS al contenedor. */
.flatpickr-calendar.aero-cal .flatpickr-day.selected,
.flatpickr-calendar.aero-cal .flatpickr-day.selected:hover{background:var(--orange);border-color:var(--orange);color:#fff}
.flatpickr-calendar.aero-cal .flatpickr-day.today{border-color:var(--orange);color:var(--orange)}
.flatpickr-calendar.aero-cal .flatpickr-day.today:hover{background:var(--orange);color:#fff}
.flatpickr-calendar.aero-cal .flatpickr-day.at-early{color:var(--red)}
.flatpickr-calendar.aero-cal .flatpickr-day.at-early:hover{background:rgba(224,30,38,.12)}
.flatpickr-calendar.aero-cal .flatpickr-day.at-early.selected,
.flatpickr-calendar.aero-cal .flatpickr-day.at-early.selected:hover{background:var(--red);border-color:var(--red);color:#fff}


/* ================= DATOS DE TRANSFERENCIA (pedido recibido) =================
   Panel oscuro sobre la página blanca: en esta pantalla es lo único que el
   cliente TIENE que hacer, así que se lleva todo el peso visual y el resto
   queda en silencio. La barra superior es la misma estela rojo→naranjo→amarillo
   del logo que usa .rw-fill en el asistente de reserva.
   Los valores van en mono (--f-mono) porque se leen para transcribirlos a la
   app del banco: el mono evita confundir 0/O y 1/l.
   Prefijo atbt-* = AeroTrip Banco Transferencia. */
.atbt{position:relative;overflow:hidden;margin:0 0 2.4rem;padding:clamp(1.1rem,3.2vw,1.7rem);
  border-radius:var(--r-lg);background:var(--atbt-bg,var(--ink));color:#fff;
  box-shadow:0 30px 60px -34px rgba(15,16,18,.75)}
.atbt::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;
  background:linear-gradient(90deg,var(--red),var(--orange) 55%,var(--yellow))}

.atbt-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem 1.6rem;flex-wrap:wrap;margin-bottom:1.3rem}
.atbt-title{font-family:var(--f-display);font-weight:700;line-height:1.1;letter-spacing:-.01em;
  font-size:clamp(1.15rem,2.6vw,1.6rem);color:#fff;margin:.55rem 0 0}

.atbt-meta{margin:0 0 1rem;font-family:var(--f-mono);font-size:.66rem;font-weight:600;
  letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.55)}
.atbt-lead{margin:.5rem 0 0;font-size:.92rem;line-height:1.55;color:rgba(255,255,255,.82);max-width:56ch}

/* Etiquetas: mismo idioma que .atbk-label de la ficha, en versión sobre oscuro. */
.atbt-label{display:block;font-family:var(--f-mono);font-size:.66rem;font-weight:600;
  letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.52)}

/* --- Los dos datos que hacen o rompen la conciliación: monto y referencia --- */
.atbt-key{display:grid;grid-template-columns:1fr 1fr;gap:.7rem;margin-bottom:1.2rem}
.atbt-keycell{padding:.75rem .9rem;border:1px solid rgba(255,255,255,.13);border-radius:var(--r);
  background:rgba(255,255,255,.045)}
.atbt-keyrow{display:flex;align-items:center;justify-content:space-between;gap:.8rem;margin-top:.45rem}
.atbt-keyval{font-family:var(--f-mono);font-weight:600;font-variant-numeric:tabular-nums;
  font-size:clamp(1.2rem,3.2vw,1.6rem);line-height:1;color:#fff;word-break:break-all}

/* --- Filas de datos de la cuenta --- */
.atbt-list{display:flex;flex-direction:column;gap:1px;background:rgba(255,255,255,.11);
  border:1px solid rgba(255,255,255,.11);border-radius:var(--r);overflow:hidden}
.atbt-row{display:grid;grid-template-columns:minmax(120px,158px) 1fr auto;align-items:center;
  gap:.35rem .85rem;padding:.6rem .85rem;background:var(--atbt-bg,var(--ink))}
.atbt-row .atbt-label{margin:0}
.atbt-val{margin:0;font-family:var(--f-mono);font-size:.92rem;color:#fff;word-break:break-word}

/* --- Botón de copiar --- */
.atbt-copy{display:inline-flex;align-items:center;gap:.45em;flex:none;
  height:32px;padding:0 .6rem;border:1px solid rgba(255,255,255,.2);border-radius:100px;
  background:transparent;color:rgba(255,255,255,.86);
  font-family:var(--f-mono);font-size:.66rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;
  transition:background .18s var(--ease-out),border-color .18s var(--ease-out),color .18s var(--ease-out)}
.atbt-copy:hover{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.38);color:#fff}
.atbt-copy .atbt-ic{width:15px;height:15px;flex:none}
.atbt-copy .atbt-ic-ok,
.atbt-copy .atbt-t2{display:none}
/* En las filas el botón es solo ícono; el texto aparece al confirmar y en "copiar todo". */
.atbt-copy .atbt-copy-txt{display:none}
.atbt-copy-all .atbt-copy-txt,
.atbt-copy.is-ok .atbt-copy-txt{display:inline}
.atbt-copy.is-ok{background:var(--orange);border-color:var(--orange);color:#fff}
.atbt-copy.is-ok .atbt-ic-copy,
.atbt-copy.is-ok .atbt-t1{display:none}
.atbt-copy.is-ok .atbt-ic-ok,
.atbt-copy.is-ok .atbt-t2{display:inline-block}
.atbt-copy.is-fail{background:var(--red);border-color:var(--red);color:#fff}
.atbt-copy-all{height:36px;padding:0 1rem}
@media(prefers-reduced-motion:reduce){.atbt-copy{transition:none}}

/* --- Qué hacer después de transferir --- */
.atbt-next{margin-top:1.2rem;padding-top:1.05rem;border-top:1px solid rgba(255,255,255,.12)}
.atbt-note{margin:0 0 1.1rem;font-size:.95rem;line-height:1.6;color:rgba(255,255,255,.74);max-width:62ch}
.atbt-actions{display:flex;flex-wrap:wrap;gap:.7rem}
/* .btn-ghost del tema es borde oscuro sobre blanco; acá va invertido. */
.atbt .btn-ghost{border-color:rgba(255,255,255,.3);color:#fff}
.atbt .btn-ghost:hover{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.5)}

/* Aviso para lectores de pantalla al copiar (no se ve). */
.atbt-live{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;
  clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}

/* --- Variante clara (paleta "Crema"): texto oscuro, celdas y
   líneas translúcidas invertidas a tono oscuro. El degradado del borde
   superior y el botón de WhatsApp (naranjo) no cambian, ya funcionan sobre
   claro y oscuro por igual. --- */
.atbt--light{color:var(--ink)}
.atbt--light .atbt-title{color:var(--ink)}
.atbt--light .atbt-meta{color:rgba(15,16,18,.55)}
.atbt--light .atbt-lead{color:var(--ink-soft)}
.atbt--light .atbt-label{color:rgba(15,16,18,.5)}
.atbt--light .atbt-keycell{background:rgba(15,16,18,.035);border-color:var(--line)}
.atbt--light .atbt-keyval{color:var(--orange)}
.atbt--light .atbt-list{background:var(--line);border-color:var(--line)}
.atbt--light .atbt-val{color:var(--ink)}
.atbt--light .atbt-copy{border-color:var(--line-2);color:var(--ink-soft)}
.atbt--light .atbt-copy:hover{background:rgba(15,16,18,.06);border-color:var(--orange);color:var(--orange)}
.atbt--light .atbt-next{border-top-color:var(--line)}
.atbt--light .atbt-note{color:var(--ink-soft)}
.atbt--light .btn-ghost{border-color:var(--line-2);color:var(--ink)}
.atbt--light .btn-ghost:hover{background:rgba(15,16,18,.05);border-color:var(--ink-soft)}

@media(max-width:720px){
  .atbt-key{grid-template-columns:1fr}
  .atbt-row{grid-template-columns:1fr auto;row-gap:.3rem}
  .atbt-row .atbt-label{grid-column:1;grid-row:1}
  .atbt-val{grid-column:1;grid-row:2}
  .atbt-copy{grid-column:2;grid-row:1/3;align-self:center}
  .atbt-actions .btn{width:100%;justify-content:center}
}
/* --- Resumen secundario: Detalles del pedido / Dirección de facturación.
   Mismo lenguaje que .step-card/.gift del resto del sitio (paper-2 + línea),
   a propósito más discreto que la tarjeta naranja de arriba. --- */
.atbt-secondary{background:var(--paper-2);border:1px solid var(--line);border-radius:var(--r-lg);
  padding:clamp(1.2rem,3vw,1.8rem);margin:0 0 2.4rem}
.atbt-secondary>section{margin-bottom:1.6rem}
.atbt-secondary>section:last-child{margin-bottom:0}
.atbt-secondary h2{font-family:var(--f-display);font-weight:700;font-size:1.05rem;
  letter-spacing:-.01em;color:var(--ink);margin:0 0 .8rem}
.atbt-secondary table.shop_table{width:100%;border-collapse:collapse;font-size:.9rem}
.atbt-secondary table.shop_table th,
.atbt-secondary table.shop_table td{padding:.6rem .3rem;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.atbt-secondary table.shop_table tfoot th,
.atbt-secondary table.shop_table tfoot td{font-weight:700;border-bottom:none}
.atbt-secondary address{font-style:normal;line-height:1.65;font-size:.9rem;color:var(--ink-soft)}
.atbt-secondary .woocommerce-columns--addresses{border:0;padding:0}
.atbt-secondary .wc-item-meta{list-style:none;margin:.35rem 0 0;padding:0;font-size:.85rem;color:var(--ink-soft)}
/* ================= /DATOS DE TRANSFERENCIA ================= */
