.stay-page{
    background:linear-gradient(180deg,#f1f7f4 0,#fcfefd 18%,#f3f7fb 100%);
    padding:0 0 44px;
}
.stay-shell{
    max-width:1280px;
    margin:0 auto;
    padding:0 18px;
}
.stay-hero{position:relative;padding-bottom:26px}
.cover-image-wrapper.cover-image-wrapper--stay-hero{
    position:relative;
    width:100%;
    height:clamp(200px,38vw,360px);
    overflow:hidden;
    border-radius:0 0 32px 32px;
    background:linear-gradient(135deg,#0f172a,#1e293b);
}
.cover-image-wrapper.cover-image-wrapper--stay-hero > img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center;
    display:block;
}
.stay-cover-overlay{
    position:absolute;
    inset:0;
    z-index:2;
    pointer-events:none;
    border-radius:0 0 32px 32px;
    background:linear-gradient(180deg,rgba(8,30,37,.16),rgba(8,30,37,.56));
}
.stay-head-card{
    margin-top:-108px;
    position:relative;
    z-index:2;
    display:grid;
    grid-template-columns:minmax(0,1fr) 320px;
    gap:22px;
    align-items:end;
    padding:26px;
    border-radius:30px;
    background:rgba(255,255,255,.94);
    border:1px solid rgba(220,232,228,.9);
    box-shadow:0 26px 56px rgba(15,23,42,.12);
    backdrop-filter:blur(12px);
}
.stay-brand-block{
    display:grid;
    grid-template-columns:146px minmax(0,1fr);
    gap:22px;
    align-items:end;
}
.stay-avatar-wrap{display:flex;align-items:flex-end;justify-content:flex-start}
.stay-avatar,.stay-avatar-fallback{
    width:clamp(80px,10vw,120px);
    height:clamp(80px,10vw,120px);
    border-radius:999px;
    border:4px solid #fff;
    box-shadow:0 18px 36px rgba(15,23,42,.16);
}
.stay-avatar{object-fit:cover;object-position:center;background:#f1f5f9;overflow:hidden;flex-shrink:0}
.stay-avatar-fallback{
    display:flex;
    align-items:center;
    justify-content:center;
    background:linear-gradient(135deg,#0f4f53,#15766b);
    color:#fff;
    font-size:44px;
    font-weight:900;
}
.stay-chip-row,
.stay-action-stack,
.stay-highlight-grid,
.stay-feature-list,
.stay-price-list,
.stay-gallery-grid,
.stay-contact-list,
.stay-review-list{
    display:grid;
    gap:14px;
}
.stay-chip-row{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:12px}
.stay-chip{
    display:inline-flex;
    align-items:center;
    min-height:34px;
    padding:0 14px;
    border-radius:999px;
    background:#edf7f4;
    color:#155e56;
    font-size:12px;
    font-weight:800;
}
.stay-chip-verified{background:#dff5ff;color:#0b6aa8}
.stay-chip-featured{background:#fff1d8;color:#946200}
.stay-title-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.stay-title-row h1{
    font-size:44px;
    line-height:1.02;
    color:#10233f;
    margin:0;
}
.stay-verified-dot{color:#0e95ff;font-size:18px;line-height:1}
.stay-location{
    color:#176f66;
    font-weight:700;
    margin:10px 0 8px;
}
.stay-summary{
    color:#526273;
    line-height:1.8;
    max-width:760px;
}
.stay-stat-row{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:12px;
    margin-top:18px;
}
.stay-stat-card,
.stay-highlight-card,
.stay-feature-item,
.stay-price-item,
.stay-contact-item,
.stay-review-card{
    border-radius:20px;
    background:#fff;
    border:1px solid #dde7e1;
    box-shadow:0 12px 28px rgba(15,23,42,.05);
}
.stay-stat-card{padding:16px 18px;display:grid;gap:6px}
.stay-stat-card strong{font-size:24px;color:#10233f}
.stay-stat-card span{font-size:13px;color:#587082}
.stay-booking-card{
    padding:22px;
    border-radius:24px;
    background:linear-gradient(180deg,#f8fcfb,#eef7f4);
    border:1px solid #dcebe5;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.9);
}
.stay-booking-card h2{font-size:28px;color:#10233f;margin-bottom:8px}
.stay-booking-card p{color:#64748b;line-height:1.7;margin-bottom:18px}
.stay-booking-meta{display:grid;gap:8px;margin-top:16px;color:#587082;font-size:13px}
.stay-layout{
    display:grid;
    grid-template-columns:minmax(0,1fr) 320px;
    gap:22px;
    align-items:start;
}
.stay-main,.stay-sidebar{display:grid;gap:20px}
.stay-sidebar{position:sticky;top:92px}
.stay-panel{
    padding:24px;
    border-radius:28px;
    background:#fff;
    border:1px solid rgba(220,232,228,.9);
    box-shadow:0 18px 40px rgba(15,23,42,.06);
}
.stay-section-head{
    display:flex;
    justify-content:space-between;
    gap:16px;
    align-items:end;
    margin-bottom:18px;
}
.stay-section-head h2{font-size:28px;line-height:1.08;color:#10233f}
.stay-section-head p{color:#64748b;line-height:1.65;max-width:440px}
.stay-intro-grid,
.stay-split-grid,
.stay-review-overview,
.stay-form-grid{
    display:grid;
    gap:18px;
}
.stay-intro-grid{grid-template-columns:1.08fr .92fr}
.stay-split-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.stay-rich-copy p{color:#425466;line-height:1.9}
.stay-highlight-grid{grid-template-columns:1fr}
.stay-highlight-card{
    padding:18px;
    background:linear-gradient(180deg,#f7fbff,#eff7f5);
    color:#163648;
    font-weight:700;
    line-height:1.75;
}
.stay-feature-list,.stay-price-list{grid-template-columns:1fr}
.stay-feature-item,.stay-price-item{
    padding:16px 18px;
    color:#17324d;
    line-height:1.7;
    font-weight:700;
}
.stay-gallery-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.stay-gallery-card{margin:0;padding:0;border:none;background:transparent;overflow:visible}
.stay-gallery-card .card-image{border-radius:22px}
.stay-map{
    width:100%;
    height:230px;
    border:0;
    border-radius:20px;
    background:#e2e8f0;
    margin-bottom:14px;
}
.stay-full-btn{width:100%;justify-content:center}
.stay-contact-item{padding:16px 18px;display:grid;gap:8px}
.stay-contact-item strong{font-size:13px;color:#176f66}
.stay-contact-item span,.stay-contact-item a{color:#10233f;line-height:1.6;font-weight:700}
.stay-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.stay-form-grid .field-span-full{grid-column:1 / -1}
.stay-review-overview{
    grid-template-columns:220px minmax(0,1fr);
    align-items:start;
    padding-bottom:22px;
}
.stay-score-card{
    padding:22px;
    border-radius:24px;
    background:linear-gradient(135deg,#0f4f53,#15766b);
    color:#fff;
    display:grid;
    gap:6px;
}
.stay-score-card strong{font-size:56px;line-height:1}
.stay-rating-bars{display:grid;gap:10px}
.stay-rating-row{
    display:grid;
    grid-template-columns:44px 1fr 48px;
    gap:10px;
    align-items:center;
}
.stay-rating-row span,.stay-rating-row strong{font-size:13px;color:#425466}
.stay-rating-track{height:10px;border-radius:999px;background:#e2e8f0;overflow:hidden}
.stay-rating-fill{height:100%;background:linear-gradient(90deg,#0f4f53,#1ea08d)}
.stay-review-list{grid-template-columns:1fr 1fr}
.stay-review-card{padding:18px;background:#f9fcfb;border-color:#e0ebe6}
.stay-review-head{
    display:flex;
    justify-content:space-between;
    gap:12px;
    flex-wrap:wrap;
    margin-bottom:10px;
}
.stay-review-head strong{color:#10233f}
.stay-review-head span{display:block;color:#66788a;font-size:13px}
.stay-review-head em{
    padding:7px 11px;
    border-radius:999px;
    background:#fff3d6;
    color:#946200;
    font-style:normal;
    font-weight:800;
}
.stay-review-card h3{font-size:18px;color:#10233f;margin-bottom:8px}
.stay-review-card p{color:#4b5e6f;line-height:1.75}
.is-disabled{pointer-events:none;opacity:.55}

@media (max-width: 1180px){
    .stay-head-card,
    .stay-layout,
    .stay-intro-grid,
    .stay-split-grid,
    .stay-review-overview{
        grid-template-columns:1fr;
    }
    .stay-sidebar{position:static}
    .stay-gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}

@media (max-width: 860px){
    .stay-shell{padding:0 14px}
    .cover-image-wrapper.cover-image-wrapper--stay-hero{min-height:220px;height:clamp(180px,48vw,300px);border-radius:0 0 24px 24px}
    .stay-cover-overlay{border-radius:0 0 24px 24px}
    .stay-head-card{margin-top:-72px;padding:20px;border-radius:24px}
    .stay-brand-block{grid-template-columns:1fr;align-items:start}
    .stay-avatar-wrap{display:flex;justify-content:center}
    .stay-title-row h1{font-size:34px}
    .stay-stat-row,
    .stay-gallery-grid,
    .stay-review-list,
    .stay-form-grid{grid-template-columns:1fr}
    .stay-panel{padding:20px;border-radius:24px}
    .stay-section-head{flex-direction:column;align-items:flex-start}
}

@media (max-width: 640px){
    .stay-summary{font-size:14px}
    .stay-stat-card strong{font-size:20px}
    .stay-score-card strong{font-size:42px}
}
