/* =========================================
   FONDO DEGRADADO CON GRANO
   ========================================= */
body {
  margin: 0;
  background:
    radial-gradient(circle at 18% 22%, rgba(22, 72, 105, 0.34) 0%, rgba(22, 72, 105, 0.16) 18%, transparent 42%),
    radial-gradient(circle at 78% 18%, rgba(12, 48, 84, 0.32) 0%, rgba(12, 48, 84, 0.14) 20%, transparent 46%),
    radial-gradient(circle at 55% 70%, rgba(8, 38, 62, 0.28) 0%, rgba(8, 38, 62, 0.12) 22%, transparent 52%),
    linear-gradient(180deg, #030507 0%, #05080d 45%, #020304 100%);
  background-attachment: fixed;
  color: #f4f1e8;
  overflow-x: hidden;
}

body::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: -1;
  /* El grano conserva la textura sin convertir toda la página en una capa
     de composición pesada, especialmente en móviles. */
  opacity: 0.16;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='5' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)' opacity='0.45'/%3E%3C/svg%3E");
  mix-blend-mode: color-dodge;
}


a {
	color: #9BB4C2;
    text-decoration: underline;
}

a:active,a:hover {
  	color: #fff;
}


/* =========================================
   CHECKOUT (WooCommerce Blocks) – inputs visibles en fondo oscuro
   ========================================= */
body.woocommerce-checkout .wc-block-checkout__form input[type="text"],
body.woocommerce-checkout .wc-block-checkout__form input[type="email"],
body.woocommerce-checkout .wc-block-checkout__form input[type="tel"],
body.woocommerce-checkout .wc-block-checkout__form input[type="number"],
body.woocommerce-checkout .wc-block-checkout__form input[type="password"],
body.woocommerce-checkout .wc-block-checkout__form input[type="search"],
body.woocommerce-checkout .wc-block-checkout__form textarea,
body.woocommerce-checkout .wc-block-checkout__form select,
body.woocommerce-checkout .wc-block-checkout__form .wc-block-components-text-input input,
body.woocommerce-checkout .wc-block-checkout__form .wc-block-components-combobox .components-combobox-control__input,
body.woocommerce-checkout .wc-block-checkout__form .wc-block-components-select select {
  background: rgba(255,255,255,0.08) !important; 
  color: #fff !important;
  border: 1px solid rgba(255,255,255,0.22) !important;
  border-radius: 10px;
}

/* Placeholder */
body.woocommerce-checkout .wc-block-checkout__form input::placeholder,
body.woocommerce-checkout .wc-block-checkout__form textarea::placeholder {
  color: rgba(255,255,255,0.55) !important;
}

/* Focus al hacer haces clic */
body.woocommerce-checkout .wc-block-checkout__form input:focus,
body.woocommerce-checkout .wc-block-checkout__form textarea:focus,
body.woocommerce-checkout .wc-block-checkout__form select:focus {
  outline: none !important;
  border-color: rgba(255,255,255,0.55) !important;
  box-shadow: 0 0 0 3px rgba(255,255,255,0.12) !important;
}

/* Autofill de Chrome */
body.woocommerce-checkout .wc-block-checkout__form input:-webkit-autofill,
body.woocommerce-checkout .wc-block-checkout__form textarea:-webkit-autofill,
body.woocommerce-checkout .wc-block-checkout__form select:-webkit-autofill {
  -webkit-text-fill-color: #fff !important;
  box-shadow: 0 0 0px 1000px rgba(255,255,255,0.08) inset !important;
  transition: background-color 9999s ease-in-out 0s;
}

/* Etiquetas (labels) */
body.woocommerce-checkout .wc-block-checkout__form label,
body.woocommerce-checkout .wc-block-checkout__form .wc-block-components-checkout-step__title {
  color: rgba(255,255,255,0.9) !important;
}

/* ===== Woo Blocks select: eliminar caja blanca del contenedor ===== */
body.woocommerce-checkout .wc-blocks-components-select,
body.woocommerce-checkout .wc-blocks-components-select__container,
body.woocommerce-checkout .wc-blocks-components-select__wrapper {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  outline: none !important;
}

/* El propio select: que sea el que “pinta” la caja */
body.woocommerce-checkout select.wc-blocks-components-select__select,
body.woocommerce-checkout .wc-blocks-components-select__select {
  background-color: rgba(255,255,255,0.08) !important; /* aquí tu tono */
  color: #fff !important;
  border: 1px solid rgba(255,255,255,0.22) !important;
  border-radius: 10px !important;
  box-shadow: none !important;
  outline: none !important;
  -webkit-appearance: none;
  appearance: none;
}

