/* One room structure and card renderer, shared by the Wellness property. */
#main .wellness-room-mosaic.plaza-gallery.has-nested-images{display:grid;grid-template-columns:1.85fr 1fr;grid-template-rows:1fr 1fr;gap:12px;aspect-ratio:2.65/1;margin:0}
#main .wellness-room-mosaic.has-nested-images figure.plaza-image:not(#individual-image){width:100%;height:100%;margin:0;min-width:0;overflow:hidden;border-radius:var(--plaza-radius-ui,4px);aspect-ratio:auto}
#main .wellness-room-mosaic figure:first-child{grid-row:span 2}
#main .wellness-room-mosaic figure:nth-child(n+4){display:none}
#main .wellness-room-mosaic .wp-lightbox-container{width:100%;height:100%}
#main .wellness-room-mosaic img{width:100%;height:100%;object-fit:cover}
#main .wellness-room-mosaic figure:nth-child(3) .lightbox-trigger{opacity:1;top:auto;left:auto;right:16px;bottom:16px;width:auto;height:44px;padding:12px 16px;display:flex;align-items:center;gap:10px;border-radius:var(--plaza-radius-ui,4px);background:var(--panel);color:var(--ink);backdrop-filter:blur(4px)}
#main .wellness-room-mosaic figure:nth-child(3) .lightbox-trigger::after{content:attr(data-photo-label);font:400 0.75rem/1.5 Montserrat,sans-serif;white-space:nowrap}
/* Key facts: four cards joined into one strip (same as Kislovodsk), each with the shared card light; the icons stay. */
.wellness-room-highlights{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin:28px 0 0;padding:0;border:1px solid var(--line);border-radius:var(--plaza-radius-ui,4px);overflow:hidden;background:var(--surface)}
.wellness-room-highlights>div{position:relative;margin:0;padding:24px var(--plaza-card-padding-inline,20px);border-inline-start:1px solid var(--line)}
.wellness-room-highlights>div:first-child{border-inline-start:0}
.wellness-room-highlights dt{font:500 1.375rem/1.4 var(--plaza-font-serif,Lora,serif);color:var(--accent)}
.wellness-room-highlights dd{margin:8px 0 0;min-width:0;font-size:var(--plaza-text-sm);line-height:1.55;white-space:pre-line}
.wellness-room-story{min-width:0}
#main .wellness-room-layout{padding-bottom:48px}
#main .wellness-room-description h2,#main .wellness-room-amenities h2,.wellness-room-faq h2{font-size:clamp(1.75rem,3vw,2.5rem);margin:0 0 24px}
#main .wellness-room-amenities{margin-top:40px}
.wellness-room-amenity-rail .swipe-rail{grid-auto-columns:calc((100% - 32px)/3);gap:16px}
.wellness-amenity-card{padding:20px var(--plaza-card-padding-inline);min-width:0}
.wellness-amenity-card h3{font-size:1.3125rem;line-height:1.3;margin:0 0 20px}
#main .wellness-amenity-card ul{columns:1;margin:0;padding-left:18px;font-size:0.875rem;line-height:1.6}
#main .wellness-amenity-card li{margin-bottom:10px}
#main .wellness-room-faq{padding-top:16px;padding-bottom:40px}
#main .wellness-room-faq h2{margin-top:0}
.wellness-room-faq>p{max-width:65ch}
.wellness-room-final-booking{display:flex;align-items:center;justify-content:space-between;gap:40px;padding:32px;background:var(--panel);border:1px solid var(--line);border-radius:var(--plaza-radius-ui,4px);margin-block:16px 64px}
.wellness-room-final-booking h2{font-size:clamp(1.875rem,3vw,2.625rem);margin:0 0 16px}
.wellness-room-final-booking p{margin-block:12px}
.wellness-room-final-booking>.button{flex-shrink:0}
.wellness-room-related .swipe-rail{grid-auto-columns:calc((100% - 48px)/3);gap:24px;padding-block:8px 24px}
@media(max-width:1050px){.wellness-room-highlights{grid-template-columns:repeat(2,minmax(0,1fr))}.wellness-room-highlights>div:nth-child(odd){border-inline-start:0}.wellness-room-highlights>div:nth-child(n+3){border-block-start:1px solid var(--line)}.wellness-room-amenity-rail .swipe-rail{grid-auto-columns:100%}.wellness-room-related .swipe-rail{grid-auto-columns:calc((100% - 24px)/2)}.wellness-room-final-booking{margin-bottom:48px;gap:24px}}
@media(max-width:767px){#main .wellness-room-mosaic.plaza-gallery.has-nested-images{display:block;aspect-ratio:3/2}#main .wellness-room-mosaic figure:nth-child(n+2){display:none}#main .wellness-room-mosaic figure:first-child .lightbox-trigger{opacity:1;top:auto;left:auto;right:12px;bottom:12px;width:auto;height:44px;padding:12px;display:flex;align-items:center;gap:8px;background:var(--panel);color:var(--ink);border-radius:var(--plaza-radius-ui,4px)}#main .wellness-room-mosaic figure:first-child .lightbox-trigger::after{content:attr(data-photo-label);font:400 0.75rem/1.5 Montserrat,sans-serif}.wellness-room-highlights{gap:20px 16px;margin-top:20px;padding:20px 0}.wellness-room-highlights>div{gap:10px}.wellness-room-highlights dt{flex-basis:26px}.wellness-room-highlights dt svg{width:26px;height:26px}.wellness-room-highlights strong{font-size:0.8125rem}.wellness-room-highlights dd>span{font-size:0.6875rem}.wellness-room-reserve{order:0}.wellness-room-final-booking{display:block;padding:24px;margin-bottom:40px}.wellness-room-final-booking>.button{margin-top:16px;width:100%;justify-content:center}.wellness-room-related .swipe-rail{grid-auto-columns:100%}}

/* Local rooms use the shared carousel controls, card border and footer. */
.plaza-object-zheleznovodsk .wellness-room-groups,
.plaza-object-zheleznovodsk .wellness-room-comparison-heading {
 margin-block: var(--plaza-section-after,36px) var(--plaza-section-before,64px);
}
.plaza-object-zheleznovodsk .wellness-room-group+.wellness-room-group {
 margin-top: var(--plaza-section-before,64px);
}
.plaza-object-zheleznovodsk .wellness-room-group>h2 {
 margin-bottom: var(--plaza-section-after,36px);
}
body.plaza-object-zheleznovodsk main#main .wellness-room-group .plaza-room-card {
 display:grid;
 grid-template-rows:auto minmax(min-content,1fr);
 aspect-ratio:auto;
 min-height:520px;
}
/* Keep the legacy Gutenberg wrapper from occupying only the photo grid row. */
.plaza-object-zheleznovodsk .wellness-room-group .plaza-room-card > .plaza-group-inner {
 display:contents;
}
body.plaza-object-zheleznovodsk main#main .wellness-room-group .room-catalog-photo {
 height:auto;
 aspect-ratio:3/2;
 min-height:0;
 margin:0;
}
.plaza-object-zheleznovodsk .wellness-room-group .room-photo-link,
.plaza-object-zheleznovodsk .wellness-room-group .room-catalog-photo img {
 display:block;
 width:100%;
 height:100%;
 aspect-ratio:auto;
 object-fit:cover;
}
.plaza-object-zheleznovodsk .wellness-room-group .card-body {
 display:flex;
 flex-direction:column;
 flex:1;
 min-width:0;
}
.plaza-object-zheleznovodsk .wellness-room-group .card-body h3 {
 overflow-wrap:anywhere;
}
@media(max-width:767px) {
 body.plaza-object-zheleznovodsk main#main .wellness-room-group .plaza-room-card {
  min-height:0;
 }
}
.plaza-object-zheleznovodsk #main .wellness-room-layout--shared {
 display:block;
}
.plaza-object-zheleznovodsk .wellness-room-amenity-grid {
 display:grid;
 grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));
 gap:var(--plaza-grid-gap,24px);
}
@media(min-width:1024px) {
 html body.plaza-shell.plaza-object-zheleznovodsk.home main#main.plaza-block-home .section-heading {
  align-items:center;
 }
 html body.plaza-shell.plaza-object-zheleznovodsk.home main#main.plaza-block-home .section-heading>:is(div:has(>h2),h2) {
  position:static;
  top:auto;
  align-self:center;
 }
}

