.elementor-kit-567{--e-global-color-primary:#3A2A20;--e-global-color-secondary:#6B5446;--e-global-color-text:#3A2A20;--e-global-color-accent:#2A3663;--e-global-color-np_bg:#EFE4D2;--e-global-color-np_bg_alt:#E6D8C0;--e-global-color-np_bg_dark:#2B1F18;--e-global-color-np_line:#D4C2A8;--e-global-color-np_white:#F4EFE7;--e-global-typography-primary-font-family:"Fraunces";--e-global-typography-primary-font-weight:400;--e-global-typography-primary-line-height:1.05em;--e-global-typography-primary-letter-spacing:-0.5px;--e-global-typography-secondary-font-family:"Fraunces";--e-global-typography-secondary-font-weight:300;--e-global-typography-secondary-font-style:italic;--e-global-typography-secondary-line-height:1.1em;--e-global-typography-text-font-family:"Inter";--e-global-typography-text-font-weight:300;--e-global-typography-text-line-height:1.7em;--e-global-typography-accent-font-family:"Inter";--e-global-typography-accent-font-size:12px;--e-global-typography-accent-font-weight:400;--e-global-typography-accent-text-transform:uppercase;--e-global-typography-accent-letter-spacing:2.2px;--e-global-typography-np_h1-font-family:"Fraunces";--e-global-typography-np_h1-font-size:80px;--e-global-typography-np_h1-font-weight:400;--e-global-typography-np_h1-line-height:1.05em;--e-global-typography-np_h2-font-family:"Fraunces";--e-global-typography-np_h2-font-size:56px;--e-global-typography-np_h2-font-weight:400;--e-global-typography-np_h2-line-height:1.05em;background-color:#EFE4D2;color:#3A2A20;font-family:"Inter", Sans-serif, serif;font-size:17px;font-weight:300;line-height:1.7em;}.elementor-kit-567 button,.elementor-kit-567 input[type="button"],.elementor-kit-567 input[type="submit"],.elementor-kit-567 .elementor-button{background-color:var( --e-global-color-primary );font-family:"Inter", Sans-serif, serif;font-size:14px;font-weight:400;text-transform:uppercase;letter-spacing:1.4px;color:#EFE4D2;border-radius:2px 2px 2px 2px;padding:18px 32px 18px 32px;}.elementor-kit-567 button:hover,.elementor-kit-567 button:focus,.elementor-kit-567 input[type="button"]:hover,.elementor-kit-567 input[type="button"]:focus,.elementor-kit-567 input[type="submit"]:hover,.elementor-kit-567 input[type="submit"]:focus,.elementor-kit-567 .elementor-button:hover,.elementor-kit-567 .elementor-button:focus{background-color:var( --e-global-color-secondary );color:var( --e-global-color-text );border-radius:2px 2px 2px 2px;}.elementor-kit-567 e-page-transition{background-color:#FFBC7D;}.elementor-kit-567 a{color:#2A3663;}.elementor-kit-567 a:hover{color:#3A2A20;}.elementor-kit-567 h1{color:#3A2A20;font-family:"Fraunces", Sans-serif, serif;font-size:80px;font-weight:400;line-height:1.05em;}.elementor-kit-567 h2{color:#3A2A20;font-family:"Fraunces", Sans-serif, serif;font-size:56px;font-weight:400;line-height:1.1em;}.elementor-kit-567 h3{color:#3A2A20;font-family:"Fraunces", Sans-serif, serif;font-size:32px;font-weight:400;}.elementor-kit-567 h4{color:#3A2A20;font-family:"Fraunces", Sans-serif, serif;font-size:24px;font-weight:400;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1320px;}.e-con{--container-max-width:1320px;}.elementor-widget:not(:last-child){margin-block-end:24px;}.elementor-element{--widgets-spacing:24px 24px;--widgets-spacing-row:24px;--widgets-spacing-column:24px;}{}.page-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-kit-567{--e-global-typography-np_h1-font-size:56px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-567{--e-global-typography-np_h1-font-size:42px;--e-global-typography-np_h2-font-size:36px;}.elementor-kit-567 h1{font-size:42px;}.elementor-kit-567 h2{font-size:34px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//* ============================================================
   NEWPORT SANCTUARY â€” CSS COMPLEMENTARIO PARA ELEMENTOR
   Pegar en: Elementor â†’ ConfiguraciÃ³n del sitio â†’ CSS personalizado
   ============================================================ */

:root {
  --np-bg: #EFE4D2;
  --np-bg-alt: #E6D8C0;
  --np-bg-dark: #2B1F18;
  --np-ink: #3A2A20;
  --np-ink-soft: #6B5446;
  --np-line: #D4C2A8;
  --np-accent: #2A3663;
  --np-white: #F4EFE7;
}

/* ============== TIPOGRAFÃA â€” italics em activos ============== */
h1 em, h2 em, h3 em, h4 em,
.elementor-heading-title em {
  font-style: italic;
  font-weight: 300;
  color: var(--np-ink-soft);
  font-variation-settings: "SOFT" 100, "WONK" 1, "opsz" 144;
}

/* Fraunces variable settings */
h1, h2, h3, h4, .elementor-heading-title {
  font-variation-settings: "SOFT" 50, "WONK" 0, "opsz" 96;
  letter-spacing: -0.015em;
}

/* ============== EYEBROWS ============== */
.np-eyebrow {
  font-family: 'Inter', sans-serif !important;
  font-size: 12px !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  font-weight: 400 !important;
  color: var(--np-ink-soft) !important;
  margin-bottom: 24px !important;
}
.np-eyebrow--center { text-align: center; }
.np-eyebrow--light { color: rgba(244, 239, 231, 0.6) !important; }

/* ============== NAV (HEADER) ============== */
.np-nav {
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-bottom: 1px solid transparent;
  transition: border-color 0.25s ease;
}
.np-nav.is-scrolled {
  border-bottom-color: var(--np-line);
}

.np-logo {
  display: flex;
  align-items: baseline;
  gap: 0.5rem;
  font-family: 'Fraunces', serif;
  font-size: 20px;
  text-decoration: none;
  color: var(--np-ink);
}
.np-logo__mark {
  font-style: italic;
  color: var(--np-accent);
}
.np-logo__text {
  letter-spacing: 0.03em;
}

/* Nav menu â€” underline animado */
.np-nav__menu .elementor-item {
  position: relative;
  padding: 8px 0 !important;
}
.np-nav__menu .elementor-item::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: 0;
  width: 0;
  height: 1px;
  background: var(--np-accent);
  transition: width 0.4s cubic-bezier(0.22,1,0.36,1);
}
.np-nav__menu .elementor-item:hover::after,
.np-nav__menu .elementor-item.elementor-item-active::after {
  width: 100%;
}

/* ============== HERO ============== */
.np-hero__title {
  font-size: clamp(42px, 6.5vw, 80px) !important;
  line-height: 1.05 !important;
  letter-spacing: -0.02em !important;
}
.np-hero__title em {
  display: inline-block;
}
.np-hero__subtitle {
  font-size: 18px !important;
  color: var(--np-ink-soft) !important;
  max-width: 38ch;
  margin-top: 24px !important;
  margin-bottom: 32px !important;
}

