/* First typography pass: hotel demo, its dialogs, shared header and footer.
   Supplier-section typography and all copy remain unchanged. */
.site-header { height:auto; min-height:111px; padding-top:20px; padding-bottom:20px; flex-wrap:wrap; }
.site-header nav { font-size:.9375rem; flex-wrap:wrap; }
.site-header nav a.supplier-nav-link { font-size:.875rem; }
.site-header .brand small, .footer .brand small { font-size:.6875rem; line-height:1.5; letter-spacing:.08em; }
.header-book { font-size:.875rem; }
.supplier-announcement .demo-banner-content>p { font-size:.8125rem; line-height:1.6; }

#pokoj .breadcrumb { font-size:.875rem; flex-wrap:wrap; gap:8px 13px; }
#pokoj .eyebrow, .hotel-tour-header .eyebrow, #booking-dialog .eyebrow { font-size:.8125rem; line-height:1.6; }
#pokoj .intro { font-size:1rem; line-height:1.7; }
#pokoj .room-heading { gap:24px; flex-wrap:wrap; }
#pokoj .tour-link { font-size:.9375rem; }
#pokoj .room-layout { grid-template-columns:minmax(0,1fr) 360px; }
#pokoj .gallery-tabs { flex-wrap:wrap; }
#pokoj .gallery-tabs button { font-size:.9375rem; white-space:normal; }
#pokoj .new-label { font-size:.6875rem; }
#pokoj .gallery-demo-label { font-size:.6875rem; letter-spacing:.04em; max-width:calc(100% - 32px); }
#pokoj .photo-tour { max-width:calc(100% - 46px); }
#pokoj .photo-tour>span:not(.cube-circle) { min-width:0; }
#pokoj .photo-tour strong { font-size:.9375rem; line-height:1.5; }
#pokoj .photo-tour small { font-size:.8125rem; line-height:1.5; }
#pokoj .photo-caption { bottom:120px; }
#pokoj .expand-button { font-size:.8125rem; }
#pokoj .gallery-bottom { gap:14px; }
#pokoj .gallery-bottom p { font-size:.8125rem; line-height:1.6; }
#pokoj .media-count { font-size:.8125rem; flex-shrink:0; }
#pokoj .thumbnail-row { flex-wrap:wrap; gap:12px; }
#pokoj .thumbnail { flex-shrink:0; height:78px; }
#pokoj .thumbnail>span { font-size:.75rem; }
#pokoj .thumbnail-row>p { font-size:.875rem; max-width:340px; flex:1 1 200px; margin-left:4px; }

#pokoj .booking-demo-intro { font-size:.875rem; line-height:1.7; }
#pokoj .price>span, #pokoj .price small { font-size:.875rem; line-height:1.7; }
#pokoj .dates label, #pokoj .guests-label { font-size:.8125rem; line-height:1.6; }
#pokoj .dates input, #pokoj .guests-label select { font-size:1rem; line-height:1.6; }
#pokoj .dates input::-webkit-calendar-picker-indicator { width:16px; }
#pokoj .primary-button, #booking-dialog .primary-button { font-size:.9375rem; line-height:1.6; gap:12px; }
#pokoj .booking-note { font-size:.8125rem; line-height:1.6; }
#pokoj .booking-includes { font-size:.8125rem; line-height:1.6; flex-wrap:wrap; gap:12px 18px; }
#pokoj .booking-card .demo-note { font-size:.875rem; line-height:1.7; }
#pokoj .room-copy>p:not(.eyebrow), #pokoj .spaces-heading>p { font-size:1rem; line-height:1.75; }
#pokoj .key-facts { gap:10px; }
#pokoj .key-facts>div { min-width:0; padding-left:12px; padding-right:12px; }
#pokoj .key-facts>div:first-child { padding-left:0; }
#pokoj .key-facts strong { font-size:.9375rem; line-height:1.5; overflow-wrap:anywhere; }
#pokoj .key-facts span { font-size:.8125rem; line-height:1.6; }
#pokoj .facilities h3 { font-size:1rem; }
#pokoj .amenities { font-size:.9375rem; line-height:1.7; }
#pokoj .amenities li { align-items:flex-start; }
#pokoj .amenities li:before { font-size:.875rem; flex-shrink:0; }
#pokoj .spaces-heading { align-items:flex-start; }
#pokoj .spaces-heading>p { max-width:420px; }
#pokoj .space-3d { font-size:.8125rem; }
#pokoj .space-category { font-size:.75rem; line-height:1.6; letter-spacing:.08em; }
#pokoj .space-content>p:not(.space-category) { font-size:1rem; line-height:1.7; min-height:0; }
#pokoj .space-open { font-size:.9375rem; line-height:1.6; gap:12px; }
#pokoj .spaces-note { font-size:.875rem; line-height:1.7; }
#pokoj .faq summary { font-size:1rem; line-height:1.6; }
#pokoj .faq details p { font-size:1rem; line-height:1.75; }