/* A veces el tema mete un “halo” por focus */
body.woocommerce-checkout select.wc-blocks-components-select__select:focus {
  box-shadow: 0 0 0 3px rgba(255,255,255,0.12) !important;
}


/* En algunos navegadores el desplegable usa el color del option */
body.woocommerce-checkout select.wc-blocks-components-select__select option{
  color: #111;            /* menú desplegable */
  background: #fff;       /* menú desplegable */
}

/* ================================
   STRIPE (Payment Element) – FIX fondo blanco
   ================================ */

/* 1) Contenedor visual del campo (el que pinta el blanco) */
body.woocommerce-checkout .p-FauxInput,
body.woocommerce-checkout .wc-block-checkout__payment-method .p-FauxInput,
body.woocommerce-checkout .wc-block-checkout__payment-method .Input {
  background-color: rgba(255,255,255,0.08) !important;
  border: 1px solid rgba(255,255,255,0.22) !important;
  border-radius: 10px !important;
  box-shadow: none !important;
  color: #fff !important;
}

/* 2) Texto real del input dentro (para que se vea blanco) */
body.woocommerce-checkout .wc-block-checkout__payment-method .p-FauxInput input,
body.woocommerce-checkout .wc-block-checkout__payment-method .Input input,
body.woocommerce-checkout input#Field-numberInput,
body.woocommerce-checkout input#Field-expiryInput,
body.woocommerce-checkout input#Field-cvcInput {
  background: transparent !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  caret-color: #fff !important;
  box-shadow: none !important;
}

/* 3) Placeholder */
body.woocommerce-checkout input#Field-numberInput::placeholder,
body.woocommerce-checkout input#Field-expiryInput::placeholder,
body.woocommerce-checkout input#Field-cvcInput::placeholder {
  color: rgba(255,255,255,0.55) !important;
}

/* 4) Focus y estados de Stripe (para que no vuelva a blanco) */
body.woocommerce-checkout .p-FauxInput:focus-within,
body.woocommerce-checkout .Input:focus-within,
body.woocommerce-checkout .p-Input--focused,
body.woocommerce-checkout .Input--focused {
  background-color: rgba(255,255,255,0.08) !important;
  border-color: rgba(255,255,255,0.55) !important;
  box-shadow: 0 0 0 3px rgba(255,255,255,0.12) !important;
}

/* 5) Invalid (si hay error) */
body.woocommerce-checkout .Input--invalid,
body.woocommerce-checkout .p-Input--invalid {
  background-color: rgba(255,255,255,0.08) !important;
  color: #fff !important;
}

/* Ocultar checkbox de newsletter en Checkout (WooCommerce Blocks) */
.wc-block-checkout .wc-block-components-checkbox:has(input[id*="newsletter"]),
.wc-block-checkout .wc-block-components-checkbox:has(input[name*="newsletter"]),
.wc-block-checkout .wc-block-components-checkbox:has(input[id*="mailpoet"]),
.wc-block-checkout .wc-block-components-checkbox:has(input[name*="mailpoet"]),
.wc-block-checkout .wc-block-components-checkbox:has(input[id*="subscribe"]),
.wc-block-checkout .wc-block-components-checkbox:has(input[name*="subscribe"]) {
  display: none !important;
}

/* Ocultar "Información adicional" (boletín) en Pedido recibido y Ver pedido */
.wc-block-order-confirmation-additional-fields-wrapper {
	  display: none !important;
}


/* Cambiar botón de cerrar en Seating Charts */ 

.tc_modal_close_dialog {
    color: black !important;
    top: 0;
}



/* Título del formulario (varios selectores por compatibilidad) */
.mailpoet_form .mailpoet_form_title,
.mailpoet_form .mailpoet_form_title * ,
.mailpoet_form h1,
.mailpoet_form h2,
.mailpoet_form h3,
.mailpoet_form .mailpoet_paragraph strong:first-child {
  font-family: "Cinzel", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif !important;
  font-weight: 200;
  letter-spacing: 0.2px;
}