/* AnimaciÃ³n entrada hero */
.np-hero__title,
.np-hero__subtitle {
  animation: npRise 0.9s cubic-bezier(0.22,1,0.36,1) backwards;
}
.np-hero__title { animation-delay: 0.2s; }
.np-hero__subtitle { animation-delay: 0.6s; }

@keyframes npRise {
  from { opacity: 0; transform: translateY(30px); }
  to { opacity: 1; transform: translateY(0); }
}

.np-hero__media img {
  border-radius: 2px;
  animation: npZoom 1.6s cubic-bezier(0.22,1,0.36,1) backwards;
}
@keyframes npZoom {
  from { transform: scale(1.1); }
  to { transform: scale(1); }
}

/* ============== MANIFESTO ============== */
.np-manifesto__title {
  font-size: clamp(34px, 4vw, 56px) !important;
  max-width: 22ch;
  margin: 0 auto 32px !important;
}
.np-manifesto__body p {
  font-size: 18px;
  color: var(--np-ink-soft);
  line-height: 1.7;
}

/* ============== APT PREVIEW CARDS (HOME) ============== */
.np-apt-card {
  overflow: hidden;
  transition: transform 0.55s cubic-bezier(0.22,1,0.36,1);
}
.np-apt-card:hover {
  transform: translateY(-4px);
}
.np-apt-card__img img {
  transition: transform 0.9s cubic-bezier(0.22,1,0.36,1);
}
.np-apt-card:hover .np-apt-card__img img {
  transform: scale(1.05);
}

.np-apt-card__num {
  display: block;
  font-family: 'Fraunces', serif;
  font-style: italic;
  font-size: 1.5rem;
  color: var(--np-accent);
  margin-bottom: 6px;
}
.np-apt-card__link {
  font-family: 'Fraunces', serif;
  font-style: italic;
  font-size: 17px;
  color: var(--np-accent);
  border-bottom: 1px solid var(--np-accent);
  padding-bottom: 2px;
  text-decoration: none;
}

.np-section-lead {
  font-size: 18px !important;
  color: var(--np-ink-soft) !important;
}

/* ============== PAGE HERO (alojamientos / contacto) ============== */
.np-breadcrumb {
  display: flex;
  gap: 0.6rem;
  font-size: 12px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--np-ink-soft);
  margin-bottom: 24px;
}
.np-breadcrumb a {
  color: var(--np-ink-soft);
  text-decoration: none;
  border-bottom: 1px solid transparent;
  transition: border-color 0.25s ease;
}
.np-breadcrumb a:hover {
  border-bottom-color: var(--np-accent);
}

.np-page-hero__title {
  font-size: clamp(42px, 5vw, 70px) !important;
  margin: 24px 0 !important;
  max-width: 18ch;
}
.np-page-hero__subtitle {
  font-size: 18px !important;
  color: var(--np-ink-soft) !important;
  max-width: 60ch;
}

/* ============== APT INDEX (anclas sticky) ============== */
.np-apt-index {
  position: sticky;
  top: 70px;
  z-index: 50;
  backdrop-filter: blur(12px);
}
.np-apt-index__list {
  display: flex;
  flex-wrap: wrap;
  gap: 32px;
  justify-content: center;
  list-style: none;
  margin: 0;
  padding: 0;
}
.np-apt-index__list a {
  display: inline-flex;
  align-items: baseline;
  gap: 8px;
  font-family: 'Fraunces', serif;
  font-size: 17px;
  color: var(--np-ink);
  text-decoration: none;
  border-bottom: 1px solid transparent;
  padding-bottom: 3px;
  transition: all 0.25s ease;
}
.np-apt-index__list a:hover {
  color: var(--np-accent);
  border-bottom-color: var(--np-accent);
}
.np-apt-index__list span {
  font-style: italic;
  font-size: 12px;
  color: var(--np-accent);
  letter-spacing: 0.1em;
}
@media (max-width: 720px) {
  .np-apt-index { display: none; }
}

/* ============== APT FICHAS DETALLE ============== */
.np-apt__num {
  display: block;
  font-family: 'Fraunces', serif;
  font-style: italic;
  font-size: 2rem;
  color: var(--np-accent);
  margin-bottom: 8px;
}
.np-apt__meta {
  font-size: 12px !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  color: var(--np-accent) !important;
  margin: 8px 0 16px !important;
}
.np-apt__name {
  font-size: clamp(36px, 4vw, 56px) !important;
  margin-bottom: 8px !important;
}
.np-apt__tagline {
  font-family: 'Fraunces', serif !important;
  font-style: italic !important;
  font-size: 22px !important;
  color: var(--np-ink-soft) !important;
  margin-bottom: 24px !important;
  line-height: 1.3 !important;
}
.np-apt__specs {
  list-style: none;
  padding: 0;
  margin: 24px 0;
  display: grid;
  gap: 10px;
  font-size: 15px;
}
.np-apt__specs li {
  position: relative;
  padding-left: 24px;
  color: var(--np-ink-soft);
}
.np-apt__specs li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0.7em;
  width: 14px;
  height: 1px;
  background: var(--np-accent);
}

/* ============== IMAGE CAROUSEL â€” ESTILO NEWPORT ============== */
.np-apt__carousel .swiper-slide img,
.np-apt__carousel img {
  border-radius: 2px;
  aspect-ratio: 4 / 5;
  object-fit: cover;
}

/* Flechas */
.np-apt__carousel .elementor-swiper-button {
  background: rgba(239, 228, 210, 0.92) !important;
  color: var(--np-ink) !important;
  width: 48px !important;
  height: 48px !important;
  border-radius: 50% !important;
  font-size: 16px !important;
  opacity: 0;
  transition: all 0.25s ease;
}
.np-apt__carousel:hover .elementor-swiper-button {
  opacity: 1;
}
.np-apt__carousel .elementor-swiper-button:hover {
  background: var(--np-white) !important;
  color: var(--np-accent) !important;
  transform: scale(1.08);
}
@media (max-width: 880px) {
  .np-apt__carousel .elementor-swiper-button { opacity: 1; }
}

/* Dots (paginaciÃ³n swiper) */
.np-apt__carousel .swiper-pagination {
  bottom: 16px !important;
  display: flex;
  justify-content: center;
  gap: 8px;
  padding: 8px 12px;
  background: rgba(43, 31, 24, 0.35);
  border-radius: 100px;
  width: auto !important;
  left: 50% !important;
  transform: translateX(-50%);
  backdrop-filter: blur(6px);
}
.np-apt__carousel .swiper-pagination-bullet {
  width: 8px !important;
  height: 8px !important;
  background: rgba(239, 228, 210, 0.5) !important;
  opacity: 1 !important;
  margin: 0 !important;
  transition: all 0.25s ease;
}
.np-apt__carousel .swiper-pagination-bullet:hover {
  background: rgba(239, 228, 210, 0.85) !important;
}
.np-apt__carousel .swiper-pagination-bullet-active {
  background: var(--np-white) !important;
  width: 24px !important;
  border-radius: 100px !important;
}

