.sanatorium-available-room-grid{grid-template-columns:1fr;gap:14px}
.sanatorium-available-room-grid .sanatorium-public-room-card{display:grid;grid-template-columns:minmax(230px,34%) minmax(0,1fr);align-items:stretch!important;gap:0;overflow:hidden;padding:0;border:1px solid #31596d;border-radius:16px;background:#102634}
.sanatorium-public-room-card .public-room-media{display:block;min-width:0;padding:0;background:#081923}
.public-room-stage{display:grid;position:relative;place-items:center;width:100%;aspect-ratio:1/1;overflow:hidden;border-radius:15px 0 0 0;background:#06131b;touch-action:pan-y;cursor:zoom-in}
.sanatorium-public-room-card .public-room-stage>img,.sanatorium-public-room-card .public-room-stage>video{position:absolute!important;inset:0!important;display:block!important;width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;margin:0!important;object-position:center!important;transform:none!important}
.sanatorium-public-room-card .public-room-stage>img{object-fit:cover!important}
.sanatorium-public-room-card .public-room-stage>video{object-fit:contain!important;background:#06131b}
.public-room-stage>.public-room-no-photo{grid-area:1/1;display:grid;width:100%;height:100%;max-width:100%;max-height:100%;place-items:center;object-fit:contain}
.public-room-stage>.public-room-video-mark{grid-area:1/1;z-index:2;display:grid;place-items:center;width:58px;height:58px;border:1px solid rgba(255,255,255,.55);border-radius:50%;background:rgba(3,18,27,.72);color:#fff;font-size:24px;pointer-events:none;box-shadow:0 8px 24px rgba(0,0,0,.35)}
.public-room-no-photo{display:grid;place-items:center;width:100%;height:100%;color:#55dfcb;background:linear-gradient(135deg,#123647,#0c242f)}.public-room-no-photo i{font-size:clamp(76px,9vw,112px);line-height:1;opacity:.7}
.public-room-thumbs{display:flex!important;grid-auto-flow:unset!important;gap:6px!important;width:100%;margin:0;padding:7px 8px 6px;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:#405966 #0b202a;background:#081923}
.public-room-thumbs::-webkit-scrollbar{height:6px}.public-room-thumbs::-webkit-scrollbar-track{border-radius:999px;background:#0b202a}.public-room-thumbs::-webkit-scrollbar-thumb{border-radius:999px;background:#405966}.public-room-thumbs::-webkit-scrollbar-thumb:hover{background:#527080}.public-room-thumbs::-webkit-scrollbar-button{display:none;width:0;height:0}
.public-room-thumbs button{position:relative;flex:0 0 61px;height:49px;overflow:hidden;padding:0;border:2px solid transparent;border-radius:8px;background:#0e2936;color:#fff;cursor:pointer;scroll-snap-align:center}
.public-room-thumbs button.active{border-color:#55dfcb}.public-room-thumbs img,.public-room-thumbs video{width:100%;height:100%;object-fit:cover}.public-room-thumbs i{position:absolute;inset:0;display:grid;place-items:center;font-size:16px;text-shadow:0 1px 5px #000}
.sanatorium-public-room-card .public-room-copy{display:flex;flex-direction:column;align-self:stretch;gap:12px;padding:14px 16px 16px}
.public-room-copy header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.public-room-copy header small{display:inline-flex;align-items:center;min-height:32px;margin:0 0 8px;padding:5px 11px;border:1px solid rgba(85,223,203,.55);border-radius:9px;background:rgba(20,184,166,.14);color:#7ff4df;font-size:16px;font-weight:950;letter-spacing:.04em;text-transform:uppercase}.public-room-copy h4{display:inline-block;position:relative;max-width:calc(100% - 15px);margin:10px 0 0;padding:9px 37px 9px 13px;background:linear-gradient(135deg,#0f766e,#0d9488);clip-path:polygon(0 0,calc(100% - 32px) 0,100% 50%,calc(100% - 32px) 100%,0 100%);color:#fff;font-size:24px;font-weight:500;line-height:1.2;text-wrap:balance}.public-room-copy header>span{margin-top:2px;padding:7px 11px;border-radius:999px;background:#116149;color:#a7f3d0;font-size:13px;font-weight:900;white-space:nowrap}
.public-room-copy>p{display:flex;align-items:flex-start;gap:9px;margin:0;padding:10px 12px;border:1px solid rgba(96,165,250,.22);border-radius:11px;background:rgba(59,130,246,.09);color:#cfe1e9;font-size:16px;line-height:1.45;white-space:pre-line}.public-room-copy>p i{margin-top:3px;color:#60a5fa;font-size:18px}.public-room-copy>p span{min-width:0}
.public-room-promo{display:flex!important;align-items:center;flex-wrap:wrap;gap:7px!important}.public-room-promo b,.public-room-promo span{display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border-radius:9px;font-size:13px}.public-room-promo b{border:1px solid rgba(251,191,36,.5);background:rgba(180,83,9,.24);color:#fde68a}.public-room-promo span{border:1px solid rgba(74,222,128,.32);background:rgba(22,101,52,.3);color:#bbf7d0}
.public-room-facts,.public-room-services{display:flex!important;flex-wrap:wrap;gap:8px!important}.public-room-facts span,.public-room-services em{padding:8px 11px;border-radius:9px;background:#173b4b;color:#d7e9ef;font-size:17px;font-style:normal}.public-room-facts i{margin-right:6px;color:#55dfcb}
.public-room-copy footer{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-top:auto;padding-top:4px}.public-room-copy footer strong{display:grid;color:#ffd36b;font-size:25px;line-height:1.15}.public-room-copy footer strong del{margin-bottom:4px;color:#93a9b4;font-size:15px;font-weight:650}.public-room-copy footer strong small{margin-top:6px;color:#b5c9d3;font-size:15px;font-weight:650}.public-room-copy footer button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:44px;padding:0 18px;border:0;border-radius:10px;background:#2874db;color:#fff;font-weight:900;cursor:pointer}
.public-room-divider{display:flex!important;align-items:center!important;justify-content:center;gap:13px!important;height:26px;padding:0 4%;color:#3fc9b5}.public-room-divider::before,.public-room-divider::after{content:"";height:1px;flex:1;background:linear-gradient(90deg,transparent,rgba(63,201,181,.72))}.public-room-divider::after{background:linear-gradient(90deg,rgba(63,201,181,.72),transparent)}.public-room-divider i{width:11px;height:11px;flex:0 0 11px;border:2px solid #59ddc9;background:#123b43;transform:rotate(45deg);box-shadow:0 0 0 4px rgba(63,201,181,.08)}
body.light .sanatorium-available-room-grid .sanatorium-public-room-card{border-color:#c6d9e3;background:#fff}body.light .sanatorium-public-room-card .public-room-media{background:#e7f1f5}body.light .public-room-stage{background:#dcebef}body.light .public-room-copy header small{background:#ecfdf5;color:#08766b}body.light .public-room-copy>p{border-color:#bfdbfe;background:#eff6ff;color:#405c6c}body.light .public-room-facts span,body.light .public-room-services em{background:#edf5f7;color:#29485a}body.light .public-room-promo b{background:#fffbeb;color:#92400e}body.light .public-room-promo span{background:#f0fdf4;color:#166534}body.light .public-room-divider{color:#149b8b}body.light .public-room-divider i{border-color:#20aa99;background:#e4f7f4}
@media(max-width:700px){.sanatorium-public-booking{width:100%;margin-inline:0;padding:8px;border-radius:14px}.sanatorium-available-room-grid{gap:10px}.sanatorium-available-room-grid .sanatorium-public-room-card{grid-template-columns:1fr;width:100%;border-radius:13px}.public-room-stage{height:auto;aspect-ratio:1/1;border-radius:12px 12px 0 0}.sanatorium-public-room-card .public-room-copy{padding:12px}.public-room-copy header{gap:8px}.public-room-copy h4{font-size:24px}.public-room-copy header>span{font-size:13px}.public-room-copy footer{align-items:stretch;flex-direction:column}.public-room-copy footer button{width:100%}}

.public-room-copy header>.public-room-status{display:inline-flex;align-items:center;gap:6px}.public-room-copy header>.public-room-status.available{background:#116149;color:#a7f3d0}.public-room-copy header>.public-room-status.occupied{background:#6b2633;color:#fecdd3}.public-room-next-time{display:block;margin-top:-5px;color:#fbbf24!important;font-size:13px!important;font-weight:800}.public-room-copy footer .public-room-check-time{background:#b76a12;color:#fff}.sanatorium-public-room-card.is-occupied{border-color:rgba(251,146,60,.45)}
.public-room-show-more{display:flex;align-items:center;justify-content:center;gap:9px;width:min(360px,100%);min-height:48px;margin:4px auto 0;padding:0 18px;border:1px solid #39cbb5;border-radius:12px;background:linear-gradient(135deg,#0f766e,#0d9488);color:#fff;font-size:16px;font-weight:850;cursor:pointer;box-shadow:0 8px 20px rgba(13,148,136,.2)}.public-room-show-more small{padding:3px 7px;border-radius:999px;background:rgba(255,255,255,.16);color:#fff}.public-room-show-more:hover{filter:brightness(1.08)}
.sanatorium-reservation-dialog{width:min(720px,calc(100vw - 28px));max-height:calc(100vh - 28px);padding:0;border:1px solid #3b7b80;border-radius:20px;background:#0b2430;color:#eef8fb;box-shadow:0 28px 80px rgba(0,0,0,.55);overflow:auto}.sanatorium-reservation-dialog::backdrop{background:rgba(2,9,15,.78);backdrop-filter:blur(4px)}.sanatorium-reservation-dialog .sanatorium-public-reservation{margin:0;padding:28px 22px 22px;border:0;background:linear-gradient(145deg,rgba(13,148,136,.18),rgba(8,25,35,.5))}.sanatorium-reservation-close{position:sticky;z-index:3;top:10px;float:right;width:42px;height:42px;margin:10px 10px -52px 0;border:1px solid #45697a;border-radius:50%;background:#102f3e;color:#fff;font-size:18px;cursor:pointer}.sanatorium-reservation-dialog .sanatorium-selected-room{padding-right:48px}.sanatorium-reservation-dialog .sanatorium-selected-room b{font-size:20px}.sanatorium-reservation-dialog .sanatorium-reserve-submit{min-height:52px;font-size:19px}
body.light .public-room-copy header>.public-room-status.occupied{background:#fee2e2;color:#991b1b}body.light .public-room-next-time{color:#9a5807!important}body.light .sanatorium-reservation-dialog{border-color:#9acfc8;background:#f7fcfc;color:#153447}body.light .sanatorium-reservation-dialog .sanatorium-public-reservation{background:linear-gradient(145deg,#ecfdf8,#f5fbfd)}body.light .sanatorium-reservation-close{border-color:#b8d4dc;background:#fff;color:#153447}
@media(max-width:700px){.sanatorium-reservation-dialog{width:calc(100vw - 16px);max-height:calc(100dvh - 16px);border-radius:16px}.sanatorium-reservation-dialog .sanatorium-public-reservation{padding:62px 14px 16px}.sanatorium-reservation-close{position:absolute;right:4px}.public-room-show-more{width:100%}}

/* Room title is a separate, readable arrow label with softened corners. */
.public-room-copy header>div{min-width:0}
.public-room-copy header h4{display:block;position:relative;z-index:1;width:max-content;max-width:calc(100% - 28px);margin:10px 20px 0 0;padding:9px 15px;border-radius:7px 0 0 7px;clip-path:none;text-transform:uppercase;overflow:visible}
.public-room-copy header h4::after{content:"";position:absolute;z-index:-1;top:50%;right:-17px;width:34px;height:34px;border-radius:0 7px 0 0;background:#0d9488;transform:translateY(-50%) rotate(45deg)}
@media(max-width:700px){.public-room-copy header h4{width:fit-content;max-width:calc(100% - 24px);font-size:23px}}
