/* Tela de hospedagem */
.hospedagem-content { padding: 22px 20px 30px; color: var(--ink); }
.hotel-card { padding: 20px; border: 1px solid #e4e9ef; border-radius: 18px; background: #fff; box-shadow: 0 8px 24px rgba(0,46,95,.07); }
.hotel-heading { display: flex; align-items: flex-start; gap: 13px; }
.hotel-heading-icon, .map-icon, .stay-time-icon, .courtesy-icon { display: grid; flex: 0 0 auto; place-items: center; }
.hotel-heading-icon { width: 44px; height: 44px; border-radius: 13px; background: var(--navy); color: #fff; }
.hotel-heading-icon svg, .map-icon svg, .stay-time-icon svg, .courtesy-icon svg { width: 23px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; }
.hotel-eyebrow, .stay-label { display: block; color: #687384; font-size: .68rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.hotel-heading h3 { margin: 4px 0 0; font-size: 1.08rem; line-height: 1.25; }
.hotel-address { display: flex; gap: 10px; margin: 18px 0; color: var(--navy); }
.hotel-address svg { width: 19px; min-width: 19px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.hotel-address p { margin: 0; font-size: .82rem; font-weight: 700; line-height: 1.5; }
.hotel-address span { color: #616b79; font-weight: 500; }
.hotel-map-link { display: grid; grid-template-columns: 42px 1fr 22px; align-items: center; gap: 11px; padding: 10px 12px; border-radius: 12px; background: #edf4fa; color: var(--navy); text-decoration: none; transition: transform .18s ease, background .18s ease; }
.hotel-map-link:hover { transform: translateY(-1px); background: #e3eef7; }
.map-icon { width: 42px; height: 42px; border-radius: 10px; background: var(--navy); color: #fff; }
.hotel-map-link strong, .hotel-map-link small { display: block; }
.hotel-map-link strong { font-size: .82rem; }
.hotel-map-link small { margin-top: 2px; color: #59687a; font-size: .69rem; }
.map-arrow { width: 21px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2.2; }
.stay-details { margin-top: 25px; }
.section-heading { display: flex; align-items: center; gap: 10px; margin-bottom: 13px; }
.section-heading > span { width: 4px; height: 36px; border-radius: 99px; background: var(--yellow); }
.section-heading p, .section-heading h3 { margin: 0; }
.section-heading p { color: #758090; font-size: .69rem; font-weight: 700; }
.section-heading h3 { margin-top: 2px; font-size: 1rem; }
.stay-times { display: grid; grid-template-columns: minmax(0,1.35fr) minmax(0,1fr); gap: 10px; }
.stay-time-card { display: flex; min-width: 0; gap: 10px; padding: 15px 13px; border: 1px solid #e4e9ef; border-radius: 16px; background: #fff; }
.stay-time-icon { width: 35px; height: 35px; border-radius: 10px; background: #eaf2f8; color: var(--navy); }
.stay-time-icon svg { width: 20px; }
.stay-time-copy { min-width: 0; }
.stay-time-copy > strong { display: block; margin: 3px 0; color: var(--navy); font-size: 1.5rem; line-height: 1; }
.stay-time-copy > p { margin: 0; color: #606b79; font-size: .69rem; line-height: 1.35; }
.room-release { display: flex; align-items: center; gap: 7px; margin-top: 11px; padding-top: 10px; border-top: 1px dashed #d8dee6; }
.room-release > span { display: grid; width: 20px; height: 20px; flex: 0 0 auto; place-items: center; border-radius: 50%; background: var(--yellow); color: var(--navy); font-size: .65rem; font-weight: 900; }
.room-release p { margin: 0; color: #576474; font-size: .63rem; line-height: 1.3; }
.room-release strong { color: var(--ink); font-size: .69rem; }
.courtesy-notice { display: flex; gap: 13px; margin-top: 14px; padding: 16px; border: 1px solid #f2dc7a; border-radius: 16px; background: #fff9df; }
.courtesy-icon { width: 38px; height: 38px; border-radius: 11px; background: var(--yellow); color: var(--navy); }
.courtesy-icon svg { width: 20px; }
.courtesy-notice strong { color: var(--navy); font-size: .82rem; }
.courtesy-notice p { margin: 4px 0 0; color: #586270; font-size: .72rem; line-height: 1.5; }
.courtesy-notice b { color: var(--ink); }
@media (max-width: 360px) { .hospedagem-content { padding-right: 15px; padding-left: 15px; } .stay-times { grid-template-columns: 1fr; } }
@media (min-width: 781px) {
  .hospedagem-content { padding: 42px max(32px, calc((100vw - 980px)/2)) 36px; }
  .hotel-card { padding: 26px 30px; }
  .hotel-heading h3 { font-size: 1.28rem; }
  .hotel-address p { font-size: .9rem; }
  .stay-times { gap: 16px; }
  .stay-time-card { padding: 20px; }
  .stay-time-copy > p { font-size: .76rem; }
}