/* ============== FEATURES ============== */
.np-feature__num {
  display: block;
  font-family: 'Fraunces', serif;
  font-style: italic;
  font-size: 2rem;
  color: var(--np-accent);
  margin-bottom: 16px;
}
.np-feature h3 {
  font-size: 24px !important;
  margin-bottom: 12px !important;
}
.np-feature p {
  font-size: 15px !important;
  color: var(--np-ink-soft) !important;
}

/* ============== POI (puntos interÃ©s) ============== */
.np-poi {
  list-style: none;
  padding: 0;
  margin: 24px 0 0;
  display: grid;
  gap: 12px;
  font-size: 15px;
}
.np-poi li {
  display: grid;
  grid-template-columns: 70px 1fr;
  gap: 24px;
  padding: 8px 0;
  border-bottom: 1px solid var(--np-line);
  color: var(--np-ink-soft);
}
.np-poi span {
  font-family: 'Fraunces', serif;
  font-style: italic;
  color: var(--np-accent);
}

/* ============== NEIGHBORHOOD images composition ============== */
.np-neighborhood__img-1 img {
  width: 75%;
  border-radius: 2px;
}
.np-neighborhood__img-2 {
  margin-top: -120px;
  margin-left: 30%;
}
.np-neighborhood__img-2 img {
  width: 80%;
  border-radius: 2px;
  border: 8px solid var(--np-bg);
}
@media (max-width: 880px) {
  .np-neighborhood__img-1 img,
  .np-neighborhood__img-2 img { width: 100%; }
  .np-neighborhood__img-2 { margin-top: 16px; margin-left: 0; }
}

/* ============== BANNER QUOTE ============== */
.np-banner-quote__text {
  font-family: 'Fraunces', serif !important;
  font-style: italic !important;
  font-weight: 300 !important;
  font-size: clamp(32px, 3.5vw, 48px) !important;
  line-height: 1.2 !important;
  max-width: 22ch;
  margin: 0 auto 32px !important;
}

/* ============== GUIDE (secciÃ³n oscura) ============== */
.np-guide__text p {
  font-family: 'Fraunces', serif !important;
  font-style: italic !important;
  font-size: 22px !important;
  line-height: 1.5 !important;
  margin-bottom: 24px !important;
}

/* ============== AMENITIES ============== */
.np-amenities-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-top: 1px solid var(--np-line);
}
.np-amenity {
  padding: 24px;
  border-bottom: 1px solid var(--np-line);
  border-right: 1px solid var(--np-line);
  font-family: 'Fraunces', serif;
  font-style: italic;
  font-size: 18px;
  color: var(--np-ink-soft);
  text-align: center;
  transition: background 0.25s ease;
}
.np-amenity:hover {
  background: var(--np-bg);
  color: var(--np-accent);
}
.np-amenity:nth-child(3n) { border-right: none; }
@media (max-width: 720px) {
  .np-amenities-grid { grid-template-columns: 1fr 1fr; }
  .np-amenity:nth-child(3n) { border-right: 1px solid var(--np-line); }
  .np-amenity:nth-child(2n) { border-right: none; }
}

/* ============== CONTACT ============== */
.np-contact__direct p {
  font-size: 15px;
  line-height: 1.6;
  margin-bottom: 24px;
}
.np-contact__direct strong {
  font-family: 'Fraunces', serif;
  font-style: italic;
  font-weight: 400;
  font-size: 17px;
  color: var(--np-ink);
}
.np-contact__direct a {
  color: var(--np-ink);
  border-bottom: 1px solid var(--np-line);
  text-decoration: none;
}

/* Form inputs minimalistas */
.np-contact-form .elementor-field-group input,
.np-contact-form .elementor-field-group select,
.np-contact-form .elementor-field-group textarea {
  background: transparent !important;
  border: none !important;
  border-bottom: 1px solid var(--np-line) !important;
  border-radius: 0 !important;
  padding: 12px 0 !important;
  font-size: 16px !important;
  font-family: 'Inter', sans-serif !important;
  transition: border-color 0.25s ease;
}
.np-contact-form .elementor-field-group input:focus,
.np-contact-form .elementor-field-group select:focus,
.np-contact-form .elementor-field-group textarea:focus {
  outline: none;
  border-bottom-color: var(--np-accent) !important;
}
.np-contact-form .elementor-field-group label {
  font-size: 12px !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  color: var(--np-ink-soft) !important;
  font-weight: 400 !important;
  margin-bottom: 4px !important;
}

/* ============== FAQ TOGGLE ============== */
.np-faq .elementor-toggle-item {
  border-bottom: 1px solid var(--np-line) !important;
  border-top: none !important;
  border-left: none !important;
  border-right: none !important;
  margin-bottom: 0 !important;
}
.np-faq .elementor-toggle-item:first-child {
  border-top: 1px solid var(--np-line) !important;
}
.np-faq .elementor-tab-title {
  font-family: 'Fraunces', serif !important;
  font-size: 22px !important;
  padding: 24px 0 !important;
  color: var(--np-ink) !important;
  background: transparent !important;
}
.np-faq .elementor-tab-title:hover {
  color: var(--np-accent) !important;
}
.np-faq .elementor-toggle-icon {
  color: var(--np-accent) !important;
  font-size: 20px !important;
}
.np-faq .elementor-tab-content {
  padding: 0 0 24px 0 !important;
  color: var(--np-ink-soft) !important;
  border-top: none !important;
}

/* ============== FOOTER ============== */
.np-footer__logo {
  font-family: 'Fraunces', serif;
  font-size: 24px;
  color: var(--np-white);
  margin-bottom: 16px;
}
.np-footer__logo em {
  font-style: italic;
  color: var(--np-accent);
}
.np-footer__tag {
  color: rgba(244, 239, 231, 0.5);
  line-height: 1.6;
  font-size: 14px;
  max-width: 40ch;
}
.np-footer__col h4 {
  font-family: 'Inter', sans-serif !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  color: var(--np-white) !important;
  margin-bottom: 16px !important;
}
.np-footer__col a {
  display: block;
  padding: 6px 0;
  color: rgba(244, 239, 231, 0.6);
  text-decoration: none;
  font-size: 14px;
  transition: color 0.25s ease;
}
.np-footer__col a:hover {
  color: var(--np-accent);
}
.np-footer__bottom-text {
  font-size: 12px;
  color: rgba(244, 239, 231, 0.4);
  margin: 0;
}
.np-footer__bottom-text a {
  color: rgba(244, 239, 231, 0.7);
  border-bottom: 1px solid rgba(244, 239, 231, 0.2);
  text-decoration: none;
}


/* ============================================================
   MOTOPRESS — SINGLE ACCOMMODATION (NewPort Sanctuary v2)
   REEMPLAZA el bloque "MOTOPRESS — SINGLE ACCOMMODATION" anterior
   ============================================================ */
 
/* ============== LAYOUT GENERAL ============== */
.single-mphb_room_type {
  background: #EFE4D2;
}
 
.single-mphb_room_type main,
.single-mphb_room_type .entry-content {
  max-width: 1320px;
  margin: 100px auto 80px;
  padding: 0 32px;
}
 
