:root {
  --molino-anil: #174a63;
  --molino-anil-oscuro: #0e3446;
  --molino-cal: #f7f4ed;
  --molino-blanco: #ffffff;
  --molino-arena: #d7c5a3;
  --molino-olivo: #687255;
  --molino-carbon: #1d292e;
  --molino-bruma: #b8cfd8;
  --molino-radio: 0.35rem;
  --molino-sombra: 0 1.25rem 3.5rem rgba(14, 52, 70, 0.12);
  --molino-ancho: 76rem;
}

body {
  background: var(--molino-cal);
  color: var(--molino-carbon);
  font-family: "Source Sans 3", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: clamp(1.0625rem, 1rem + 0.2vw, 1.1875rem);
  line-height: 1.65;
  margin: 0;
}

body.molino-site { overflow-x: hidden; }
body.molino-site *, body.molino-site *::before, body.molino-site *::after { box-sizing: border-box; }
body.molino-site .site-main { margin: 0; max-width: none; padding: 0; }

h1,
h2,
h3,
h4 {
  color: var(--molino-anil-oscuro);
  font-family: Lora, Georgia, serif;
  font-weight: 500;
  line-height: 1.15;
  text-wrap: balance;
}

h1 { font-size: clamp(2.7rem, 6vw, 5.8rem); }
h2 { font-size: clamp(2.1rem, 4vw, 3.8rem); }
h3 { font-size: clamp(1.5rem, 2.5vw, 2.2rem); }

a {
  color: var(--molino-anil);
  text-underline-offset: 0.18em;
}

:focus-visible {
  outline: 3px solid var(--molino-olivo);
  outline-offset: 3px;
}

.molino-skip-link {
  background: var(--molino-blanco);
  color: var(--molino-anil-oscuro);
  left: 1rem;
  padding: .65rem 1rem;
  position: fixed;
  top: -5rem;
  z-index: 1000;
}

.molino-skip-link:focus { top: 1rem; }

.molino-header {
  background: rgba(255,255,255,.97);
  border-bottom: 1px solid rgba(14,52,70,.12);
  position: relative;
  z-index: 100;
}

.molino-header__inner {
  align-items: center;
  display: flex;
  justify-content: space-between;
  min-height: 5.25rem;
}

.molino-brand { align-items: center; color: var(--molino-anil-oscuro); display: flex; gap: .8rem; line-height: 1.1; text-decoration: none; }
.molino-brand__logo { display: grid; flex: 0 0 auto; place-items: center; }
.molino-brand__logo img { display: block; height: clamp(2.65rem,5vw,3.8rem); object-fit: contain; width: auto; }
.molino-brand__text { display: grid; }
.molino-brand__name { font-family: Lora, Georgia, serif; font-size: clamp(1.28rem,2vw,1.65rem); }
.molino-brand__place { font-size: .66rem; font-weight: 700; letter-spacing: .14em; margin-top: .35rem; text-transform: uppercase; }
.molino-navigation { align-items: center; display: flex; gap: clamp(.2rem,.6vw,.65rem); }
.molino-navigation a { color: var(--molino-carbon); font-size: .94rem; font-weight: 650; text-decoration: none; }
.molino-navigation > a, .molino-nav-item__top > a { padding: .75rem .45rem; }
.molino-navigation a:hover { color: var(--molino-anil); }
.molino-navigation .molino-navigation__book { background: var(--molino-anil); color: var(--molino-blanco); padding: .65rem 1.05rem; }
.molino-navigation .molino-navigation__book:hover { background: var(--molino-anil-oscuro); color: var(--molino-blanco); }
.molino-nav-item { position: relative; }
.molino-nav-item__top { align-items: center; display: flex; }
.molino-submenu-toggle { align-items: center; background: transparent; border: 0; color: var(--molino-anil-oscuro); cursor: pointer; display: inline-flex; font: inherit; height: 2.35rem; justify-content: center; padding: .25rem; width: 1.8rem; }
.molino-submenu-toggle span { display: block; font-size: 1rem; line-height: 1; transition: transform 180ms ease; }
.molino-nav-item.is-submenu-open .molino-submenu-toggle span { transform: rotate(180deg); }
.molino-submenu { background: var(--molino-blanco); border: 1px solid rgba(14,52,70,.12); box-shadow: var(--molino-sombra); display: grid; left: 0; min-width: 17rem; opacity: 0; padding: .55rem; pointer-events: none; position: absolute; top: calc(100% - .2rem); transform: translateY(.4rem); transition: opacity 160ms ease,transform 160ms ease; visibility: hidden; z-index: 110; }
.molino-submenu a { border-bottom: 1px solid #e4eaec; font-size: .9rem; padding: .65rem .7rem; }
.molino-submenu a:last-child { border-bottom: 0; }
.molino-submenu--right { left: auto; right: 0; }
.molino-nav-item:hover > .molino-submenu, .molino-nav-item.is-submenu-open > .molino-submenu { opacity: 1; pointer-events: auto; transform: translateY(0); visibility: visible; }
.molino-nav-item--book .molino-nav-item__top { background: var(--molino-anil); }
.molino-submenu-toggle--book { color: var(--molino-blanco); }
.molino-menu-toggle { background: transparent; border: 0; color: var(--molino-anil-oscuro); display: none; font: inherit; font-weight: 700; gap: .7rem; padding: .5rem; }
.molino-menu-toggle__icon { display: grid; gap: 4px; }
.molino-menu-toggle__icon i { background: currentColor; display: block; height: 2px; width: 1.4rem; }

.molino-container {
  margin-inline: auto;
  max-width: var(--molino-ancho);
  padding-inline: clamp(1.2rem, 4vw, 3rem);
}

.molino-section {
  padding-block: clamp(4rem, 8vw, 8rem);
}

.molino-kicker {
  color: var(--molino-anil);
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.molino-button,
.wp-block-button__link {
  align-items: center;
  background: var(--molino-anil);
  border: 2px solid var(--molino-anil);
  border-radius: var(--molino-radio);
  color: var(--molino-blanco);
  display: inline-flex;
  font-weight: 700;
  justify-content: center;
  min-height: 3rem;
  padding: 0.75rem 1.35rem;
  text-decoration: none;
  transition: background-color 180ms ease, border-color 180ms ease, color 180ms ease;
}

.molino-button:hover,
.wp-block-button__link:hover {
  background: var(--molino-anil-oscuro);
  border-color: var(--molino-anil-oscuro);
  color: var(--molino-blanco);
}

.molino-button--quiet {
  background: transparent;
  color: var(--molino-anil);
}

.molino-card {
  background: var(--molino-blanco);
  border-radius: var(--molino-radio);
  box-shadow: var(--molino-sombra);
  overflow: hidden;
}

.molino-grid {
  display: grid;
  gap: clamp(1.25rem, 3vw, 2.5rem);
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 18rem), 1fr));
}