/* Texto del checkbox en blanco */
.mailpoet_form .mailpoet_checkbox_label,
.mailpoet_form .mailpoet_checkbox_label span,
.mailpoet_form label.mailpoet_checkbox_label,
.mailpoet_form {
	color: #ffffff !important }



.elementor-popup-modal .dialog-close-button svg {
    fill: #ffff;
    height: 1em;
    width: 1em;
}



/* ==============================
   MAPA DE VIAJE — AJUSTES POPUP
   ============================== */

/* 1) TÍTULO + SUBTÍTULO EN LA MISMA LÍNEA:
   TITULO — SUBTITULO ESPAÑOL  */
.pjmap .pjmap__titleEn,
.pjmap .pjmap__titleEs{
  display: inline !important;
  vertical-align: baseline;
  text-transform: uppercase;
  line-height: 1.12;
}

.pjmap .pjmap__titleEs{
  margin-top: 0 !important;        /* quita el salto visual */
  color: rgba(190,190,190,0.86) !important;
  font-size: 20px !important;       /* ajusta si quieres (18–22) */
  letter-spacing: 2px !important;
}

/* guion largo entre ambos */
.pjmap .pjmap__titleEs:before{
  content: " — ";
  color: rgba(190,190,190,0.86);
}

/* si no hay subtítulo, no mostramos el guion */
.pjmap .pjmap__titleEs:empty{ display:none !important; }
.pjmap .pjmap__titleEs:empty:before{ content:""; }

/* metadatos debajo */
.pjmap .pjmap__metaLine{
  margin-top: 8px !important;
}

/* 2) SÍMBOLO MÁS GRANDE (que “abrace” título+metadatos) */
.pjmap .pjmap__head{
  align-items: center !important;
}

.pjmap .pjmap__symbolWrap{
  width: 74px !important;
  height: 74px !important;
  border-radius: 16px !important;
}

.pjmap .pjmap__symbol{
  width: 100% !important;
  height: 100% !important;
}

/* 3) TARJETAS VER PORTAL / VER SONEMA:
      - label a 9px
      - fondo #9bb4c240 */
.pjmap .pjmap__cardLink{
  background: rgba(155,180,194,0.25) !important; /* ≈ #9bb4c240 */
}

.pjmap .pjmap__cardLbl{
  font-size: 9px !important;
  line-height: 1.05 !important;
  white-space: nowrap;
}

/* como el cierre lo haremos fijo, quitamos el padding que dejaba hueco */
.pjmap .pjmap__top{
  padding-right: 0 !important;
}

/* 4) POPUP CON SCROLL (para textos largos, sobre todo en móvil) */
.pjmap .pjmap__card{
  max-height: 92vh !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  -webkit-overflow-scrolling: touch;
}

/* en móvil, que el modal se “pegue arriba” y no se corte */
@media (max-width: 767px){
  .pjmap .pjmap__modal{
    align-items: flex-start !important;
    padding: 12px !important;
  }
  .pjmap .pjmap__card{
    max-height: 92dvh !important; /* mejor en móviles modernos */
  }
}

/* 5) X SIEMPRE VISIBLE (aunque hagas scroll dentro del popup) */
.pjmap .pjmap__close{
  position: fixed !important;
  top: 18px !important;
  right: 18px !important;
  z-index: 1000000 !important;
  border: 1px solid rgba(255,255,255,0.18) !important;
  background: rgba(10,12,18,0.65) !important;
  color: rgba(255,255,255,0.95) !important;
}

/* Separar tarjetas del borde derecho */
.pjmap .pjmap__cards{
  margin-right: 64px !important; /* deja hueco para la X */
  padding-right: 6px !important;
}

/* Reposicionar la X para que no pise nada */
.pjmap .pjmap__close{
  top: 14px !important;
  right: 14px !important;
}

/* Mostrar quote cuando exista (el JS ya lo oculta si está vacío) */
.pjmap .pjmap__quote{
  display: block !important;
}

@media (max-width: 767px){
  body{background-attachment:scroll;}
}

.pjmap{
  --pj-quote-color: #9BB4C2; /* fallback */
}
.pjmap .pjmap__quote{
  color: var(--pj-quote-color) !important;
  border-left-color: var(--pj-quote-color) !important;
}



/* ==============================
   DETALLES WOOCOMMERCE
   ============================== */
/* Precio en verde feo */
.woocommerce div.product p.price,
.woocommerce div.product span.price,
.woocommerce-variation-price .price,
.woocommerce-variation-price .amount {
    color: #ffffff !important;
}

.woocommerce-variation-description {
    color: #ffffff !important;
}

.woocommerce:where(body:not(.woocommerce-uses-block-theme)) div.product .stock {
    color: #9BB4C2;
}

/* Caja de Google Pay / pagos rápidos */
#wc-stripe-payment-request-wrapper,
#wc-stripe-payment-request-button-separator,
.woocommerce div.product .payment-request-button,
.woocommerce div.product .wc-stripe-product-checkout-container {
    background: transparent !important;
    border-color: rgba(255,255,255,0.18) !important;
}

/* Bordes de botones de pago rápido */
#wc-stripe-payment-request-button {
    border-radius: 8px !important;
    overflow: hidden;
}