@media (max-width: 720px) {
  .single-mphb_room_type main,
  .single-mphb_room_type .entry-content {
    margin: 80px auto 60px;
    padding: 0 20px;
  }
}
 
/* ============== BREADCRUMB FAKE (con :before en el title) ============== */
.single-mphb_room_type .entry-header::before {
  content: "INICIO  /  ALOJAMIENTOS  /  " attr(data-name);
  display: block;
  font-family: 'Inter', sans-serif;
  font-size: 12px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #6B5446;
  margin-bottom: 24px;
}
 
/* ============== HEADER DEL APARTAMENTO (composición editorial) ============== */
.single-mphb_room_type .entry-header {
  display: grid;
  grid-template-columns: 1fr 1.2fr;
  gap: 64px;
  align-items: start;
  margin-bottom: 64px;
  padding-bottom: 64px;
  border-bottom: 1px solid #D4C2A8;
}
 
@media (max-width: 880px) {
  .single-mphb_room_type .entry-header {
    grid-template-columns: 1fr;
    gap: 32px;
  }
}
 
/* Columna izquierda: número + meta + título + tagline */
.single-mphb_room_type .entry-title {
  font-family: 'Fraunces', serif !important;
  font-size: clamp(56px, 6vw, 96px) !important;
  font-weight: 400 !important;
  letter-spacing: -0.02em !important;
  line-height: 1 !important;
  margin: 8px 0 16px !important;
  color: #3A2A20 !important;
  font-variation-settings: "SOFT" 50, "WONK" 0, "opsz" 144 !important;
  position: relative;
}
 
/* Número 01 en azul antes del título — usando counter o pseudo elemento */
.single-mphb_room_type .entry-title::before {
  content: "—";
  display: block;
  font-family: 'Fraunces', serif;
  font-style: italic;
  font-size: 12px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #2A3663;
  margin-bottom: 16px;
  font-style: normal;
  font-weight: 400;
}
 
/* Meta info debajo del título — en realidad está en mphb-attributes, lo movemos visualmente */
 
/* ============== CONTENIDO (descripción) ============== */
.single-mphb_room_type .entry-content {
  margin-top: 0 !important;
}
 
/* Primera línea descripción = tagline italic */
.single-mphb_room_type .entry-content > p:first-of-type {
  font-family: 'Fraunces', serif !important;
  font-style: italic !important;
  font-size: 26px !important;
  line-height: 1.4 !important;
  color: #6B5446 !important;
  margin: 0 0 32px !important;
  font-variation-settings: "SOFT" 100, "WONK" 1, "opsz" 144 !important;
  font-weight: 300 !important;
  max-width: 28ch;
}
 
.single-mphb_room_type .entry-content > p {
  font-size: 17px !important;
  line-height: 1.7 !important;
  color: #3A2A20 !important;
  max-width: 65ch;
  margin-bottom: 18px !important;
}
 
/* ============== GALERÍA — composición de 2 columnas alta ============== */
.mphb-room-type-gallery-wrapper {
  margin: 64px 0 !important;
}
 
.mphb-room-type-gallery-wrapper .gallery {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 16px !important;
  margin: 0 !important;
}
 
.mphb-room-type-gallery-wrapper .gallery-item {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
  position: relative;
  overflow: hidden;
}
 
.mphb-room-type-gallery-wrapper .gallery-icon {
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
  height: 100% !important;
}
 
.mphb-room-type-gallery-wrapper .gallery-icon a {
  display: block;
  overflow: hidden;
  border-radius: 2px;
  width: 100%;
  height: 100%;
}
 
.mphb-room-type-gallery-wrapper .gallery img,
.mphb-room-type-gallery-wrapper .gallery-icon img {
  width: 100% !important;
  height: 380px !important;
  max-width: none !important;
  object-fit: cover !important;
  border-radius: 2px !important;
  display: block !important;
  transition: transform 0.7s cubic-bezier(0.22,1,0.36,1) !important;
}
 
.mphb-room-type-gallery-wrapper .gallery-item:hover img {
  transform: scale(1.04);
}
 
.mphb-room-type-gallery-wrapper .wp-caption-text,
.mphb-room-type-gallery-wrapper .gallery-caption {
  display: none !important;
}
 
@media (max-width: 880px) {
  .mphb-room-type-gallery-wrapper .gallery {
    grid-template-columns: 1fr 1fr !important;
    gap: 12px !important;
  }
  .mphb-room-type-gallery-wrapper .gallery img {
    height: 280px !important;
  }
}
 
@media (max-width: 480px) {
  .mphb-room-type-gallery-wrapper .gallery {
    grid-template-columns: 1fr !important;
  }
  .mphb-room-type-gallery-wrapper .gallery img {
    height: 320px !important;
  }
}
 
/* ============== TÍTULOS DE SECCIÓN — más pequeños y con eyebrow ============== */
.mphb-details-title,
.mphb-calendar-title,
.mphb-services-title,
.mphb-rates-title {
  font-family: 'Fraunces', serif !important;
  font-size: 32px !important;
  font-weight: 400 !important;
  letter-spacing: -0.01em !important;
  color: #3A2A20 !important;
  margin: 80px 0 32px !important;
  padding: 0 !important;
  border: none !important;
  font-variation-settings: "SOFT" 50, "WONK" 0, "opsz" 96 !important;
  position: relative;
}
 
.mphb-details-title::before,
.mphb-calendar-title::before,
.mphb-services-title::before {
  content: "—";
  display: block;
  font-family: 'Fraunces', serif;
  font-size: 12px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #6B5446;
  margin-bottom: 8px;
}
 
.mphb-details-title::before { content: "— EL APARTAMENTO"; }
.mphb-calendar-title::before { content: "— DISPONIBILIDAD"; }
.mphb-services-title::before { content: "— SERVICIOS"; }
 
/* Quitar texto del h2 (ocultar visualmente "Detalles", "Disponibilidad") y reemplazar con cursive */
.mphb-details-title {
  font-style: italic !important;
}
 
/* ============== ATRIBUTOS — específicamente con la estructura real ============== */
.mphb-single-room-type-attributes {
  list-style: none !important;
  padding: 32px 0 0 !important;
  margin: 0 0 64px !important;
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 32px 48px !important;
  border-top: 1px solid #D4C2A8 !important;
}
 
.mphb-single-room-type-attributes li {
  display: flex !important;
  flex-direction: column !important;
  padding: 0 !important;
  margin: 0 !important;
  border: none !important;
  background: none !important;
  list-style: none !important;
  font-family: 'Fraunces', serif !important;
  font-size: 22px !important;
  font-weight: 400 !important;
  color: #3A2A20 !important;
  line-height: 1.3 !important;
  font-variation-settings: "SOFT" 50, "WONK" 0, "opsz" 96 !important;
}
 
.mphb-single-room-type-attributes li::before,
.mphb-single-room-type-attributes li::marker {
  display: none !important;
  content: none !important;
}
 
