.sg-stay { width: calc(75% - 6px); max-width: 100%; margin-right: auto; color: #202124; }
.sg-stay *, .sg-stay *::before, .sg-stay *::after { box-sizing: border-box; }
.sg-stay-gallery {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr;
    grid-template-rows: repeat(2, 190px);
    gap: 8px;
    margin: 0 0 24px;
    overflow: hidden;
    border-radius: 18px;
    background: #eceff1;
}
.sg-stay-gallery__item { position: relative; display: block; min-width: 0; min-height: 0; overflow: hidden; background: #dfe3e6; }
.sg-stay-gallery__item--main { grid-row: 1 / 3; }
.sg-stay-gallery__item--hidden { display: none; }
.sg-stay-gallery img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .3s ease; }
.sg-stay-gallery__item:hover img { transform: scale(1.035); }
.sg-stay-gallery__more { position: absolute; right: 12px; bottom: 12px; padding: 8px 11px; border-radius: 10px; background: rgba(20,23,26,.82); color: #fff; font-size: 13px; font-weight: 600; backdrop-filter: blur(6px); }
.sg-stay-layout { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 24px; align-items: start; }
.sg-stay-main { min-width: 0; }
.sg-stay-panel { margin: 0 0 18px; padding: 24px; border: 1px solid #e5e7e9; border-radius: 16px; background: #fff; }
.sg-stay-panel h2 { margin: 0 0 18px !important; font-size: 25px !important; font-weight: 500 !important; line-height: 1.15 !important; }
.sg-stay-overview__head, .sg-stay-section-head { display: flex; justify-content: space-between; gap: 20px; align-items: flex-start; }
.sg-stay-kicker { display: block; margin-bottom: 5px; color: #f36b21; font-size: 12px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.sg-stay-rating { display: flex; flex-direction: column; flex: 0 0 auto; padding: 8px 11px; border-radius: 11px; background: #fff3e9; color: #bd4f12 !important; text-decoration: none !important; }
.sg-stay-rating strong { font-size: 20px; line-height: 1; }
.sg-stay-rating span { margin-top: 4px; font-size: 11px; }
.sg-stay-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0; margin: 0; }
.sg-stay-facts > div { padding: 15px 18px 15px 0; border-top: 1px solid #eceef0; }
.sg-stay-facts > div:nth-child(even) { padding-right: 0; padding-left: 18px; border-left: 1px solid #eceef0; }
.sg-stay-facts dt { margin: 0 0 4px; color: #777d83; font-size: 12px; font-weight: 400; }
.sg-stay-facts dd { margin: 0; color: #25282b; font-size: 14px; font-weight: 600; line-height: 1.4; }
.sg-stay-services { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 18px; margin: 0 !important; padding: 0 !important; list-style: none !important; }
.sg-stay-services li { display: flex; gap: 9px; align-items: center; min-width: 0; padding: 10px 12px; border-radius: 11px; background: #f6f7f8; color: #303438; font-size: 13px; }
.sg-stay-services li span { display: grid; flex: 0 0 22px; width: 22px; height: 22px; place-items: center; border-radius: 50%; background: #fff0e5; color: #ed6718; font-weight: 800; }
.sg-stay-description { font-size: 15px; line-height: 1.68; }
.sg-stay-description p { margin: 0 0 15px; text-align: left !important; }
.sg-stay-description p:last-child { margin-bottom: 0; }
.sg-stay-section-head h2 { margin-bottom: 5px !important; }
.sg-stay-section-head p { margin: 0; color: #737980; font-size: 13px; }
.sg-stay-section-head > a { flex: 0 0 auto; color: #ed6718 !important; font-size: 13px; font-weight: 600; text-decoration: none; }
.sg-stay-map { width: 100%; height: 370px; margin-top: 18px; overflow: hidden; border-radius: 13px; background: #e9ecef; }
.sg-stay-reviews__score { color: #f36b21; font-size: 26px; line-height: 1; }
.sg-stay-reviews__score span { color: #858b91; font-size: 11px; font-weight: 400; }
.sg-stay-reviews__empty { margin-top: 17px; padding: 16px; border-radius: 12px; background: #f6f7f8; color: #666d73; font-size: 13px; }
.sg-room-tabs { display:flex; gap:8px; margin:18px 0 16px; padding-bottom:4px; overflow-x:auto; scrollbar-width:thin; }
.sg-room-tabs button { flex:0 0 auto; min-height:36px; padding:8px 13px; border:1px solid #e1e4e7; border-radius:10px; background:#fff; color:#454a4f; font:500 13px/1.2 Arial,sans-serif; cursor:pointer; }
.sg-room-tabs button[aria-selected="true"] { border-color:#f36b21; background:#fff2e9; color:#c84f0c; }
.sg-room-panel { padding:17px 18px; border-radius:13px; background:#f6f7f8; }
.sg-room-panel[hidden] { display:none; }
.sg-room-panel h3 { margin:0 0 12px!important; color:#24282b; font-size:19px!important; font-weight:600!important; }
.sg-room-panel dl { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin:0 0 12px; }
.sg-room-panel dl div { min-width:0; }
.sg-room-panel dt { margin:0 0 3px; color:#7a8086; font-size:11px; }
.sg-room-panel dd { margin:0; color:#282c30; font-size:13px; font-weight:600; line-height:1.4; }
.sg-room-panel p { margin:10px 0 0; color:#565c62; font-size:13px; line-height:1.55; }
.sg-room-source,.sg-review-summary a { display:inline-block; margin-top:11px; color:#d75b16!important; font-size:12px; text-decoration:none!important; }
.sg-stay-data-note { margin:13px 0 0; color:#7a8086; font-size:11px; line-height:1.45; }
.sg-review-disclaimer { margin:16px 0 10px; color:#777d83; font-size:12px; line-height:1.45; }
.sg-review-summary { padding:15px 16px; border-radius:12px; background:#f6f7f8; }
.sg-review-summary+.sg-review-summary { margin-top:10px; }
.sg-review-summary strong { color:#30353a; font-size:13px; }
.sg-review-summary p { margin:7px 0 0; color:#4e555b; font-size:13px; line-height:1.55; }
.sg-stay-sources { margin:-3px 0 18px; padding:0 4px; color:#858b91; font-size:11px; line-height:1.5; }
.sg-stay-sources strong { font-weight:500; }
.sg-stay-sources a { margin-left:8px; color:#777d83!important; text-decoration:underline!important; text-underline-offset:2px; }
.sg-stay-booking { position: sticky; top: 126px; padding: 20px; border: 1px solid #e3e5e7; border-radius: 16px; background: #fff; box-shadow: 0 12px 30px rgba(20,27,32,.07); }
.sg-stay-booking__price { margin-bottom: 16px; }
.sg-stay-booking__price span { display: block; margin-bottom: 5px; color: #757b81; font-size: 12px; }
.sg-stay-booking__price strong { display: inline; color: #1f2326; font-size: 27px; font-weight: 700; line-height: 1.05; }
.sg-stay-booking__price small { margin-left: 5px; color: #7c8287; font-size: 11px; }
.sg-stay-action { display: flex; align-items: center; justify-content: center; width: 100%; min-height: 43px; margin-top: 9px; padding: 9px 12px; border: 1px solid transparent; border-radius: 12px; font-size: 13px; font-weight: 600; line-height: 1.25; text-align: center; text-decoration: none !important; }
.sg-stay-action--primary { background: #f36b21; color: #fff !important; }
.content-box a.sg-stay-action--primary,
.content-box a.sg-stay-action--primary:visited { color: #fff !important; -webkit-text-fill-color: #fff !important; opacity: 1 !important; }
.sg-stay-action--primary:hover { background: #df5912; color: #fff !important; }
.sg-stay-action--secondary { border-color: #e0e3e6; background: #fff; color: #303438 !important; }
.sg-stay-action--secondary:hover { border-color: #f36b21; color: #d95612 !important; }
.sg-stay-action--claim { min-height: 36px; border-color: transparent; background: transparent; color: #6d747a !important; font-size: 12px; }
.sg-stay-action--claim:hover { background: #f4f5f6; color: #d95612 !important; }
.sg-stay-booking__trust { margin-top: 17px; padding-top: 15px; border-top: 1px solid #eceef0; }
.sg-stay-booking__trust strong, .sg-stay-booking__trust span { display: block; }
.sg-stay-booking__trust strong { color: #2d3135; font-size: 13px; }
.sg-stay-booking__trust span { margin-top: 4px; color: #858b91; font-size: 11px; line-height: 1.35; }

html[data-theme="dark"] .sg-stay { color: #eef0f2; }
html[data-theme="dark"] .sg-stay-panel,
html[data-theme="dark"] .sg-stay-booking { border-color: #383e44; background: #202429; box-shadow: none; }
html[data-theme="dark"] .sg-stay-panel h2,
html[data-theme="dark"] .sg-stay-facts dd,
html[data-theme="dark"] .sg-stay-booking__price strong,
html[data-theme="dark"] .sg-stay-booking__trust strong { color: #f1f2f3 !important; }
html[data-theme="dark"] .sg-stay-facts > div { border-color: #373d43; }
html[data-theme="dark"] .sg-stay-facts dt,
html[data-theme="dark"] .sg-stay-section-head p,
html[data-theme="dark"] .sg-stay-booking__price span,
html[data-theme="dark"] .sg-stay-booking__price small,
html[data-theme="dark"] .sg-stay-booking__trust span { color: #aeb4ba; }
html[data-theme="dark"] .sg-stay-services li,
html[data-theme="dark"] .sg-stay-reviews__empty { background: #292e34; color: #e6e8ea; }
html[data-theme="dark"] .sg-room-tabs button { border-color:#41474d; background:#282d32; color:#e6e9ec; }
html[data-theme="dark"] .sg-room-tabs button[aria-selected="true"] { border-color:#f36b21; background:#40291d; color:#ff9a60; }
html[data-theme="dark"] .sg-room-panel,html[data-theme="dark"] .sg-review-summary { background:#292e34; }
html[data-theme="dark"] .sg-room-panel h3,html[data-theme="dark"] .sg-room-panel dd,html[data-theme="dark"] .sg-review-summary strong { color:#f1f2f3!important; }
html[data-theme="dark"] .sg-room-panel p,html[data-theme="dark"] .sg-review-summary p { color:#d0d4d8; }
html[data-theme="dark"] .sg-room-panel dt,html[data-theme="dark"] .sg-stay-data-note,html[data-theme="dark"] .sg-review-disclaimer,html[data-theme="dark"] .sg-stay-sources { color:#aeb4ba; }
html[data-theme="dark"] .sg-stay-action--secondary { border-color: #464d54; background: #272c31; color: #f0f1f2 !important; }
html[data-theme="dark"] .sg-stay-action--claim { color: #bbc0c5 !important; }
html[data-theme="dark"] .sg-stay-action--claim:hover { background: #292e34; color: #ff8a48 !important; }

@media (max-width: 980px) {
    .sg-stay { width: 100%; }
    .sg-stay-layout { grid-template-columns: minmax(0, 1fr) 270px; gap: 18px; }
    .sg-stay-gallery { grid-template-rows: repeat(2, 155px); }
}
@media (max-width: 760px) {
    .sg-stay-gallery { grid-template-columns: 2fr 1fr; grid-template-rows: repeat(2, 135px); margin-bottom: 16px; border-radius: 14px; }
    .sg-stay-gallery__item:nth-child(n+4):not(.sg-stay-gallery__item--hidden) { display: none; }
    .sg-stay-gallery__item:nth-child(3) { display: block !important; }
    .sg-stay-gallery__item:nth-child(3)::after { position: absolute; right: 9px; bottom: 9px; padding: 7px 9px; border-radius: 9px; background: rgba(20,23,26,.8); color: #fff; content: "Все фото"; font-size: 11px; }
    .sg-stay-layout { display: flex; flex-direction: column; gap: 0; }
    .sg-stay-main { display: contents; }
    .sg-stay-booking { position: static; order: -1; width: 100%; margin-bottom: 16px; padding: 17px; }
    .sg-stay-panel { width: 100%; margin-bottom: 14px; padding: 18px 16px; border-radius: 14px; }
    .sg-stay-panel h2 { font-size: 21px !important; }
    .sg-stay-facts { grid-template-columns: 1fr; }
    .sg-stay-facts > div, .sg-stay-facts > div:nth-child(even) { padding: 12px 0; border-left: 0; }
    .sg-stay-services { grid-template-columns: 1fr; gap: 8px; }
    .sg-room-panel dl { grid-template-columns:1fr; gap:9px; }
    .sg-stay-map { height: 280px; }
    .sg-stay-section-head { align-items: flex-start; }
}
@media (max-width: 420px) {
    .sg-stay-gallery { grid-template-rows: repeat(2, 110px); }
    .sg-stay-booking__price strong { font-size: 24px; }
    .sg-stay-overview__head { display: block; }
    .sg-stay-rating { display: inline-flex; margin-top: 8px; }
}
