/*
 Theme Name: Admiral Child
 Theme URI: https://www.neu.cl
 Description: Tema hijo para Admiral sobre Kadence.
 Author: Neu
 Author URI: https://www.neu.cl
 Template: kadence
 Version: 0.0.3
*/


/* Thank you page: align totals value column to the right */
.woocommerce-order-details table.shop_table.order_details tfoot td {
  text-align: right;
}

/* Thank you page: remove left indent from item meta (De/A/Duración) under product name */
.woocommerce-order-details table.shop_table.order_details td.product-name .wc-item-meta {
  list-style: none;
  padding-left: 0;
  margin-left: 0;
}
.woocommerce-order-details table.shop_table.order_details td.product-name .wc-item-meta li {
  margin-left: 0;
  padding-left: 0;
}

/* Thank you page: big success icon to the left of the received notice */
.woocommerce-notice.woocommerce-thankyou-order-received {
  display: inline-flex;
  align-items: center;
  gap: 12px;
}
.woocommerce-notice.woocommerce-thankyou-order-received::before {
  content: "";
  width: 44px; /* large icon */
  height: 44px;
  flex: 0 0 44px;
  display: inline-block;
  align-self: center;
  /* Two-layer background: top = white check, bottom = gold circle */
  background-repeat: no-repeat, no-repeat;
  background-position: center center, center center;
  /* Top check slightly smaller; bottom circle full size */
  background-size: 62% 62%, 100% 100%;
  background-image:
    url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M6 12l4 4 8-8' fill='none' stroke='%23ffffff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/></svg>"),
    url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><circle cx='12' cy='12' r='12' fill='%23B59F6B'/></svg>");
}