/* Etiqueta del atributo (Huéspedes:, Tipo de cama:, Categorías:) */
.mphb-single-room-type-attributes li strong,
.mphb-single-room-type-attributes li b {
  font-family: 'Inter', sans-serif !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  color: #2A3663 !important;
  margin-bottom: 8px !important;
  display: block !important;
}
 
/* Eliminar los dos puntos ":" después de la label */
.mphb-single-room-type-attributes li strong::after,
.mphb-single-room-type-attributes li b::after {
  content: "";
}
 
/* Categorías como link discreto */
.mphb-single-room-type-attributes a,
.single-mphb_room_type a[rel="tag"] {
  color: #2A3663 !important;
  text-decoration: none !important;
  border-bottom: 1px solid #D4C2A8 !important;
  transition: border-color 0.25s ease !important;
  font-family: 'Fraunces', serif !important;
  font-size: 22px !important;
  font-style: italic !important;
}
 
.mphb-single-room-type-attributes a:hover {
  border-bottom-color: #2A3663 !important;
}
 
@media (max-width: 720px) {
  .mphb-single-room-type-attributes {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }
}
 
/* ============== SERVICIOS / AMENITIES ============== */
.mphb-room-type-services,
.mphb-single-room-type-services,
.mphb-amenities {
  list-style: none !important;
  padding: 0 !important;
  margin: 32px 0 64px !important;
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 0 !important;
  border-top: 1px solid #D4C2A8 !important;
}
 
.mphb-room-type-services li,
.mphb-amenities li {
  padding: 20px 24px !important;
  border-bottom: 1px solid #D4C2A8 !important;
  border-right: 1px solid #D4C2A8 !important;
  font-family: 'Fraunces', serif !important;
  font-style: italic !important;
  font-size: 17px !important;
  color: #6B5446 !important;
  text-align: center !important;
  margin: 0 !important;
  background: none !important;
  list-style: none !important;
  font-variation-settings: "SOFT" 100, "WONK" 0, "opsz" 96 !important;
}
 
.mphb-room-type-services li::before,
.mphb-amenities li::before {
  display: none !important;
}
 
.mphb-room-type-services li:nth-child(3n),
.mphb-amenities li:nth-child(3n) {
  border-right: none !important;
}
 
@media (max-width: 720px) {
  .mphb-room-type-services,
  .mphb-amenities {
    grid-template-columns: 1fr 1fr !important;
  }
  .mphb-room-type-services li:nth-child(3n) {
    border-right: 1px solid #D4C2A8 !important;
  }
  .mphb-room-type-services li:nth-child(2n) {
    border-right: none !important;
  }
}
 
/* ============== CALENDARIO DE DISPONIBILIDAD — estilo NewPort ============== */
.mphb-calendar {
  margin: 32px 0 64px !important;
  background: transparent !important;
  border: 1px solid #D4C2A8 !important;
  border-radius: 2px;
  overflow: hidden;
}
 
/* Header del calendario (mes actual + flechas) */
.mphb-calendar > table:first-child,
.mphb-calendar .ui-datepicker-header {
  background: #EFE4D2 !important;
  border: none !important;
  padding: 16px !important;
  font-family: 'Fraunces', serif !important;
  color: #3A2A20 !important;
}
 
/* Eliminar los enlaces feos azules <Ant Hoy Sig> negros */
.mphb-calendar a,
.mphb-calendar .ui-datepicker-prev,
.mphb-calendar .ui-datepicker-next {
  color: #2A3663 !important;
  text-decoration: none !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 12px !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  background: transparent !important;
  border: 1px solid #D4C2A8 !important;
  padding: 6px 12px !important;
  border-radius: 2px !important;
  transition: all 0.25s ease !important;
}
 
.mphb-calendar a:hover {
  background: #2A3663 !important;
  color: #EFE4D2 !important;
  border-color: #2A3663 !important;
}
 
/* Selector mes/año */
.mphb-calendar select {
  font-family: 'Inter', sans-serif !important;
  font-size: 14px !important;
  background: transparent !important;
  border: 1px solid #D4C2A8 !important;
  padding: 6px 10px !important;
  border-radius: 2px !important;
  color: #3A2A20 !important;
  margin: 0 4px !important;
}
 
/* Mes y año título grande */
.mphb-calendar .ui-datepicker-title,
.mphb-calendar caption {
  font-family: 'Fraunces', serif !important;
  font-style: italic !important;
  font-size: 22px !important;
  color: #3A2A20 !important;
  font-weight: 400 !important;
  text-align: center !important;
  padding: 16px 0 !important;
  background: transparent !important;
  font-variation-settings: "SOFT" 100, "WONK" 1, "opsz" 144 !important;
}
 
/* Tabla de días */
.mphb-calendar table {
  border-collapse: collapse !important;
  width: 100% !important;
  background: #F4EFE7 !important;
  margin: 0 !important;
}
 
.mphb-calendar table th {
  font-family: 'Inter', sans-serif !important;
  font-weight: 400 !important;
  font-size: 11px !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  color: #6B5446 !important;
  padding: 12px 4px !important;
  background: transparent !important;
  border: none !important;
  text-align: center !important;
}
 
.mphb-calendar table td {
  text-align: center !important;
  padding: 0 !important;
  border: 1px solid #ECE5D8 !important;
  font-family: 'Fraunces', serif !important;
  font-size: 15px !important;
  color: #3A2A20 !important;
  background: #F4EFE7 !important;
  height: 48px !important;
  vertical-align: middle !important;
}
 
/* Días disponibles */
.mphb-calendar td.available,
.mphb-calendar td.mphb-available {
  background: #F4EFE7 !important;
  color: #3A2A20 !important;
}
 
/* Días ocupados */
.mphb-calendar td.booked,
.mphb-calendar td.unavailable,
.mphb-calendar td.mphb-not-available,
.mphb-calendar td.ui-datepicker-unselectable {
  background: #D4C2A8 !important;
  color: #6B5446 !important;
  text-decoration: line-through !important;
  opacity: 0.6 !important;
}
 
/* Hoy */
.mphb-calendar td.ui-datepicker-today,
.mphb-calendar td.today {
  background: #2A3663 !important;
  color: #EFE4D2 !important;
  font-weight: 500 !important;
}
 
/* Hover día disponible */
.mphb-calendar td.available:hover {
  background: #E6D8C0 !important;
  cursor: pointer;
}
 
/* ============== PRECIO Y BOTÓN RESERVAR ============== */
.mphb-price,
.mphb-room-price,
.mphb-single-room-type-price {
  font-family: 'Fraunces', serif !important;
  font-size: 36px !important;
  font-weight: 400 !important;
  color: #2A3663 !important;
  margin: 32px 0 16px !important;
  font-variation-settings: "SOFT" 50, "WONK" 0, "opsz" 144 !important;
}
 
.mphb-price small,
.mphb-price .mphb-period {
  font-size: 14px !important;
  color: #6B5446 !important;
  font-style: italic !important;
}
 
