/* Native Gutenberg wrappers for the approved Cala Home components.
 * Load after the copied reference CSS. Colours, type and spacing otherwise
 * continue to come from that theme rather than a second visual system. */
.native-room-section .news__intro { text-align: center; }
.native-room-section .news__intro .native-room-section-title {
  font-size: 40px; line-height: 40px; margin: 0 0 20px; color: #1c7783;
}
.native-rooms-slideshow, .native-rooms-slideshow .swiper-container-rooms,
.native-rooms-slideshow .swiper-wrapper, .native-rooms-slideshow .swiper-slide {
  margin-block-start: 0;
}
.native-rooms-slideshow .swiper-wrapper { display: flex; flex-wrap: nowrap; }
.native-rooms-slideshow .swiper-slide { flex-shrink: 0; width: 100%; }
.rooms_slideshow .swiper-slide > .native-room-tile {
  position: relative; isolation: isolate; display: flex; flex-direction: column;
  align-items: center; justify-content: flex-end; width: 100%; height: 700px;
  padding: 0 24px 60px; box-sizing: border-box; overflow: hidden;
  text-align: center; color: #fff;
}
.native-room-tile > figure.native-room-image {
  position: absolute; inset: 0; width: 100%; height: 100%; margin: 0!important;
  z-index: 0;
}
.native-room-tile > figure.native-room-image img {
  display: block; width: 100%; height: 100%; max-width: none;
  object-fit: cover; object-position: top center; transition: transform 1.5s;
}
.rooms_slideshow .native-room-tile > .native-room-title {
  position: static; z-index: 1; max-width: 100%; margin: 0 0 15px;
}
.rooms_slideshow .native-room-title > a {
  position: static; display: inline; height: auto; padding: 0; overflow: visible;
  color: inherit; font: inherit; text-decoration: none;
}
/* One real title link covers its whole tile; guest details remain real text. */
.rooms_slideshow .native-room-title > a::after {
  content: ''; position: absolute; inset: 0; z-index: 4;
}
.rooms_slideshow .native-room-title > a:focus-visible { outline: none; }
.rooms_slideshow .native-room-title > a:focus-visible::after {
  outline: 3px solid #f0b482; outline-offset: -6px;
}
.native-room-tile > .category-rooms { pointer-events: none; }
.native-room-tile:hover .native-room-image::after,
.native-room-tile:focus-within .native-room-image::after { opacity: .7; }
.native-room-tile:hover .native-room-image img,
.native-room-tile:focus-within .native-room-image img { transform: scale(1.04); }
.native-essences-section .essenze__grid { margin-block-start: 0; }
.native-essences-section .essenze__intro>h2,
.native-essences-section .essenze__intro>p { margin: 0 0 20px; }
.native-essenza-card > figure.native-essenza-image {
  position: absolute; inset: 0; margin: 0!important; width: 100%; height: 100%;
}
.native-essenza-card > .essenza-card__body { margin-block-start: 0; }
.native-essenza-card .essenza-card__subtitle { margin: 0 0 8px; }
.native-essenza-card .essenza-card__title {
  font-family: var(--font-body); font-size: 26px; font-weight: 400;
  line-height: 23px; color: #fff!important; margin: 0 0 10px;
}
.native-essenza-card .essenza-card__text { margin: 0; }
.native-essenza-card .essenza-card__text p { margin: 0; font: inherit; color: inherit; }
@media (max-width: 767px) {
  .native-room-section .news__intro .native-room-section-title { font-size: 36px; line-height: 38px; }
  .rooms_slideshow .swiper-slide > .native-room-tile { height: 500px; }
}
@media (prefers-reduced-motion: reduce) {
  .native-room-tile > figure.native-room-image img { transition: none; }
}
/* All fields remain visible and selectable while editing. */
.editor-styles-wrapper .native-rooms-slideshow .swiper-wrapper { flex-wrap: wrap; }
.editor-styles-wrapper .native-rooms-slideshow .swiper-slide { flex: 1 1 300px; }
.editor-styles-wrapper .native-room-title > a::after { display: none; }
.editor-styles-wrapper .native-essenza-card .essenza-card__text { max-height: none; opacity: 1; }