.molino-hero {
  align-items: end;
  background-color: var(--molino-anil-oscuro);
  color: var(--molino-blanco);
  display: grid;
  min-height: min(88svh, 58rem);
  overflow: hidden;
  position: relative;
}

.molino-hero__slides,
.molino-hero__slide { height: 100%; inset: 0; margin: 0; position: absolute; width: 100%; }
.molino-hero__slide { opacity: 0; transition: opacity 1.1s ease; }
.molino-hero__slide.is-active { opacity: 1; }
.molino-hero__slide img { height: 100%; object-fit: cover; width: 100%; }

.molino-hero::after {
  background: linear-gradient(180deg, transparent 25%, rgba(14, 52, 70, 0.78) 100%);
  content: "";
  inset: 0;
  pointer-events: none;
  position: absolute;
}

.molino-hero__content {
  max-width: 55rem;
  padding-block: clamp(3rem, 8vw, 7rem);
  position: relative;
  z-index: 1;
}

.molino-hero__controls {
  align-items: center;
  bottom: clamp(1rem,3vw,2rem);
  display: flex;
  gap: .75rem;
  position: absolute;
  right: clamp(1.2rem,4vw,3rem);
  z-index: 3;
}
.molino-hero__controls button { background: rgba(255,255,255,.93); border: 0; border-radius: 50%; color: var(--molino-anil-oscuro); cursor: pointer; font: inherit; height: 2.65rem; width: 2.65rem; }
.molino-hero__count { color: var(--molino-blanco); font-size: .85rem; min-width: 2.8rem; text-align: center; }

.molino-hero h1,
.molino-hero p { color: var(--molino-blanco); }