.mphb-book-button,
.mphb_sc_search-submit-button,
.single-mphb_room_type input[type="submit"],
.single-mphb_room_type .button {
  background: #2B1F18 !important;
  color: #EFE4D2 !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  letter-spacing: 1.4px !important;
  text-transform: uppercase !important;
  padding: 18px 32px !important;
  border-radius: 2px !important;
  border: none !important;
  cursor: pointer !important;
  transition: background 0.25s ease !important;
  display: inline-block !important;
  text-decoration: none !important;
  margin-top: 16px !important;
}
 
.mphb-book-button:hover,
.mphb_sc_search-submit-button:hover,
.single-mphb_room_type input[type="submit"]:hover,
.single-mphb_room_type .button:hover {
  background: #2A3663 !important;
}
 
/* ============== "BUSCAR" — botón fixed top derecha (esa cajita marrón) ============== */
/* Si es un widget de MotoPress search en la cabecera, lo igualamos al RESERVAR */
.mphb_sc_search-form,
.mphb-search-form {
  display: none !important; /* Ocultar el "BUSCAR" raro de la cabecera */
}

/* ============================================================
   MOTOPRESS SINGLE ACCOMMODATION â€” NEWPORT SANCTUARY
   Camino B: CSS + JS reordenador
   
   PEGAR EN: WordPress â†’ Apariencia â†’ Personalizar â†’ CSS adicional
   AL FINAL del CSS existente (no reemplazar).
   ============================================================ */

/* ============== OCULTAR HASTA QUE EL JS HAYA REORDENADO ============== */
/* Para evitar el "flash" de contenido sin estilo */
.single-mphb_room_type:not(.np-ready) main,
.single-mphb_room_type:not(.np-ready) #main,
.single-mphb_room_type:not(.np-ready) .site-main {
  opacity: 0;
  transition: opacity 0.4s ease;
}

.single-mphb_room_type.np-ready main,
.single-mphb_room_type.np-ready #main,
.single-mphb_room_type.np-ready .site-main {
  opacity: 1;
}

/* ============== FONDO PÃGINA ============== */
.single-mphb_room_type {
  background: #EFE4D2;
}

/* ============== CONTENEDOR PRINCIPAL ============== */
.single-mphb_room_type main,
.single-mphb_room_type #main,
.single-mphb_room_type .entry-content,
.single-mphb_room_type .site-main {
  max-width: 1320px !important;
  margin: 100px auto 0 !important;
  padding: 0 32px !important;
  background: transparent !important;
}

@media (max-width: 720px) {
  .single-mphb_room_type main,
  .single-mphb_room_type .entry-content {
    margin: 80px auto 0 !important;
    padding: 0 20px !important;
  }
}

/* ============== HEADER DEL APARTAMENTO ============== */
.single-mphb_room_type .entry-header {
  padding: 40px 0 48px !important;
  margin-bottom: 0 !important;
  border-bottom: 1px solid #D4C2A8 !important;
  background: transparent !important;
  position: relative;
}

/* Breadcrumb fake antes del header */
.single-mphb_room_type .entry-header::before {
  content: "INICIO  /  ALOJAMIENTOS  /  " attr(data-apt-name);
  display: block;
  font-family: 'Inter', sans-serif;
  font-size: 12px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #6B5446;
  margin-bottom: 24px;
  font-weight: 400;
}

/* Eyebrow "â€” APARTAMENTO 0X" antes del tÃ­tulo */
.np-eyebrow-apt {
  font-family: 'Inter', sans-serif;
  font-size: 12px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #6B5446;
  margin-bottom: 16px;
  font-weight: 400;
  display: block;
}

/* TÃ­tulo principal del apartamento */
.single-mphb_room_type .entry-title,
.single-mphb_room_type h1.entry-title {
  font-family: 'Fraunces', serif !important;
  font-size: clamp(56px, 7vw, 120px) !important;
  font-weight: 400 !important;
  letter-spacing: -0.02em !important;
  line-height: 1 !important;
  margin: 8px 0 16px !important;
  color: #3A2A20 !important;
  font-variation-settings: "SOFT" 50, "WONK" 0, "opsz" 144 !important;
  padding: 0 !important;
  border: none !important;
}

/* Tagline italic generado por JS */
.np-apt-tagline {
  font-family: 'Fraunces', serif;
  font-style: italic;
  font-size: 24px;
  color: #6B5446;
  margin: 16px 0 0;
  font-variation-settings: "SOFT" 100, "WONK" 1, "opsz" 144;
  font-weight: 300;
  line-height: 1.3;
}

/* Meta del header (huÃ©spedes / dormitorios / cama) â€” generado por JS */
.np-apt-meta {
  display: flex;
  gap: 48px;
  margin-top: 32px;
  align-items: end;
}

.np-apt-meta__item {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.np-apt-meta__label {
  font-family: 'Inter', sans-serif;
  font-size: 12px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #2A3663;
  font-weight: 400;
}

.np-apt-meta__value {
  font-family: 'Fraunces', serif;
  font-size: 22px;
  color: #3A2A20;
  font-variation-settings: "SOFT" 50, "WONK" 0, "opsz" 96;
}

@media (max-width: 720px) {
  .np-apt-meta {
    flex-wrap: wrap;
    gap: 24px;
  }
}

/* ============== LAYOUT PRINCIPAL: GALERÃA LATERAL + INFO ============== */
.np-fiche-layout {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 48px;
  padding: 80px 0;
  align-items: start;
}

@media (max-width: 880px) {
  .np-fiche-layout {
    grid-template-columns: 1fr;
    gap: 32px;
    padding: 48px 0;
  }
}

/* COLUMNA IZQUIERDA: galerÃ­a */
.np-fiche-media {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.np-fiche-main-image {
  aspect-ratio: 4/5;
  overflow: hidden;
  border-radius: 2px;
  background: #E6D8C0;
}

.np-fiche-main-image img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block;
  transition: opacity 0.4s ease;
}

.np-fiche-thumbs {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
}

.np-fiche-thumb {
  aspect-ratio: 1;
  border-radius: 2px;
  overflow: hidden;
  cursor: pointer;
  position: relative;
  transition: opacity 0.25s ease;
  background: #E6D8C0;
}

.np-fiche-thumb img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block;
}

.np-fiche-thumb::after {
  content: '';
  position: absolute;
  inset: 0;
  background: rgba(43, 31, 24, 0.4);
  opacity: 1;
  transition: opacity 0.25s ease;
}

.np-fiche-thumb.is-active::after,
.np-fiche-thumb:hover::after {
  opacity: 0;
}

/* COLUMNA DERECHA: info */
.np-fiche-info {
  padding-top: 16px;
}

.np-fiche-info .np-eyebrow {
  font-family: 'Inter', sans-serif;
  font-size: 12px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #6B5446;
  margin-bottom: 16px;
  font-weight: 400;
  display: block;
}

/* Primera lÃ­nea descripciÃ³n = lead italic */
.single-mphb_room_type .entry-content > p:first-of-type {
  font-family: 'Fraunces', serif !important;
  font-style: italic !important;
  font-size: 26px !important;
  line-height: 1.4 !important;
  color: #3A2A20 !important;
  margin: 0 0 32px !important;
  font-variation-settings: "SOFT" 100, "WONK" 1, "opsz" 144 !important;
  font-weight: 300 !important;
  max-width: 28ch;
}