/* Thank you page: make "Detalles del pedido" look like cart headers (Producto / Subtotal) */
.woocommerce-order-received .woocommerce-order-details__title {
  display: block;
  font-weight: 600;               /* match th header weight */
  text-transform: uppercase;       /* match uppercase style */
  letter-spacing: 0.02em;          /* slight tracking like headers */
  font-size: 0.95rem;              /* similar visual size to header */
  line-height: 1.2;
  margin: 20px 0 0.75em;           /* 20px antes del título + separación inferior */
  color: var(--global-palette5, #4a4a4a); /* use theme var if present */
}

/* Thank you page: improve order overview (Número, Fecha, Email, Total, Método) */
.woocommerce-order-received .woocommerce-order-overview.order_details,
.woocommerce-order-received ul.order_details {
  list-style: none;
  margin: 0 0 1.25rem;
  padding: 0;
  display: flex;
  flex-wrap: wrap;                          /* two columns on desktop */
  gap: 8px 20px;                            /* row and column gaps */
  justify-content: flex-start;              /* base: sin !important para permitir override en desktop */
}
.woocommerce-order-received .woocommerce-order-overview.order_details li,
.woocommerce-order-received ul.order_details li {
  display: inline-flex !important; /* inline para que label/valor queden juntos */
  align-items: baseline;
  gap: 10px; /* SIEMPRE 10px entre label y valor */
  margin: 0 !important;
  padding: 6px 0 !important;                /* remove dotted separators padding */
  border: 0 !important;                     /* kill dotted borders */
  border-right: 0 !important;
  background: none !important;
  float: none !important;
  flex: 1 1 340px;                          /* base width per item (modo móvil/flex) */
  min-width: 220px;                         /* evitar wraps tempranos */
  width: auto !important;                   /* reset theme widths (e.g., 48%) */
  max-width: none !important;
}
/* Remove any pseudo separators that can create leading gaps */
.woocommerce-order-received .woocommerce-order-overview.order_details li::before,
.woocommerce-order-received ul.order_details li::before,
.woocommerce-order-received .woocommerce-order-overview.order_details li::after,
.woocommerce-order-received ul.order_details li::after { content: none !important; display: none !important; }
/* Also remove UL clearfix pseudo-elements that turn into empty grid/flex items */
.woocommerce-order-received .woocommerce-order-overview.order_details::before,
.woocommerce-order-received .woocommerce-order-overview.order_details::after,
.woocommerce-order-received ul.order_details::before,
.woocommerce-order-received ul.order_details::after { content: none !important; display: none !important; }
.woocommerce-order-received .woocommerce-order-overview.order_details li strong,
.woocommerce-order-received ul.order_details li strong {
  margin-left: 0;                            /* evitar gran espacio entre label y valor */
  font-weight: 600;
  text-align: left;
  white-space: normal;                      /* permitir salto si es necesario */
}
@media (max-width: 600px) {
  .woocommerce-order-received .woocommerce-order-overview.order_details li,
  .woocommerce-order-received ul.order_details li {
  flex: 1 1 100%;                         /* single column on mobile */
  display: flex !important;               /* label izquierda, valor derecha */
  align-items: baseline;
  justify-content: space-between;
  width: 100%;
  }
  .woocommerce-order-received .woocommerce-order-overview.order_details li strong,
  .woocommerce-order-received ul.order_details li strong {
  margin-left: auto;                      /* empujar valor a la derecha */
  white-space: normal;                    /* permitir wrap en móviles */
  text-align: right;                      /* alinear valor a la derecha */
  }
}

/* Thank you page: hide duplicated payment method from order overview (keep it in totals) */
.woocommerce-order-received .woocommerce-order-overview.order_details li.method,
.woocommerce-order-received .woocommerce-order-overview.order_details .woocommerce-order-overview__payment-method {
  display: none !important;
}
/* Also cover class variants used by some themes */
.woocommerce-order-received .woocommerce-thankyou-order-details.order_details li.method,
.woocommerce-order-received .woocommerce-thankyou-order-details.order_details li.woocommerce-order-overview__payment-method {
  display: none !important;
}
/* Hard reset any residual space from hidden item */
.woocommerce-order-received .woocommerce-order-overview.order_details li.method,
.woocommerce-order-received .woocommerce-thankyou-order-details.order_details li.method { width: 0 !important; padding: 0 !important; margin: 0 !important; border: 0 !important; }

/* Desktop: distribute evenly in 4 columns (Order, Date, Email, Total) */
@media (min-width: 1024px) {
  .woocommerce-order-received .woocommerce-order-overview.order_details,
  .woocommerce-order-received ul.order_details {
  display: flex !important;
  flex-wrap: nowrap !important; /* una sola fila */
  justify-content: space-between !important; /* espacio variable entre items, ocupa todo el ancho */
  align-items: center;
  gap: 0; /* sin gap fijo; todo el espacio extra es variable */
  width: 100%;
  }
  .woocommerce-order-received .woocommerce-order-overview.order_details li,
  .woocommerce-order-received ul.order_details li {
    flex: 0 1 auto !important; /* no crecer, permitir encoger */
    min-width: 0 !important;
    max-width: 100% !important;
    width: auto !important;
  }
  .woocommerce-order-received .woocommerce-order-overview.order_details li strong,
  .woocommerce-order-received ul.order_details li strong {
    justify-self: auto;
    white-space: normal; /* permitir salto de línea si es necesario */
    overflow: visible;
    text-overflow: initial;
  }
  .woocommerce-order-received .woocommerce-order-overview.order_details li.email strong,
  .woocommerce-order-received ul.order_details li.email strong {
    max-width: 100%;
    overflow: visible;
    text-overflow: initial;
    white-space: normal; /* no truncar el email */
  }
}


/* Alinear subtotal a la derecha en carrito (solo columna subtotal) */
.woocommerce-cart-form__contents th.product-subtotal,
.woocommerce-cart-form__contents td.product-subtotal { text-align:right; }

/* Card para listado de items del carrito (igual estilo que totals) */
body.woocommerce-cart .admiral-cart-items-card {
  background:#fff;
  border:1px solid #e5e5e5;
  border-radius:6px;
  padding:20px 22px 8px;
  box-shadow:0 2px 6px rgba(0,0,0,.06);
  margin:0 0 24px;
}

/* Cart page: hide the notice CTA "Ver carrito" (wc-forward) when already on cart */
body.woocommerce-cart .woocommerce-notices-wrapper .woocommerce-message a.button.wc-forward,
body.woocommerce-cart .woocommerce-notices-wrapper .woocommerce-info a.button.wc-forward {
  display: none !important;
}

/* Cart page: add spacing below WooCommerce error alert */
body.woocommerce-cart ul.woocommerce-error {
  margin-bottom: 30px !important;
}

/* Ensure spacing from the wrapper itself (avoid margin-collapsing issues) */
body.woocommerce-cart .woocommerce-NoticeGroup {
  margin-bottom: 30px !important;
}

/* ---------------------------------------------
   Header: Woo Cart Link (mobile block)
   - Hide cart link when already on Cart page
   - Prevent stroke on its SVG in sticky non-transparent header
   --------------------------------------------- */
body.woocommerce-cart .wp-block-woocommerce-cart-link {
  display: none !important;
}
header.wp-block-kadence-header:not([data-transparent="1"]) .kb-header-sticky-wrapper .wp-block-woocommerce-cart-link svg {
  stroke: none !important;
}

/* ---------------------------------------------
   Woo tables (mobile): remove zebra striping
   --------------------------------------------- */
@media screen and (max-width: 719px) {
  .woocommerce table.shop_table_responsive tr:nth-child(2n) td,
  .woocommerce-page table.shop_table_responsive tr:nth-child(2n) td,
  .woocommerce table.shop_table_responsive tr:nth-child(even) td,
  .woocommerce-page table.shop_table_responsive tr:nth-child(even) td {
    background-color: transparent !important;
  }
}


/* Woo Thank-you: add space only under the FAILED payment notice (avoid global last-child changes) */
body.woocommerce-order-received .woocommerce-notice.woocommerce-notice--error.woocommerce-thankyou-order-failed {
  margin-bottom: 30px !important;
}
body.woocommerce-cart .admiral-cart-items-card table.shop_table { margin:0; }
body.woocommerce-cart .admiral-cart-items-card table.shop_table thead th { font-size:13px; letter-spacing:.5px; font-weight:600; border:0; }
/* Tipografía específica para encabezados PRODUCT / SUBTOTAL */
body.woocommerce-cart .admiral-cart-items-card table.shop_table thead th.product-name,
body.woocommerce-cart .admiral-cart-items-card table.shop_table thead th.product-subtotal {
  font-family:'Montserrat', system-ui, sans-serif;
  font-weight:600; /* igual que título TOTAL */
  font-size:14px;
  letter-spacing:0.08em; /* consistente con TOTAL */
  text-transform:uppercase;
}
body.woocommerce-cart .admiral-cart-items-card table.shop_table td, 
body.woocommerce-cart .admiral-cart-items-card table.shop_table th { border:0; }
body.woocommerce-cart .admiral-cart-items-card table.shop_table tbody tr:last-child td.actions { padding-bottom:12px; }
@media (max-width:767px){
  body.woocommerce-cart .admiral-cart-items-card { padding:18px 18px 6px; }
}

/* Mejora visual carrito: imágenes más grandes y layout aireado */
body.woocommerce-cart .admiral-cart-items-card table.shop_table td.product-thumbnail { width:170px; }
body.woocommerce-cart .admiral-cart-items-card table.shop_table td.product-thumbnail img { width:150px; height:100px; object-fit:cover; border-radius:4px; display:block; }
@media (max-width:767px){
  body.woocommerce-cart .admiral-cart-items-card table.shop_table td.product-thumbnail { width:130px; }
  body.woocommerce-cart .admiral-cart-items-card table.shop_table td.product-thumbnail img { width:108px; height:72px; }
}
/* ==== Mobile layout: X + imagen + subtotal en una fila, nombre debajo ==== */
@media (max-width:767px){
  body.woocommerce-cart .admiral-cart-items-card table.shop_table tr.cart_item { 
  display:grid; 
  grid-template-columns:30px 110px 1fr; /* X + imagen + subtotal */
  grid-template-areas:'remove name name' 'remove thumb subtotal';
  align-items:start; 
  column-gap:8px; 
  row-gap:4px; 
  padding-top:4px;
  margin-bottom:40px; /* 40px entre items usando solo margen inferior */
  }
  body.woocommerce-cart .admiral-cart-items-card table.shop_table tr.cart_item:last-of-type { margin-bottom:0; }
  /* Si la última fila real es la de acciones, eliminar margen del último producto (penúltimo tr) */
  body.woocommerce-cart .admiral-cart-items-card table.shop_table tr.cart_item:nth-last-child(2) { margin-bottom:0; }
  body.woocommerce-cart .admiral-cart-items-card table.shop_table tr.cart_item td.product-remove { 
  grid-area:remove; 
  padding:0; 
  width:30px; 
  text-align:left; 
  position:static;
  align-self:start; 
  }
  /* Ajuste vertical: subir la X y alinearla completamente arriba-izquierda */
  body.woocommerce-cart .admiral-cart-items-card table.shop_table tr.cart_item td.product-remove a.remove { 
    align-items:flex-start; 
    justify-content:flex-start; 
    padding:0; 
    line-height:1; 
    position:relative; 
    top:-1px; /* ajuste vertical refinado */
    left:0; 
    transform:scale(1.08); /* igual que estado hover anterior para mantener posición "correcta" siempre */
    transform-origin:center; 
  }
  /* Mantener misma escala en hover para que no se mueva */
  body.woocommerce-cart .admiral-cart-items-card table.shop_table tr.cart_item td.product-remove a.remove:hover { transform:scale(1.08); }
  body.woocommerce-cart .admiral-cart-items-card table.shop_table tr.cart_item td.product-thumbnail { 
  grid-area:thumb; 
  padding:0; 
  margin:0; 
  }
  body.woocommerce-cart .admiral-cart-items-card table.shop_table tr.cart_item td.product-subtotal { 
  grid-area:subtotal; 
  padding:0; 
  text-align:right; 
  font-size:15px; 
  }
  body.woocommerce-cart .admiral-cart-items-card table.shop_table tr.cart_item td.product-name { 
  grid-area:name; 
  padding:2px 0 4px 0; 
  display:block; 
  }
  body.woocommerce-cart .admiral-cart-items-card table.shop_table tr.cart_item td.product-remove,
  body.woocommerce-cart .admiral-cart-items-card table.shop_table tr.cart_item td.product-thumbnail,
  body.woocommerce-cart .admiral-cart-items-card table.shop_table tr.cart_item td.product-subtotal { padding-top:2px; }
  /* Ajustar imagen en este layout */
  body.woocommerce-cart .admiral-cart-items-card table.shop_table tr.cart_item td.product-thumbnail img { width:100%; max-width:108px; }
  /* Ajustar botón remove más compacto aún en mobile */
  body.woocommerce-cart .admiral-cart-items-card table.shop_table tr.cart_item td.product-remove a.remove { width:22px; height:22px; font-size:16px; }
  body.woocommerce-cart .admiral-cart-items-card table.shop_table tr.cart_item td.product-remove a.remove { 
    width:28px; height:28px; font-size:20px; 
  }
}
/* Nombre y subtotal alineados verticalmente al centro respecto a la miniatura */
body.woocommerce-cart .admiral-cart-items-card table.shop_table tr.cart_item { vertical-align:middle; }
body.woocommerce-cart .admiral-cart-items-card table.shop_table td.product-name { padding-top:12px; padding-bottom:12px; padding-left:20px; }
body.woocommerce-cart .admiral-cart-items-card table.shop_table td.product-subtotal { padding-top:12px; padding-bottom:12px; font-weight:500; }
/* === Subtotal apilado dentro de totals card === */
body.woocommerce-cart .cart_totals .cart-subtotal--stacked .cart-subtotal-cell { padding:10px 0 4px; }
body.woocommerce-cart .cart_totals .cart-subtotal--stacked .subtotal-stacked { display:flex; flex-direction:column; align-items:flex-start; gap:2px; }
body.woocommerce-cart .cart_totals .cart-subtotal--stacked .subtotal-label { font-size:13px; letter-spacing:.5px; font-weight:600; text-transform:uppercase; font-family:'Montserrat',system-ui,sans-serif; line-height:1.1; }
body.woocommerce-cart .cart_totals .cart-subtotal--stacked .subtotal-amount { font-size:16px; font-weight:600; font-family:'Montserrat',system-ui,sans-serif; line-height:1.15; }
/* Quitar cualquier pseudo-colon heredado (defensivo) */
body.woocommerce-cart .cart_totals .cart-subtotal--stacked .subtotal-label:after { content:'' !important; }
@media (max-width:767px){
  body.woocommerce-cart .cart_totals .cart-subtotal--stacked .cart-subtotal-cell { padding:8px 0 2px; }
  body.woocommerce-cart .cart_totals .cart-subtotal--stacked .subtotal-label { font-size:12px; }
  body.woocommerce-cart .cart_totals .cart-subtotal--stacked .subtotal-amount { font-size:15px; }
  /* Refuerzo: si por cache sigue existiendo th + td estándar, apilar usando display:block */
  body.woocommerce-cart .cart_totals tr.cart-subtotal:not(.cart-subtotal--stacked) th,
  body.woocommerce-cart .cart_totals tr.cart-subtotal:not(.cart-subtotal--stacked) td { display:block; width:100%; padding:4px 0 0 0; text-align:left !important; }
  body.woocommerce-cart .cart_totals tr.cart-subtotal:not(.cart-subtotal--stacked) th { padding-top:8px; font-size:12px; letter-spacing:.5px; font-weight:600; text-transform:uppercase; font-family:'Montserrat',system-ui,sans-serif; }
  body.woocommerce-cart .cart_totals tr.cart-subtotal:not(.cart-subtotal--stacked) td { font-size:15px; font-weight:600; font-family:'Montserrat',system-ui,sans-serif; }
}
/* Botón eliminar minimal: mayor área clickable */
/* Botón eliminar refinado: X delgada, pegada al borde, sin círculo visible */
body.woocommerce-cart .admiral-cart-items-card table.shop_table td.product-remove { width:34px; padding-right:4px; padding-left:4px; text-align:left; }
body.woocommerce-cart .admiral-cart-items-card table.shop_table td.product-remove a.remove {
  display:inline-flex; align-items:center; justify-content:center;
  width:24px; height:24px; line-height:1; font-size:18px; font-weight:400;
  background:transparent; color:#000 !important; text-decoration:none; border:none; border-radius:0;
  padding:0; margin:0; cursor:pointer;
  transition:color .15s ease, transform .15s ease;
  position:relative;
}
body.woocommerce-cart .admiral-cart-items-card table.shop_table td.product-remove a.remove:hover {
  color:#b30000 !important; transform:scale(1.08);
}
body.woocommerce-cart .admiral-cart-items-card table.shop_table td.product-remove a.remove:active { transform:scale(.92); }
body.woocommerce-cart .admiral-cart-items-card table.shop_table td.product-remove a.remove:focus { outline:2px solid #000; outline-offset:2px; }
/* Aumentar área clicable invisible alrededor (hit area) */
body.woocommerce-cart .admiral-cart-items-card table.shop_table td.product-remove a.remove::before { content:""; position:absolute; inset:-4px; }
/* Afinar encabezados para nueva distribución */
body.woocommerce-cart .admiral-cart-items-card table.shop_table thead th.product-subtotal { text-align:right; }
/* === Neutralizar zebra striping de filas carrito (forzar fondo uniforme) === */
body.woocommerce-cart .admiral-cart-items-card table.shop_table tr.cart_item,
body.woocommerce-cart .admiral-cart-items-card table.shop_table tr.cart_item:nth-child(odd),
body.woocommerce-cart .admiral-cart-items-card table.shop_table tr.cart_item:nth-child(even) {
  background:#fff !important;
}
body.woocommerce-cart .admiral-cart-items-card table.shop_table tr.cart_item td { background:transparent !important; }
/* Evitar que algún hover reasigne color */
body.woocommerce-cart .admiral-cart-items-card table.shop_table tr.cart_item:hover { background:#fff !important; }

/* === Override márgenes auto que recentran la imagen y producen indent === */
@media screen and (max-width:719px){
  .woocommerce table.cart .product-thumbnail img,
  .woocommerce #content table.cart .product-thumbnail img,
  .woocommerce-page table.cart .product-thumbnail img,
  .woocommerce-page #content table.cart .product-thumbnail img {
    margin-left:0 !important;
    margin-right:0 !important;
    display:block;
  }
}
@media screen and (max-width:767px){
  /* Refuerzo para nuestro breakpoint principal */
  body.woocommerce-cart .admiral-cart-items-card table.shop_table tr.cart_item td.product-thumbnail img {
    margin-left:0 !important;
    margin-right:0 !important;
  }
}


/* ===== Header inicial (transparente) ===== */
/* ====== FIN Carrito / INICIO Checkout styles appended al final del archivo original ====== */
.kb-header-sticky-wrapper {
  --header-text-color: var(--global-palette9, #fff);
  --header-icon-color: var(--global-palette9, #fff);
  --header-text-color-sticky: var(--global-palette3, #000);
  --header-icon-color-sticky: var(--global-palette3, #000);
  /* Nuevas variables unificadas */
  --header-bg-transparent: transparent;
  --header-bg-opaque: var(--global-palette9, #fff);
  --header-cart-badge-bg: var(--global-palette1, #B59F6B);
  --header-cart-badge-color: var(--global-palette9, #fff);
  background-color: var(--header-bg-transparent);
  box-shadow: none;
  transition: background-color .4s ease .15s, box-shadow .4s ease .15s, color .3s ease;
}

/* Generic link & button text colors (desktop/tablet/mobile unified) */
.kb-header-sticky-wrapper .kb-nav-link-content,
.kb-header-sticky-wrapper .kt-btn-inner-text,
.kb-header-sticky-wrapper .wc-block-mini-cart__button {
  color: var(--header-text-color);
  transition: color .3s ease;
}

/* Hamburger icon (stroke based) */
.kb-header-sticky-wrapper .menu-toggle svg,
.kb-header-sticky-wrapper .wp-block-kadence-off-canvas-trigger svg {
  stroke: var(--header-icon-color);
  fill: none;
  transition: stroke .3s ease;
}

/* ===== Header sticky ===== */
.kb-header-sticky-wrapper.item-is-stuck {
  background-color: var(--header-bg-opaque);
  box-shadow: 0 2px 8px rgba(0, 0, 0, .15);
}
.kb-header-sticky-wrapper.item-is-stuck .kb-nav-link-content,
.kb-header-sticky-wrapper.item-is-stuck .kt-btn-inner-text,
.kb-header-sticky-wrapper.item-is-stuck .wc-block-mini-cart__button {
  color: var(--header-text-color-sticky);
}
.kb-header-sticky-wrapper.item-is-stuck .menu-toggle svg,
.kb-header-sticky-wrapper.item-is-stuck .wp-block-kadence-off-canvas-trigger svg {
  stroke: var(--header-icon-color-sticky);
}

/* ===== Cambio de logo ===== */
.kb-header-sticky-wrapper .custom-logo { content: url('/wp-content/uploads/2025/08/logo.svg'); }
.kb-header-sticky-wrapper.item-is-stuck .custom-logo { content: url('/wp-content/uploads/2025/07/logo.svg'); }

/* === CTA Reservar (usar clase personalizada) === */
.cta-reservar {
  --cta-bg-initial: var(--global-palette3, #000);
  --cta-bg-sticky: var(--global-palette1, #B59F6B);
  --cta-bg-hover: var(--global-palette2, #9E873F);
  --cta-color: var(--global-palette9, #fff);
  --cta-radius: 4px;
  border-radius: var(--cta-radius);
  transition: background .3s ease, color .3s ease, box-shadow .3s ease, filter .3s ease;
}
.kb-header-sticky-wrapper:not(.item-is-stuck) .cta-reservar {
  background: var(--cta-bg-initial);
  color: var(--cta-color);
  border: none;
}
.kb-header-sticky-wrapper.item-is-stuck .cta-reservar {
  background: var(--cta-bg-sticky);
  color: var(--cta-color);
}
.cta-reservar .kt-btn-inner-text { color: inherit !important; }
.wp-block-kadence-off-canvas .cta-reservar {
  background: var(--cta-bg-initial);
  color: var(--cta-color);
}
.cta-reservar:hover,
.cta-reservar:focus { background: var(--cta-bg-hover) !important; }

/* Refuerzo CTA: forzar colores si Kadence aplica inline (mobile/desktop) */
.kb-header-sticky-wrapper:not(.item-is-stuck) .cta-reservar { background: var(--cta-bg-initial) !important; background-image: none !important; color: var(--cta-color) !important; }
.kb-header-sticky-wrapper.item-is-stuck .cta-reservar { background: var(--cta-bg-sticky) !important; background-image: none !important; color: var(--cta-color) !important; }

/* Fix: asegurar texto blanco en CTA cuando fondo es oro (sticky) */
.kb-header-sticky-wrapper.item-is-stuck .cta-reservar .kt-btn-inner-text { color: var(--cta-color) !important; }

/* === Simple Product Gallery 3:2 viewer (images contained) === */
.kadence-product-gallery-main.splide { aspect-ratio: 3 / 2; width: 100%; height: auto !important; overflow: hidden; }
@supports not (aspect-ratio: 3 / 2) { .kadence-product-gallery-main.splide { position: relative; height: 0; padding-top: 66.666%; } .kadence-product-gallery-main.splide .splide__track { position: absolute; inset: 0; } }
.kadence-product-gallery-main.splide .splide__track,
.kadence-product-gallery-main.splide .splide__list,
.kadence-product-gallery-main.splide .splide__slide { height: 100% !important; }
.kadence-product-gallery-main.splide .splide__slide img { background: transparent !important; width: 100%; height: 100%; object-fit: contain; }
/* Remove scaling/opacity effects for stability */
.kadence-product-gallery-main.splide .splide__slide { transform: none !important; opacity: 1 !important; }
/* === End simple gallery override === */
.kadence-product-gallery-main.splide .splide__slide.portrait { position: relative; }
.kadence-product-gallery-main.splide .splide__slide.portrait::before,
.kadence-product-gallery-main.splide .splide__slide.portrait::after { content: ""; position: absolute; top: 0; bottom: 0; width: clamp(12px, 4%, 48px); pointer-events: none; }
.kadence-product-gallery-main.splide .splide__slide.portrait::before { left: 0; }
.kadence-product-gallery-main.splide .splide__slide.portrait::after { right: 0; }
/* Optional darker theme on hover */
.kadence-product-gallery-main.splide .splide__slide.portrait:hover::before,
.kadence-product-gallery-main.splide .splide__slide.portrait:hover::after { background: rgba(0, 0, 0, .1); }

/* === Adjust product gallery: ensure vertical images fully contained (no crop) === */
.kadence-product-gallery-main.splide .splide__slide { display: flex; align-items: center; justify-content: center; }
.kadence-product-gallery-main.splide .splide__slide img { height: 100% !important; width: auto !important; max-width: 100%; object-fit: contain !important; background: transparent !important; }
/* Optional subtle side background (commented out)
.kadence-product-gallery-main.splide { background:transparent; }
*/
/* === End adjust === */

/* === Kadence product gallery: rounded corners main + thumbs (custom) === */
.kadence-product-gallery-main.splide .splide__slide img,
.kadence-product-gallery-thumbnails .splide__slide img {
  border-radius: 3px;
}
/* Ensure clipping for any overlay/zoom layers */
.kadence-product-gallery-main.splide .splide__slide,
.kadence-product-gallery-thumbnails .splide__slide {
  overflow: hidden;
  border-radius: 3px; /* also apply to wrapper for consistency */
}
/* Focus outline should respect radius */
.kadence-product-gallery-thumbnails .splide__slide:focus-visible {
  outline: 2px solid var(--global-palette1, #B59F6B);
  outline-offset: 2px;
  border-radius: 3px;
}
/* === End Kadence product gallery rounding === */

/* Arrows reverted: removed custom overrides to restore theme/Splide defaults */
/* === Custom arrows (restaurado: flecha blanca sólida con sombra y elevación) === */
.kadence-product-gallery-thumbnails.splide .splide__arrows { overflow: visible; }
.kadence-product-gallery-thumbnails.splide .splide__arrows .splide__arrow {
  background: none !important;
  border: none !important;
  box-shadow: none !important;
  color: #fff;
  width: 36px;
  height: 36px;
  padding: 6px 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: .92;
  transition: opacity .25s ease;
  overflow: visible;
}
.kadence-product-gallery-thumbnails.splide .splide__arrows .splide__arrow svg {
  width: 20px;
  height: 20px;
  display: block;
}
.kadence-product-gallery-thumbnails.splide .splide__arrows .splide__arrow svg path {
  fill: currentColor !important; /* blanco sólido */
  stroke: none !important;
  /* sin sombra */
  transition: transform .25s ease;
}
.kadence-product-gallery-thumbnails.splide .splide__arrows .splide__arrow:hover svg path,
.kadence-product-gallery-thumbnails.splide .splide__arrows .splide__arrow:focus-visible svg path {
  transform: scale(1.06);
}
.kadence-product-gallery-thumbnails.splide .splide__arrows .splide__arrow:hover,
.kadence-product-gallery-thumbnails.splide .splide__arrows .splide__arrow:focus-visible {
  opacity: 1;
}
/* === End custom arrows restored === */

/* === Precio: reducir símbolo de moneda al 80% === */
/* Ajuste específico para páginas de producto y listados (usando clase estándar WooCommerce) */
.woocommerce div.product p.price .woocommerce-Price-currencySymbol,
.woocommerce div.product span.price .woocommerce-Price-currencySymbol,
.woocommerce ul.products li.product .price .woocommerce-Price-currencySymbol {
  font-size: 80%;
  line-height: 1;
  display: inline-block;
  transform: translateY(-2%); /* leve ajuste vertical */
  opacity: .95; /* suaviza peso visual */
}

/* Opcional: reducir ligeramente el espacio tras el símbolo si el font deja hueco amplio */
.woocommerce .price .woocommerce-Price-currencySymbol { margin-right: 0.05em; }

/* === Título de producto: activar lining figures === */
.single-product .product_title,
.single-product .entry-title,
/* También tarjetas y variantes de loop personalizadas */
.admiral-product-card .apc-title,
.admiral-comida-title,
.admiral-room-number {
  font-variant-numeric: lining-nums tabular-nums; /* prefer lining + tabular para alineación en listados */
  font-feature-settings: 'lnum' 1, 'tnum' 1, 'pnum' 0; /* fallback explícito */
}


/* === Fix CTA hover specificity (prior rules with :not(.item-is-stuck) blocked hover) === */
.kb-header-sticky-wrapper:not(.item-is-stuck) .cta-reservar:hover,
.kb-header-sticky-wrapper.item-is-stuck .cta-reservar:hover {
  background: var(--cta-bg-hover) !important;
}
/* === End fix === */

/* === Cart Totals: igualar EXACTO formato de cards disponibilidad (.admiral-room-price / .acf-price) === */
/* Base: Montserrat 15px peso 500 (contenedor), símbolo 10px, número (amount) 600 */
.woocommerce-cart .cart_totals tr.order-total td,
.woocommerce-cart .cart_totals tr.order-total th {
  font-family: Montserrat, system-ui, sans-serif;
  font-size:15px;
  font-weight:500; /* igual que .admiral-room-price base */
  letter-spacing:0; /* sin tracking extra */
  text-transform:none;
}
.woocommerce-cart .cart_totals tr.order-total .amount { font-weight:600; }
.woocommerce-cart .cart_totals tr.order-total .woocommerce-Price-currencySymbol {
  font-size:10px; /* mismo que .admiral-room-price .woocommerce-Price-currencySymbol */
  margin-right:2px;
  line-height:1;
  opacity:.95;
  /* alineado sin desplazamiento vertical */
}
.woocommerce-cart .cart_totals tr.order-total td { text-align:right; }
@media (max-width:767px){
  .woocommerce-cart .cart_totals tr.order-total td,
  .woocommerce-cart .cart_totals tr.order-total th { font-size:15px; }
}
/* === End cart total price style (exact match) === */

/* === Cart Items: subtotales con mismo formato que disponibilidad === */
.woocommerce-cart table.shop_table.cart td.product-subtotal { 
  font-family:Montserrat,system-ui,sans-serif; 
  font-size:15px; 
  font-weight:500; 
  line-height:1.2; 
  vertical-align:middle; 
}
.woocommerce-cart table.shop_table.cart td.product-subtotal .amount { font-weight:600; }
.woocommerce-cart table.shop_table.cart td.product-subtotal .woocommerce-Price-currencySymbol { 
  font-size:10px; 
  margin-right:2px; 
  opacity:.95; 
}
@media (max-width:767px){
  /* Remover label inline default (Woo pone "Subtotal" antes con ::before en versiones responsive de tablas) */
  .woocommerce-cart table.shop_table.cart td.product-subtotal:before,
  body.woocommerce-cart .admiral-cart-items-card table.shop_table tr.cart_item td.product-subtotal:before { content:'' !important; }
  .woocommerce-cart table.shop_table.cart td.product-subtotal { font-size:14px; }

  /* Apilar label (pseudo) y monto: imagen queda en su celda, subtotal ahora es columna derecha vertical */
  body.woocommerce-cart .admiral-cart-items-card table.shop_table tr.cart_item td.product-subtotal {
    display:flex; 
    flex-direction:column; 
    align-items:flex-end; 
  justify-content:center; 
    gap:2px; 
    padding:0; 
  min-height:100%;
  }
  body.woocommerce-cart .admiral-cart-items-card table.shop_table tr.cart_item td.product-subtotal .amount,
  body.woocommerce-cart .admiral-cart-items-card table.shop_table tr.cart_item td.product-subtotal .woocommerce-Price-amount { order:2; }
  body.woocommerce-cart .admiral-cart-items-card table.shop_table tr.cart_item td.product-subtotal .woocommerce-Price-currencySymbol { font-size:10px; margin-right:2px; }
  /* Pseudo label arriba (sin dos puntos) */
  body.woocommerce-cart .admiral-cart-items-card table.shop_table tr.cart_item td.product-subtotal::after {
    content:'Subtotal';
    order:1;
    width:100%;
    text-align:right;
    font-family:'Montserrat',system-ui,sans-serif;
    font-weight:600;
    font-size:12px;
    letter-spacing:.5px;
    text-transform:uppercase;
    line-height:1.1;
  }
  /* Asegurar que el monto queda alineado a la derecha ocupando toda la anchura */
  body.woocommerce-cart .admiral-cart-items-card table.shop_table tr.cart_item td.product-subtotal .amount { display:inline-block; text-align:right; width:100%; }
}
/* === End cart item subtotal style === */

/* === Typography override (scoped): force regular 400 only inside date widget === */
.admiral-date-widget, 
.admiral-date-widget input,
.admiral-date-widget select,
.admiral-date-widget optgroup,
.admiral-date-widget textarea,
.admiral-date-widget button {
  font-weight:400 !important;
}
/* (Removed global override to avoid affecting rest of site) */

/* === Mini cart button state normalization === */
.kb-header-sticky-wrapper .wc-block-mini-cart__button:focus,
.kb-header-sticky-wrapper .wc-block-mini-cart__button:active,
.kb-header-sticky-wrapper .wc-block-mini-cart__button[aria-expanded="true"],
.kb-header-sticky-wrapper .wc-block-mini-cart__button.is-active,
.kb-header-sticky-wrapper .wc-block-mini-cart__button.has-open-drawer {
  color: var(--header-text-color) !important;
  background: transparent !important;
  box-shadow:none !important;
}
.kb-header-sticky-wrapper.item-is-stuck .wc-block-mini-cart__button:focus,
.kb-header-sticky-wrapper.item-is-stuck .wc-block-mini-cart__button:active,
.kb-header-sticky-wrapper.item-is-stuck .wc-block-mini-cart__button[aria-expanded="true"],
.kb-header-sticky-wrapper.item-is-stuck .wc-block-mini-cart__button.is-active,
.kb-header-sticky-wrapper.item-is-stuck .wc-block-mini-cart__button.has-open-drawer {
  color: var(--header-text-color-sticky) !important;
  background: transparent !important;
}
/* Accessible focus ring (solo teclado) */
.kb-header-sticky-wrapper .wc-block-mini-cart__button:focus-visible {
  outline:2px solid currentColor;
  outline-offset:2px;
  border-radius:4px;
}
/* Prevent hover color shift to black on transparent header */
.kb-header-sticky-wrapper:not(.item-is-stuck) .wc-block-mini-cart__button:hover,
.kb-header-sticky-wrapper:not(.item-is-stuck) .wc-block-mini-cart__button:focus:hover {
  color: var(--header-text-color) !important;
  background: transparent !important;
  filter:none !important;
}
/* Ensure sticky state keeps intended color without unwanted hover bg */
.kb-header-sticky-wrapper.item-is-stuck .wc-block-mini-cart__button:hover,
.kb-header-sticky-wrapper.item-is-stuck .wc-block-mini-cart__button:focus:hover {
  color: var(--header-text-color-sticky) !important;
  background: transparent !important;
}
/* === End mini cart normalization === */

/* === Footer: enlaces sociales forzados blancos === */
/* Se fuerza color de icono y texto. Usa !important para sobreescribir inline y paletas. */
.admiral_footer .wp-block-social-links .wp-social-link a,
.admiral_footer .wp-block-social-links .wp-social-link a:visited,
.admiral_footer .wp-block-social-links .wp-social-link a:hover,
.admiral_footer .wp-block-social-links .wp-social-link a:focus,
.admiral_footer .wp-block-social-links .wp-social-link a:active {
  color:#fff !important;
  text-decoration:none !important;
}
/* SVG internos */
.admiral_footer .wp-block-social-links .wp-social-link a svg {
  fill: currentColor !important;
  color:#fff !important;
}
/* Si el estilo es stacked con background, mantenemos fondo transparente y solo icono blanco */
.admiral_footer .wp-block-social-links .wp-social-link .kb-svg-icon-wrap {
  background:transparent !important;
  color:#fff !important;
  box-shadow:none !important;
}
/* Hover subtle: ligera opacidad */
.admiral_footer .wp-block-social-links .wp-social-link a:hover .kb-svg-icon-wrap,
.admiral_footer .wp-block-social-links .wp-social-link a:focus .kb-svg-icon-wrap {
  opacity:.85;
}
/* === End footer social links override === */

/* === Navbar text shadow only when header is transparent === */
.kb-header-sticky-wrapper:not(.item-is-stuck) .kb-nav-link-content,
.kb-header-sticky-wrapper:not(.item-is-stuck) .kt-btn-inner-text,
.kb-header-sticky-wrapper:not(.item-is-stuck) .wc-block-mini-cart__button,
.kb-header-sticky-wrapper:not(.item-is-stuck) .admiral-date-collapsed-label { text-shadow:1px 1px 1px #00000050; }
/* Icon shadows (simulate with drop-shadow) */
.kb-header-sticky-wrapper:not(.item-is-stuck) .menu-toggle svg,
.kb-header-sticky-wrapper:not(.item-is-stuck) .wp-block-kadence-off-canvas-trigger svg,
.kb-header-sticky-wrapper:not(.item-is-stuck) .wc-block-mini-cart__icon { filter:drop-shadow(1px 1px 1px #00000050); }
/* Remove shadow when sticky */
.kb-header-sticky-wrapper.item-is-stuck .kb-nav-link-content,
.kb-header-sticky-wrapper.item-is-stuck .kt-btn-inner-text,
.kb-header-sticky-wrapper.item-is-stuck .wc-block-mini-cart__button,
.kb-header-sticky-wrapper.item-is-stuck .admiral-date-collapsed-label { text-shadow:none; }
.kb-header-sticky-wrapper.item-is-stuck .menu-toggle svg,
.kb-header-sticky-wrapper.item-is-stuck .wp-block-kadence-off-canvas-trigger svg,
.kb-header-sticky-wrapper.item-is-stuck .wc-block-mini-cart__icon { filter:none; }
/* === End navbar conditional shadows === */

/* === Floating hover effect on shadowed header elements (only when transparent) === */
.kb-header-sticky-wrapper:not(.item-is-stuck) .kb-nav-link-content,
.kb-header-sticky-wrapper:not(.item-is-stuck) .cta-reservar,
.kb-header-sticky-wrapper:not(.item-is-stuck) .wc-block-mini-cart__button,
.kb-header-sticky-wrapper:not(.item-is-stuck) .admiral-date-collapsed-label,
.kb-header-sticky-wrapper:not(.item-is-stuck) .menu-toggle,
.kb-header-sticky-wrapper:not(.item-is-stuck) .wp-block-kadence-off-canvas-trigger { display:inline-flex; align-items:center; transition: transform .25s ease, text-shadow .25s ease, filter .25s ease; will-change: transform; }
.kb-header-sticky-wrapper:not(.item-is-stuck) .kb-nav-link-content:hover,
.kb-header-sticky-wrapper:not(.item-is-stuck) .cta-reservar:hover,
.kb-header-sticky-wrapper:not(.item-is-stuck) .wc-block-mini-cart__button:hover,
.kb-header-sticky-wrapper:not(.item-is-stuck) .admiral-date-collapsed-label:hover,
.kb-header-sticky-wrapper:not(.item-is-stuck) .menu-toggle:hover,
.kb-header-sticky-wrapper:not(.item-is-stuck) .wp-block-kadence-off-canvas-trigger:hover { transform: translateY(-2px); }
/* Reduce motion preference: disable float */
@media (prefers-reduced-motion: reduce){
  .kb-header-sticky-wrapper:not(.item-is-stuck) .kb-nav-link-content,
  .kb-header-sticky-wrapper:not(.item-is-stuck) .cta-reservar,
  .kb-header-sticky-wrapper:not(.item-is-stuck) .wc-block-mini-cart__button,
  .kb-header-sticky-wrapper:not(.item-is-stuck) .admiral-date-collapsed-label,
  .kb-header-sticky-wrapper:not(.item-is-stuck) .menu-toggle,
  .kb-header-sticky-wrapper:not(.item-is-stuck) .wp-block-kadence-off-canvas-trigger { transition:none; }
  .kb-header-sticky-wrapper:not(.item-is-stuck) .kb-nav-link-content:hover,
  .kb-header-sticky-wrapper:not(.item-is-stuck) .cta-reservar:hover,
  .kb-header-sticky-wrapper:not(.item-is-stuck) .wc-block-mini-cart__button:hover,
  .kb-header-sticky-wrapper:not(.item-is-stuck) .admiral-date-collapsed-label:hover,
  .kb-header-sticky-wrapper:not(.item-is-stuck) .menu-toggle:hover,
  .kb-header-sticky-wrapper:not(.item-is-stuck) .wp-block-kadence-off-canvas-trigger:hover { transform:none; }
}
/* === End floating hover effect === */

/* === Floating hover effect also when header is sticky (opaque) === */
.kb-header-sticky-wrapper.item-is-stuck .kb-nav-link-content,
.kb-header-sticky-wrapper.item-is-stuck .cta-reservar,
.kb-header-sticky-wrapper.item-is-stuck .wc-block-mini-cart__button,
.kb-header-sticky-wrapper.item-is-stuck .admiral-date-collapsed-label,
.kb-header-sticky-wrapper.item-is-stuck .menu-toggle,
.kb-header-sticky-wrapper.item-is-stuck .wp-block-kadence-off-canvas-trigger { display:inline-flex; align-items:center; transition: transform .25s ease; will-change: transform; }
.kb-header-sticky-wrapper.item-is-stuck .kb-nav-link-content:hover,
.kb-header-sticky-wrapper.item-is-stuck .cta-reservar:hover,
.kb-header-sticky-wrapper.item-is-stuck .wc-block-mini-cart__button:hover,
.kb-header-sticky-wrapper.item-is-stuck .admiral-date-collapsed-label:hover,
.kb-header-sticky-wrapper.item-is-stuck .menu-toggle:hover,
.kb-header-sticky-wrapper.item-is-stuck .wp-block-kadence-off-canvas-trigger:hover { transform: translateY(-2px); }
@media (prefers-reduced-motion: reduce){
  .kb-header-sticky-wrapper.item-is-stuck .kb-nav-link-content,
  .kb-header-sticky-wrapper.item-is-stuck .cta-reservar,
  .kb-header-sticky-wrapper.item-is-stuck .wc-block-mini-cart__button,
  .kb-header-sticky-wrapper.item-is-stuck .admiral-date-collapsed-label,
  .kb-header-sticky-wrapper.item-is-stuck .menu-toggle,
  .kb-header-sticky-wrapper.item-is-stuck .wp-block-kadence-off-canvas-trigger { transition:none; }
  .kb-header-sticky-wrapper.item-is-stuck .kb-nav-link-content:hover,
  .kb-header-sticky-wrapper.item-is-stuck .cta-reservar:hover,
  .kb-header-sticky-wrapper.item-is-stuck .wc-block-mini-cart__button:hover,
  .kb-header-sticky-wrapper.item-is-stuck .admiral-date-collapsed-label:hover,
  .kb-header-sticky-wrapper.item-is-stuck .menu-toggle:hover,
  .kb-header-sticky-wrapper.item-is-stuck .wp-block-kadence-off-canvas-trigger:hover { transform:none; }
}
/* Exclude reservation widget from sticky hover effect */
.kb-header-sticky-wrapper.item-is-stuck .admiral-date-widget .admiral-date-collapsed-label { transform:none !important; }
/* === End floating hover effect sticky === */

/* =============================================================
  Habitaciones Card Title (responsive sizes)
  Desktop: 30px, Tablet (<=1024px): 24px, Mobile (<=767px): 22px
  ============================================================= */
/* === MARKER: H5 Habitaciones (.card-habitaciones-flex .acf-title) SIZE DEFINITIONS START === */
.card-habitaciones-flex .acf-title {  line-height:1.1; margin:0 0 .35em; font-weight:regular; font-variant-numeric: lining-nums; font-feature-settings:'lnum'; }
/* === MARKER END === */

/* Specificity override: if card carries multiple classes (e.g. layout-flex) and is affected by
  .admiral-comida-card.layout-flex .acf-title (3 class selectors), we reassert desired sizes
  with equal/higher specificity for habitaciones cards. */

/* =============================================
   Admiral Date Widget: Variables globales
   Edita estos valores para personalizar el widget.
   ============================================= */
/* =============================================================
  Habitaciones Card Layout (replica estructura flex de comida)
  Mantiene tamaños propios de título definidos arriba (30/24/22)
  ============================================================= */
.card-habitaciones-flex.layout-flex { display:flex; flex-direction:column; position:relative; background:#fff; border:1px solid #e5e5e5; border-radius:6px; overflow:hidden; }
.card-habitaciones-flex.layout-flex .acf-card-link-overlay { position:absolute; inset:0; z-index:30; text-indent:-9999px; overflow:hidden; display:block; cursor:pointer; }
.card-habitaciones-flex.layout-flex { cursor:pointer; }
.card-habitaciones-flex.layout-flex:hover .acf-card-link-overlay, 
.card-habitaciones-flex.layout-flex:focus-within .acf-card-link-overlay { cursor:pointer; }
/* Children debajo del overlay; no necesitan z-index alto */
.card-habitaciones-flex.layout-flex .acf-title,
.card-habitaciones-flex.layout-flex .acf-figure,
.card-habitaciones-flex.layout-flex .acf-desc,
.card-habitaciones-flex.layout-flex .acf-bottom-bar { position:relative; }
.card-habitaciones-flex.layout-flex .acf-card-link-overlay:focus-visible { outline:2px solid var(--global-palette1,#B59F6B); outline-offset:2px; }
.card-habitaciones-flex.layout-flex:hover { border-color:#ddd; }
.card-habitaciones-flex.layout-flex .acf-media { width:100%; position:relative; aspect-ratio:3/2; background:#fafafa; overflow:hidden; }
/* Hover zoom sutil para indicar click en cards de disponibilidad */
.card-disponibilidad-flex.layout-flex .acf-media .acf-figure { display:block; position:relative; overflow:hidden; }
.card-disponibilidad-flex.layout-flex .acf-media .acf-figure img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .5s ease, filter .5s ease; will-change:transform; transform-origin:center center; }
/* Aplicar zoom solo cuando el puntero esté sobre la propia figura (no toda la card) */
.card-disponibilidad-flex.layout-flex .acf-media .acf-figure:hover img,
.card-disponibilidad-flex.layout-flex .acf-media .acf-figure:focus img,
.card-disponibilidad-flex.layout-flex .acf-media .acf-figure:active img { transform:scale(1.04); }
.card-habitaciones-flex.layout-flex .acf-figure img { width:100%; height:100%; object-fit:cover; display:block; }
.card-habitaciones-flex.layout-flex .acf-body { flex:0 0 auto; position:relative; display:block; background:#fff; }
.card-habitaciones-flex.layout-flex .acf-inner { display:block; padding:15px 18px 10px; width:100%; }
.card-habitaciones-flex.layout-flex .acf-desc { margin:0; font-size:14px; line-height:1.15; color:#555; flex:1 1 auto; overflow:hidden; display:-webkit-box; -webkit-line-clamp:6; line-clamp:6; -webkit-box-orient:vertical; text-overflow:ellipsis; }
.card-habitaciones-flex.layout-flex .acf-price { position:absolute; right:0; bottom:-2px; font-size:15px; font-weight:500; font-family:Montserrat,system-ui,sans-serif; }
.card-habitaciones-flex.layout-flex .acf-price .woocommerce-Price-currencySymbol { font-size:11px; margin-right:1px; }
.card-disponibilidad-flex.layout-flex,
.card-disponibilidad-flex.layout-flex:hover,
.card-disponibilidad-flex.layout-flex:focus-within { cursor: default; }
.card-habitaciones-flex .acf-features { display:flex; flex-wrap:wrap; gap:6px; margin:.15rem 0 .25rem; }
.card-habitaciones-flex .acf-feature { width:30px; height:30px; display:inline-flex; align-items:center; justify-content:center; background:#f4f4f4; border-radius:4px; position:relative; overflow:hidden; }
.card-habitaciones-flex .acf-feature img.acf-feature-img { width:100%; height:100%; object-fit:cover; display:block; }
.card-habitaciones-flex .acf-feature.more { font-size:12px; font-weight:600; color:#444; background:#e9e9e9; }
.card-habitaciones-flex.layout-flex.flex-d-column .acf-features { order:3; }
/* Desktop direction modifiers */
.card-habitaciones-flex.layout-flex.flex-d-row { min-height:180px; flex-direction:row; }
/* Habitaciones row: 50/50 split, image 3:2 */
.card-habitaciones-flex.layout-flex.flex-d-row:not(.card-disponibilidad-flex) .acf-media { flex:0 0 50%; max-width:50%; aspect-ratio:3/2; }
/* Disponibilidad en row: sin ratio fijo, permitir cover */
.card-disponibilidad-flex.layout-flex.flex-d-row .acf-media { flex:0 0 50%; max-width:50%; }
.card-disponibilidad-flex.layout-flex.flex-d-row .acf-media .acf-figure { position:relative; display:block; height:100%; }
.card-disponibilidad-flex.layout-flex.flex-d-row .acf-media .acf-figure img { width:100%; height:100%; object-fit:cover; }
/* Override: en cards de disponibilidad (row) la imagen debe cubrir toda la altura de la card */
.card-disponibilidad-flex.layout-flex.flex-d-row { align-items:stretch; }
.card-disponibilidad-flex.layout-flex.flex-d-row:not(.flex-m-column) .acf-media { aspect-ratio:auto; height:auto; display:block; }
.card-disponibilidad-flex.layout-flex.flex-d-row:not(.flex-m-column) .acf-media .acf-figure { height:100%; display:block; }
.card-disponibilidad-flex.layout-flex.flex-d-row:not(.flex-m-column) .acf-media .acf-figure img { height:100%; object-fit:cover; }
.card-habitaciones-flex.layout-flex.flex-d-row .acf-body { flex:0 0 50%; max-width:50%; display:flex; }
.card-habitaciones-flex.layout-flex.flex-d-row:not(.card-disponibilidad-flex) .acf-inner { padding:18px 20px 40px; }
/* Disponibilidad (row): padding estándar sin extra inferior */
.card-disponibilidad-flex.layout-flex.flex-d-row .acf-inner { padding:18px 20px 15px; }
/* Kadence mobile breakpoint (<=767px) */
@media (max-width: 767px) {
  .card-disponibilidad-flex.layout-flex.flex-d-row .acf-inner { padding:15px 15px 15px; }
}
.card-habitaciones-flex.layout-flex.flex-d-column { flex-direction:column; }
.card-habitaciones-flex.layout-flex.flex-d-column .acf-media { width:100%; aspect-ratio:3/2; flex:0 0 auto; }
.card-habitaciones-flex.layout-flex.flex-d-column .acf-inner { padding:15px 18px 10px; }
/* =========================
  Disponibilidad: variantes
  ========================= */
/* Asegurar que el body expanda y podamos empujar bottom bar al fondo */
.card-disponibilidad-flex.layout-flex { container-type:inline-size; }
.card-disponibilidad-flex.layout-flex .acf-body { display:flex; flex-direction:column; }
.card-disponibilidad-flex.layout-flex .acf-inner { flex:1 1 auto; display:flex; flex-direction:column; padding-bottom:15px; }
.card-disponibilidad-flex.layout-flex .acf-desc { flex:1 1 auto; margin-bottom:0; }
/* Bottom bar al fondo usando margin-top:auto */
/* Bottom bar: dos columnas (precio flexible + botón fijo). Sin gap; separación con margen en botón */
.card-disponibilidad-flex.layout-flex .acf-bottom-bar { margin-top:auto; display:flex; flex-wrap:wrap; align-items:flex-end; width:100%; }
.card-disponibilidad-flex.layout-flex .acf-bottom-bar .acf-price { position:static; order:1; text-align:left; align-self:flex-end; flex:1 1 auto; min-width:80px; }
.card-disponibilidad-flex.layout-flex .acf-bottom-bar .admiral-quick-book { order:2; align-self:flex-end; flex:0 0 134px; display:flex; justify-content:flex-end; }
.card-disponibilidad-flex.layout-flex .acf-bottom-bar .admiral-quick-book-btn { align-self:flex-end; display:flex; justify-content:center; width:134px; }
/* Estado apilado: cuando el contenedor es suficientemente angosto para forzar wrap (<240px aprox) el botón se expande al 100% */
/* Stacking automático cuando el contenedor ya no alcanza para 80 + 15 + 134 = 229px */
@container (max-width:229px) {
  .card-disponibilidad-flex.layout-flex .acf-bottom-bar { flex-direction:column; align-items:flex-end; }
  .card-disponibilidad-flex.layout-flex .acf-bottom-bar .acf-price { width:100%; text-align:right; }
  .card-disponibilidad-flex.layout-flex .acf-bottom-bar .admiral-quick-book { width:134px; margin-left:0; }
}
/* Mobile: precio arriba centrado, botón 100%, sin gap, sin margen lateral, ambos al fondo */
@media (max-width:767px) {
  .card-disponibilidad-flex.layout-flex .acf-bottom-bar { flex-direction:column; align-items:stretch; justify-content:flex-end; }
  .card-disponibilidad-flex.layout-flex .acf-bottom-bar .acf-price { order:1; width:100%; text-align:center; margin:0; }
}
/* Sin overrides mobile: el comportamiento (alineación derecha al apilar) depende solo del container query */
/* Cuando el contenedor (card) sea <200px, apilar verticalmente */
@media (max-width:1024px){
  .card-habitaciones-flex.layout-flex.flex-t-row { flex-direction:row; min-height:170px; }
  .card-habitaciones-flex.layout-flex.flex-t-row .acf-media { flex:0 0 50%; max-width:50%; aspect-ratio:3/2; }
  .card-habitaciones-flex.layout-flex.flex-trow .acf-body { flex:0 0 50%; max-width:50%; display:flex; }
  .card-habitaciones-flex.layout-flex.flex-t-row .acf-inner { padding:18px 20px 40px; }
  .card-habitaciones-flex.layout-flex.flex-t-column { flex-direction:column; min-height:auto; }
  .card-habitaciones-flex.layout-flex.flex-t-column .acf-media { width:100%; aspect-ratio:3/2; flex:0 0 auto; }
}

/* ==============================
  Packs Card (hereda de comida)
  ============================== */
  /* Separador visible: línea al inicio del espacio inferior */
  /* (Separador removido a solicitud) */
  body.woocommerce-cart .admiral-cart-items-card table.shop_table tr.cart_item:not(:last-of-type) { 
    border-bottom:none; 
    padding-bottom:0; 
  }
.card-packs-flex.layout-flex .added_to_cart { display:none !important; }
.card-packs-flex.layout-flex { display:flex; position:relative; background:#fff; border:1px solid #e5e5e5; border-radius:6px; overflow:hidden; margin-bottom:20px; }
.card-packs-flex.layout-flex .acf-media { flex:0 0 40%; position:relative; aspect-ratio:4/3; background:#fafafa; overflow:hidden; }
.card-packs-flex.layout-flex .acf-figure img { width:100%; height:100%; object-fit:cover; display:block; }
.card-packs-flex.layout-flex .acf-body { flex:1 1 auto; position:relative; display:flex; }
.card-packs-flex.layout-flex .acf-inner { display:flex; flex-direction:column; gap:.8rem; padding:20px 22px 70px; width:100%; }
.card-packs-flex.layout-flex .acf-title { margin:0; font-size:16px; line-height:1.15; font-weight:600; }
.card-packs-flex.layout-flex .acf-desc { margin:0; font-size:14px; line-height:1.15; color:#555; flex:1 1 auto; overflow:hidden; display:-webkit-box; -webkit-line-clamp:6; line-clamp:6; -webkit-box-orient:vertical; text-overflow:ellipsis; }
.card-packs-flex.layout-flex.flex-d-column .acf-desc.is-full { display:block; overflow:visible; -webkit-line-clamp:unset; line-clamp:unset; -webkit-box-orient:unset; text-overflow:initial; margin-bottom:1em; }
.card-packs-flex.layout-flex.flex-d-row .acf-desc { display:none !important; }
/* Listas dentro de descripción completa de packs: separación de una línea entre ítems */
.card-packs-flex.layout-flex .acf-desc.is-full ul { margin:0 0 0 1.15em; padding:0; list-style:disc; }
.card-packs-flex.layout-flex .acf-desc.is-full ul li { margin:0 0 1em; line-height:1.25; }
.card-packs-flex.layout-flex .acf-desc.is-full ul li:last-child { margin-bottom:0; }
.card-packs-flex.layout-flex .acf-price { left:18px; right:auto; bottom:16px; position:absolute; font-size:15px; font-weight:600; font-family:Montserrat,system-ui,sans-serif; }
.card-packs-flex.layout-flex .acf-price .woocommerce-Price-currencySymbol { font-size:11px; margin-right:1px; }
/* Bottom bar packs: no reserva de espacio grande; elementos absolutizados */
.card-packs-flex.layout-flex .acf-bottom-bar { position:static; padding:0; }
.card-packs-flex.layout-flex .acf-bottom-bar .price { margin:0; }
.card-packs-flex.layout-flex .acf-bottom-bar .admiral-pack-add-btn { position:absolute; right:20px; bottom:20px; /* posición final según especificación */ text-decoration:none !important; }
.card-packs-flex.layout-flex .acf-bottom-bar .admiral-pack-add-btn { padding:14px 26px; font-size:14px; letter-spacing:0.1em; }
.card-packs-flex.layout-flex .acf-bottom-bar .admiral-pack-add-btn:hover,
.card-packs-flex.layout-flex .acf-bottom-bar .admiral-pack-add-btn:focus { text-decoration:none !important; }
.card-packs-flex.layout-flex .acf-inner { position:relative; padding-bottom:90px; } /* más espacio para precio + botón elevado */
.card-packs-flex.layout-flex.flex-d-row { min-height:180px; flex-direction:row; }
.card-packs-flex.layout-flex.flex-d-row .acf-media { flex:0 0 40%; aspect-ratio:4/3; }
.card-packs-flex.layout-flex.flex-d-column { flex-direction:column; }
.card-packs-flex.layout-flex.flex-d-column .acf-media { width:100%; aspect-ratio:4/3; flex:0 0 auto; }
.card-packs-flex.layout-flex.flex-d-column .acf-inner { padding:16px 18px 70px; }
@media (max-width:1024px){
  .card-packs-flex.layout-flex.flex-t-row { flex-direction:row; min-height:170px; }
  .card-packs-flex.layout-flex.flex-t-row .acf-media { flex:0 0 40%; aspect-ratio:4/3; }
  .card-packs-flex.layout-flex.flex-trow .acf-inner { padding:18px 20px 40px; }
  .card-packs-flex.layout-flex.flex-t-column { flex-direction:column; min-height:auto; }
  .card-packs-flex.layout-flex.flex-t-column .acf-media { width:100%; aspect-ratio:4/3; flex:0 0 auto; }
  .card-packs-flex.layout-flex.flex-tcolumn .acf-inner { padding:16px 18px 70px; }
}
@media (max-width:767px){
  .card-packs-flex.layout-flex.flex-m-row { flex-direction:row; min-height:160px; }
  .card-packs-flex.layout-flex.flex-m-row .acf-media { flex:0 0 40%; aspect-ratio:4/3; }
  .card-packs-flex.layout-flex.flex-m-row .acf-inner { padding:18px 20px 40px; }
  .card-packs-flex.layout-flex.flex-m-column { flex-direction:column; min-height:auto; }
  .card-packs-flex.layout-flex.flex-m-column .acf-media { width:100%; aspect-ratio:4/3; flex:0 0 auto; }
  .card-packs-flex.layout-flex.flex-m-column .acf-inner { padding:16px 18px 70px; }
  .admiral-products-loop--mcols-1 .card-packs-flex.layout-flex.flex-m-column .acf-inner { padding:16px 18px 70px; }
}
/* Mobile direction modifiers */
@media (max-width:767px){
  .card-habitaciones-flex.layout-flex.flex-m-row { flex-direction:row; min-height:160px; }
  .card-habitaciones-flex.layout-flex.flex-m-row .acf-media { flex:0 0 40%; aspect-ratio:4/3; }
  .card-habitaciones-flex.layout-flex.flex-m-row .acf-inner { padding:18px 20px 40px; }
  .card-habitaciones-flex.layout-flex.flex-m-column { flex-direction:column; min-height:auto; }
  .card-habitaciones-flex.layout-flex.flex-m-column .acf-media { width:100%; aspect-ratio:3/2; flex:0 0 auto; }
  .card-habitaciones-flex.layout-flex.flex-m-column .acf-inner { padding:16px 18px 38px; }
  /* Disponibilidad en mobile cuando permanece en modo row: iconos 40x40 */
  .card-disponibilidad-flex .acf-icons-mock { display:none !important; }
  .card-disponibilidad-flex.layout-flex.flex-m-row .acf-icons-mock .acf-icon-mock { width:40px; height:40px; flex:0 0 40px; }
  /* Mobile enhanced layout for disponibilidad cards (grid areas, button 100%) */
  .card-disponibilidad-flex.layout-flex.flex-m-column { flex-direction:column; }
  .card-disponibilidad-flex.layout-flex.flex-m-column .acf-media { width:100%; aspect-ratio:3/2; flex:0 0 auto; }
  .card-disponibilidad-flex.layout-flex.flex-m-column .acf-body { width:100%; }
  /* Mobile disponibilidad simplified layout: vertical flow, absolute details link */
  .card-disponibilidad-flex.layout-flex.flex-m-column .acf-inner { padding:14px 16px 18px; position:relative; display:block; }
  /* Make title row transparent to grid so its children become grid items */
  .card-disponibilidad-flex.layout-flex.flex-m-column .acf-title-row { display:contents; }
  .card-disponibilidad-flex.layout-flex.flex-m-column h4 { margin:0 0 2px; }
  .card-disponibilidad-flex.layout-flex.flex-m-column .acf-title-row { margin:0; }
  .card-disponibilidad-flex.layout-flex.flex-m-column .acf-title-row .acf-title { margin:0; }
  .card-disponibilidad-flex.layout-flex.flex-m-column .acf-inner .acf-details-link { position:absolute; top:14px; right:16px; margin:0; z-index:2; }
  .card-disponibilidad-flex.layout-flex.flex-m-column .acf-bottom-bar { margin:10px 0 0; display:flex !important; flex-direction:column !important; align-items:flex-end; gap:0; width:100%; }
  .card-disponibilidad-flex.layout-flex.flex-m-column .acf-bottom-bar .acf-price { margin-bottom:0; }
  .card-disponibilidad-flex.layout-flex.flex-m-column .acf-bottom-bar .acf-price { order:1; width:100%; text-align:right; margin:0; }
  /* Mobile disponibilidad: override price alignment to left */
  .card-disponibilidad-flex.layout-flex.flex-m-column .acf-bottom-bar .acf-price { text-align:left; }
  .card-disponibilidad-flex.layout-flex.flex-m-column .acf-bottom-bar .admiral-quick-book { order:2; width:100%; margin:0; display:flex; justify-content:flex-end; }
  .card-disponibilidad-flex.layout-flex.flex-m-column .acf-bottom-bar .admiral-quick-book-btn { width:100%; }
  /* Icons now sit outside bottom bar under the room number */
  .card-disponibilidad-flex.layout-flex.flex-m-column .acf-icons-mock { display:none !important; }
  .card-disponibilidad-flex.layout-flex.flex-m-column .acf-media .acf-figure, 
  .card-disponibilidad-flex.layout-flex.flex-m-column .acf-media .acf-figure img { display:block; width:100%; height:100%; object-fit:cover; }
  /* Override: si la card trae ambas clases flex-d-row y flex-m-column (mobile), forzamos media a 100% ancho */
  .card-disponibilidad-flex.layout-flex.flex-d-row.flex-m-column .acf-media { flex:0 0 100% !important; max-width:100% !important; aspect-ratio:3/2 !important; }
  .card-disponibilidad-flex.layout-flex.flex-d-row.flex-m-column { align-items:stretch; }
  .card-disponibilidad-flex.layout-flex.flex-d-row.flex-m-column .acf-body { flex:0 0 100% !important; max-width:100% !important; }
/* Desktop row orientation ordering (sin clase flex-m-column) */
.card-disponibilidad-flex.layout-flex.flex-d-row:not(.flex-m-column) .acf-bottom-bar { flex-direction:column; flex-wrap:nowrap; align-items:flex-start; }
  .card-disponibilidad-flex.layout-flex.flex-d-row:not(.flex-m-column) .acf-icons-mock { display:none !important; }
/* Icon slots 50x50 with reserved space */
.card-disponibilidad-flex .acf-icons-mock .acf-icon-mock { width:50px; height:50px; flex:0 0 50px; display:inline-flex; align-items:center; justify-content:center; font-size:22px; line-height:1; }

/* Desktop override: en layout row para disponibilidad siempre cubrir, incluso si existe flex-m-column para mobile */
/* Refuerzo universal (sin depender de breakpoint) para cuando coexiste flex-m-column */
.card-disponibilidad-flex.layout-flex.flex-d-row.flex-m-column { align-items:stretch; }
.card-disponibilidad-flex.layout-flex.flex-d-row.flex-m-column .acf-media { aspect-ratio:unset !important; display:flex; align-items:stretch; }
.card-disponibilidad-flex.layout-flex.flex-d-row.flex-m-column .acf-media .acf-figure { flex:1 1 auto; height:100%; }
.card-disponibilidad-flex.layout-flex.flex-d-row.flex-m-column .acf-media .acf-figure img { height:100%; width:100%; object-fit:cover; }

/* ================= DEBUG IMAGE COVER (TEMP) ================= */
/* DEBUG siempre activo cuando se añade debug-cover (sin media query) */
.card-disponibilidad-flex.layout-flex.flex-d-row.flex-m-column.debug-cover,
.card-disponibilidad-flex.layout-flex.flex-d-row.flex-m-column.debug-cover * { box-sizing:border-box; }
.card-disponibilidad-flex.layout-flex.flex-d-row.flex-m-column.debug-cover { outline:2px dashed #ff00aa; background:rgba(255,0,170,0.05); position:relative; }
.card-disponibilidad-flex.layout-flex.flex-d-row.flex-m-column.debug-cover .acf-media { background:rgba(0,128,255,0.20); outline:3px solid rgba(0,128,255,0.7); position:relative; }
.card-disponibilidad-flex.layout-flex.flex-d-row.flex-m-column.debug-cover .acf-media .acf-figure { background:rgba(0,255,128,0.25); outline:2px dashed #00c070; }
.card-disponibilidad-flex.layout-flex.flex-d-row.flex-m-column.debug-cover .acf-media .acf-figure img { outline:2px solid #ff9800; background:rgba(255,152,0,0.15); }
.card-disponibilidad-flex.layout-flex.flex-d-row.flex-m-column.debug-cover .acf-body { background:rgba(160,32,240,0.08); outline:2px dotted #a020f0; }
.card-disponibilidad-flex.layout-flex.flex-d-row.flex-m-column.debug-cover::after { content:"DEBUG ROW+MOBILE"; position:absolute; top:4px; left:6px; font:11px/1.1 monospace; background:#ff00aa; color:#fff; padding:2px 4px; border-radius:3px; letter-spacing:.5px; }
.card-disponibilidad-flex.layout-flex.flex-d-row.flex-m-column.debug-cover .acf-media::after { content:"media"; position:absolute; bottom:4px; right:6px; background:#0080ff; color:#fff; font:10px monospace; padding:1px 4px; border-radius:2px; }
.card-disponibilidad-flex.layout-flex.flex-d-row.flex-m-column.debug-cover .acf-body::after { content:"body"; position:absolute; top:4px; right:6px; background:#a020f0; color:#fff; font:10px monospace; padding:1px 4px; border-radius:2px; }
/* Para activar: añadir la clase debug-cover al <article> problemático (temporal). Elimina este bloque al terminar. */
.card-disponibilidad-flex.layout-flex.flex-d-row:not(.flex-m-column) .acf-bottom-bar .acf-price { order:2; text-align:left; width:100%; }
.card-disponibilidad-flex.layout-flex.flex-d-row:not(.flex-m-column) .acf-bottom-bar .admiral-quick-book { order:3; }
  /* Icons mock styling */
  .card-disponibilidad-flex.layout-flex.flex-m-column .acf-icons-mock { display:none !important; }
  .card-disponibilidad-flex.layout-flex.flex-m-column .acf-icons-mock .acf-icon-mock { width:40px; height:40px; flex:0 0 40px; line-height:1; filter:grayscale(20%); }
  .card-disponibilidad-flex.layout-flex.flex-m-column .acf-icons-mock .acf-icon-mock:hover { filter:none; }
  /* Mobile enforcement to prevent image stretching jump */
  @media (max-width: 767px) {
    .card-disponibilidad-flex.layout-flex.flex-d-row.flex-m-column { flex-direction:column !important; align-items:initial !important; }
    .card-disponibilidad-flex.layout-flex.flex-d-row.flex-m-column .acf-media { flex:0 0 auto !important; height:auto !important; }
    .card-disponibilidad-flex.layout-flex.flex-d-row.flex-m-column .acf-media .acf-figure,
    .card-disponibilidad-flex.layout-flex.flex-d-row.flex-m-column .acf-media .acf-figure img { height:100%; }
  }
}
/* Ajustes de título en variantes comprimidas (si se requiriera reducir en layouts estrechos) – omitidos para conservar jerarquía */
/* Fin Habitaciones Card Layout */

/* ===== Disponibilidad Icons (general / desktop) =====
   Nota: las reglas 50x50 estaban dentro del @media max-width:767px, por eso en desktop no aplicaban.
   Reforzamos aquí fuera del bloque mobile para garantizar tamaño consistente. */
@media (min-width:768px){
  .card-disponibilidad-flex .acf-icons-mock { display:none !important; }
  .card-disponibilidad-flex.layout-flex.flex-d-row:not(.flex-m-column) .acf-icons-mock { justify-content:flex-start; }
  .card-disponibilidad-flex.layout-flex.flex-d-row.flex-m-column .acf-icons-mock { justify-content:flex-start; }
  .card-disponibilidad-flex .acf-icons-mock .acf-icon-mock { width:50px; height:50px; flex:0 0 50px; display:inline-flex; align-items:center; justify-content:center; font-size:22px; line-height:1; }
}


/* Override final: en mobile todos los iconos disponibilidad 40x40 (después de regla global 50x50) */
@media (max-width:767px){
  .card-disponibilidad-flex .acf-icons-mock .acf-icon-mock { width:40px !important; height:40px !important; flex:0 0 40px !important; }
}

/* =============================================
  Booking Results Title (h1) numeric features
  ============================================= */
  .single-content h3.admiral-booking-results-time { margin:-0.8em 0 1.5em 0; }
.admiral-booking-results-title { font-variant-numeric: lining-nums; font-feature-settings:'lnum'; }
/* Quick booking button (habitaciones cards) */
.admiral-quick-book { margin-top:.5rem; }
.admiral-quick-book-btn { background:var(--global-palette1,#9E873F); color:#fff; font-weight:400; border:none; border-radius:3px; padding:.6rem 1.05rem; cursor:pointer; line-height:1.15; font-family:'Montserrat',var(--global-button-font-family,system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif); letter-spacing:0.05em; text-transform:uppercase; display:inline-flex; align-items:center; gap:.45em; transition:background .28s ease, transform .18s ease, opacity .25s ease; box-shadow:none; }
.admiral-quick-book-btn:hover, .admiral-quick-book-btn:focus { background:var(--global-palette1-alt, var(--global-palette2,#856F2F)); color:#fff; }
.admiral-quick-book-btn:focus { outline:2px solid rgba(255,255,255,.6); outline-offset:2px; }
.admiral-quick-book-btn:active { transform:translateY(1px); }
.admiral-quick-book-btn.is-loading { opacity:.6; pointer-events:none; position:relative; }
.admiral-quick-book-btn.is-loading::after { content:""; position:absolute; top:50%; left:50%; width:16px; height:16px; margin:-8px 0 0 -8px; border:2px solid currentColor; border-right-color:transparent; border-radius:50%; animation:admiral-spin .6s linear infinite; }
@keyframes admiral-spin { to { transform:rotate(360deg); } }
/* Habitaciones genéricas: usar grid (excluir disponibilidad para que conserve flex y pueda apilarse) */
.card-habitaciones-flex:not(.card-disponibilidad-flex) .acf-bottom-bar { display:grid; grid-template-columns:1fr auto; gap:12px; align-items:end; width:100%; }
.card-habitaciones-flex:not(.card-disponibilidad-flex) .acf-bottom-bar .acf-title { margin:0; line-height:1.15; }
.card-habitaciones-flex:not(.card-disponibilidad-flex) .acf-bottom-bar .acf-price { margin:0; text-align:right; padding-right:0; }
.card-habitaciones-flex:not(.card-disponibilidad-flex) .acf-bottom-bar .admiral-quick-book { margin:0; }
/* Stack when not enough horizontal space */
@media (max-width:560px){
  .card-habitaciones-flex .acf-bottom-bar { flex-direction:column; align-items:flex-end; }
  .card-habitaciones-flex .acf-bottom-bar .admiral-quick-book-btn { width:auto; }
}
:root {
  --admiral-date-accent: var(--global-palette1, #B59F6B); 
  --admiral-date-accent-contrast: var(--global-palette9, #FFFFFF);
  --admiral-date-btn-bg: var(--global-palette3, #000000);
  --admiral-date-btn-bg-hover: var(--global-palette1, #B59F6B);
  --admiral-date-btn-text: var(--global-palette9, #FFFFFF);
  --admiral-date-btn-text-hover: var(--global-palette9, #FFFFFF);
  --admiral-date-text: var(--global-palette3, #000000);
  --admiral-date-muted: var(--global-palette3, #000000);
  --admiral-date-hover-bg: var(--global-palette8, #FFFFFF);
  --admiral-date-calendar-bg: var(--global-palette9, #FFFFFF);
  --admiral-date-border: #dddddd; /* reservado */
  --admiral-date-accent-hover: var(--global-palette2, #9E873F);
  /* Nuevas variables de tamaño */
  --admiral-date-btn-width: 180px; /* ancho del botón y widget */
  --admiral-date-calendar-width: 300px; /* ancho del calendario flotante */
  --admiral-date-widget-width: var(--admiral-date-btn-width); /* alias: siempre igual al botón */
  /* Radio unificado */
  --admiral-date-radius: 3px;
  /* Tipografías widget fecha */
  --admiral-date-font-base: 'Montserrat', sans-serif;
  --admiral-date-font-cta: var(--admiral-date-font-base);
  --admiral-date-font-inline-day: 'Playfair Display', serif; /* día grande en Playfair */
  --admiral-date-font-inline-month: var(--admiral-date-font-base);
  --admiral-date-font-cal-title: var(--admiral-date-font-base);
  --admiral-date-font-cal-dow: var(--admiral-date-font-base);
  --admiral-date-font-cal-day: var(--admiral-date-font-base);
  --admiral-date-font-submit: var(--admiral-date-font-base);
  --admiral-date-inline-day-size: 50px; /* tamaño número grande */
  --admiral-date-inline-month-size: 12px; /* tamaño texto mes */
  --admiral-date-inline-numeric: lining-nums; /* variante de cifras: lining-nums | oldstyle-nums | tabular-nums */
}




/* A11y nota: mantener ratio contraste >= 4.5:1; si fondo muy claro, aumentar sombra a 0 2px 6px rgba(0,0,0,.45) */
/* (Opcional) Modo oscuro: descomenta y ajusta
Ejemplo:
@media (prefers-color-scheme: dark) {
  :root {
    --admiral-date-calendar-bg: #111;
    --admiral-date-text: #f2f2f2;
    --admiral-date-hover-bg: #222;
    --admiral-date-btn-bg: #000;
    --admiral-date-btn-bg-hover: var(--global-palette1, #B59F6B);
  }
}
*/
/* ===== Fin variables Admiral Date Widget ===== */

/* ==============================================
  Prefill booking UX: ocultar horario hasta listo
  ============================================== */
html.admiral-prefill-hide-time .yith-wcbk-form-section-dates-date-time { display: none !important; }

/* Booking Results: inline time + availability count row */
.admiral-booking-results-meta-row { display:flex; align-items:flex-start; gap:1.25rem; width:100%; }
.admiral-booking-results-meta-row .admiral-booking-results-time { margin:0; flex:0 0 auto; }
.admiral-booking-results-meta-row .admiral-booking-results-count-wrapper { margin:0 0 0 auto; padding:0; display:flex; align-items:center; }
.admiral-booking-results-meta-row .admiral-booking-results-count-text { white-space:nowrap; }
/* Mobile stacking if space too narrow */
@media (max-width:560px){
  .admiral-booking-results-meta-row { flex-wrap:wrap; gap:.5rem 1rem; }
  .admiral-booking-results-meta-row .admiral-booking-results-count-wrapper { margin-left:auto; }
}
html.admiral-prefill-time-ready .yith-wcbk-form-section-dates-date-time { display: block; }
.yith-wcbk-form-section-dates-date-time { margin-top: 30px;}
/* Evita borde/estado de error visible mientras se auto-selecciona */
html.admiral-prefill-hide-time .yith-wcbk-form-section-dates-date-time select { outline: none !important; box-shadow: none !important; }

/* === Override: excluir widget de reserva de sombras y efecto flotante === */
.kb-header-sticky-wrapper:not(.item-is-stuck) .admiral-date-widget .admiral-date-collapsed-label { text-shadow: none !important; transform: none !important; transition: background .3s ease, color .3s ease; }
.kb-header-sticky-wrapper:not(.item-is-stuck) .admiral-date-widget .admiral-date-collapsed-label:hover,
.kb-header-sticky-wrapper:not(.item-is-stuck) .admiral-date-widget .admiral-date-collapsed-label:focus { transform: none !important; }
/* === Fin override widget reserva === */

/* === Mini cart badge fix: ensure badge overlays icon correctly === */
.kb-header-sticky-wrapper .wc-block-mini-cart__button { position: relative; }
.kb-header-sticky-wrapper .wc-block-mini-cart__quantity-badge { position: relative; display:inline-flex; align-items:center; }
/* Base badge (structural styles only) */
.kb-header-sticky-wrapper .wc-block-mini-cart__badge {
  position: absolute;
  top: -6px;
  right: -6px;
  width: 18px; /* circulo fijo para 1 dígito */
  height: 18px;
  padding: 0; /* sin padding para mantener el círculo limpio */
  border-radius: 50%;
  font-size: 11px;
  line-height: 18px; /* igual a altura para centrado vertical natural */
  font-weight: 600;
  font-family: 'Montserrat', sans-serif;
  display:flex;
  align-items:center;
  justify-content:center;
  z-index: 3;
  pointer-events: none;
  transition: background .25s ease, color .25s ease;
  text-shadow:none; /* sin sombra en el número */
  box-shadow:none !important; /* sin borde/anel exterior */
  transform: none; /* no mover el círculo completo */
  text-indent: 2px; /* empuja el dígito ligeramente a la derecha para centrado óptico */
}
/* Transparent header: icon blanco -> fondo blanco texto negro */
.kb-header-sticky-wrapper:not(.item-is-stuck) .wc-block-mini-cart__badge {
  background: var(--header-text-color);
  color: var(--header-text-color-sticky);
}
/* Sticky header: icon negro -> fondo negro texto blanco */
.kb-header-sticky-wrapper.item-is-stuck .wc-block-mini-cart__badge {
  background: var(--header-text-color-sticky);
  color: var(--header-text-color);
}
/* Mantener mismos colores en hover/focus */
.kb-header-sticky-wrapper .wc-block-mini-cart__button:hover .wc-block-mini-cart__badge,
.kb-header-sticky-wrapper .wc-block-mini-cart__button:focus-visible .wc-block-mini-cart__badge { background: inherit; color: inherit; }
/* === Mini cart badge: freeze hover state (no visual change) === */
.kb-header-sticky-wrapper .wc-block-mini-cart__button:hover .wc-block-mini-cart__badge,
.kb-header-sticky-wrapper .wc-block-mini-cart__button:focus-visible .wc-block-mini-cart__badge {
  background: inherit !important;
  color: inherit !important;
  filter: none !important;
  transition: none !important;
}

/* =============================================================
   YITH Booking form tweaks (no template overrides)
   - Ocultar títulos: "Fecha de inicio" y "Horario"
   - Unificar estilo del select de horario con widget custom (icono delgado)
   ============================================================= */
/* Oculta los labels solicitados */
.yith-wcbk-form-section-dates > label[for^="yith-wcbk-booking-start-date-"],
.yith-wcbk-form-section-dates-date-time > label[for^="yith-wcbk-booking-start-date-time-"] {
  display:none !important;
}
/* Contenedor time select: asegurar contexto posicional */
.yith-wcbk-form-section-dates-date-time .yith-wcbk-form-section__content .yith-wcbk-select-alt__container { position:relative; }
/* Aplicar estilo similar al widget (padding, borde, radio) y añadir icono SVG inline como background */
.yith-wcbk-form-section-dates-date-time .yith-wcbk-booking-start-date-time {
  padding:.55rem .6rem .55rem 2.2rem;
  border:1px solid var(--global-palette3, #000);
  border-radius:3px;
  font-size:14px;
  line-height:1.2;
  font-family: var(--admiral-date-font-base);
  background:var(--admiral-date-bg,#fff) no-repeat 10px 50%;
  background-size:16px 16px;
  color:var(--admiral-date-text,#111);
  appearance:none;
  -webkit-appearance:none;
  -moz-appearance:none;
  /* Icono reloj delgado (mismo path que widget) */
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23666'><path d='M12 22a10 10 0 1 1 0-20 10 10 0 0 1 0 20Zm0-2a8 8 0 1 0 0-16 8 8 0 0 0 0 16Zm.75-8.19 3.22 1.93a1 1 0 0 1-1 1.72l-3.72-2.23A1.5 1.5 0 0 1 10.5 11V6.5a1 1 0 1 1 2 0v4.31c0 .27.14.53.37.69Z'/></svg>");
}
/* Foco coherente */
.yith-wcbk-form-section-dates-date-time .yith-wcbk-booking-start-date-time:focus {
  outline:none;
  box-shadow:0 0 0 2px rgba(0,0,0,.15);
}
/* Evitar iconos/arrow duplicados (si algún stylesheet añade pseudo-elementos) */
.yith-wcbk-form-section-dates-date-time .yith-wcbk-select-alt__container::before,
.yith-wcbk-form-section-dates-date-time .yith-wcbk-select-alt__container::after { content:none !important; }
/* Ajustar flecha propia de YITH si se solapa con padding (mantener a la derecha) */
.yith-wcbk-form-section-dates-date-time .yith-wcbk-select-alt__arrow { right:8px; }

/* Ocultar sección de Duración completa solo en frontend (mantiene input hidden para envío)
  Nota: no aplicar en backend/admin para no ocultar los controles de YITH en el editor. */
body:not(.wp-admin) .yith-wcbk-form-section-duration { display:none !important; }

/* =============================================================
   Unificar estilo del calendario YITH (jQuery UI inline) con widget personalizado
   ============================================================= */
.yith-wcbk-date-picker--inline.ui-datepicker,
.yith-wcbk-date-picker--inline .ui-datepicker { /* asegurar target */
  font-family: var(--admiral-date-font-cal-day, var(--admiral-date-font-base, 'Montserrat', sans-serif));
  background: var(--admiral-date-calendar-bg,#fff);
  border:1px solid var(--admiral-date-border,#ddd);
  border-radius: var(--admiral-date-radius,3px);
  padding: .4rem .6rem .6rem;
  width:auto;
}
.ui-datepicker { box-shadow:none; }
.ui-datepicker-header { background:transparent; border:none; padding:.25rem 0 .4rem; }
.ui-datepicker-title { font-family: var(--admiral-date-font-cal-title,var(--admiral-date-font-base)); font-size:14px; font-weight:500; letter-spacing:.5px; text-transform:capitalize; }
.ui-datepicker-prev, .ui-datepicker-next { top:8px; }
.ui-datepicker-prev span, .ui-datepicker-next span { text-indent:-9999px; }
.ui-datepicker-prev:before, .ui-datepicker-next:before { content:''; display:block; width:18px; height:18px; border:1px solid var(--admiral-date-border,#ccc); border-radius:50%; position:relative; }
.ui-datepicker-prev:after, .ui-datepicker-next:after { content:''; width:6px; height:6px; border-top:2px solid var(--admiral-date-text,#111); border-right:2px solid var(--admiral-date-text,#111); position:absolute; top:50%; left:50%; transform:translate(-50%,-50%) rotate(45deg); }
.ui-datepicker-prev:after { transform:translate(-50%,-50%) rotate(225deg); }
.ui-state-disabled.ui-datepicker-prev:before, .ui-state-disabled.ui-datepicker-next:before { opacity:.3; }
.ui-datepicker-calendar { margin:0; }
.ui-datepicker th { padding:.25rem 0 .2rem; font-size:11px; font-weight:500; letter-spacing:.5px; color:var(--admiral-date-muted,#666); }
.ui-datepicker td { padding:0; }
.ui-datepicker td span, .ui-datepicker td a { display:block; width:32px; height:32px; line-height:32px; text-align:center; margin:2px; font-size:13px; font-weight:500; border-radius:4px; color:var(--admiral-date-text,#111); text-decoration:none; position:relative; }
.ui-datepicker td a.ui-state-hover { background:var(--admiral-date-hover-bg,#f5f5f5); }
.ui-datepicker td a.ui-state-active, .ui-datepicker td a.ui-state-highlight.ui-state-active { background:var(--admiral-date-accent,#B59F6B); color:var(--admiral-date-accent-contrast,#fff); box-shadow:0 0 0 1px var(--admiral-date-accent,#B59F6B) inset; }
.ui-datepicker td a.ui-state-highlight:not(.ui-state-active) { border:1px solid var(--admiral-date-accent,#B59F6B); color:var(--admiral-date-text,#111); background:var(--admiral-date-calendar-bg,#fff); }
.ui-state-disabled .ui-state-default { opacity:.25; cursor:not-allowed; }
/* Eliminar sprite original jQuery UI */
.ui-icon { background:none !important; }
/* Ajustar botón HOY */
button.ui-datepicker-current { margin-top:.4rem; font-size:11px; padding:4px 8px; background:var(--admiral-date-accent,#B59F6B); color:var(--admiral-date-accent-contrast,#fff); border:0; border-radius:3px; cursor:pointer; }
button.ui-datepicker-current:hover { background:var(--admiral-date-accent-hover,#9E873F); }

/* ——— Ajustes adicionales para igualar aún más al widget ——— */
:root { --admiral-cal-cell-size:32px; }
.yith-wcbk-date-picker--inline .ui-datepicker td span,
.yith-wcbk-date-picker--inline .ui-datepicker td a { width:var(--admiral-cal-cell-size); height:var(--admiral-cal-cell-size); line-height:var(--admiral-cal-cell-size); font-weight:500; font-family:var(--admiral-date-font-cal-day,var(--admiral-date-font-base)); transition:background .18s ease, color .18s ease, box-shadow .18s ease; }
/* Fines de semana sin color distinto (unificar) */
.yith-wcbk-date-picker--inline .ui-datepicker th.ui-datepicker-week-end span { color:var(--admiral-date-muted,#666); }
/* Celdas de otros meses invisibles: eliminar alto visual sobrante */
.yith-wcbk-date-picker--inline .ui-datepicker td.ui-datepicker-other-month { opacity:0; pointer-events:none; }
/* Estados inactivos / no disponibles (lista grande del plugin) */
.yith-wcbk-date-picker--inline .ui-datepicker td.ui-state-disabled span,
.yith-wcbk-date-picker--inline .ui-datepicker td.ui-state-disabled a { opacity:.22; text-decoration:none; }
/* Hover refinado (solo días seleccionables) */
.yith-wcbk-date-picker--inline .ui-datepicker td:not(.ui-state-disabled):not(.ui-datepicker-other-month):hover a { background:var(--admiral-date-hover-bg,#f5f5f5); color:var(--admiral-date-text,#111); }
/* Día actual (highlight) cuando no es el activo */
.yith-wcbk-date-picker--inline .ui-datepicker td a.ui-state-highlight:not(.ui-state-active) { border:1px solid var(--admiral-date-accent,#B59F6B); box-shadow:none; }
/* Día activo: usar círculo relleno si se quiere más parecido (opcional) */
.yith-wcbk-date-picker--inline .ui-datepicker td a.ui-state-active { border-radius:4px; }
/* Eliminar posibles before del plugin en día activo */
.yith-wcbk-date-picker--inline .ui-datepicker td a.ui-state-active:before { content:none !important; }
/* Botón HOY igual a botón pequeño widget */
.yith-wcbk-date-picker--inline .ui-datepicker-buttonpane { margin-top:.35rem; }
/* Asegurar consistencia de colores en tema que sobreescribe (proteo u otros) */
body .yith-wcbk-date-picker--inline .ui-datepicker td.ui-datepicker-current-day a.ui-state-default { background:var(--admiral-date-accent,#B59F6B)!important; color:var(--admiral-date-accent-contrast,#fff)!important; }
body .yith-wcbk-date-picker--inline .ui-datepicker td:not(.ui-state-disabled):hover a.ui-state-default { background:var(--admiral-date-hover-bg,#f5f5f5)!important; }
/* Remover sombras/bordes heredados */
.yith-wcbk-date-picker--inline .ui-datepicker .ui-state-default { box-shadow:none !important; border:none; }
/* Ajustar spacing vertical global */
.yith-wcbk-date-picker-inline-wrapper { line-height:1.1; }
/* Mejorar focus accesible (teclado) */
.yith-wcbk-date-picker--inline .ui-datepicker td a:focus { outline:2px solid var(--admiral-date-accent,#B59F6B); outline-offset:1px; }
/* Compatibilidad: si algún theme fuerza fonts más grandes */
.yith-wcbk-date-picker--inline .ui-datepicker td a.ui-state-default { font-size:13px; }

/* Override: eliminar ancho fijo (318px) impuesto por YITH para permitir ajuste automático */
#ui-datepicker-div.yith-wcbk-datepicker.ui-widget-content,
.yith-wcbk-date-picker--inline .ui-widget.ui-widget-content { width:auto !important; max-width:100%; }

/* === Tipografía solicitada === */
/* Encabezados L M X J V S D: Montserrat 600 */
.yith-wcbk-date-picker--inline .ui-datepicker thead th span { font-family:'Montserrat', sans-serif !important; font-weight:600 !important; }
/* Números de días: Playfair regular (peso variable definido) */
.yith-wcbk-date-picker--inline .ui-datepicker td a.ui-state-default,
.yith-wcbk-date-picker--inline .ui-datepicker td span.ui-state-default,
.yith-wcbk-date-picker--inline .ui-datepicker td a,
.yith-wcbk-date-picker--inline .ui-datepicker td span { font-family:'Montserrat', sans-serif !important; font-weight:500 !important; letter-spacing: 1px !important; color:var(--admiral-date-text,#111); }
/* Forzar color negro en hover (evita blanco heredado) */
body .yith-wcbk-date-picker--inline .ui-datepicker td:not(.ui-state-disabled):hover a,
body .yith-wcbk-date-picker--inline .ui-datepicker td:not(.ui-state-disabled):hover a.ui-state-default { color:var(--admiral-date-text,#111)!important; }
.yith-wcbk-datepicker.ui-datepicker td a.ui-state-default, .yith-wcbk-date-picker--inline .ui-datepicker td a.ui-state-default {
    font-weight: 500;
}
.yith-wcbk-datepicker.ui-datepicker .ui-datepicker-title, .yith-wcbk-date-picker--inline .ui-datepicker .ui-datepicker-title {
    font-size: 14px !important;
    font-weight: 500 !important;
    line-height: 30px !important;
    text-transform: uppercase;
    letter-spacing: 1px !important ;
}
.ui-state-disabled, .ui-widget-content .ui-state-disabled, .ui-widget-header .ui-state-disabled {
    opacity: 1 !important;
    -ms-filter: "alpha(opacity=100)";
  filter: alpha(opacity=100);
}
.yith-wcbk-datepicker.ui-widget-content .ui-datepicker-unselectable:not(.ui-datepicker-other-month), .yith-wcbk-date-picker--inline .ui-widget-content .ui-datepicker-unselectable:not(.ui-datepicker-other-month) {
    text-decoration: none !important;
}
.yith-wcbk-datepicker.ui-datepicker th, .yith-wcbk-date-picker--inline .ui-datepicker th {
    font-size: 11px !important;
    padding: .7em .3em !important;
}
.yith-wcbk-datepicker .ui-state-default, .yith-wcbk-datepicker.ui-widget-content .ui-state-default, .yith-wcbk-datepicker .ui-widget-header .ui-state-default, .yith-wcbk-date-picker--inline .ui-state-default, .yith-wcbk-date-picker--inline .ui-widget-content .ui-state-default, .yith-wcbk-date-picker--inline .ui-widget-header .ui-state-default {
    line-height: 2em !important;
}
.yith-wcbk-datepicker.ui-datepicker td span, .yith-wcbk-datepicker.ui-datepicker td a, .yith-wcbk-date-picker--inline .ui-datepicker td span, .yith-wcbk-date-picker--inline .ui-datepicker td a {
    margin-left: auto;
    margin-right: auto;
}

/* === End freeze hover state === */

/* === Mini cart badge hover correction: keep original colors (no disappearance) === */
.kb-header-sticky-wrapper:not(.item-is-stuck) .wc-block-mini-cart__button:hover .wc-block-mini-cart__badge,
.kb-header-sticky-wrapper:not(.item-is-stuck) .wc-block-mini-cart__button:focus-visible .wc-block-mini-cart__badge {
  background: var(--header-text-color) !important; /* mismo que estado normal */
  color: var(--header-text-color-sticky) !important; /* mismo que estado normal */
}
.kb-header-sticky-wrapper.item-is-stuck .wc-block-mini-cart__button:hover .wc-block-mini-cart__badge,
.kb-header-sticky-wrapper.item-is-stuck .wc-block-mini-cart__button:focus-visible .wc-block-mini-cart__badge {
  background: var(--header-text-color-sticky) !important; /* mismo que estado normal sticky */
  color: var(--header-text-color) !important; /* mismo que estado normal sticky */
  }
/* === End mini cart badge hover correction === */

/* === Mobile/Tablet Cart Link (wc-block-cart-link) styling to match desktop nav & mini-cart === */
.woocommerce-order-received ul.woocommerce-order-overview.woocommerce-thankyou-order-details {
  margin: 20px 0 54px 0 !important; /* pedido: 20px arriba, 54px abajo */
}
.kb-header-sticky-wrapper .wc-block-cart-link {
  color: var(--header-text-color);
  background: transparent !important;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 0; /* evita padding inesperado */
  border: 0;
  box-shadow: none;
  transition: color .3s ease, transform .25s ease, text-shadow .25s ease, filter .25s ease;
}
.kb-header-sticky-wrapper.item-is-stuck .wc-block-cart-link { color: var(--header-text-color-sticky); }
/* Transparente: texto blanco con sombra */
.kb-header-sticky-wrapper:not(.item-is-stuck) .wc-block-cart-link { text-shadow:1px 1px 1px #00000050; }
/* Opaque: quitar sombra */
.kb-header-sticky-wrapper.item-is-stuck .wc-block-cart-link { text-shadow:none; }
/* Hover lift (ambos estados) */
.kb-header-sticky-wrapper:not(.item-is-stuck) .wc-block-cart-link:hover,
.kb-header-sticky-wrapper.item-is-stuck .wc-block-cart-link:hover { transform: translateY(-2px); }
/* Reduce motion: desactivar elevación */
@media (prefers-reduced-motion: reduce){
  .kb-header-sticky-wrapper:not(.item-is-stuck) .wc-block-cart-link,
  .kb-header-sticky-wrapper.item-is-stuck .wc-block-cart-link { transition: color .3s ease; }
  .kb-header-sticky-wrapper:not(.item-is-stuck) .wc-block-cart-link:hover,
  .kb-header-sticky-wrapper.item-is-stuck .wc-block-cart-link:hover { transform:none; }
}
/* Focus visible accesible */
.kb-header-sticky-wrapper .wc-block-cart-link:focus-visible { outline:2px solid currentColor; outline-offset:2px; border-radius:4px; }
/* Icon inherits currentColor; drop-shadow ya aplicado vía .wc-block-mini-cart__icon reglas existentes */
/* === End mobile cart link styling === */

/* Ajuste vertical icono cart (solo enlace wc-block-cart-link en mobile/tablet): bajar 2px */
@media (max-width: 1024px){
  .kb-header-sticky-wrapper .wc-block-cart-link .wc-block-mini-cart__icon { position: relative; top: 2px; }
}
/* Fin ajuste vertical icono cart */

/* Cart vacío: H2 sin negritas */
.cart-empty-heading { 
  font-size: clamp(1.1rem, 1.5vw, 1.35rem); /* tamaño h3 */
  font-weight: 400; /* sin negritas */
  margin: 0 0 12px 0;
  text-align: center; /* centrado */
}

/* === Unificar colores en estado DEFAULT (sin header transparente activado) === */
header.wp-block-kadence-header:not([data-transparent="1"]) .kb-header-sticky-wrapper {
  background: var(--header-bg-opaque, var(--global-palette9, #fff));
  box-shadow: 0 2px 8px rgba(0,0,0,0.15);
}
/* Forzar que el estado default use los mismos colores que sticky */
header.wp-block-kadence-header:not([data-transparent="1"]) .kb-header-sticky-wrapper .kb-nav-link-content,
header.wp-block-kadence-header:not([data-transparent="1"]) .kb-header-sticky-wrapper .kt-btn-inner-text,
header.wp-block-kadence-header:not([data-transparent="1"]) .kb-header-sticky-wrapper .wc-block-mini-cart__button,
header.wp-block-kadence-header:not([data-transparent="1"]) .kb-header-sticky-wrapper .wc-block-cart-link,
header.wp-block-kadence-header:not([data-transparent="1"]) .kb-header-sticky-wrapper .admiral-date-collapsed-label { color: var(--header-text-color-sticky, var(--global-palette3,#000)); text-shadow:none; }

/* Iconos / SVG (stroke y fill) */
header.wp-block-kadence-header:not([data-transparent="1"]) .kb-header-sticky-wrapper svg { stroke: var(--header-icon-color-sticky, var(--global-palette3,#000)); fill: currentColor; filter:none; }

/* Botón mini-cart badge igual a sticky */
header.wp-block-kadence-header:not([data-transparent="1"]) .kb-header-sticky-wrapper .wc-block-mini-cart__badge {
  background: var(--header-text-color-sticky, var(--global-palette3,#000));
  color: var(--header-text-color, var(--global-palette9,#fff));
}

/* Quitar sombras flotantes solo en default (ya que reglas previas las aplican a cualquier .kb-header-sticky-wrapper:not(.item-is-stuck)) */
header.wp-block-kadence-header:not([data-transparent="1"]) .kb-header-sticky-wrapper:not(.item-is-stuck) .kb-nav-link-content,
header.wp-block-kadence-header:not([data-transparent="1"]) .kb-header-sticky-wrapper:not(.item-is-stuck) .kt-btn-inner-text,
header.wp-block-kadence-header:not([data-transparent="1"]) .kb-header-sticky-wrapper:not(.item-is-stuck) .wc-block-mini-cart__button,
header.wp-block-kadence-header:not([data-transparent="1"]) .kb-header-sticky-wrapper:not(.item-is-stuck) .admiral-date-collapsed-label,
header.wp-block-kadence-header:not([data-transparent="1"]) .kb-header-sticky-wrapper:not(.item-is-stuck) .wc-block-cart-link { text-shadow:none !important; filter:none !important; }

/* Efecto hover consistente (re-usa colores sticky) */
header.wp-block-kadence-header:not([data-transparent="1"]) .kb-header-sticky-wrapper .kb-nav-link-content:hover,
header.wp-block-kadence-header:not([data-transparent="1"]) .kb-header-sticky-wrapper .wc-block-mini-cart__button:hover,
header.wp-block-kadence-header:not([data-transparent="1"]) .kb-header-sticky-wrapper .wc-block-cart-link:hover { color: var(--header-text-color-sticky, var(--global-palette3,#000)); }

/* Asegurar CTA Reservar herede modo sticky (si existe .cta-reservar) */
header.wp-block-kadence-header:not([data-transparent="1"]) .kb-header-sticky-wrapper .cta-reservar { background: var(--cta-bg-sticky,var(--global-palette1,#B59F6B)) !important; color: var(--cta-color,var(--global-palette9,#fff)) !important; }

/* Logo en default: usar versión sticky si se alternan logos por estado */
header.wp-block-kadence-header:not([data-transparent="1"]) .kb-header-sticky-wrapper .custom-logo { content: url('/wp-content/uploads/2025/07/logo.svg'); }
/* === Fin unificación estado default === */

/* ===== Ocultar headers tablet/mobile en desktop ===== */
@media (min-width:1025px){
  .wp-block-kadence-header-tablet,
  .wp-block-kadence-header-mobile { display:none !important; }
}
/* Admiral Header Overrides: unify default (non-transparent) with sticky via variables */
header.wp-block-kadence-header:not([data-transparent="1"]) .kb-header-sticky-wrapper {
  --header-text-color: var(--header-text-color-sticky);
  --header-icon-color: var(--header-icon-color-sticky);
  background: var(--header-bg-opaque);
  box-shadow: 0 2px 8px rgba(0,0,0,.15);
}
/* Default (non-transparent) badge & CTA use sticky scheme */
header.wp-block-kadence-header:not([data-transparent="1"]) .kb-header-sticky-wrapper .wc-block-mini-cart__badge { background: var(--header-text-color-sticky); color: var(--header-text-color); }
header.wp-block-kadence-header:not([data-transparent="1"]) .kb-header-sticky-wrapper .cta-reservar { background: var(--cta-bg-sticky) !important; color: var(--cta-color) !important; }
/* Remove text/icon shadows on default (they are only for transparent) */
header.wp-block-kadence-header:not([data-transparent="1"]) .kb-header-sticky-wrapper .kb-nav-link-content,
header.wp-block-kadence-header:not([data-transparent="1"]) .kb-header-sticky-wrapper .kt-btn-inner-text,
header.wp-block-kadence-header:not([data-transparent="1"]) .kb-header-sticky-wrapper .wc-block-mini-cart__button,
header.wp-block-kadence-header:not([data-transparent="1"]) .kb-header-sticky-wrapper .admiral-date-collapsed-label,
header.wp-block-kadence-header:not([data-transparent="1"]) .kb-header-sticky-wrapper .wc-block-cart-link { text-shadow:none !important; filter:none !important; }
/* Logo swap (optional) ensure sticky version for default) */
header.wp-block-kadence-header:not([data-transparent="1"]) .kb-header-sticky-wrapper .custom-logo { content: url('/wp-content/uploads/2025/07/logo.svg'); }
/* End Admiral Header Overrides */

/* === Theme Version Badge (iOS style) === */
.admiral-theme-badge {
  position: fixed;
  top: 8px;
  right: 8px;
  z-index: 9999;
  background: #34C759; /* iOS green */
  color: #fff;
  font: 600 11px/1 'Montserrat', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, 'Helvetica Neue', Arial, sans-serif;
  padding: 5px 10px 6px;
  border-radius: 16px;
  box-shadow: 0 2px 6px rgba(0,0,0,.25);
  letter-spacing: .5px;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  pointer-events: none; /* no interferir */
  user-select: none;
}
.admiral-theme-badge::before {
  content: 'Theme';
  font-weight:500;
  opacity:.9;
  margin-right:4px;
}
@media (max-width:600px){
  .admiral-theme-badge { top:6px; right:6px; padding:4px 8px 5px; font-size:10px; }
}
/* === End Theme Version Badge === */

/* === Sticky header fix (non-transparent): v2 aplicar sticky al header completo === */
header.wp-block-kadence-header:not([data-transparent="1"]) { position:sticky; top:0; z-index:1000; }
body.admin-bar header.wp-block-kadence-header:not([data-transparent="1"]) { top:32px; }
@media (max-width:782px){ body.admin.bar header.wp-block-kadence-header:not([data-transparent="1"]) { top:46px; } }
/* Restaurar placeholder (sin colapsar) */
header.wp-block-kadence-header:not([data-transparent="1"]) .kb-header-placeholder-wrapper { height:auto !important; }
/* Quitar overrides previos en wrapper interno */
header.wp-block-kadence-header:not([data-transparent="1"]) .kb-header-sticky-wrapper { position:static !important; top:auto !important; }
/* === End sticky header fix v2 === */

/* === Fix contraste badge mini-cart en header default === */
header.wp-block-kadence-header:not([data-transparent="1"]) .kb-header-sticky-wrapper .wc-block-mini-cart__badge {
  background: var(--header-text-color-sticky, var(--global-palette3,#000)) !important; /* fondo negro */
  color: var(--global-palette9,#fff) !important; /* texto blanco forzado */
}
/* === End fix contraste === */

/* === Fix hover badge mini-cart (default header) === */
header.wp-block-kadence-header:not([data-transparent="1"]) .kb-header-sticky-wrapper .wc-block-mini-cart__button:hover .wc-block-mini-cart__badge,
header.wp-block-kadence-header:not([data-transparent="1"]) .kb-header-sticky-wrapper .wc-block-mini-cart__button:focus-visible .wc-block-mini-cart__badge {
  background: var(--header-text-color-sticky, var(--global-palette3,#000)) !important;
  color: var(--global-palette9,#fff) !important;
  filter:none !important;
}
/* === End fix hover badge === */


/* --- CÓDIGO FINAL PARA SCROLL SNAP --- */

/* 1. Definir el contenedor principal del scroll y activar el snap */ 
body.home #inner-wrap { scroll-snap-type: y mandatory; height: 100vh; overflow-y: scroll; }

/* 2. Definir cada sección como un punto de anclaje */
body.home .seccion-snap { scroll-snap-align: start; }

/* 3. Ocultar la barra de scroll del navegador para un look más limpio */
body.home { overflow: hidden; }

/* === Cursor UX: limitar pointer solo a elementos interactivos dentro de la card de disponibilidad === */
.card-disponibilidad-flex { cursor: default; }
/* Permitir pointer únicamente en enlaces y botones reales */
.card-disponibilidad-flex a,
.card-disponibilidad-flex button,
.card-disponibilidad-flex [role="button"],
.card-disponibilidad-flex .admiral-quick-book-btn { cursor: pointer; }
/* Evitar que contenedores internos hereden pointer accidentalmente */
.card-disponibilidad-flex *:not(a):not(button):not([role="button"]) { cursor: inherit; }
/* === Fin Cursor UX === */

/* Availability card title link: quitar subrayado por defecto y mostrarlo solo en hover/focus-visible */
.card-disponibilidad-flex .acf-title-link { text-decoration:none; color:inherit; display:inline-block; }
/* Asegurar que los headings internos heredan y animan el color */
.card-disponibilidad-flex .acf-title-link h4,
.card-disponibilidad-flex .acf-title-link h5 { color:inherit; transition:color .25s ease; }
/* Hover/focus: cambiar color a la paleta 1 para feedback visual (sin subrayado) */
.card-disponibilidad-flex .acf-title-link:hover,
.card-disponibilidad-flex .acf-title-link:focus-visible { color:var(--global-palette1,#B59F6B); text-decoration:none; }
/* Forzar color también en los headings dentro del enlace en hover/focus */
.card-disponibilidad-flex .acf-title-link:hover h4,
.card-disponibilidad-flex .acf-title-link:hover h5,
.card-disponibilidad-flex .acf-title-link:focus-visible h4,
.card-disponibilidad-flex .acf-title-link:focus-visible h5 { color:var(--global-palette1,#B59F6B); }
.card-disponibilidad-flex .acf-title-row { display:flex; align-items:baseline; gap:20px; flex-wrap:wrap; }
.card-disponibilidad-flex .acf-title-row .acf-title { margin:0; }
.card-disponibilidad-flex .acf-inner > h4 { margin:0px; line-height:1.1; }
.card-disponibilidad-flex .acf-details-link { font-size:14px; text-decoration:none; transition:color .25s ease; white-space:nowrap; }
.card-disponibilidad-flex .acf-details-link:hover,
.card-disponibilidad-flex .acf-details-link:focus-visible { color:var(--global-palette2,#9E873F); }
/* Si prefieres subrayado accesible sólo en focus visible, descomenta:
.card-disponibilidad-flex .acf-title-link:focus-visible { text-decoration:underline; }
*/
/* Eliminar márgenes extra de los encabezados envueltos */
.card-disponibilidad-flex .acf-title-link h4,
.card-disponibilidad-flex .acf-title-link h5 { margin:0; }


/* === Fix: Flechas de cambio de mes rotas (refuerzo no invasivo) === */
/* No se editan reglas existentes; solo se agregan overrides más específicos */
.yith-wcbk-date-picker--inline .ui-datepicker-prev,
.yith-wcbk-date-picker--inline .ui-datepicker-next,
#ui-datepicker-div.yith-wcbk-datepicker .ui-datepicker-prev,
#ui-datepicker-div.yith-wcbk-datepicker .ui-datepicker-next {
  width: 24px !important;
  height: 24px !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
  top: 6px !important; /* alineación vertical suave */
  cursor: pointer;
}
.yith-wcbk-date-picker--inline .ui-datepicker-prev,
#ui-datepicker-div.yith-wcbk-datepicker .ui-datepicker-prev { left: 6px !important; right: auto !important; }
.yith-wcbk-date-picker--inline .ui-datepicker-next,
#ui-datepicker-div.yith-wcbk-datepicker .ui-datepicker-next { right: 6px !important; left: auto !important; }

/* Redefine círculo y flecha asegurando visibilidad (sobre-escribe pseudo previos si faltan) */
.yith-wcbk-date-picker--inline .ui-datepicker-prev:before,
.yith-wcbk-date-picker--inline .ui-datepicker-next:before,
#ui-datepicker-div.yith-wcbk-datepicker .ui-datepicker-prev:before,
#ui-datepicker-div.yith-wcbk-datepicker .ui-datepicker-next:before {
  content: '';
  position: absolute;
  inset: 0;
  border: 1px solid var(--admiral-date-border, #ddd);
  border-radius: 50%;
  background: var(--admiral-date-calendar-bg, #fff);
  box-shadow: none;
}
.yith-wcbk-date-picker--inline .ui-datepicker-prev:after,
.yith-wcbk-date-picker--inline .ui-datepicker-next:after,
#ui-datepicker-div.yith-wcbk-datepicker .ui-datepicker-prev:after,
#ui-datepicker-div.yith-wcbk-datepicker .ui-datepicker-next:after {
  content: '';
  width: 7px;
  height: 7px;
  border-top: 2px solid var(--admiral-date-text, #111);
  border-right: 2px solid var(--admiral-date-text, #111);
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(45deg);
  pointer-events: none;
}

.woocommerce div.product .button.single_add_to_cart_button {
    padding: 5px 30px !important;
    letter-spacing: 1px;
}


/* Flecha izquierda rotación distinta */
.yith-wcbk-date-picker--inline .ui-datepicker-prev:after,
#ui-datepicker-div.yith-wcbk-datepicker .ui-datepicker-prev:after { transform: translate(-50%, -50%) rotate(225deg); }

/* Hover / focus accesible */
.yith-wcbk-date-picker--inline .ui-datepicker-prev:hover:before,
.yith-wcbk-date-picker--inline .ui-datepicker-next:hover:before,
#ui-datepicker-div.yith-wcbk-datepicker .ui-datepicker-prev:hover:before,
#ui-datepicker-div.yith-wcbk-datepicker .ui-datepicker-next:hover:before { background: var(--admiral-date-hover-bg, #f5f5f5); }
.yith-wcbk-date-picker--inline .ui-datepicker-prev:focus-visible:before,
.yith-wcbk-date-picker--inline .ui-datepicker-next:focus-visible:before,
#ui-datepicker-div.yith-wcbk-datepicker .ui-datepicker-prev:focus-visible:before,
#ui-datepicker-div.yith-wcbk-datepicker .ui-datepicker-next:focus-visible:before { outline: 2px solid var(--admiral-date-accent, #B59F6B); outline-offset: 2px; }

/* Deshabilitadas (mes fuera de rango) */
.ui-state-disabled.ui-datepicker-prev:before,
.ui-state-disabled.ui-datepicker-next:before { opacity: .35 !important; }
.ui-state-disabled.ui-datepicker-prev:after,
.ui-state-disabled.ui-datepicker-next:after { opacity: .35 !important; }
/* === Fin fix flechas calendario === */

/* === Refinamiento flechas calendario: quitar círculo y duplicado, estilo chevron fino === */
/* Ocultar span interno (texto + icono sprite jQuery UI) para evitar doble flecha */
.yith-wcbk-date-picker--inline .ui-datepicker-prev span,
.yith-wcbk-date-picker--inline .ui-datepicker-next span,
#ui-datepicker-div.yith-wcbk-datepicker .ui-datepicker-prev span,
#ui-datepicker-div.yith-wcbk-datepicker .ui-datepicker-next span { display: none !important; }

/* Quitar círculo creado antes y cualquier fondo/borde heredado */
.yith-wcbk-date-picker--inline .ui-datepicker-prev:before,
.yith-wcbk-date-picker--inline .ui-datepicker-next:before,
#ui-datepicker-div.yith-wcbk-datepicker .ui-datepicker-prev:before,
#ui-datepicker-div.yith-wcbk-datepicker .ui-datepicker-next:before { content: none !important; }

/* Redefinir sólo la flecha (chevron) */
.yith-wcbk-date-picker--inline .ui-datepicker-prev:after,
.yith-wcbk-date-picker--inline .ui-datepicker-next:after,
#ui-datepicker-div.yith-wcbk-datepicker .ui-datepicker-prev:after,
#ui-datepicker-div.yith-wcbk-datepicker .ui-datepicker-next:after {
  content: '' !important;
  width: 8px;
  height: 8px;
  border-top: 2px solid var(--admiral-date-text,#111);
  border-right: 2px solid var(--admiral-date-text,#111);
  background: none;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(45deg);
  box-shadow: none;
}
.yith-wcbk-date-picker--inline .ui-datepicker-prev:after,
#ui-datepicker-div.yith-wcbk-datepicker .ui-datepicker-prev:after { transform: translate(-50%, -50%) rotate(225deg); }

/* Área clicable sin borde visible */
.yith-wcbk-date-picker--inline .ui-datepicker-prev,
.yith-wcbk-date-picker--inline .ui-datepicker-next,
#ui-datepicker-div.yith-wcbk-datepicker .ui-datepicker-prev,
#ui-datepicker-div.yith-wcbk-datepicker .ui-datepicker-next {
  border: none !important;
  background: transparent !important;
  box-shadow: none !important;
}

/* Hover: ligero cambio de color */
.yith-wcbk-date-picker--inline .ui-datepicker-prev:hover:after,
.yith-wcbk-date-picker--inline .ui-datepicker-next:hover:after,
#ui-datepicker-div.yith-wcbk-datepicker .ui-datepicker-prev:hover:after,
#ui-datepicker-div.yith-wcbk-datepicker .ui-datepicker-next:hover:after { border-color: var(--admiral-date-accent,#B59F6B); }

/* Deshabilitadas: reducir opacidad */
.ui-state-disabled.ui-datepicker-prev:after,
.ui-state-disabled.ui-datepicker-next:after { opacity: .35 !important; }
/* === Fin refinamiento flechas calendario === */


.map_home {
  min-height: 100vh !important;
}

.admiral_grain:before {
  content: "";
  background-color: transparent !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 600 600'%3E%3Cfilter id='a'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23a)'/%3E%3C/svg%3E") !important;
  background-repeat: repeat !important;
  background-size: 182px !important;
  opacity: 0.15 !important;
  top: 0 !important;
  left: 0 !important;
  position: absolute !important;
  width: 100% !important;
  height: 100% !important;
  pointer-events: none;
}

.admiral_grain > * {
  pointer-events: auto; /* los hijos sí reaccionan */
}

.pointer_event {
  pointer-events: none;
}

.pointer_event > * {
  pointer-events: none !important;
}

.waze a:hover .kb-svg-icon-wrap {
    font-size: 26px !important;
    padding: 6px !important;
}

/* =============================================================
   Admiral Default Product Card (duplica look resultados búsqueda)
   Estructura esperada en card-default.php:
   <article class="admiral-card admiral-default-card ...">
     <a class="admiral-default-card-link">
       <span class="admiral-default-card-figure"><img></span>
     </a>
     <div class="admiral-default-card-body">
       <h3 class="admiral-default-number"><a></a></h3>
       <div class="admiral-default-price">...</div>
       <div class="admiral-default-cta">(botón)</div>
     </div>
   </article>
   ============================================================= */
.admiral-default-card {
  background:#fff;
  border:1px solid #e3e3e3;
  border-radius:3px;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  box-shadow:0 2px 4px rgba(0,0,0,.05);
  transition:box-shadow .25s, transform .25s;
  position:relative;
}
.admiral-default-card-link { display:flex; flex-direction:column; height:100%; color:inherit; text-decoration:none; }
.admiral-default-card-link:focus-visible { outline:1px solid #222; outline-offset:2px; }
.admiral-default-card:hover { box-shadow:0 6px 18px rgba(0,0,0,.14); transform:translateY(-3px); }
.admiral-default-card-figure { display:block; position:relative; width:100%; padding-bottom:66.666%; overflow:hidden; background:#f2f2f2; }
.admiral-default-card-figure img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .6s; }
.admiral-default-card:hover .admiral-default-card-figure img { transform:scale(1.05); }
.admiral-default-card-body { padding:20px 22px 24px; display:flex; flex-direction:column; flex:1; background:#fff; }
h3.admiral-default-number, .admiral-default-card h3.admiral-default-number { font-family:"Playfair Display",serif; font-size:30px !important; line-height:1; font-weight:300; letter-spacing:.5px; margin:0; }
.admiral-default-price { font-family:Montserrat,system-ui,sans-serif; font-size:15px; font-weight:500; padding-top:4px; }
.admiral-default-price .woocommerce-Price-currencySymbol { font-size:10px; margin-right:2px; }
.admiral-default-price .amount { font-weight: 600; }
.admiral-default-cta { margin-top:1em; }
/* Fin Admiral Default Product Card */

/* =============================================================
   Card Template: Comida (card-comida)
   ============================================================= */
/* Comida - layout stacked  */
.admiral-comida-card { background:#fff; border:1px solid #e5e5e5; border-radius:6px; overflow:hidden; display:flex; flex-direction:column; position:relative; }
.admiral-comida-card.layout-stacked { display:flex; flex-direction:column; }
.admiral-comida-card.layout-stacked .admiral-comida-block { position:relative; width:100%; }
/* Bloque imagen  */
.admiral-comida-card.layout-stacked .admiral-comida-block-media { aspect-ratio:3/2; overflow:hidden; background:#fafafa; }
.admiral-comida-card.layout-stacked .admiral-comida-card-figure { position:absolute; inset:0; width:100%; height:100%; padding:0; }
.admiral-comida-card.layout-stacked .admiral-comida-card-figure img { width:100%; height:100%; object-fit:cover; display:block; }
/* Bloque contenido con grid para fijar precio abajo */
.admiral-comida-card.layout-stacked .admiral-comida-block-content { aspect-ratio:2/1; background:#fff; position:relative; overflow:hidden; display:block; }
.admiral-comida-card.layout-stacked .admiral-comida-content-inner { position:absolute; inset:0; display:flex; flex-direction:column; gap:.55rem; box-sizing:border-box; width:100%; height:100%; padding:18px 20px 18px; }
.admiral-comida-card.layout-stacked .admiral-comida-title { margin:0; font-size:16px; line-height:1.15; font-weight:600; }
.admiral-comida-card.layout-stacked .admiral-comida-desc { margin:0; font-size:14px; line-height:1.15; color:#555; flex:1 1 auto; overflow:hidden; display:-webkit-box; -webkit-line-clamp:8; line-clamp:8; -webkit-box-orient:vertical; text-overflow:ellipsis; }
.admiral-comida-card.layout-stacked .admiral-comida-price { position:absolute; right:20px; bottom:26px; font-size:15px; font-weight:600; font-family:Montserrat,system-ui,sans-serif; }
.admiral-comida-card.layout-horizontal .admiral-comida-price { position:absolute; right:20px; bottom:26px; font-size:15px; font-weight:600; font-family:Montserrat,system-ui,sans-serif; }
.admiral-comida-card.layout-flex .acf-price { position:absolute; right:20px; bottom:26px; font-size:15px; font-weight:600; font-family:Montserrat,system-ui,sans-serif; }
.admiral-comida-card.layout-flex .acf-inner { display:flex; flex-direction:column; gap:.55rem; padding:18px 20px 40px; width:100%; }
.admiral-comida-card.layout-flex.flex-d-row .acf-inner { padding:18px 20px 40px; }
.admiral-comida-card.layout-flex.flex-d-column .acf-inner { padding:16px 18px 38px; }
@media (max-width:1024px){
  .admiral-comida-card.layout-flex.flex-t-row { flex-direction:row; min-height:170px; }
  .admiral-comida-card.layout-flex.flex-trow .acf-media { flex:0 0 40%; max-width:40%; aspect-ratio:4/3; }
  .admiral-comida-card.layout-flex.flex-trow .acf-inner { padding:18px 20px 40px; }
  .admiral-comida-card.layout-flex.flex-t-column { flex-direction:column; min-height:auto; }
  .admiral-comida-card.layout-flex.flex-t-column .acf-media { width:100%; aspect-ratio:3/2; flex:0 0 auto; }
  .admiral-comida-card.layout-flex.flex-tcolumn .acf-inner { padding:16px 18px 38px; }
}
@media (max-width:767px){
  .admiral-products-loop--mcols-1 .admiral-comida-card.layout-flex.flex-m-column .acf-inner { padding:16px 18px 38px; }
  .admiral-comida-card.layout-flex.flex-m-row .acf-inner { padding:18px 20px 40px; }
  .admiral-comida-card.layout-flex.flex-m-column .acf-inner { padding:16px 18px 38px; }
}
.admiral-comida-card.layout-stacked .admiral-comida-price .woocommerce-Price-currencySymbol { font-size:11px; margin-right:1px; }
/* Fallback sin soporte de aspect-ratio */
@supports not (aspect-ratio:1/1) {
  .admiral-comida-card.layout-stacked .admiral-comida-block-media { height:0; padding-top:50%; }
  .admiral-comida-card.layout-stacked .admiral-comida-block-content { height:0; padding-top:75%; position:relative; }
  .admiral-comida-card.layout-stacked .admiral-comida-content-inner { position:absolute; inset:0; display:flex; flex-direction:column; gap:.55rem; padding:18px 20px 18px; }
}
@media (max-width:767px){
  .admiral-comida-card.layout-stacked .admiral-comida-block-content { aspect-ratio:5/2; background:#fff; position:relative; overflow:hidden; display:block; }
  .admiral-comida-card.layout-stacked .admiral-comida-title { font-size:14px;}
  .admiral-comida-card.layout-stacked .admiral-comida-desc { -webkit-line-clamp:8; line-clamp:8; font-size:14px; }
}
/* Fin CSS simplificado Comida */

/* =============================================================
   Card Template: Comida Horizontal (layout-horizontal)
   ============================================================= */
.admiral-comida-card.layout-horizontal { display:flex; flex-direction:row; background:#fff; border:1px solid #e5e5e5; border-radius:6px; overflow:hidden; position:relative; min-height:180px; }
.admiral-comida-card.layout-horizontal .admiral-comida-h.media { flex:0 0 40%; position:relative; aspect-ratio:4/3; background:#fafafa; overflow:hidden; }
.admiral-comida-card.layout-horizontal .admiral-comida-card-figure { position:absolute; inset:0; width:100%; height:100%; }
.admiral-comida-card.layout-horizontal .admiral-comida-card-figure img { width:100%; height:100%; object-fit:cover; display:block; }
.admiral-comida-card.layout-horizontal .admiral-comida-h.body { flex:1 1 auto; position:relative; display:flex; }
.admiral-comida-card.layout-horizontal .admiral-comida-h-inner { display:flex; flex-direction:column; gap:.55rem; padding:18px 20px 40px; width:100%; }
.admiral-comida-card.layout-horizontal .admiral-comida-title { margin:0; font-size:16px; line-height:1.15; font-weight:600; }
.admiral-comida-card.layout-horizontal .admiral-comida-desc { margin:0; font-size:14px; line-height:1.2; color:#555; flex:1 1 auto; overflow:hidden; display:-webkit-box; -webkit-line-clamp:6; line-clamp:6; -webkit-box-orient:vertical; text-overflow:ellipsis; }
.admiral-comida-card.layout-horizontal .admiral-comida-price { position:absolute; right:20px; bottom:4px; font-size:15px; font-weight:600; font-family:Montserrat,system-ui,sans-serif; }
.admiral-comida-card.layout-horizontal .admiral-comida-price .woocommerce-Price-currencySymbol { font-size:11px; margin-right:1px; }
@media (max-width:1024px){
  .admiral-comida-card.layout-horizontal { flex-direction:row; }
  .admiral-comida-card.layout-horizontal .admiral-comida-h.media { flex-basis:42%; }
  .admiral-comida-card.layout-horizontal .admiral-comida-title { font-size:14px; }
  .admiral-comida-card.layout-horizontal .admiral-comida-desc { -webkit-line-clamp:5; line-clamp:5; }
}
@media (max-width:767px){
  .admiral-comida-card.layout-horizontal { flex-direction:row; }
  .admiral-comida-card.layout-horizontal .admiral-comida-h.media { flex-basis:30%; }
  .admiral-comida-card.layout-horizontal .admiral-comida-title { font-size:14px;}
  .admiral-comida-card.layout-horizontal .admiral-comida-desc { -webkit-line-clamp:5; line-clamp:5; }
}
/* Tablet breakpoint (Kadence tablet <=1024px) */
@media (max-width:1024px){
  .comida_cat { font-size: 2rem; }
}
/* Mobile breakpoint (Kadence mobile <=767px) */
@media (max-width:767px){
  .comida_cat { font-size: 1.7rem; }
}

/* Unified Comida Flex Card */
.admiral-comida-card.layout-flex { display:flex; position:relative; background:#fff; border:1px solid #e5e5e5; border-radius:6px; overflow:hidden; }
.admiral-comida-card.layout-flex .acf-media { flex:0 0 40%; position:relative; aspect-ratio:4/3; background:#fafafa; overflow:hidden; }
.admiral-comida-card.layout-flex .acf-figure img { width:100%; height:100%; object-fit:cover; display:block; }
.admiral-comida-card.layout-flex .acf-body { flex:1 1 auto; position:relative; display:flex; }
.admiral-comida-card.layout-flex .acf-inner { display:flex; flex-direction:column; gap:.55rem; padding:18px 20px 40px; width:100%; }
.admiral-comida-card.layout-flex .acf-title { margin:0; font-size:16px; line-height:1.15; font-weight:600; }
.admiral-comida-card.layout-flex .acf-desc { margin:0; font-size:14px; line-height:1.15; color:#555; flex:1 1 auto; overflow:hidden; display:-webkit-box; -webkit-line-clamp:6; line-clamp:6; -webkit-box-orient:vertical; text-overflow:ellipsis; }
.admiral-comida-card.layout-flex .acf-price { position:absolute; right:20px; bottom:4px; font-size:15px; font-weight:600; font-family:Montserrat,system-ui,sans-serif; }
.admiral-comida-card.layout-flex .acf-price .woocommerce-Price-currencySymbol { font-size:11px; margin-right:1px; }
/* Explicit row orientation tweaks to mirror legacy horizontal */
.admiral-comida-card.layout-flex.flex-d-row { min-height:180px; flex-direction:row; }
.admiral-comida-card.layout-flex.flex-d-row .acf-media { flex:0 0 40%; aspect-ratio:4/3; }
.admiral-comida-card.layout-flex.flex-d-row .acf-inner { padding:18px 20px 40px; }
/* Column orientation */
.admiral-comida-card.layout-flex.flex-d-column { flex-direction:column; }
.admiral-comida-card.layout-flex.flex-d-column .acf-media { width:100%; aspect-ratio:3/2; flex:0 0 auto; }
.admiral-comida-card.layout-flex.flex-d-column .acf-inner { padding:16px 18px 38px; }
/* Tablet overrides */
@media (max-width:1024px){
  .admiral-comida-card.layout-flex.flex-t-row { flex-direction:row; }
  .admiral-comida-card.layout-flex.flex-trow { min-height:170px; }
  .admiral-comida-card.layout-flex.flex-trow .acf-media { flex:0 0 40%; max-width:40%; aspect-ratio:4/3; }
  .admiral-comida-card.layout-flex.flex-trow .acf-inner { padding:18px 20px 40px; }
  .admiral-comida-card.layout-flex.flex-t-column { flex-direction:column; min-height:auto; }
  .admiral-comida-card.layout-flex.flex-t-column .acf-media { width:100%; aspect-ratio:3/2; flex:0 0 auto; }
  .admiral-comida-card.layout-flex.flex-tcolumn .acf-inner { padding:16px 18px 38px; }
}
@media (max-width:767px){
  /* Reset suave: si el loop es 1 columna y la tarjeta ya está en modo columna (flex-m-column), aseguramos estilos homogéneos sin afectar flex-m-row */
  .admiral-products-loop--mcols-1 .admiral-comida-card.layout-flex.flex-m-column { min-height:auto; }
  .admiral-products-loop--mcols-1 .admiral-comida-card.layout-flex.flex-m-column .acf-media { width:100%; aspect-ratio:3/2; flex:0 0 auto; }
  .admiral-products-loop--mcols-1 .admiral-comida-card.layout-flex.flex-m-column .acf-inner { padding:16px 18px 38px; }
  .admiral-products-loop--mcols-1 .admiral-comida-card.layout-flex.flex-m-column .acf-title { font-size:14px; }
  /* (sin truncado para columnas, se quita clamp específico) */
  .admiral-comida-card.layout-flex.flex-m-row { flex-direction:row; }
  .admiral-comida-card.layout-flex.flex-m-row { min-height:160px; }
  .admiral-comida-card.layout-flex.flex-m-row .acf-media { flex:0 0 40%; aspect-ratio:4/3; }
  .admiral-comida-card.layout-flex.flex-m-row .acf-media { flex:0 0 40%; }
  .admiral-comida-card.layout-flex.flex-m-column { flex-direction:column; min-height:auto; }
  .admiral-comida-card.layout-flex.flex-m-column .acf-media { width:100%; aspect-ratio:3/2; flex:0 0 auto; }
  .admiral-comida-card.layout-flex.flex-m-column .acf-inner { padding:16px 18px 38px; }
  /* Title size adjustment for mobile */
  .admiral-comida-card.layout-flex.flex-m-row .acf-title { font-size:14px; }
  .admiral-comida-card.layout-flex.flex-m-column .acf-title { font-size:14px; }
}
/* Mobile full description for column orientation (no truncation) */
@media (max-width:767px){
  .admiral-comida-card.layout-flex.flex-m-column .acf-desc {
    display:block !important;
    -webkit-line-clamp:unset !important;
    line-clamp:unset !important;
    -webkit-box-orient:unset !important;
    overflow:visible !important;
    max-height:none !important;
  }
}
/* No truncation globally for descriptions (loop-wide) */
.admiral-products-loop .admiral-comida-card.layout-flex .acf-desc,
.admiral-products-loop .admiral-comida-card.layout-horizontal .admiral-comida-desc {
  display:block !important;
  -webkit-line-clamp:unset !important;
  line-clamp:unset !important;
  -webkit-box-orient:unset !important;
  overflow:visible !important;
  max-height:none !important;
  text-overflow:initial !important;
}

/* Minimal card (no image) */
.admiral-products-loop .card-minimal.layout-minimal { 
  display:flex; 
  background:transparent; /* Transparent background */
  border:0; 
  border-radius:0; 
  padding:0 18px; /* Restore horizontal space (was 14px 18px) */
  position:relative; 
  align-items:center; 
  font-family:inherit;
}
.admiral-products-loop .card-minimal .minimal-card-inner { 
  display:flex; 
  width:100%; 
  gap:12px; 
  align-items:center; /* Centrado vertical título + precio */
}
.admiral-products-loop .card-minimal .minimal-title { 
  flex:1 1 auto; 
  margin:0; 
  font-size:16px; /* Igual que .acf-title en comida-flex */
  line-height:1.15; /* Ajuste para coincidir */
  font-weight:600; 
}
.admiral-products-loop .card-minimal .minimal-title a { 
  text-decoration:none; 
  color:#222; 
}
.admiral-products-loop .card-minimal .minimal-title a:hover { color:#000; }
.admiral-products-loop .card-minimal .minimal-price { 
  flex:0 0 auto; 
  font-size:15px; /* Igual que .acf-price */
  font-weight:600; 
  font-family:Montserrat,system-ui,sans-serif; /* Paridad tipografía precio */
  white-space:nowrap; 
  margin-left:8px; 
  line-height:1.15; /* Mantener alineación óptica con título */
}
.admiral-products-loop .card-minimal .minimal-price .woocommerce-Price-currencySymbol { font-size:11px; margin-right:1px; }
@media (max-width:1024px){
  .admiral-products-loop .card-minimal.layout-minimal { padding:0 16px; }
  .admiral-products-loop .card-minimal .minimal-title { font-size:14px; line-height:1.15; }
  .admiral-products-loop .card-minimal .minimal-price { font-size:14px; }
}
@media (max-width:767px){
  .admiral-products-loop .card-minimal.layout-minimal { padding:0 16px; }
  .admiral-products-loop .card-minimal .minimal-title { font-size:14px; line-height:1.15; }
  .admiral-products-loop .card-minimal .minimal-price { font-size:14px; }
}

@media (max-width:767px){
  .admiral-booking-results-category-title {
    padding: 0 6px 0 6px;
  }
}

/* Footer Kadence – quitar marco/padding alrededor del Element personalizado */
.site-footer-row-container-inner .site-container .admiral_footer.kb-row-layout-wrap {
  margin-left: 0;
  margin-right: 0;
  width: 100%;
  max-width: 100%;
}

/* ACTIVO: eliminar padding lateral y ancho limitado del contenedor footer */
.site-footer-row-container-inner > .site-container {
  --global-content-edge-padding: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  max-width: 100% !important;
  width: 100% !important;
}

/* === Footer Kadence: eliminar espacio (top/bottom) extra === */
.site-footer-row-container-inner,
.site-footer-row-container-inner .site-footer-row,
.site-footer-row-container-inner .site-footer-top-section-1,
.site-footer-row-container-inner .footer-widget-area-inner,
.site-footer-row-container-inner .footer-widget-area-inner .widget,
.site-footer-row-container-inner .footer-widget-area-inner .widget_block {
  margin-top:0 !important;
  margin-bottom:0 !important;
  padding-top:0 !important;
  padding-bottom:0 !important;
  border:0 !important;
}

/* Remueve posible gap causado por párrafo vacío que envuelve el element */
#block-118 > p:first-child,
#block-118 > p:last-child {
  margin:0 !important;
  padding:0 !important;
}

/* Asegura que el wrapper principal del pattern no añada padding vertical */
.admiral_footer.kb-row-layout-wrap {
  padding-top:0 !important;
  padding-bottom:0 !important;
  margin-top:0 !important;
  margin-bottom:0 !important;
  border:0 !important;
}

/* Si algún row interno añade padding superior/inferior inline, lo anulamos solo para el primero y último */
.admiral_footer.kb-row-layout-wrap > .kt-row-column-wrap:first-of-type,
.admiral_footer.kb-row-layout-wrap > .kt-row-column-wrap:last-of-type {
  padding-top:0 !important;
  padding-bottom:0 !important;
  margin-top:0 !important;
  margin-bottom:0 !important;
}

/* Quitar línea/borde heredado del tema (por si existe) */
.site-footer-row-container-inner .site-footer-row:before,
.site-footer-row-container-inner .site-footer-row:after {
  display:none !important;
  content:none !important;
}
/* === Fin ajuste footer vertical === */

/* Footer: eliminar subrayado en todos los enlaces (todas las páginas) */
.admiral_footer a,
.admiral_footer a:visited,
.admiral_footer a:hover,
.admiral_footer a:focus,
.admiral_footer a:active {
  text-decoration: none !important;
}

/* Refuerzo por si algún wrapper externo aplica decoración */
.site-footer-row-container-inner a {
  text-decoration: none !important;
}

/* === WooCommerce tablas: quitar padding lateral en celdas === */
.woocommerce table.shop_table td { padding-left:0 !important; padding-right:0 !important; }
/* Opcional: también headers si se requiere alineación flush */
.woocommerce table.shop_table th { padding-left:0 !important; padding-right:0 !important; }

/* Alinear totales de producto a la derecha */
.woocommerce table.shop_table td.product-total,
.woocommerce table.shop_table th.product-total { text-align:right; }

/* Alinear monto del total final a la derecha */
.woocommerce table.shop_table tr.order-total td { text-align:right !important; }
/* Por si el theme envuelve en strong/amount inline que no ocupa todo el ancho */
.woocommerce table.shop_table tr.order-total td > * { float:none; }

/* Global buttons override: font-weight 500 & letter-spacing .1em */
button, .button, .wp-block-button__link, input[type="button"], input[type="reset"], input[type="submit"], .fl-button, .elementor-button-wrapper .elementor-button, .wc-block-components-checkout-place-order-button, .wc-block-cart__submit {
  font-weight:500 !important;
  letter-spacing:0.1em !important;
}

/* Checkout: logo Flow a 50px de alto */
label[for="payment_method_flowpayment"] img { height:50px !important; max-height:50px !important; width:auto !important; }

/* Off-canvas menu links: white, no underline, horizontal indent on hover */
.kb-off-canvas-inner-wrap .kb-off-canvas-inner a {
  color:#fff !important;
  text-decoration:none !important;
  display:inline-flex;
  align-items:center;
  transition:transform .25s ease, color .25s ease, padding-left .25s ease;
  will-change:transform, padding-left;
}
.kb-off-canvas-inner-wrap .kb-off-canvas-inner a:hover,
.kb-off-canvas-inner-wrap .kb-off-canvas-inner a:focus { transform:none; padding-left:6px; }
@media (prefers-reduced-motion:reduce){
  .kb-off-canvas-inner-wrap .kb-off-canvas-inner a { transition:none; }
  .kb-off-canvas-inner-wrap .kb-off-canvas-inner a:hover,
  .kb-off-canvas-inner-wrap .kb-off-canvas-inner a:focus { transform:none; padding-left:0; }
}

/* === Cart Totals as Card === */
body.woocommerce-cart .cart-collaterals .cart_totals {
  background:#fff;
  border:1px solid #e5e5e5;
  border-radius:6px;
  padding:20px 22px 24px;
  box-shadow:0 2px 6px rgba(0,0,0,.06);
  position:relative;
}
/* Cart totals title unified style */
/* Totals header grid */
body.woocommerce-cart .cart-collaterals .cart_totals .cart-totals-header { 
  display:grid; 
  grid-template-columns:1fr auto; 
  align-items:end; 
  gap:12px; 
  margin:0 0 18px; 
}
body.woocommerce-cart .cart-collaterals .cart_totals .cart-totals-title { 
  margin:0; 
  font-family:Montserrat,system-ui,sans-serif; 
  font-weight:600; 
  font-size:14px; 
  letter-spacing:.08em; 
  text-transform:uppercase; 
  line-height:1.2; 
}
body.woocommerce-cart .cart-collaterals .cart_totals .cart-totals-amount { 
  font-family:Montserrat,system-ui,sans-serif; 
  font-size:26px; 
  font-weight:400; 
  letter-spacing:.5px; 
  line-height:1; 
  text-align:right; 
  white-space:nowrap; 
}
body.woocommerce-cart .cart-collaterals .cart_totals .cart-totals-amount .woocommerce-Price-currencySymbol { font-size:60%; margin-right:2px; line-height:1; vertical-align:baseline; }
/* Ocultar fila legacy ya movido el total al título */
body.woocommerce-cart .cart-collaterals .cart_totals tr.order-total--legacy { display:none !important; }
/* High-specificity reinforcement for TOTAL title visibility */
body.woocommerce-cart .cart-collaterals .cart_totals > h2.cart-totals-title { display:block !important; }
body.woocommerce-cart .cart-collaterals .cart_totals table.shop_table {
  width:100%;
  border:0;
  margin:0 0 12px;
  border-collapse:collapse;
}
/* Restore internal horizontal spacing only inside cart card */
body.woocommerce-cart .cart-collaterals .cart_totals table.shop_table th,
body.woocommerce-cart .cart-collaterals .cart_totals table.shop_table td {
  padding:8px 0;
  border:0;
  font-size:14px;
  line-height:1.3;
}
body.woocommerce-cart .cart-collaterals .cart_totals table.shop_table tr.order-total th,
body.woocommerce-cart .cart-collaterals .cart_totals table.shop_table tr.order-total td {
  border-top:1px solid #eee;
  padding-top:14px;
}
body.woocommerce-cart .cart-collaterals .cart_totals table.shop_table tr.order-total td { font-weight:600; }
body.woocommerce-cart .cart-collaterals .cart_totals .wc-proceed-to-checkout { margin:8px 0 0; }
body.woocommerce-cart .cart-collaterals .cart_totals .wc-proceed-to-checkout .button { width:100%; justify-content:center; }
@media (max-width:767px){
  body.woocommerce-cart .cart-collaterals .cart_totals { padding:18px 18px 22px; }
  body.woocommerce-cart .cart-collaterals .cart_totals h2 { font-size:15px; margin-bottom:14px; }
}

/* Cart Totals simplified: only title + centered final amount */
body.woocommerce-cart .cart-collaterals .cart_totals table.shop_table tr.cart-subtotal { display:none !important; }
/* Hide label "Total" but keep for screen readers by off-screen positioning */
body.woocommerce-cart .cart-collaterals .cart_totals table.shop_table tr.order-total th { position:absolute; left:-9999px; top:auto; width:1px; height:1px; overflow:hidden; padding:0; border:0; }
/* Remove legacy centered total row styling (now using title layout) */
body.woocommerce-cart .cart-collaterals .cart_totals table.shop_table tr.order-total td { display:none !important; }
/* (Removed duplicate h2 rule; consolidated above) */
/* Remove extra spacing from table wrapper */
body.woocommerce-cart .cart-collaterals .cart_totals table.shop_table { margin-bottom:6px; }
/* Eliminar márgenes inferiores extra bajo el botón checkout */
body.woocommerce-cart .cart-collaterals .cart_totals .wc-proceed-to-checkout { margin:12px 0 0 !important; padding:0 !important; }
body.woocommerce-cart .cart-collaterals .cart_totals .wc-proceed-to-checkout .button { margin:0 !important; }
/* Ajustar padding inferior de la card para pegar el botón sin gap grande */
body.woocommerce-cart .cart-collaterals .cart_totals { padding-bottom:16px; }
/* Quitar línea separadora (border-top) entre título y monto final */
body.woocommerce-cart .cart-collaterals .cart_totals table.shop_table tr.order-total th,
body.woocommerce-cart .cart-collaterals .cart_totals table.shop_table tr.order-total td { border-top:0 !important; }
/* Asegurar que la tabla no dibuja borde superior residual */
body.woocommerce-cart .cart-collaterals .cart_totals table.shop_table, 
body.woocommerce-cart .cart-collaterals .cart_totals table.shop_table tbody { border:0 !important; }


/* Override: remove default grey hover/active background on hamburger (mobile/tablet) */
.kb-header-sticky-wrapper .menu-toggle,
.kb-header-sticky-wrapper .wp-block-kadence-off-canvas-trigger { background: transparent !important; box-shadow: none !important; }
.kb-header-sticky-wrapper .menu-toggle:hover,
.kb-header-sticky-wrapper .menu-toggle:focus,
.kb-header-sticky-wrapper .menu-toggle:active,
.kb-header-sticky-wrapper .wp-block-kadence-off-canvas-trigger:hover,
.kb-header-sticky-wrapper .wp-block-kadence-off-canvas-trigger:focus,
.kb-header-sticky-wrapper .wp-block-kadence-off-canvas-trigger:active { background: transparent !important; box-shadow:none !important; }
/* Touch target highlight removal (WebKit) */
/* (Nota: -webkit-tap-highlight-color controla el flash gris en iOS) */
.kb-header-sticky-wrapper .menu-toggle,
.kb-header-sticky-wrapper .wp-block-kadence-off-canvas-trigger { -webkit-tap-highlight-color: transparent; }

/* === Checkout: ocultar encabezado Producto/Subtotal y fila Subtotal === */
body.woocommerce-checkout:not(.woocommerce-order-received) table.woocommerce-checkout-review-order-table thead,
body.woocommerce-checkout:not(.woocommerce-order-received) table.woocommerce-checkout-review-order-table tr.cart-subtotal { display:none !important; }
/* Evitar doble borde tras ocultar thead */
body.woocommerce-checkout:not(.woocommerce-order-received) table.woocommerce-checkout-review-order-table tbody tr:first-child td { border-top: none; }

/* ===== Checkout Cards Layout (Admiral) ===== */
body.woocommerce-checkout .admiral-checkout-grid { 
  display:grid; 
  grid-template-columns:1fr 1fr; 
  gap:40px; 
  align-items:start; 
  margin:0 0 40px; 
}
@media (max-width:1100px){
  body.woocommerce-checkout .admiral-checkout-grid { gap:32px; }
}
@media (max-width:880px){
  body.woocommerce-checkout .admiral-checkout-grid { grid-template-columns:1fr; }
  body.woocommerce-checkout .admiral-checkout-secondary { order:2; }
  body.woocommerce-checkout .admiral-checkout-primary { order:1; }
}
body.woocommerce-checkout .admiral-card { 
  background:#fff; 
  border:1px solid #e5e5e5; 
  border-radius:6px; 
  padding:20px 22px 18px; 
  box-shadow:0 2px 6px rgba(0,0,0,.06); 
  position:relative; 
}
body.woocommerce-checkout .admiral-card + .admiral-card { margin-top:26px; }
body.woocommerce-checkout .admiral-card__header { display:flex; align-items:center; justify-content:space-between; margin:-4px 0 14px; }
body.woocommerce-checkout .admiral-card__title { font:600 14px/1.15 'Montserrat',system-ui,sans-serif; letter-spacing:.08em; text-transform:uppercase; margin:0; }
body.woocommerce-checkout .admiral-card__body { font-size:15px; line-height:1.4; }
/* Order notes inside main card */
body.woocommerce-checkout .admiral-order-notes { margin-top:24px; padding-top:18px; border-top:0; }
body.woocommerce-checkout .admiral-order-notes h3 { font-size:13px; letter-spacing:.5px; text-transform:uppercase; font-weight:600; margin:0 0 12px; }
body.woocommerce-checkout .admiral-order-notes .form-row { margin-bottom:14px; }
body.woocommerce-checkout .admiral-card--summary .admiral-card__body, 
body.woocommerce-checkout .admiral-card--payment .admiral-card__body { padding-top:4px; }
/* Unificar tablas del resumen */
body.woocommerce-checkout #order_review table.shop_table { margin:0 0 12px; border:0; }
body.woocommerce-checkout #order_review table.shop_table th, 
body.woocommerce-checkout #order_review table.shop_table td { border:0; padding:8px 0; }
body.woocommerce-checkout #order_review table.shop_table tfoot th { font-weight:600; font-size:13px; letter-spacing:.5px; text-transform:uppercase; }
body.woocommerce-checkout #order_review table.shop_table tfoot td { font-weight:600; }
/* Space between order table and payment */
body.woocommerce-checkout .admiral-card--summary #order_review table.shop_table { margin-bottom:16px; }
/* Prevent flex equal-height columns causing separation */
body.woocommerce-checkout .admiral-card--summary #order_review, 
body.woocommerce-checkout .admiral-card--summary #payment { flex: none !important; }
/* Ensure order review uses full width inside card */
body.woocommerce-checkout .admiral-card--summary #order_review { width:100%; max-width:none; margin-left:0 !important; padding-left:0; display:block !important; }
/* Reset potential theme constraints */
body.woocommerce-checkout .admiral-card--summary #order_review .shop_table,
body.woocommerce-checkout .admiral-card--summary .woocommerce-checkout-review-order-table { width:100%; margin-left:0; }
/* Prevent inner wrappers from setting fixed max-width */
body.woocommerce-checkout .admiral-card--summary [class*="container"],
body.woocommerce-checkout .admiral-card--summary .woocommerce-checkout-review-order { max-width:none; display:block !important; }
/* Ensure stacked flow, no CSS grid two-columns from theme */
body.woocommerce-checkout .admiral-card--summary .woocommerce-checkout-review-order { grid-template-columns: none !important; gap: 0 !important; }
body.woocommerce-checkout .admiral-card--summary .woocommerce-checkout-review-order { margin-left:0; padding-left:0; }
/* Remove unintended padding collapsing width */
body.woocommerce-checkout .admiral-card--summary #order_review > * { box-sizing:border-box; }
/* Force card to wrap floated children */
body.woocommerce-checkout .admiral-card--summary { overflow:hidden; }
body.woocommerce-checkout .admiral-card--summary .admiral-card__body { overflow:hidden; }
/* Clear floats inside order review */
body.woocommerce-checkout .admiral-card--summary #order_review::after { content:""; display:block; clear:both; }
/* Neutralize legacy float columns possibly injected by theme */
body.woocommerce-checkout .admiral-card--summary #order_review [class*="col"],
body.woocommerce-checkout .admiral-card--summary #order_review .shop_table,
body.woocommerce-checkout .admiral-card--summary #order_review .cart_item { float:none !important; }
/* Ensure payment section does not escape */
body.woocommerce-checkout .admiral-card--summary #payment { width:100%; float:none; clear:both; }
/* Stack payment content and avoid sticky bottom alignment */
body.woocommerce-checkout .admiral-card--summary #payment { display:block !important; }
body.woocommerce-checkout .admiral-card--summary #payment .wc_payment_methods { display:block; width:100%; margin:0 0 12px; }
body.woocommerce-checkout .admiral-card--summary #payment .place-order { 
  display:block; width:100%; margin-top:12px !important; 
  align-self:auto !important; clear:both; float:none; 
}
/* Guard: if theme uses margin-top:auto to stick button bottom, override */
body.woocommerce-checkout .admiral-card--summary #payment .place-order { margin-top:12px !important; }
/* Collapse empty terms/privacy wrapper to avoid large gap */
body.woocommerce-checkout .admiral-card--summary #payment .woocommerce-terms-and-conditions-wrapper { margin:0; padding:0; min-height:0; }
body.woocommerce-checkout .admiral-card--summary #payment .woocommerce-privacy-policy-text { margin:0; padding:0; }
body.woocommerce-checkout .admiral-card--summary #payment .woocommerce-privacy-policy-text:empty { display:none; }
/* Optional: if wrapper contains only hidden children, remove residual spacing */
body.woocommerce-checkout .admiral-card--summary #payment .woocommerce-terms-and-conditions-wrapper:has(.woocommerce-privacy-policy-text:empty) { display:none; }
/* Debug outline (remove later) */
/* body.woocommerce-checkout .admiral-card--summary { outline:1px solid magenta; } */

/* Fix left indent in summary: normalize dl.variation and payment lists */
/* Revert dl.variation layout changes */
body.woocommerce-checkout .admiral-card--summary td.product-name dl.variation { margin:8px 0 0; padding:0; }
body.woocommerce-checkout .admiral-card--summary td.product-name dl.variation dt,
body.woocommerce-checkout .admiral-card--summary td.product-name dl.variation dd { margin:0; padding:0; float:none; }
/* Fijo: 10px después de ':' y cada par en nueva línea */
body.woocommerce-checkout .admiral-card--summary td.product-name dl.variation dt { display:inline; margin-right:5px; }
body.woocommerce-checkout .admiral-card--summary td.product-name dl.variation dd { display:inline; }
body.woocommerce-checkout .admiral-card--summary td.product-name dl.variation dd p { display:inline; margin:0; }
body.woocommerce-checkout .admiral-card--summary td.product-name dl.variation dd::after { content:""; display:block; height:4px; }
/* Keep natural dd left indent from Woo */
/* Payment methods: remove any left offsets */
/* Revert payment left margin resets (use theme defaults) */
/* Payment methods inside summary (temporal) */
body.woocommerce-checkout #order_review #payment { background:transparent; border:0; padding:4px 0 0; }
body.woocommerce-checkout #order_review #payment ul.payment_methods { padding:0; margin:0 0 12px; }
body.woocommerce-checkout #order_review #payment ul.payment_methods li { list-style:none; margin:0 0 10px; padding:0; }
body.woocommerce-checkout #order_review #payment .place-order { padding:4px 0 0; margin:0; }
/* Inputs spacing inside cards */
body.woocommerce-checkout .admiral-card input[type=text],
body.woocommerce-checkout .admiral-card input[type=email],
body.woocommerce-checkout .admiral-card input[type=tel],
body.woocommerce-checkout .admiral-card input[type=password],
body.woocommerce-checkout .admiral-card select,
body.woocommerce-checkout .admiral-card textarea { width:100%; }
body.woocommerce-checkout .admiral-card .form-row { margin:0 0 14px; }
body.woocommerce-checkout .admiral-card .form-row:last-child { margin-bottom:0; }
body.woocommerce-checkout h3#order_review_heading { display:none; }
body.woocommerce-checkout #payment h3 { font-size:13px; letter-spacing:.5px; text-transform:uppercase; font-weight:600; margin:0 0 12px; }
body.woocommerce-checkout #order_comments_field textarea { min-height:110px; }
body.woocommerce-checkout .woocommerce-NoticeGroup-checkout { margin-bottom:18px; }
@media (max-width:767px){
  body.woocommerce-checkout .admiral-card { padding:18px 18px 16px; }
  body.woocommerce-checkout .admiral-card__title { font-size:13px; }
  body.woocommerce-checkout .admiral-checkout-grid { gap:22px; }
  body.woocommerce-checkout .admiral-card + .admiral-card { margin-top:22px; }
}

.cart_item .product-name .yith-wcbk-booking-of {font-weight: 300;}

/* Hide WooCommerce default "Billing details" heading inside our DATOS card */
body.woocommerce-checkout .admiral-card--checkout .woocommerce-billing-fields > h3,
body.woocommerce-checkout .admiral-card--checkout .woocommerce-billing-fields h3 { display:none !important; }

/* === Checkout: remove extra margins on Place Order button === */
/* Theme sets: #payment #place_order { margin: var(--global-md-spacing) 0 1em; } */
/* We want the button flush with surrounding elements (no extra space) */
body.woocommerce-checkout .admiral-card--summary #payment #place_order { margin: 0 !important; }

/* === Woo Blocks Mini Cart: hide per-item price and set metadata size === */
/* Scope to Blocks mini cart containers to avoid affecting full cart/checkout */
.wc-block-mini-cart__container .wc-block-cart-item__prices,
.wp-block-woocommerce-filled-mini-cart-contents-block .wc-block-cart-item__prices {
  display: none !important;
}

.wc-block-mini-cart__container .wc-block-components-product-metadata,
.wp-block-woocommerce-filled-mini-cart-contents-block .wc-block-components-product-metadata {
  font-size: 14px !important;
  line-height: 1.4;
}

.wc-block-mini-cart__container .wc-block-components-product-metadata .wc-block-components-product-details__name,
.wc-block-mini-cart__container .wc-block-components-product-metadata .wc-block-components-product-details__value,
.wp-block-woocommerce-filled-mini-cart-contents-block .wc-block-components-product-metadata .wc-block-components-product-details__name,
.wp-block-woocommerce-filled-mini-cart-contents-block .wc-block-components-product-metadata .wc-block-components-product-details__value {
  font-size: 14px !important;
}

/* Hide mini cart footer description (shipping/taxes message) */
.wc-block-mini-cart__container .wc-block-components-totals-item__description,
.wp-block-woocommerce-filled-mini-cart-contents-block .wc-block-components-totals-item__description {
  display: none !important;
}

/* Mini cart footer buttons typography */
.wc-block-mini-cart__container .wc-block-mini-cart__footer .wc-block-components-button__text,
.wp-block-woocommerce-filled-mini-cart-contents-block .wc-block-mini-cart__footer .wc-block-components-button__text {
  font-family: 'Montserrat', system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;
  font-weight: 400; /* regular */
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.1em;
}

/* Mini cart remove link: no underline + minimalist X icon */
.wc-block-mini-cart__container .wc-block-cart-item__remove-link,
.wp-block-woocommerce-filled-mini-cart-contents-block .wc-block-cart-item__remove-link {
  text-decoration: none !important;
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 3px; /* tighter icon-text space */
  letter-spacing: 0 !important; /* override global button tracking */
}

.wc-block-mini-cart__container .wc-block-cart-item__remove-link::before,
.wp-block-woocommerce-filled-mini-cart-contents-block .wc-block-cart-item__remove-link::before {
  content: "✕"; /* minimalist X */
  display: inline-block;
  font-size: 14px;
  line-height: 1;
  width: 14px; /* align with text baseline */
  height: 14px;
  color: currentColor;
  margin-right: 5px; /* fallback spacing if flex gap not supported */
}

/* Optional: subtle hover color for remove */
.wc-block-mini-cart__container .wc-block-cart-item__remove-link:hover,
.wp-block-woocommerce-filled-mini-cart-contents-block .wc-block-cart-item__remove-link:hover {
  opacity: 0.85;
}