.molino-hero__lead { font-size: clamp(1.15rem, 1rem + 0.55vw, 1.55rem); max-width: 44rem; }
.molino-hero__policies { display: flex; flex-wrap: wrap; gap: .55rem; list-style: none; margin: 1.3rem 0 0; padding: 0; }
.molino-hero__policies li { background: rgba(255,255,255,.92); border-radius: 999px; color: var(--molino-anil-oscuro); font-size: .86rem; font-weight: 700; padding: .42rem .85rem; }
.molino-hero__policies--dark li { background: #dfeaed; }
.molino-actions { display: flex; flex-wrap: wrap; gap: 0.8rem; margin-top: 1.5rem; }
.molino-button--light { background: rgba(255,255,255,.94); border-color: var(--molino-blanco); color: var(--molino-anil-oscuro); }
.molino-button--whatsapp { background: #287a55; border-color: #287a55; }
.molino-button--whatsapp-alt { background: transparent; border-color: #287a55; color: #216746; }
.molino-button--whatsapp-alt:hover { background: #216746; border-color: #216746; color: var(--molino-blanco); }
.molino-booking-wrap { margin-top: clamp(-4rem, -4vw, -2.5rem); position: relative; z-index: 2; }
.molino-booking-panel { align-items: center; background: var(--molino-blanco); box-shadow: var(--molino-sombra); display: grid; gap: 2rem; grid-template-columns: 1.6fr .8fr; padding: clamp(1.5rem,4vw,3rem); }
.molino-booking-panel h2 { font-size: clamp(1.8rem,3vw,2.8rem); margin: .25rem 0; }
.molino-booking-panel__actions { display: grid; gap: .7rem; }
.molino-intro, .molino-section-heading, .molino-split { align-items: center; display: grid; gap: clamp(2rem,6vw,6rem); grid-template-columns: repeat(2,minmax(0,1fr)); }
.molino-gallery { display: grid; gap: .4rem; grid-template-columns: 1.4fr 1fr 1fr; margin-inline: auto; max-width: 100rem; padding-inline: .4rem; }
.molino-gallery figure { margin: 0; min-height: 24rem; overflow: hidden; }
.molino-gallery img, .molino-split > img { height: 100%; object-fit: cover; width: 100%; }
.molino-section--blue { background: var(--molino-anil-oscuro); color: var(--molino-blanco); }
.molino-section--blue h2, .molino-section--blue h3, .molino-section--blue p, .molino-section--blue .molino-kicker { color: var(--molino-blanco); }
.molino-section--sand { background: #ebe2d1; }
.molino-section-heading { margin-bottom: 2.5rem; }
.molino-room-grid { display: grid; gap: 1.15rem; grid-template-columns: repeat(6,1fr); }
.molino-room-card { background: var(--molino-blanco); grid-column: span 2; overflow: hidden; }
.molino-room-card:nth-child(4) { grid-column: 2 / span 2; }
.molino-room-card a { color: var(--molino-carbon); display: block; text-decoration: none; }
.molino-room-card img { aspect-ratio: 4/3; display: block; object-fit: cover; width: 100%; }
.molino-room-card__content { padding: 1.3rem; }
.molino-room-card .molino-room-card__content h3 { color: var(--molino-anil-oscuro); margin: 0 0 .5rem; }
.molino-room-card__content p { color: var(--molino-carbon); font-size: 1rem; }
.molino-room-card__content span { color: var(--molino-anil); font-weight: 700; }
.molino-room-grid__more { margin-top: 2rem; text-align: center; }
.molino-split > img { aspect-ratio: 4/3; min-height: 22rem; }
.molino-split--reverse > img { order: 2; }
.molino-final-cta { padding-block: clamp(4rem,8vw,7rem); text-align: center; }
.molino-final-cta h2 { margin-inline: auto; max-width: 18ch; }
.molino-actions--center { justify-content: center; }

.molino-footer { background: #092a3a; color: rgba(255,255,255,.78); padding-top: clamp(3.5rem,7vw,6rem); }
.molino-footer a { color: rgba(255,255,255,.84); display: block; margin-block: .35rem; text-decoration: none; }
.molino-footer a:hover { color: var(--molino-blanco); }
.molino-footer__grid { display: grid; gap: clamp(2rem,5vw,5rem); grid-template-columns: 1.5fr 1fr 1fr; }
.molino-footer__grid > div:first-child p:last-child { max-width: 40ch; }
.molino-footer__brand { color: var(--molino-blanco); font-family: Lora, Georgia, serif; font-size: 1.8rem; margin: 0 0 1rem; }
.molino-footer__heading { color: var(--molino-blanco); font-size: .8rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.molino-footer__bottom { border-top: 1px solid rgba(255,255,255,.15); display: flex; font-size: .86rem; justify-content: space-between; margin-top: 3.5rem; padding-block: 1.25rem; }
.molino-footer__bottom p { margin: 0; }

.molino-room-heading { max-width: 58rem; padding-top: clamp(2rem,5vw,4rem); }
.molino-room-heading h1 { margin: 0 0 1.25rem; text-align: center; }
.molino-room-heading img,
.molino-room-gallery img,
.molino-room-compare-card__image img { display: block; height: auto; width: 100%; }
.molino-room-hero__shade { background: linear-gradient(180deg,rgba(14,52,70,.05),rgba(14,52,70,.82)); inset: 0; position: absolute; }
.molino-room-layout { align-items: start; display: grid; gap: clamp(2rem,7vw,7rem); grid-template-columns: minmax(0,1.6fr) minmax(17rem,.7fr); }
.molino-room-description { max-width: 58rem; }
.molino-room-copy h2 { margin-top: .2rem; }
.molino-prose > *:first-child { margin-top: 0; }
.molino-prose h2 { font-size: clamp(1.6rem,3vw,2.3rem); }
.molino-room-facts { background: var(--molino-blanco); box-shadow: var(--molino-sombra); padding: clamp(1.5rem,3vw,2.2rem); position: sticky; top: 2rem; }
.molino-room-facts__title { color: var(--molino-anil-oscuro); font-family: Lora, Georgia, serif; font-size: 1.65rem; margin-top: 0; }
.molino-room-price { align-items: baseline; color: var(--molino-anil-oscuro); display: flex; gap: .4rem; margin: .75rem 0 .15rem; }
.molino-room-price strong { font-family: Lora, Georgia, serif; font-size: clamp(1.65rem,3vw,2.15rem); font-weight: 600; }
.molino-room-price__season { color: var(--molino-carbon); font-size: .92rem; margin: 0 0 1.2rem; }
.molino-room-facts ul { list-style: none; margin: 0; padding: 0; }
.molino-room-facts li { border-top: 1px solid #dce3e5; padding-block: .75rem; }
.molino-room-facts li::before { color: var(--molino-olivo); content: '✓'; font-weight: 800; margin-right: .6rem; }
.molino-room-gallery-section { background: var(--molino-blanco); padding-block: clamp(4rem,8vw,7rem); }
.molino-room-gallery-heading { align-items: end; }
.molino-room-gallery-heading h2 { margin: .2rem 0 0; }
.molino-room-video-link { align-items: center; background: #e8e0d2; border: 1px solid rgba(72,58,43,.14); display: flex; gap: 1rem; justify-self: end; max-width: 29rem; padding: 1rem 1.2rem; }
.molino-room-video-link p { margin: 0 0 .65rem; }
.molino-room-video-link__play { align-items: center; background: #4c4338; border-radius: 50%; color: var(--molino-blanco); display: inline-flex; flex: 0 0 auto; height: 3.4rem; justify-content: center; padding-left: .2rem; width: 3.4rem; }
.molino-room-gallery { display: grid; gap: clamp(.8rem,2vw,1.5rem); grid-template-columns: minmax(0,1fr); margin-inline: auto; max-width: 58rem; }
.molino-room-gallery figure { margin: 0; }
.molino-room-essentials .molino-room-video-link { margin-top: 2rem; }
.molino-room-essentials { background: #ece6da; }
.molino-room-essentials-heading { align-items: end; }
.molino-room-essential-price { justify-self: end; text-align: right; }
.molino-essential-grid { display: grid; gap: clamp(.75rem,2vw,1.25rem); grid-template-columns: repeat(4,minmax(0,1fr)); list-style: none; margin: 2rem 0 0; padding: 0; }
.molino-essential-grid li { align-items: center; background: rgba(255,255,255,.58); border: 1px solid rgba(72,58,43,.12); display: flex; flex-direction: column; justify-content: center; min-height: 12rem; padding: 1.25rem; text-align: center; }
.molino-essential-grid span { color: #40382f; font-family: Lora,Georgia,serif; font-size: 1.02rem; line-height: 1.35; }
.molino-essential-icon { color: #4c4338; fill: none; height: 4.5rem; margin-bottom: .85rem; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2.6; width: 4.5rem; }
.molino-essential-icon .molino-icon-fill { color: #718064; fill: currentColor; opacity: .28; stroke: none; }
.molino-room-booking { background: #ebe2d1; padding-block: clamp(3.5rem,7vw,6rem); }
.molino-room-booking__inner { align-items: center; display: grid; gap: 2rem; grid-template-columns: 1.5fr .7fr; }
.molino-room-booking h2 { font-size: clamp(2rem,4vw,3.5rem); margin: .2rem 0; }
.molino-room-booking__motopress { background: var(--molino-blanco); box-shadow: var(--molino-sombra); margin-top: 2.5rem; padding: clamp(1.25rem,4vw,3rem); }
.molino-room-booking__motopress .mphb-calendar-title,
.molino-room-booking__motopress .mphb-reservation-form-title { color: var(--molino-anil-oscuro); font-size: clamp(1.6rem,3vw,2.4rem); }
.molino-room-booking__motopress .mphb-calendar-title { margin-top: 0; }
.molino-room-booking__motopress .mphb-reservation-form-title { border-top: 1px solid rgba(72,58,43,.16); margin-top: 2.5rem; padding-top: 2.5rem; }
.molino-room-booking__motopress input,
.molino-room-booking__motopress select { max-width: 100%; }

.molino-spaces-hero { align-items: end; color: var(--molino-blanco); display: grid; min-height: min(76svh,52rem); overflow: hidden; position: relative; }
.molino-spaces-hero > img { height: 100%; inset: 0; object-fit: cover; position: absolute; width: 100%; }
.molino-spaces-hero__content { max-width: 60rem; padding-block: clamp(4rem,8vw,7rem); position: relative; width: 100%; z-index: 1; }
.molino-spaces-hero h1, .molino-spaces-hero p { color: var(--molino-blanco); }
.molino-spaces-hero h1 { margin: .15em 0 .25em; }
.molino-spaces-hero__content > p:last-child { font-size: clamp(1.15rem,1rem + .5vw,1.5rem); max-width: 44rem; }
.molino-space-facts { display: grid; gap: 1px; grid-template-columns: repeat(4,1fr); list-style: none; margin: clamp(3rem,6vw,5rem) 0 0; padding: 0; }
.molino-space-facts li { background: var(--molino-blanco); box-shadow: 0 0 0 1px rgba(14,52,70,.1); display: grid; padding: clamp(1.2rem,3vw,2rem); }
.molino-space-facts strong { color: var(--molino-anil); font-family: Lora,Georgia,serif; font-size: clamp(2rem,4vw,3.2rem); font-weight: 500; }
.molino-space-facts span { font-size: .95rem; }
.molino-spaces-video { background: #dfeaed; padding-block: clamp(3rem,6vw,5rem); text-align: center; }
.molino-spaces-video h2 { margin: .2rem auto 1.4rem; }
.molino-space-gallery { display: grid; gap: .75rem; }
.molino-space-gallery--three { grid-template-columns: repeat(3,minmax(0,1fr)); }
.molino-space-gallery--five { grid-template-columns: repeat(5,minmax(0,1fr)); }
.molino-space-gallery figure, .molino-pool-grid figure, .molino-landscape-strip figure { margin: 0; overflow: hidden; }
.molino-space-gallery img { aspect-ratio: 4/5; height: auto; object-fit: cover; width: 100%; }
.molino-space-gallery--five img { aspect-ratio: 4/3; }
.molino-space-gallery figcaption { color: rgba(255,255,255,.82); font-size: .9rem; padding-top: .6rem; }
.molino-pool-grid { display: grid; gap: clamp(1rem,3vw,2rem); grid-template-columns: repeat(2,minmax(0,1fr)); }
.molino-pool-card { background: var(--molino-blanco); box-shadow: var(--molino-sombra); overflow: hidden; }
.molino-pool-card summary { cursor: pointer; display: block; list-style: none; }
.molino-pool-card summary::-webkit-details-marker { display: none; }
.molino-pool-card summary:focus-visible { outline-offset: -4px; }
.molino-pool-card summary > img { aspect-ratio: 4/3; display: block; object-fit: cover; width: 100%; }
.molino-pool-card summary > .molino-pool-card__principal-photo { object-position: center bottom; }
.molino-pool-card__heading { display: grid; padding: 1.2rem; }
.molino-pool-card__heading strong { color: var(--molino-anil-oscuro); font-family: Lora,Georgia,serif; font-size: 1.45rem; font-weight: 500; }
.molino-pool-card__heading > span:not(.molino-pool-card__action) { font-size: .95rem; margin-top: .25rem; }
.molino-pool-card__action { color: var(--molino-anil); font-size: .84rem; font-weight: 700; margin-top: .8rem; text-transform: uppercase; }
.molino-pool-card__action::after { content: ' +'; }
.molino-pool-card[open] .molino-pool-card__action::after { content: ' −'; }
.molino-pool-card__description { border-top: 1px solid #dce3e5; padding: .2rem 1.2rem 1.25rem; }
.molino-pool-card__description p:last-child { margin-bottom: 0; }
.molino-pool-card__description > img { aspect-ratio: 4/3; display: block; margin-top: 1rem; object-fit: cover; width: 100%; }
.molino-landscape-section { overflow: hidden; padding-bottom: .5rem; }
.molino-landscape-strip { display: grid; gap: .5rem; grid-template-columns: repeat(5,minmax(18rem,1fr)); overflow-x: auto; padding: 0 .5rem 1rem; scroll-snap-type: x mandatory; }
.molino-landscape-strip figure { min-height: 26rem; scroll-snap-align: center; }
.molino-landscape-strip img { height: 100%; object-fit: cover; width: 100%; }
.molino-spaces-faq { background: var(--molino-anil-oscuro); color: var(--molino-blanco); }
.molino-spaces-faq h2, .molino-spaces-faq p, .molino-spaces-faq .molino-kicker { color: var(--molino-blanco); }
.molino-faq-list { border-top: 1px solid rgba(255,255,255,.3); }
.molino-faq-list details { border-bottom: 1px solid rgba(255,255,255,.3); padding-block: 1rem; }
.molino-faq-list summary { color: var(--molino-blanco); cursor: pointer; font-family: Lora,Georgia,serif; font-size: 1.25rem; }
.molino-faq-list details p { color: rgba(255,255,255,.82); margin-bottom: .4rem; }

.molino-rooms-hero { background: #e7eef0; padding-block: clamp(4rem,8vw,7rem); }
.molino-rooms-hero h1 { margin: .15em 0 .3em; }
.molino-rooms-hero .molino-container > p:not(.molino-kicker) { font-size: clamp(1.1rem,1rem + .4vw,1.4rem); max-width: 48rem; }
.molino-room-compare { display: grid; gap: clamp(2rem,5vw,4rem); max-width: 58rem; }
.molino-room-compare-card { background: var(--molino-blanco); box-shadow: var(--molino-sombra); }
.molino-room-compare-card__image a { display: block; position: relative; }
.molino-room-compare-card__image h2 { background: var(--molino-anil-oscuro); bottom: clamp(.6rem,2.5vw,1.6rem); color: var(--molino-blanco); font-size: clamp(1.65rem,5vw,3.2rem); left: clamp(.6rem,2.5vw,1.6rem); margin: 0; padding: .22em .4em; position: absolute; }
.molino-room-compare-card__body { padding: clamp(1.5rem,5vw,3rem); }
.molino-room-compare-card__body ul { list-style: none; margin: 1.2rem 0; padding: 0; }
.molino-room-compare-card__body li { border-top: 1px solid #dce3e5; padding-block: .55rem; }
.molino-room-compare-card__body li::before { color: var(--molino-olivo); content: '✓'; font-weight: 800; margin-right: .55rem; }

.molino-editorial-hero { align-items: end; color: var(--molino-blanco); display: grid; min-height: min(68svh,46rem); overflow: hidden; position: relative; }
.molino-editorial-hero > img { height: 100%; inset: 0; object-fit: cover; position: absolute; width: 100%; }
.molino-editorial-hero__content { max-width: 58rem; padding-block: clamp(4rem,8vw,7rem); position: relative; width: 100%; z-index: 1; }
.molino-editorial-hero h1, .molino-editorial-hero p { color: var(--molino-blanco); }
.molino-editorial-hero h1 { margin: .15em 0 .3em; }
.molino-editorial-hero__content > p:last-child { font-size: clamp(1.12rem,1rem + .45vw,1.45rem); max-width: 45rem; }
.molino-story-grid { align-items: center; display: grid; gap: clamp(2rem,6vw,6rem); grid-template-columns: minmax(0,1fr) minmax(0,1fr); }
.molino-story-grid > img { aspect-ratio: 4/3; height: 100%; object-fit: cover; width: 100%; }
.molino-story-grid--reverse > img { order: 2; }
.molino-values-grid { align-items: start; display: grid; gap: 1rem; grid-template-columns: repeat(3,minmax(0,1fr)); }
.molino-value-card { background: transparent; box-shadow: none; overflow: hidden; }
.molino-value-card__image { aspect-ratio: 4/3; display: block; object-fit: cover; width: 100%; }
.molino-value-card__body { color: var(--molino-blanco); padding: 1.15rem 0 0; }
.molino-value-card__body p:last-child { margin-bottom: 0; }
.molino-value-card h3 { margin-top: .25rem; }
.molino-policy-grid { display: grid; gap: clamp(1rem,3vw,2rem); grid-template-columns: repeat(2,minmax(0,1fr)); }
.molino-policy-card { background: var(--molino-blanco); border-top: 4px solid var(--molino-anil); box-shadow: var(--molino-sombra); padding: clamp(1.5rem,4vw,3rem); }
.molino-policy-card h3 { margin: .2rem 0 1rem; }
.molino-breakfast-note { background: #dfeaed; border-left: 4px solid var(--molino-anil); margin-top: 1.5rem; padding: 1rem 1.2rem; }
.molino-faq-page .molino-faq-list { border-top-color: #b7c7cd; }
.molino-faq-page .molino-faq-list details { border-bottom-color: #b7c7cd; }
.molino-faq-page .molino-faq-list summary, .molino-faq-page .molino-faq-list details p { color: var(--molino-carbon); }
.molino-faq-page .molino-faq-list details p { max-width: 58rem; }

body:not(.home) main.site-main:not(.molino-room-page):not(.molino-spaces-page):not(.molino-rooms-page):not(.molino-about-page):not(.molino-breakfast-page):not(.molino-faq-page) { margin-inline: auto; max-width: var(--molino-ancho); padding: clamp(3rem,7vw,6rem) clamp(1.2rem,4vw,3rem); }
body:not(.home) main.site-main:not(.molino-room-page):not(.molino-spaces-page):not(.molino-rooms-page):not(.molino-about-page):not(.molino-breakfast-page):not(.molino-faq-page) .entry-header { margin-bottom: 2.5rem; }
body:not(.home) main.site-main:not(.molino-room-page):not(.molino-spaces-page):not(.molino-rooms-page):not(.molino-about-page):not(.molino-breakfast-page):not(.molino-faq-page) h1 { font-size: clamp(2.4rem,5vw,4.5rem); }

.mphb_sc_search-form { background: var(--molino-blanco); box-shadow: var(--molino-sombra); display: grid; gap: 1rem; grid-template-columns: repeat(4,minmax(0,1fr)); padding: clamp(1.25rem,3vw,2.2rem); }
.mphb_sc_search-form > p { margin: 0; }
.mphb_sc_search-form .mphb-required-fields-tip { color: #52636a; font-size: .82rem; grid-column: 1 / -1; }
.mphb_sc_search-form > input[type='hidden'] { display: none; }
.mphb_sc_search-form label { color: var(--molino-anil-oscuro); display: block; font-size: .9rem; font-weight: 700; margin-bottom: .35rem; }
.mphb_sc_search-form input, .mphb_sc_search-form select { border: 1px solid #91a6ae; border-radius: 0; min-height: 3.2rem; padding: .65rem; width: 100%; }
.mphb_sc_search-form input[type='submit'] { background: var(--molino-anil); border: 2px solid var(--molino-anil); color: var(--molino-blanco); cursor: pointer; font-weight: 700; }

.molino-calendar-help { background: #f6f0e5; border-left: 4px solid var(--molino-anil); margin: 1.25rem 0; padding: 1rem 1.2rem; }
.molino-calendar-help p { margin: .35rem 0 0; }
.molino-selected-room-confirmation { align-items: center; background: #f6f0e5; display: grid; gap: clamp(1.25rem,3vw,2.5rem); grid-template-columns: minmax(220px,.8fr) 1.2fr; margin: 1.5rem 0 2rem; padding: clamp(1.2rem,3vw,2rem); }
.molino-selected-room-confirmation img { aspect-ratio: 4 / 3; height: 100%; object-fit: cover; width: 100%; }
.molino-selected-room-confirmation h2 { margin: .2rem 0 .6rem; }
.molino-selected-room-confirmation p:last-child { margin-bottom: 0; }
.molino-selected-room-confirmation--alternatives { display: block; }
.molino-selected-room-confirmation--alternatives .molino-button { margin-top: .6rem; }
.mphb-room-type[hidden], .mphb-recommendation-title[hidden], #mphb-recommendation[hidden] { display: none !important; }
.molino-search-room-photo { aspect-ratio: 4 / 3; display: block; height: auto; margin-bottom: 1rem; object-fit: cover; width: min(100%, 24rem); }
#mphb-recommendation .mphb-recommendation-details-list { list-style: none; padding-inline-start: 0; }
.molino-search-room-details { margin: 1rem 0; }
.molino-search-room-details summary { color: var(--molino-anil-oscuro); cursor: pointer; font-weight: 700; width: fit-content; }
.molino-search-room-details summary:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }
.molino-search-room-details > p { margin-top: .75rem; }

.molino-booking-note,
.molino-no-results-help {
	margin: 1.25rem 0 2rem;
	padding: 1.25rem 1.4rem;
	border-left: 4px solid var(--molino-anil);
	background: #f4f0e8;
	color: var(--molino-anil-oscuro);
}

.molino-booking-note h3 {
	margin: 0 0 .55rem;
	font-size: clamp(1.25rem,2vw,1.55rem);
}

.molino-booking-note p,
.molino-no-results-help p { margin: .35rem 0; }
.molino-no-results-help a { font-weight: 700; }

.molino-booking-bar {
  align-items: end;
  background: var(--molino-blanco);
  box-shadow: var(--molino-sombra);
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  padding: clamp(1rem, 2vw, 1.5rem);
}

.molino-booking-bar label {
  color: var(--molino-anil-oscuro);
  display: block;
  font-size: 0.88rem;
  font-weight: 700;
  margin-bottom: 0.35rem;
}

.molino-booking-bar input,
.molino-booking-bar select {
  border: 1px solid #8ba4af;
  border-radius: 0.25rem;
  min-height: 3rem;
  padding: 0.65rem 0.75rem;
  width: 100%;
}

@media (max-width: 1080px) {
	.molino-header__inner { min-height: 4.5rem; }
	.molino-menu-toggle { align-items: center; display: flex; }
	.molino-navigation { background: var(--molino-blanco); border-top: 1px solid #dce3e5; display: none; gap: 0; left: 0; padding: .6rem 1.2rem 1.2rem; position: absolute; right: 0; top: 100%; }
	.molino-navigation.is-open { display: grid; }
	.molino-navigation > a { border-bottom: 1px solid #e4eaec; padding: .8rem 0; }
	.molino-nav-item__top { border-bottom: 1px solid #e4eaec; display: grid; grid-template-columns: 1fr auto; }
	.molino-nav-item__top > a { padding: .8rem 0; }
	.molino-submenu-toggle { height: 2.9rem; width: 2.9rem; }
	.molino-submenu { border: 0; box-shadow: none; display: none; min-width: 0; opacity: 1; padding: .15rem 0 .55rem 1rem; pointer-events: auto; position: static; transform: none; visibility: visible; }
	.molino-nav-item:hover > .molino-submenu { display: none; }
	.molino-nav-item.is-submenu-open > .molino-submenu { display: grid; }
	.molino-submenu a { font-size: .9rem; padding: .65rem 0; }
	.molino-nav-item--book .molino-nav-item__top { margin-top: .7rem; }
	.molino-navigation .molino-navigation__book { margin-top: .7rem; padding: .75rem 1rem; text-align: center; }
	.molino-nav-item--book .molino-navigation__book { margin-top: 0; }
}

@media (max-width: 760px) {
  .molino-booking-bar { grid-template-columns: 1fr; }
  .molino-hero { min-height: 78svh; }
	.molino-hero__content { padding-bottom: 7rem; }
	.molino-hero__controls { bottom: 1.25rem; left: 1.2rem; right: auto; }
  .molino-booking-panel, .molino-intro, .molino-section-heading, .molino-split { grid-template-columns: 1fr; }
  .molino-gallery { grid-template-columns: 1fr; }
  .molino-gallery figure { min-height: 20rem; }
  .molino-room-grid { grid-template-columns: 1fr; }
  .molino-room-card, .molino-room-card:nth-child(4) { grid-column: auto; }
  .molino-split--reverse > img { order: 0; }
	.molino-footer__grid, .molino-room-layout, .molino-room-booking__inner, .mphb_sc_search-form, .molino-selected-room-confirmation { grid-template-columns: 1fr; }
	.molino-footer__bottom { display: block; }
	.molino-footer__bottom p + p { margin-top: .35rem; }
	.molino-room-facts { position: static; }
	.molino-room-gallery-heading { align-items: start; }
	.molino-room-video-link { justify-self: start; }
	.molino-room-essentials-heading { align-items: start; }
	.molino-room-essential-price { justify-self: start; text-align: left; }
	.molino-essential-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
	.molino-space-facts { grid-template-columns: repeat(2,1fr); }
	.molino-space-gallery--three, .molino-pool-grid { grid-template-columns: 1fr; }
	.molino-space-gallery--five { display: flex; overflow-x: auto; padding-bottom: .65rem; scroll-snap-type: x mandatory; }
	.molino-space-gallery--five figure { flex: 0 0 min(78vw,22rem); scroll-snap-align: start; }
	.molino-space-gallery img { aspect-ratio: 4/3; }
	.molino-landscape-strip { grid-template-columns: repeat(5,85vw); }
	.molino-landscape-strip figure { min-height: 22rem; }
	.molino-story-grid, .molino-values-grid, .molino-policy-grid { grid-template-columns: 1fr; }
	.molino-story-grid--reverse > img { order: 0; }
}

@media (max-width: 34rem) {
	.molino-room-booking__motopress .mphb-calendar { overflow-x: hidden; }
	.molino-room-booking__motopress .datepick { max-width: 100% !important; width: 100% !important; }
	.molino-room-booking__motopress .datepick-month-row { display: block !important; }
	.molino-room-booking__motopress .datepick-month { float: none !important; width: 100% !important; }
	.molino-room-booking__motopress .datepick-month + .datepick-month { margin-top: .75rem; }
	.molino-essential-grid { grid-template-columns: 1fr; }
	.molino-essential-grid li { min-height: 10rem; }
	.molino-room-video-link { align-items: flex-start; }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
  }
}

.molino-legacy-language:has(~ .molino-header .molino-menu-language) { display: none; }

.molino-menu-language { align-items: center; display: flex; gap: .55rem; white-space: nowrap; }
.molino-menu-language a { align-items: center; display: inline-flex; gap: .3rem; padding: .5rem .15rem; }
.molino-menu-language a[aria-current="true"] { text-decoration: underline; text-underline-offset: .2em; }
.molino-menu-language svg { border: 1px solid #8b9093; border-radius: 2px; flex: none; }
@media (max-width: 1080px) {
	.molino-menu-language { border-bottom: 1px solid #e4eaec; gap: 1rem; }
	.molino-menu-language a { min-height: 44px; }
}