.single-mphb_room_type .entry-content > p {
  font-size: 17px !important;
  line-height: 1.7 !important;
  color: #6B5446 !important;
  max-width: 50ch;
  margin-bottom: 18px !important;
  font-family: 'Inter', sans-serif !important;
}

/* ============== GALERÃA ORIGINAL DE MOTOPRESS â€” OCULTA (la usamos en JS para nutrir la galerÃ­a custom) ============== */
.mphb-room-type-gallery-wrapper.np-original-gallery {
  display: none !important;
}

/* ============== TÃTULOS DE SECCIÃ“N ============== */
.mphb-details-title,
.mphb-calendar-title,
.mphb-services-title,
.mphb-rates-title {
  font-family: 'Fraunces', serif !important;
  font-style: italic !important;
  font-size: 32px !important;
  font-weight: 400 !important;
  letter-spacing: -0.01em !important;
  color: #3A2A20 !important;
  margin: 0 0 24px !important;
  padding: 0 !important;
  border: none !important;
  font-variation-settings: "SOFT" 100, "WONK" 1, "opsz" 144 !important;
}

.mphb-details-title::before,
.mphb-calendar-title::before,
.mphb-services-title::before {
  font-family: 'Inter', sans-serif;
  font-size: 12px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #6B5446;
  display: block;
  margin-bottom: 12px;
  font-weight: 400;
  font-style: normal;
}

.mphb-details-title::before { content: "â€” ESPECIFICACIONES"; }
.mphb-services-title::before { content: "â€” SERVICIOS"; }

/* ============== SERVICIOS / AMENITIES (en columna derecha) ============== */
.mphb-room-type-services,
.mphb-single-room-type-services,
.mphb-amenities {
  list-style: none !important;
  padding: 0 !important;
  margin: 24px 0 32px !important;
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 10px 32px !important;
  border: none !important;
}

.mphb-room-type-services li,
.mphb-amenities li {
  position: relative;
  padding: 0 0 0 24px !important;
  border: none !important;
  background: none !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 15px !important;
  color: #6B5446 !important;
  margin: 0 !important;
  list-style: none !important;
  text-align: left !important;
  font-style: normal !important;
}

.mphb-room-type-services li::before,
.mphb-amenities li::before {
  content: '' !important;
  position: absolute !important;
  left: 0 !important;
  top: 0.7em !important;
  width: 14px !important;
  height: 1px !important;
  background: #2A3663 !important;
  display: block !important;
}

@media (max-width: 540px) {
  .mphb-room-type-services,
  .mphb-amenities {
    grid-template-columns: 1fr !important;
  }
}

/* ============== ATRIBUTOS â€” los reorganizamos en categorÃ­a ============== */
.mphb-single-room-type-attributes {
  list-style: none !important;
  padding: 24px 0 0 !important;
  margin: 0 !important;
  border: none !important;
  border-top: 1px solid #D4C2A8 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;
}

.mphb-single-room-type-attributes li {
  display: flex !important;
  flex-direction: column !important;
  padding: 0 !important;
  margin: 0 !important;
  border: none !important;
  background: none !important;
  list-style: none !important;
  font-family: 'Fraunces', serif !important;
  font-size: 22px !important;
  font-weight: 400 !important;
  color: #3A2A20 !important;
  line-height: 1.3 !important;
}

.mphb-single-room-type-attributes li::before,
.mphb-single-room-type-attributes li::marker {
  display: none !important;
  content: none !important;
}

.mphb-single-room-type-attributes li strong,
.mphb-single-room-type-attributes li b {
  font-family: 'Inter', sans-serif !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  color: #2A3663 !important;
  margin-bottom: 4px !important;
  display: block !important;
}

.mphb-single-room-type-attributes li strong::after,
.mphb-single-room-type-attributes li b::after {
  content: "" !important;
}

/* CategorÃ­a como link italic */
.mphb-single-room-type-attributes a {
  color: #2A3663 !important;
  text-decoration: none !important;
  border-bottom: 1px solid #D4C2A8 !important;
  font-family: 'Fraunces', serif !important;
  font-size: 22px !important;
  font-style: italic !important;
  display: inline-block;
  padding-bottom: 2px;
  align-self: start;
  transition: border-color 0.25s ease;
}

.mphb-single-room-type-attributes a:hover {
  border-bottom-color: #2A3663 !important;
}

/* OCULTAR atributos huÃ©spedes/cama del bloque MotoPress (los movemos al header con JS) */
.mphb-single-room-type-attributes li.np-moved-to-header {
  display: none !important;
}

/* ============== SECCIÃ“N RESERVA: CALENDARIO + SIDEBAR ============== */
.np-reserve-section {
  background: #E6D8C0;
  margin: 80px -32px 0;
  padding: 80px 32px;
  border-radius: 0;
}

.np-reserve-layout {
  display: grid;
  grid-template-columns: 1fr 380px;
  gap: 48px;
  max-width: 1256px;
  margin: 0 auto;
  align-items: start;
}

@media (max-width: 1024px) {
  .np-reserve-layout {
    grid-template-columns: 1fr;
    gap: 32px;
  }
}

@media (max-width: 720px) {
  .np-reserve-section {
    margin: 60px -20px 0;
    padding: 60px 20px;
  }
}