@media print {
 @page psg-room-comparison { size:A4; margin:16mm; }
 body.plaza-object-zheleznovodsk.page-id-1809 { page:psg-room-comparison; }

 html body.plaza-object-zheleznovodsk.page-id-1809 .comparison-scroll {
  height:auto;
  max-height:none;
  overflow:visible;
  border:0;
 }
 html body.plaza-object-zheleznovodsk.page-id-1809 :is(.comparison-sticky-head,.comparison-preview,.comparison-room-preview,.comparison-toolbar) {
  display:none!important;
 }
 html body.plaza-object-zheleznovodsk.page-id-1809 .comparison-scroll .comparison-table {
  width:100%;
  min-width:0;
  table-layout:fixed;
  border-collapse:collapse;
 }
 html body.plaza-object-zheleznovodsk.page-id-1809 .comparison-table :is(caption,th,td) {
  position:static;
  width:auto;
  min-width:0;
  max-width:none;
  padding:3pt;
  white-space:normal;
  overflow-wrap:anywhere;
  font-size:8pt;
  line-height:1.25;
  color:#17231c;
  background:transparent;
  box-shadow:none;
 }
 html body.plaza-object-zheleznovodsk.page-id-1809 .comparison-table thead th:first-child {
  width:23%;
 }
 html body.plaza-object-zheleznovodsk.page-id-1809 .comparison-table thead {
  display:table-header-group;
 }
 html body.plaza-object-zheleznovodsk.page-id-1809 .comparison-table tr {
  break-inside:avoid;
 }
 html body.plaza-object-zheleznovodsk.page-id-1809 .comparison-table a {
  display:inline;
  min-width:0;
  min-height:0;
  padding:0;
  white-space:normal;
  overflow-wrap:anywhere;
  color:inherit;
 }
}

/* The price button repeats the header button: same width, font, height. */
.wellness-room-intro .button{width:var(--plaza-cta-width);min-width:var(--plaza-cta-width);padding-inline:14px;justify-content:center;text-align:center;font-size:var(--plaza-cta-font)}
