/* ==========================================================================
   VAYRA × Elementor compatibility layer
   Keeps the original design pixel-identical inside Elementor layouts and
   makes VAYRA section widgets always run edge to edge.
   ========================================================================== */

.vayra-elementor-content{display:block}
.vayra-block{position:relative}

/* VAYRA section widgets manage their own spacing → neutralise Elementor wrappers */
.elementor-widget[class*="elementor-widget-vayra-"]:not(.elementor-widget-vayra-button){margin:0!important;width:100%}
.elementor-widget[class*="elementor-widget-vayra-"]:not(.elementor-widget-vayra-button)>.elementor-widget-container{margin:0;padding:0}
.e-con:has(>.elementor-widget[class*="elementor-widget-vayra-"]:not(.elementor-widget-vayra-button)),
.e-con:has(>.e-con-inner>.elementor-widget[class*="elementor-widget-vayra-"]:not(.elementor-widget-vayra-button)){
  --padding-top:0px!important;--padding-right:0px!important;--padding-bottom:0px!important;--padding-left:0px!important;
  --gap:0px!important;--row-gap:0px!important;--column-gap:0px!important;--widgets-spacing:0px!important;
  --content-width:100%!important;--container-max-width:100%!important}
.e-con:has(>.e-con-inner>.elementor-widget[class*="elementor-widget-vayra-"]:not(.elementor-widget-vayra-button))>.e-con-inner{max-width:100%!important;padding:0!important}
.elementor-section:has(.elementor-widget[class*="elementor-widget-vayra-"]:not(.elementor-widget-vayra-button))>.elementor-container{max-width:none!important}
.elementor-section:has(.elementor-widget[class*="elementor-widget-vayra-"]:not(.elementor-widget-vayra-button)) .elementor-widget-wrap.elementor-element-populated{padding:0!important}

/* Elementor sets `.elementor img{height:auto}` — restore the design's fixed photo crops */
.vayra-block img{max-width:100%}
.vayra-block .card-photo{height:292px;width:100%;object-fit:cover}
.vayra-block.vayra-split .split img,.vayra-block .split>img{width:100%;height:510px;object-fit:cover}
.vayra-block .intro-grid .image-block{width:100%;height:550px;object-fit:cover}
.vayra-block .gallery-grid img{width:100%;height:230px;object-fit:cover}
.vayra-block .gallery-grid:not(.no-feature) img:first-child{grid-column:span 2;grid-row:span 2;height:472px}
.vayra-block .gallery-grid.no-feature img:first-child{grid-column:auto;grid-row:auto;height:230px}
.vayra-block .room-image{width:100%;height:380px;object-fit:cover}
.vayra-block .feature-box img{width:100%;height:260px;object-fit:cover;margin-bottom:14px}

/* Spacing / background options */
.section.vayra-pt-0{padding-top:0}
.section.vayra-pb-0{padding-bottom:0}
.section.vayra-compact{padding:56px 0}
.vayra-bg-white{background:#fff}
.dark-section .text-link{color:#e6c69b}
.dark-section h2,.dark-section h3{color:#fff}

/* Room list: explicit alternating (independent of the intro paragraph) */
.vayra-rooms-intro{max-width:770px;font-size:1.12rem;margin:0 0 60px}
.vayra-rooms .room-row:nth-child(even) .room-image{order:0}
.vayra-rooms .room-row.is-flipped .room-image{order:2}
.vayra-rooms .room-copy p{color:var(--muted);max-width:450px}

/* Text section */
.vayra-text-section .vayra-text-inner{max-width:770px}
.vayra-text-section.is-wide .vayra-text-inner{max-width:none}
.vayra-text-section.vayra-align-center .vayra-text-inner{margin:0 auto;text-align:center}
.vayra-text-section .button{margin-top:12px}

/* Column options */
.strip-grid.vayra-cols-1{grid-template-columns:1fr}.strip-grid.vayra-cols-2{grid-template-columns:repeat(2,1fr)}.strip-grid.vayra-cols-4{grid-template-columns:repeat(4,1fr)}
.cards3.vayra-cols-2,.grid2.vayra-cols-2{grid-template-columns:repeat(2,1fr)}
.cards3.vayra-cols-3,.grid2.vayra-cols-3{grid-template-columns:repeat(3,1fr)}
.cards3.vayra-cols-4,.grid2.vayra-cols-4{grid-template-columns:repeat(4,1fr)}

/* WYSIWYG content inside widgets */
.vayra-block .card-body p{margin:0 0 10px}
.vayra-block ul{color:var(--muted);padding-left:1.2em}
.split>div>.button,.intro-grid>div>.button{margin-top:12px}
.vayra-button-wrap .text-link{margin-top:0}
.vayra-editor-notice{margin:0 0 20px}

@media(max-width:900px){
  .vayra-block .card-photo{height:220px}
  .cards3.vayra-cols-4,.grid2.vayra-cols-4,.strip-grid.vayra-cols-4{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:700px){
  .vayra-block .card-photo{height:320px}
  .vayra-block.vayra-split .split img,.vayra-block .split>img,.vayra-block .intro-grid .image-block{height:350px}
  .vayra-block .room-image{height:270px}
  .vayra-rooms .room-row.is-flipped .room-image{order:0}
  .vayra-block .gallery-grid img,.vayra-block .gallery-grid.no-feature img:first-child{height:145px}
  .vayra-block .gallery-grid:not(.no-feature) img:first-child{height:302px}
  .cards3[class*="vayra-cols-"],.grid2[class*="vayra-cols-"],.strip-grid[class*="vayra-cols-"]{grid-template-columns:1fr}
  .section.vayra-compact{padding:40px 0}
}

/* ---------- Header & footer made with Elementor (saved templates) ---------- */
.vayra-el-header{position:relative;z-index:20}
body.vayra-has-hero .vayra-el-header{position:absolute;top:0;left:0;width:100%}
.vayra-el-header .header,.vayra-site-header.is-preview{position:relative}
.vayra-site-header.bg-solid,.vayra-site-header.is-preview{background:var(--forest2)}
body .vayra-site-header.bg-white{background:#fff;color:var(--ink);border-bottom-color:var(--line)}
.vayra-site-header.bg-white .brand img{filter:none!important}
.vayra-site-header.bg-white .mobile-toggle{color:var(--ink)}
.vayra-site-header.bg-white .nav a:hover{color:var(--gold)}
/* sticky: overlays the hero, then turns green once you scroll */
body.vayra-has-hero .vayra-el-header:has(.is-sticky){position:fixed;top:var(--wp-admin--admin-bar--height,0px)}
body:not(.vayra-has-hero) .vayra-el-header:has(.is-sticky){position:sticky;top:var(--wp-admin--admin-bar--height,0px)}
body.vayra-scrolled .vayra-site-header.is-sticky.bg-auto{background:var(--forest2);transition:background .25s}
.vayra-el-footer .footer .text-link{color:#ddbd8e}
@media(max-width:700px){.vayra-site-header.bg-white .nav{background:#fff}}
.vayra-site-header .brand img{width:var(--vayra-logo-w,126px)}
.vayra-site-header.logo-original .brand img{filter:none}
@media(max-width:700px){.vayra-site-header .brand img{width:calc(var(--vayra-logo-w,126px) * .73)}}