/* ============== CALENDARIO MOTOPRESS â€” agrandado ============== */
.mphb-calendar {
  margin: 24px 0 0 !important;
  background: #F4EFE7 !important;
  border: 1px solid #D4C2A8 !important;
  border-radius: 2px !important;
  padding: 32px !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

.mphb-calendar a {
  color: #2A3663 !important;
  text-decoration: none !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 12px !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  background: transparent !important;
  border: 1px solid #D4C2A8 !important;
  padding: 8px 16px !important;
  border-radius: 100px !important;
  transition: all 0.25s ease !important;
  display: inline-block;
}

.mphb-calendar a:hover {
  background: #2A3663 !important;
  color: #EFE4D2 !important;
  border-color: #2A3663 !important;
}

.mphb-calendar select {
  font-family: 'Inter', sans-serif !important;
  font-size: 14px !important;
  background: #EFE4D2 !important;
  border: 1px solid #D4C2A8 !important;
  padding: 8px 12px !important;
  border-radius: 2px !important;
  color: #3A2A20 !important;
  margin: 0 4px !important;
}

.mphb-calendar .ui-datepicker-title,
.mphb-calendar caption {
  font-family: 'Fraunces', serif !important;
  font-style: italic !important;
  font-size: 26px !important;
  color: #3A2A20 !important;
  font-weight: 400 !important;
  text-align: center !important;
  padding: 16px 0 !important;
  background: transparent !important;
  font-variation-settings: "SOFT" 100, "WONK" 1, "opsz" 144 !important;
}

.mphb-calendar table {
  border-collapse: separate !important;
  border-spacing: 6px !important;
  width: 100% !important;
  background: transparent !important;
  margin: 24px 0 0 !important;
}

.mphb-calendar table th {
  font-family: 'Inter', sans-serif !important;
  font-weight: 400 !important;
  font-size: 11px !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  color: #6B5446 !important;
  padding: 16px 4px !important;
  background: transparent !important;
  border: none !important;
  text-align: center !important;
}

.mphb-calendar table td {
  text-align: center !important;
  padding: 0 !important;
  border: none !important;
  font-family: 'Fraunces', serif !important;
  font-size: 16px !important;
  color: #3A2A20 !important;
  background: #E6D8C0 !important;
  height: 56px !important;
  vertical-align: middle !important;
  border-radius: 2px !important;
  cursor: pointer;
  transition: all 0.2s ease;
}

.mphb-calendar td:hover {
  background: #2A3663 !important;
  color: #EFE4D2 !important;
}

.mphb-calendar td.booked,
.mphb-calendar td.unavailable,
.mphb-calendar td.mphb-not-available,
.mphb-calendar td.ui-datepicker-unselectable {
  background: transparent !important;
  color: #D4C2A8 !important;
  text-decoration: line-through !important;
  cursor: not-allowed !important;
  position: relative;
}

.mphb-calendar td.booked::after,
.mphb-calendar td.unavailable::after,
.mphb-calendar td.mphb-not-available::after,
.mphb-calendar td.ui-datepicker-unselectable::after {
  content: '';
  position: absolute;
  inset: 0;
  background: repeating-linear-gradient(
    45deg, transparent, transparent 4px,
    #D4C2A8 4px, #D4C2A8 5px
  );
  opacity: 0.4;
  border-radius: 2px;
  pointer-events: none;
}

.mphb-calendar td.booked:hover {
  background: transparent !important;
  color: #D4C2A8 !important;
}

.mphb-calendar td.ui-datepicker-today,
.mphb-calendar td.today {
  background: #2A3663 !important;
  color: #EFE4D2 !important;
  font-weight: 500 !important;
}

/* ============== SIDEBAR DE RESERVA (generada por JS) ============== */
.np-reserve-sidebar {
  position: sticky;
  top: 100px;
  background: #F4EFE7;
  padding: 32px;
  border-radius: 2px;
  border: 1px solid #D4C2A8;
}

.np-reserve-sidebar__price {
  display: flex;
  align-items: baseline;
  gap: 8px;
  padding-bottom: 24px;
  border-bottom: 1px solid #D4C2A8;
  margin-bottom: 24px;
  flex-wrap: wrap;
}

.np-reserve-sidebar__price-from {
  font-family: 'Inter', sans-serif;
  font-size: 12px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #6B5446;
}

.np-reserve-sidebar__price-amount {
  font-family: 'Fraunces', serif;
  font-size: 36px;
  color: #2A3663;
  font-weight: 400;
  font-variation-settings: "SOFT" 50, "WONK" 0, "opsz" 144;
}

.np-reserve-sidebar__price-period {
  font-family: 'Fraunces', serif;
  font-style: italic;
  font-size: 16px;
  color: #6B5446;
}

.np-reserve-sidebar__cta {
  display: block;
  width: 100%;
  background: #2B1F18 !important;
  color: #EFE4D2 !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  letter-spacing: 1.4px !important;
  text-transform: uppercase !important;
  padding: 18px 32px !important;
  border-radius: 2px !important;
  border: none !important;
  cursor: pointer !important;
  transition: background 0.25s ease !important;
  text-decoration: none !important;
  text-align: center;
  box-sizing: border-box;
  margin-bottom: 16px;
}

.np-reserve-sidebar__cta:hover {
  background: #2A3663 !important;
}

.np-reserve-sidebar__note {
  font-size: 12px;
  color: #6B5446;
  text-align: center;
  margin: 16px 0 0;
  font-style: italic;
  font-family: 'Fraunces', serif;
  line-height: 1.5;
}

.np-reserve-sidebar__divider {
  height: 1px;
  background: #D4C2A8;
  margin: 24px 0;
}

.np-reserve-sidebar__whatsapp {
  display: block;
  text-align: center;
  font-family: 'Fraunces', serif;
  font-size: 16px;
  color: #3A2A20;
  text-decoration: none;
}

.np-reserve-sidebar__whatsapp em {
  color: #2A3663;
  font-style: italic;
}

@media (max-width: 1024px) {
  .np-reserve-sidebar { position: static; }
}

/* ============== BOTÃ“N MOTOPRESS BOOK BUTTON ============== */
.mphb-book-button,
.mphb_sc_search-submit-button {
  background: #2B1F18 !important;
  color: #EFE4D2 !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  letter-spacing: 1.4px !important;
  text-transform: uppercase !important;
  padding: 18px 32px !important;
  border-radius: 2px !important;
  border: none !important;
  cursor: pointer !important;
  transition: background 0.25s ease !important;
  display: inline-block !important;
  text-decoration: none !important;
}

.mphb-book-button:hover,
.mphb_sc_search-submit-button:hover {
  background: #2A3663 !important;
}

/* ============== OCULTAR ELEMENTOS RESIDUALES ============== */
.single-mphb_room_type .mphb_sc_search-form,
.single-mphb_room_type .mphb-search-form {
  display: none !important;
}

/* ============== SECCIÃ“N OTROS APARTAMENTOS (footer-like) ============== */
.np-related-section {
  background: #EFE4D2;
  padding: 100px 32px 80px;
  margin: 0 -32px;
  text-align: center;
}

.np-related-section h2 {
  font-family: 'Fraunces', serif;
  font-size: clamp(36px, 5vw, 64px);
  font-weight: 400;
  margin: 12px 0 48px;
  color: #3A2A20;
  font-variation-settings: "SOFT" 50, "WONK" 0, "opsz" 96;
}

.np-related-section h2 em {
  font-style: italic;
  color: #6B5446;
  font-variation-settings: "SOFT" 100, "WONK" 1, "opsz" 144;
}

.np-related-section .np-eyebrow {
  font-family: 'Inter', sans-serif;
  font-size: 12px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #6B5446;
  display: block;
}

.np-related-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
  max-width: 1320px;
  margin: 0 auto;
}

@media (max-width: 880px) {
  .np-related-grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 540px) {
  .np-related-grid { grid-template-columns: 1fr; }
}

.np-related-card {
  display: block;
  background: #E6D8C0;
  text-decoration: none;
  color: inherit;
  border-radius: 2px;
  overflow: hidden;
  transition: transform 0.4s ease;
  text-align: left;
}

.np-related-card:hover { transform: translateY(-4px); }

.np-related-card img {
  width: 100%;
  height: 240px;
  object-fit: cover;
  transition: transform 0.6s ease;
  display: block;
}

.np-related-card:hover img { transform: scale(1.05); }

.np-related-card__info { padding: 24px; }

.np-related-card__num {
  display: block;
  font-family: 'Fraunces', serif;
  font-style: italic;
  font-size: 20px;
  color: #2A3663;
  margin-bottom: 4px;
}

.np-related-card__name {
  font-family: 'Fraunces', serif;
  font-size: 22px;
  font-weight: 400;
  margin: 0 0 4px;
  color: #3A2A20;
}

.np-related-card__capacity {
  font-size: 14px;
  color: #6B5446;
  margin: 0;
  font-family: 'Inter', sans-serif;
}/* End custom CSS */