.footer-content { padding-top:30px; padding-bottom:30px; flex-wrap:wrap; }
.footer-content>p.footer-demo-copy { flex:1 1 380px; max-width:650px; font-size:.9375rem; line-height:1.7; }
.footer-content>p.footer-demo-copy>small { font-size:.8125rem; line-height:1.8; }
.footer-content>a:last-child { font-size:.875rem; }
#booking-dialog { max-height:calc(100dvh - 32px); overflow:auto; }
#booking-dialog .dialog-room, #booking-summary { font-size:1rem; line-height:1.7; }
#booking-dialog .dialog-price small { font-size:.875rem; line-height:1.6; }
#booking-dialog .dialog-note { font-size:.875rem; line-height:1.75; }
dialog.hotel-tour-dialog { overflow:auto; }
.hotel-tour-switcher { flex-wrap:wrap; }
.hotel-tour-switcher>button { font-size:.9375rem; line-height:1.6; }
.hotel-tour-footer, .hotel-tour-footer>span, .hotel-tour-footer>a { font-size:.875rem; line-height:1.6; }
.hotel-tour-footer { flex-wrap:wrap; }

@media (min-width:801px) and (max-width:1199px) {
  #pokoj .room-layout { grid-template-columns:minmax(0,1fr) 320px; gap:22px; }
  #pokoj .dates { grid-template-columns:minmax(0,1fr); }
  #pokoj .dates label+label { border-left:0; border-top:1px solid #d5dacb; }
  #pokoj .room-details, #pokoj .stay-info { gap:40px; }
}
@media (max-width:1100px) {
  .site-header nav { gap:12px 20px; }
}
@media (max-width:800px) {
  #pokoj .room-layout, #pokoj .room-details, #pokoj .stay-info { grid-template-columns:minmax(0,1fr); }
  #pokoj .room-details { gap:30px; }
  #pokoj .stay-info { gap:20px; }
  #pokoj .space-cards { grid-template-columns:minmax(0,1fr); gap:22px; }
  #pokoj .space-card { display:grid; grid-template-columns:.85fr 1.15fr; }
  #pokoj .space-image { aspect-ratio:auto; min-height:220px; }
  #pokoj .space-content { padding:24px; }
  #pokoj .spaces-heading>p { max-width:600px; }
  #pokoj .room-copy>p:not(.eyebrow) { max-width:620px; }
  .footer-content>p.footer-demo-copy { max-width:100%; }
}
@media (max-width:580px) {
  .site-header nav { font-size:.875rem; gap:10px 16px; }
  .site-header nav a.supplier-nav-link { margin-left:0; }
  .supplier-announcement .demo-banner-content>p { font-size:.8125rem; }
  #pokoj .gallery-tabs button { padding:10px; gap:7px; font-size:.875rem; }
  #pokoj .new-label { display:none; }
  #pokoj .gallery-demo-label { font-size:.6875rem; max-width:calc(100% - 65px); }
  #pokoj .photo-tour { gap:10px; padding:12px; left:12px; right:12px; max-width:calc(100% - 24px); }
  #pokoj .photo-tour .cube-circle { display:none; }
  #pokoj .photo-tour>svg { margin-left:auto; }
  #pokoj .photo-caption { bottom:120px; }
  #pokoj .thumbnail-row>p { flex-basis:100%; margin:5px 0 0; max-width:none; }
  #pokoj .space-card { display:block; }
  #pokoj .space-image { aspect-ratio:1.8; min-height:0; }
  #pokoj .space-content { padding:22px; }
  #pokoj .key-facts { gap:8px; }
  #pokoj .key-facts>div { padding-left:8px; padding-right:8px; }
  #pokoj .amenities { grid-template-columns:minmax(0,1fr); }
  #booking-dialog { padding:29px 24px; }
  .hotel-tour-header { gap:16px; }
}
@media (max-width:400px) {
  #pokoj .key-facts { grid-template-columns:1fr .85fr 1.3fr; }
  #pokoj .dates { grid-template-columns:minmax(0,1fr); }
  #pokoj .dates label+label { border-left:0; border-top:1px solid #d5dacb; }
  #pokoj .gallery-bottom { flex-wrap:wrap; }
}
