/* page specific tweaks */
.hero h1{font-size:clamp(2rem,4vw,3rem);letter-spacing:-.02em;margin-bottom:14px}.page-hero h1{font-size:clamp(1.8rem,3.4vw,2.5rem);margin-bottom:10px}


/* p9 refinements */
.section-header--compact{margin:0 0 10px;align-items:center}
.muted-text{color:#667085}
.room-detail--enhanced{align-items:start}
.room-gallery--enhanced{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(240px,.8fr);gap:14px;margin-bottom:18px}
.room-gallery__main img,.room-gallery__side img{width:100%;display:block;object-fit:cover;border-radius:22px;border:1px solid #e4e9f2;background:#eef3ff}
.room-gallery__main img{aspect-ratio:16/9}
.room-gallery__side{display:grid;gap:12px}
.room-gallery__side img{aspect-ratio:4/3}
.room-highlight-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:18px}
.room-highlight-card{background:#fff;border:1px solid #e4e9f2;border-radius:18px;padding:16px 18px;box-shadow:0 10px 24px rgba(17,24,39,.04)}
.room-highlight-card__label{display:block;font-size:.82rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#5e6ad2;margin-bottom:8px}
.room-highlight-card strong{font-size:1.05rem}
.availability-summary{display:inline-flex;align-items:center;min-height:36px;padding:0 14px;border-radius:999px;font-weight:800;font-size:.9rem}
.availability-summary--ok{background:#e7f8ee;color:#12713c}
.availability-summary--ng{background:#fff0f0;color:#b42318}
.plain-list{margin:0;padding-left:18px;color:#475467}
.plain-list li+li{margin-top:8px}
.reserve-layout{display:grid;grid-template-columns:minmax(0,1.2fr) 360px;gap:24px;align-items:start}
.reserve-form-card__actions{display:flex;flex-wrap:wrap;gap:10px}
.reserve-room-card__image{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:18px;border:1px solid #e4e9f2;margin-bottom:16px}
@media (max-width:980px){
  .room-gallery--enhanced,.reserve-layout,.room-highlight-row{grid-template-columns:1fr}
}

.form-grid-2,.form-grid-3{display:grid;gap:14px}
.form-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.form-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:768px){
  .form-grid-2,.form-grid-3{grid-template-columns:1fr}
}


.status-check-layout{display:grid;grid-template-columns:minmax(0,1.2fr) 340px;gap:24px;align-items:start}
.status-check-card,.status-check-help{padding:28px}
@media (max-width:980px){.status-check-layout{grid-template-columns:1fr}}


/* p11 public brush-up */
.page-hero--narrow p{max-width:680px}
.page-subnote{margin-top:8px;color:#667085;font-size:.95rem}
.empty-state-card{max-width:760px}
.notice-list--wide{grid-template-columns:repeat(3,minmax(0,1fr))}
.notice-card--list .notice-card__meta,.notice-article__meta{display:inline-flex;align-items:center;min-height:28px;padding:0 10px;border-radius:999px;background:#eef3ff;color:#3150ab;font-size:.8rem;font-weight:800;margin-bottom:10px}
.notice-card--list h2{font-size:1.2rem;margin-bottom:10px}
.notice-card--list p{margin-bottom:14px}
.notice-article{max-width:860px}
.notice-article__body{color:#344054;line-height:1.9;font-size:1.02rem}
.page-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}
.page-actions--compact{margin-top:6px}
.info-layout{display:grid;grid-template-columns:minmax(0,1.15fr) 340px;gap:24px;align-items:start}
.info-layout__main,.info-layout__side{min-height:100%}
.info-list{display:grid;gap:16px}
.info-list__row{display:grid;grid-template-columns:120px 1fr;gap:18px;padding-bottom:16px;border-bottom:1px solid #eef2f7}
.info-list__row:last-child{padding-bottom:0;border-bottom:0}
.info-list__row span{color:#667085;font-weight:700}
.info-list__row strong{color:#101828;line-height:1.8}
.info-list__row--block strong{font-weight:600}
.info-side-box{padding:16px 18px;border-radius:18px;background:#f7f9fd;border:1px solid #e6ebf5}
.info-side-box p + p{margin-top:10px}
.flow-grid--tight{grid-template-columns:repeat(2,minmax(0,1fr))}
.inline-note{padding:12px 14px;border-radius:14px;background:#f7f9fd;border:1px solid #e6ebf5;color:#475467}
.reserve-form-card .stack>*+*{margin-top:0}
.reserve-layout__side .booking-card{top:98px}
.status-check-help h2{margin-bottom:4px}
.section-header h2{margin-bottom:4px}
@media (max-width:980px){
  .info-layout,.notice-list--wide,.flow-grid--tight{grid-template-columns:1fr}
}


/* p12.1 operation notes */
.operation-note{padding:14px 16px;border-radius:16px;background:#fff7ed;border:1px solid #fed7aa;color:#7c2d12}
.operation-note strong{display:block;margin-bottom:6px}
.operation-note p{margin:6px 0 0}
.operation-note--soft{background:#f8fafc;border-color:#dbe5f0;color:#334155}

.notice-card__image img{width:100%;display:block;border-radius:16px;object-fit:cover;aspect-ratio:16/9;margin-bottom:14px;}
.notice-card__date{font-size:12px;color:#6b7280;margin:8px 0 10px;}


/* index sample */
.hero--sample .hero__lead{max-width:760px}
.info-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:18px}
.info-strip__item{background:#fff;border:1px solid #e4e9f2;border-radius:18px;padding:14px 16px;box-shadow:0 10px 24px rgba(17,24,39,.04);display:flex;flex-direction:column;gap:6px}
.info-strip__item strong{font-size:.86rem;color:#5e6ad2;text-transform:uppercase;letter-spacing:.06em}
.text-link--inline{align-self:center}
@media (max-width:980px){
  .info-strip{grid-template-columns:1fr}
}

/* p14 room calendar */
.room-calendar-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.calendar-legend{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.calendar-legend__item{display:inline-flex;align-items:center;gap:6px;color:#667085;font-size:.92rem}
.calendar-legend__item i{display:inline-block;width:12px;height:12px;border-radius:999px;background:#cbd5e1}
.calendar-legend__item .is-available{background:#16a34a}
.calendar-legend__item .is-partial{background:#f59e0b}
.calendar-legend__item .is-full{background:#ef4444}
.calendar-legend__item .is-holiday{background:#64748b}
.room-calendar-wrap{overflow-x:auto}
.room-calendar-table{width:100%;border-collapse:separate;border-spacing:0;table-layout:fixed;border:1px solid #e4e9f2;border-radius:18px;overflow:hidden}
.room-calendar-table th,.room-calendar-table td{border-bottom:1px solid #eef2f7;border-right:1px solid #eef2f7;vertical-align:top;background:#fff}
.room-calendar-table th:last-child,.room-calendar-table td:last-child{border-right:0}
.room-calendar-table tr:last-child td{border-bottom:0}
.room-calendar-table thead th{padding:12px;background:#f8fbff;color:#475467;font-size:.9rem}
.room-calendar-day{padding:0;min-height:122px}
.room-calendar-day.is-outside{background:#f8fafc}
.room-calendar-day.is-selected{outline:2px solid #3150ab;outline-offset:-2px}
.room-calendar-day.is-today .room-calendar-day__num{background:#3150ab;color:#fff}
.room-calendar-day__link,.room-calendar-day__muted{display:flex;min-height:122px;flex-direction:column;gap:8px;padding:12px;text-decoration:none;color:inherit}
.room-calendar-day__num{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:999px;font-weight:800;background:#eef3ff;color:#3150ab}
.room-calendar-day__label{font-weight:800;font-size:.92rem}
.room-calendar-day__note{font-size:.82rem;color:#667085;line-height:1.45}
.room-calendar-day--available .room-calendar-day__label{color:#15803d}
.room-calendar-day--partial .room-calendar-day__label{color:#b45309}
.room-calendar-day--full .room-calendar-day__label{color:#b42318}
.room-calendar-day--holiday .room-calendar-day__label{color:#475467}
.room-calendar-day__muted{color:#98a2b3}
.availability-table td:last-child{white-space:nowrap}
.reserve-selected-slot{background:#eef6ff;border-color:#c7dbff;color:#1d4ed8}
@media (max-width:768px){
  .room-calendar-table{min-width:720px}
}

.info-layout--guide{
  margin-top: 24px;
}

.hero-demo-links{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:center;margin-top:14px;font-size:.95rem;color:#5b6880}
.hero-demo-links__label{font-weight:700;color:#22314f}
.hero-demo-links a{color:#244fbe;text-decoration:none;font-weight:600}
.hero-demo-links a:hover{text-decoration:underline}


.room-detail--enhanced,
.room-detail__main,
.room-detail__side,
.room-gallery--enhanced,
.room-gallery__main,
.room-gallery__side,
.room-highlight-row,
.room-highlight-card,
.content-card,
.room-calendar-wrap,
.availability-table-wrap{
  min-width:0;
}

.availability-table-wrap{
  width:100%;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}

@media (max-width: 768px){
  .room-gallery--enhanced{
    gap:12px;
  }

  .room-gallery__side{
    grid-template-columns:1fr;
  }

  .room-highlight-card{
    padding:14px 16px;
  }

  .calendar-legend{
    gap:8px;
  }

  .calendar-legend__item{
    font-size:.84rem;
  }

  .room-calendar-wrap{
    width:100%;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
  }

  .room-calendar-table{
    min-width:640px;
  }

  .availability-table{
    min-width:560px;
  }

  .availability-summary{
    width:100%;
    justify-content:center;
  }

  .section-header--compact{
    align-items:flex-start;
  }
}
