.elementor-kit-4{--e-global-color-primary:#111D13;--e-global-color-secondary:#111D13;--e-global-color-text:#111D13;--e-global-color-accent:#111D13;--e-global-color-f12d6b7d:#EEEBE4;--e-global-color-2f1f669b:#E5DFD3;--e-global-color-dd48716a:#F3F1EF;--e-global-color-cdcee54c:#FFFFFF;--e-global-color-458bc5d0:#222222;--e-global-color-47a036e3:#8E8042;--e-global-color-005e3d5e:#362618;--e-global-typography-primary-font-family:"Noto Serif";--e-global-typography-primary-font-weight:300;--e-global-typography-secondary-font-family:"Archivo";--e-global-typography-secondary-font-weight:normal;--e-global-typography-secondary-text-transform:uppercase;--e-global-typography-text-font-family:"Open Sans";--e-global-typography-text-font-weight:300;--e-global-typography-accent-font-family:"Archivo";--e-global-typography-accent-font-weight:600;--e-global-typography-accent-text-transform:uppercase;--e-global-typography-accent-letter-spacing:0.7px;}.elementor-kit-4 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:100%;}.e-con{--container-max-width:100%;--container-default-padding-top:0px;--container-default-padding-right:0px;--container-default-padding-bottom:0px;--container-default-padding-left:0px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS *//* Full-bleed para páginas Elementor: neutraliza el contenedor boxed de Astra (las páginas del flujo de reservas no-Elementor conservan su caja) */
.elementor-page .ast-container { max-width: 100% !important; padding-left: 0 !important; padding-right: 0 !important; }
.elementor-page #primary, .elementor-page .site-main { padding: 0 !important; margin: 0 !important; }
.elementor-page .entry-content { margin: 0 !important; }
.elementor-page article { margin: 0 !important; }
.elementor-page.ast-separate-container .ast-article-single { padding: 0; margin: 0; background: transparent; border: none; box-shadow: none; }
.elementor-page .site-content { padding: 0; }
/* Hotel solo adultos: ocultar campo Niños en todos los formularios MPHB */
.mphb_sc_search-children, .mphb-children-quantity, p.mphb_sc_search-children,
.mphb_checkout-children, .mphb-rooms-quantity ~ .mphb-children-quantity { display:none !important; }

/* Ocultar aviso "Campos obligatorios *" en formularios MPHB */
.mphb-required-fields-tip { display:none !important; }

/* ── Branding flujo de reservas MPHB ── */
.vm-booking label { font-family:Archivo,sans-serif; font-size:12px; font-weight:600; letter-spacing:.6px; text-transform:uppercase; color:#111D13; }
.vm-booking input[type=text], .vm-booking input[type=email], .vm-booking input[type=tel], .vm-booking input[type=number], .vm-booking select, .vm-booking textarea { background:#fff; border:1px solid #111d1326; border-radius:4px; color:#111D13; padding:11px 14px; font-family:'Open Sans',sans-serif; }
.vm-booking input:focus, .vm-booking select:focus, .vm-booking textarea:focus { outline:none; border-color:#111D13; }

/* Selects del flujo de reserva: el line-height heredado cortaba el texto (nº de huéspedes, país, etc.) */
.vm-booking select, .vm-checkout select { height:48px !important; line-height:1.4 !important; padding-top:0 !important; padding-bottom:0 !important; vertical-align:middle; background-position:right 14px center; }
.vm-booking select option, .vm-checkout select option { line-height:1.4; }
.vm-booking .button, .vm-booking button[type=submit], .vm-booking input[type=submit] { background:#111D13 !important; color:#fff !important; border:none; border-radius:4px; padding:14px 28px; font-family:Archivo,sans-serif; font-size:14px; letter-spacing:.8px; text-transform:uppercase; cursor:pointer; }
.vm-booking .button:hover, .vm-booking input[type=submit]:hover { background:#1b2c20 !important; }
.vm-booking table { border-collapse:collapse; width:100%; font-family:'Open Sans',sans-serif; color:#111D13; }
.vm-booking table th, .vm-booking table td { border:1px solid #111d131a; padding:12px 14px; text-align:left; }
.vm-booking table th { font-family:Archivo,sans-serif; font-weight:600; font-size:13px; letter-spacing:.5px; text-transform:uppercase; background:#F3F1EF; }
.vm-booking .mphb-room-type-title a, .vm-booking h2, .vm-booking h3 { font-family:Archivo,sans-serif; font-weight:400; color:#111D13; }
.vm-booking .mphb-price { color:#8E8042; }
.vm-booking .mphb-errors-wrapper { background:#fff; border-left:3px solid #8E8042; padding:14px 18px; border-radius:4px; }
.vm-booking fieldset { border:1px solid #111d131a; border-radius:4px; padding:24px; margin-bottom:24px; background:#fff; }
.vm-booking legend { font-family:Archivo,sans-serif; font-weight:600; letter-spacing:.5px; text-transform:uppercase; padding:0 10px; color:#111D13; }
.vm-search-band form { display:flex; flex-wrap:wrap; align-items:flex-end; gap:20px; }
.vm-search-band form > p { flex:1 1 180px; margin:0; }

/* Solo adultos: campo niños del booking form */
.mphb-children-wrapper { display:none !important; }

/* ── Microinteracciones del sitio ── */
html { scroll-behavior: smooth; }
[data-elementor-type="wp-page"] .elementor-widget-image, [data-elementor-type="single"] .elementor-widget-image { overflow: hidden; border-radius: 4px; }
[data-elementor-type="wp-page"] .elementor-widget-image img, [data-elementor-type="single"] .elementor-widget-image img { transition: transform .8s cubic-bezier(.22,.61,.36,1); }
[data-elementor-type="wp-page"] .elementor-widget-image:hover img, [data-elementor-type="single"] .elementor-widget-image:hover img { transform: scale(1.025); }
[data-elementor-type="header"] .elementor-widget-image, [data-elementor-type="footer"] .elementor-widget-image { overflow: visible; }
[data-elementor-type="header"] .elementor-widget-image img, [data-elementor-type="footer"] .elementor-widget-image img { transform: none !important; }
.elementor-page .elementor-widget-button .elementor-button { transition: background .25s ease, color .25s ease, transform .25s ease; }
.elementor-page .elementor-widget-button .elementor-button:hover { transform: translateY(-1px); }
.vm-rooms-loop .e-loop-item { transition: opacity .3s; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .elementor-page .elementor-widget-image img, .elementor-page .elementor-widget-button .elementor-button { transition: none; }
}

/* ════ RESPONSIVE GLOBAL ════ */
html, body { overflow-x: clip; max-width: 100%; }

/* Header: logo más chico, compactar en tablet/móvil */
@media (max-width:1024px){
  [data-elementor-type="header"] .elementor-element[data-id] { padding-left:24px; padding-right:24px; }
  [data-elementor-type="header"] .elementor-widget-image img { max-width:120px; }
}
@media (max-width:767px){
  [data-elementor-type="header"] .elementor-widget-image img { max-width:104px; }
  [data-elementor-type="header"] { padding-top:10px; padding-bottom:10px; }
}

/* Footer: columnas apiladas y centradas en móvil */
@media (max-width:880px){
  [data-elementor-type="footer"] .e-con-inner > .e-con, [data-elementor-type="footer"] > .e-con-inner { flex-direction:column !important; }
  [data-elementor-type="footer"] [style*="border-left"], [data-elementor-type="footer"] .e-con { border-left:none !important; }
}
@media (max-width:767px){
  [data-elementor-type="footer"] .e-con { padding-left:24px !important; padding-right:24px !important; }
  [data-elementor-type="footer"] .elementor-widget-heading .elementor-heading-title { font-size:24px; }
}

/* Popup menú: full width en móvil */
@media (max-width:600px){
  #elementor-popup-modal-219 .dialog-widget-content, #elementor-popup-modal-219 .dialog-message { width:100vw !important; max-width:100vw !important; }
  #elementor-popup-modal-219 .vm-menu-link a { font-size:32px !important; }
}

/* Formularios y tablas del flujo de reserva en móvil */
@media (max-width:767px){
  .vm-booking table, .vm-booking thead, .vm-booking tbody, .vm-booking tr, .vm-booking td, .vm-booking th { display:block; width:100% !important; }
  .vm-booking th { border-bottom:none; }
  .vm-search-band form > p, .vm-glass .mphb_sc_search-wrapper form > * { flex:1 1 100% !important; }
  .vm-form .elementor-field-group { width:100% !important; }
}

/* MPHB single: aside del booking a ancho completo bajo el contenido en tablet */
@media (max-width:1024px){
  .vm-single-aside { width:100% !important; }
  .vm-single-main { width:100% !important; }
}

/* ════ HERO + HEADER MÓVIL FIX ════ */
@media(max-width:767px){
  .vm-h-menu-text, .vm-h-reservar { display:none !important; }
  [data-elementor-type="header"] .vm-h-logo img, [data-elementor-type="header"] .elementor-widget-image img { max-width:74px !important; }
  [data-elementor-type="header"] .elementor-element[data-id] { padding-top:8px; padding-bottom:8px; }
  /* heroes: librar el header absoluto y dar aire */
  .vm-hero { padding-top:104px !important; padding-bottom:48px !important; }
  .vm-hero .vm-glass { width:100% !important; }
}
@media(max-width:1024px) and (min-width:768px){
  .vm-h-reservar { display:none !important; }
  [data-elementor-type="header"] .vm-h-logo img { max-width:100px !important; }
  .vm-hero { padding-top:120px !important; }
}

/* ════ FORMULARIO RESERVA COMPACTO EN MÓVIL ════ */
@media(max-width:767px){
  .vm-glass { padding:20px 18px !important; }
  .vm-glass .elementor-widget-heading .elementor-heading-title { font-size:20px !important; }
  .vm-glass .mphb_sc_search-wrapper form { row-gap:14px !important; column-gap:12px !important; }
  .vm-glass .mphb_sc_search-wrapper label { margin-bottom:5px !important; }
  .vm-glass .mphb_sc_search-adults label, .vm-glass .mphb_sc_search-wrapper label::before { font-size:11px !important; }
  .vm-glass .mphb_sc_search-check-in-date label, .vm-glass .mphb_sc_search-check-out-date label { font-size:0 !important; }
  .vm-glass .mphb_sc_search-wrapper input[type=text],
  .vm-glass .mphb_sc_search-wrapper select { height:46px !important; font-size:15px !important; padding:0 14px !important; }
  .vm-glass .mphb_sc_search-check-in-date, .vm-glass .mphb_sc_search-check-out-date { flex:1 1 100% !important; }
  .vm-glass .mphb_sc_search-submit-button-wrapper { margin-top:16px !important; }
  .vm-glass .mphb_sc_search-submit-button-wrapper input.button { height:50px !important; }
  .vm-glass .mphb_sc_search-submit-button-wrapper::after { font-size:16px !important; }
  .vm-hero .vm-glass { gap:8px !important; }
}

/* ════ FOOTER MÓVIL ════ */
@media (max-width:880px){
  [data-elementor-type="footer"] .vm-h-reservar{display:none}
}
@media (max-width:767px){
  [data-elementor-type="footer"] > .e-con { padding-top:28px !important; padding-bottom:28px !important; }
  [data-elementor-type="footer"] .e-con { padding-left:14px !important; padding-right:14px !important; border-left:none !important; }
  [data-elementor-type="footer"] .e-con .e-con { padding-top:0 !important; padding-bottom:0 !important; }
  [data-elementor-type="footer"] .elementor-widget-heading .elementor-heading-title { font-size:22px !important; }
  [data-elementor-type="footer"] .elementor-widget-text-editor { font-size:15px !important; }
}

/* Sticky-safe: ningún wrapper intermedio debe cortar el sticky (html/body usan clip) */
.elementor-page #page, .elementor-page #content, .elementor-page .site-content, .elementor-page .ast-container, .elementor-page #primary, .elementor-page .entry-content, .elementor-page [data-elementor-type="wp-page"] { overflow: visible !important; }

/* Banda de búsqueda: todos los campos y el botón a la misma altura (56px) y alineados */
.vm-search-band .mphb_sc_search-wrapper form { display:flex; flex-wrap:wrap; align-items:flex-end !important; gap:20px; }
.vm-search-band .mphb_sc_search-wrapper form > p, .vm-search-band .mphb_sc_search-wrapper form > * { margin:0; }
.vm-search-band input[type=text], .vm-search-band input[type=number], .vm-search-band select { height:56px !important; line-height:1.4 !important; padding:0 16px !important; box-sizing:border-box !important; vertical-align:middle; }
.vm-search-band select { padding-right:40px !important; }
.vm-search-band button[type=submit], .vm-search-band input[type=submit], .vm-search-band .button { height:56px !important; padding:0 30px !important; box-sizing:border-box !important; display:inline-flex; align-items:center; justify-content:center; }

/* Hipervínculos de contenido y MPHB en color de marca (no azul) */
:where(.elementor-widget-text-editor,.entry-content,.mphb_sc_checkout-wrapper,.mphb_sc_search_results-wrapper,.mphb-room-type,.mphb-booking-details,.mphb-price-breakdown,.mphb-room-type-content) a:not([class*="button"]):not(.elementor-button):not(.mphb-room-type-title){color:#8E8042}
:where(.mphb_sc_checkout-wrapper,.mphb_sc_search_results-wrapper) a:not([class*="button"]):hover{color:#756834}

/* === Cards habitaciones (template 318) estandarizadas - HOME + /alojamientos/ === */
.elementor-element-943ada86{border-radius:8px!important;overflow:hidden!important;padding:14px!important;justify-content:space-between!important}
.elementor-element-43783b5e{background:rgba(17,29,19,.55)!important;border-radius:6px!important;margin:0!important;width:auto!important;align-self:stretch!important;backdrop-filter:blur(7px)!important;-webkit-backdrop-filter:blur(7px)!important;border:1px solid rgba(255,255,255,.16)!important}
.elementor-element-406ca1d5{align-self:flex-start!important}
.elementor-element-78ee9fe9,.elementor-element-78ee9fe9 a,.elementor-element-78ee9fe9 .elementor-heading-title{color:#fff!important;font-family:'Noto Serif',serif!important;font-weight:400!important}
.elementor-element-2011a768,.elementor-element-2011a768 *,.elementor-element-2192e817,.elementor-element-2192e817 *{color:rgba(255,255,255,.82)!important;font-family:'Open Sans',sans-serif!important;font-size:12.5px!important;font-weight:400!important}
.elementor-element-48ef4e6e{gap:2px!important}

/* Icono patita (SVG inline blanco) en cards pet-friendly (Permite Mascotas) */
.e-loop-item.mphb_room_type_facility-permite-mascotas .elementor-element-2011a768 .elementor-heading-title::after,
.mphb_sc_search_results-wrapper .mphb-room-type.mphb_room_type_facility-permite-mascotas .mphb-loop-room-type-attributes::after{content:"";display:inline-block;width:.95em;height:.95em;margin-left:7px;vertical-align:-.14em;background:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1MTIgNTEyIj48cGF0aCBmaWxsPSIjZmZmZmZmIiBkPSJNMjU2IDIyNGMtNzkuNDEgMC0xOTIgMTIyLjc2LTE5MiAyMDAuMjUgMCAzNC45IDI2LjgxIDU1Ljc1IDcxLjc0IDU1Ljc1IDQ4Ljg0IDAgODEuMDktMjUuMDggMTIwLjI2LTI1LjA4IDM5LjUxIDAgNzEuODUgMjUuMDggMTIwLjI2IDI1LjA4IDQ0LjkzIDAgNzEuNzQtMjAuODUgNzEuNzQtNTUuNzVDNDQ4IDM0Ni43NiAzMzUuNDEgMjI0IDI1NiAyMjR6bS0xNDcuMjgtMTIuNjFjLTEwLjQtMzQuNjUtNDIuNDQtNTcuMDktNzEuNTYtNTAuMTMtMjkuMTIgNi45Ni00NC4yOSA0MC42OS0zMy44OSA3NS4zNCAxMC40IDM0LjY1IDQyLjQ0IDU3LjA5IDcxLjU2IDUwLjEzIDI5LjEyLTYuOTYgNDQuMjktNDAuNjkgMzMuODktNzUuMzR6bTg0LjcyLTIwLjc4YzMwLjk0LTguMTQgNDYuNDItNDkuOTQgMzQuNTgtOTMuMzZzLTQ2LjUyLTcyLjAxLTc3LjQ2LTYzLjg3LTQ2LjQyIDQ5Ljk0LTM0LjU4IDkzLjM2YzExLjg0IDQzLjQyIDQ2LjUyIDcyLjAxIDc3LjQ2IDYzLjg3em0yODEuMzktMjkuMzRjLTI5LjEyLTYuOTYtNjEuMTYgMTUuNDgtNzEuNTYgNTAuMTMtMTAuNCAzNC42NSA0Ljc3IDY4LjM4IDMzLjg5IDc1LjM0IDI5LjEyIDYuOTYgNjEuMTYtMTUuNDggNzEuNTYtNTAuMTMgMTAuNC0zNC42NS00Ljc3LTY4LjM4LTMzLjg5LTc1LjM0em0tMTU2LjI3IDI5LjM0YzMwLjk0LTguMTQgNjUuNjItMjAuNDUgNzcuNDYtNjMuODdTNDUxLjA1IDQyLjMyIDQyMC4xMSAzNC4xOHMtNjUuNjIgMjAuNDUtNzcuNDYgNjMuODdjLTExLjg0IDQzLjQyIDMuNjQgODUuMjIgMzQuNTggOTMuMzZ6Ii8+PC9zdmc+") no-repeat center/contain;opacity:.85}
/* Ocultar bed_type redundante (las amenidades ya describen las camas) en cards de habitaciones */
.elementor-element-2192e817{display:none!important}

/* Encuadre cards habitacion (loop-item 318): fotos verticales apuntan al techo -> bajar el encuadre a la cama (center 82%). En pantallas anchas el card se ensancha (ratio landscape) y con center center aparecia el techo. No afecta fotos horizontales (sin recorte vertical). */
.e-loop-item .elementor-element-943ada86,.elementor-element-943ada86{background-position:center center!important;background-size:cover!important}/* End custom CSS */