/* Casa Oro: independent page stylesheet. */
@import url("https://fonts.googleapis.com/css2?family=Poppins:wght@100;300;400;500;600&display=swap");
* {
  font-family: "Poppins", sans-serif;
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  outline: none;
  border: none;
  text-decoration: none;
  text-transform: capitalize;
  transition: all 0.2s linear;
}

/* ================= ADMIN ROOMS DASHBOARD ================= */
.admin-dashboard-page { background:#111; color:#fff; min-height:100vh; }
.admin-dashboard-page * { text-transform:none; }
.admin-app-shell { display:grid; grid-template-columns:22rem minmax(0,1fr); min-height:100vh; }
.admin-app-sidebar { background:#1c1c1c; border-right:.1rem solid rgba(255,255,255,.08); display:flex; flex-direction:column; min-height:100vh; padding:2.2rem 1.5rem; position:sticky; top:0; height:100vh; }
.admin-app-logo { display:block; padding:0 .7rem 2.2rem; }
.admin-app-logo img { height:5rem; object-fit:contain; width:15rem; }
.admin-app-sidebar nav { display:grid; gap:.6rem; }
.admin-app-sidebar nav a { align-items:center; border-radius:.9rem; color:#aaa; display:grid; font-size:1.35rem; gap:1.2rem; grid-template-columns:2rem 1fr auto; padding:1.25rem; }
.admin-app-sidebar nav a i { text-align:center; }
.admin-app-sidebar nav a.active,.admin-app-sidebar nav a:hover { background:#ff5349; color:#111; font-weight:600; }
.admin-app-sidebar nav b { align-items:center; background:#ff5349; border-radius:50%; color:#111; display:flex; font-size:1rem; height:2rem; justify-content:center; width:2rem; }
.admin-app-sidebar nav a.active b,.admin-app-sidebar nav a:hover b { background:#111; color:#fff; }
.admin-sidebar-card { background:linear-gradient(145deg,#2a2a2a,#202020); border:.1rem solid rgba(255,83,73,.28); border-radius:1.2rem; margin-top:auto; padding:1.6rem; }
.admin-sidebar-card>i { color:#ff5349; font-size:2rem; margin-bottom:1rem; }
.admin-sidebar-card strong,.admin-sidebar-card p { display:block; }
.admin-sidebar-card strong { font-size:1.3rem; }
.admin-sidebar-card p { color:#888; font-size:1.05rem; line-height:1.6; margin:.6rem 0 1.2rem; }
.admin-sidebar-card a { color:#ff5349; font-size:1.1rem; font-weight:600; }
.admin-sidebar-logout { background:transparent; color:#888; cursor:pointer; font-size:1.2rem; padding:1.4rem; text-align:left; }
.admin-sidebar-logout i { margin-right:1rem; }
.admin-app-main { min-width:0; padding:2.5rem 3rem 3rem; }
.admin-app-topbar { align-items:center; display:flex; justify-content:space-between; margin-bottom:2.4rem; }
.admin-app-topbar p,.admin-panel-heading p,.admin-detail-heading p { color:#ff5349; font-size:1.05rem; font-weight:600; letter-spacing:.12em; text-transform:uppercase; }
.admin-app-topbar h1 { font-size:2.8rem; line-height:1.2; }
.admin-top-actions { align-items:center; display:flex; gap:1.5rem; }
.admin-top-actions>button { background:#222; border:.1rem solid rgba(255,255,255,.08); border-radius:50%; color:#ddd; cursor:pointer; height:4.2rem; position:relative; width:4.2rem; }
.admin-top-actions>button span { background:#ff5349; border:.2rem solid #111; border-radius:50%; height:.9rem; position:absolute; right:.6rem; top:.6rem; width:.9rem; }
.admin-profile-chip { align-items:center; display:flex; gap:1rem; }
.admin-profile-chip>span { align-items:center; background:#ff5349; border-radius:50%; color:#111; display:flex; font-size:1.4rem; font-weight:700; height:4.2rem; justify-content:center; width:4.2rem; }
.admin-profile-chip strong,.admin-profile-chip small { display:block; }
.admin-profile-chip strong { font-size:1.2rem; }
.admin-profile-chip small { color:#777; font-size:1rem; margin-top:.2rem; }
.admin-metric-grid { display:grid; gap:1.4rem; grid-template-columns:repeat(4,minmax(0,1fr)); padding:0 0 2rem; }
.admin-metric-grid article { align-items:center; background:#1d1d1d; border:.1rem solid rgba(255,255,255,.08); border-radius:1.2rem; display:flex; gap:1.3rem; padding:1.7rem; }
.admin-metric-grid article>span { align-items:center; background:rgba(255,83,73,.13); border-radius:1rem; color:#ff5349; display:flex; flex:0 0 4.4rem; font-size:1.7rem; height:4.4rem; justify-content:center; }
.admin-metric-grid small,.admin-metric-grid p { color:#777; display:block; }
.admin-metric-grid small { font-size:1.05rem; }
.admin-metric-grid strong { display:block; font-size:2rem; margin:.15rem 0; }
.admin-metric-grid p { font-size:.9rem; }
.admin-room-workspace { display:grid; gap:1.6rem; grid-template-columns:minmax(48rem,1.15fr) minmax(34rem,.85fr); padding:0; }
.admin-dashboard-page:not(.admin-rooms-page) .admin-room-workspace { display:none; }
.admin-rooms-page .admin-account-workspace { display:none; }
.admin-account-workspace { background:#1c1c1c; border:.1rem solid rgba(255,255,255,.08); border-radius:1.3rem; padding:2rem; }
.admin-account-heading { align-items:flex-end; display:flex; justify-content:space-between; margin-bottom:1.8rem; }
.admin-account-heading p { color:#ff5349; font-size:1.05rem; font-weight:600; letter-spacing:.12em; text-transform:uppercase; }
.admin-account-heading h2 { font-size:2rem; margin:.3rem 0; }
.admin-account-heading>div>span { color:#777; font-size:1.05rem; }
.admin-account-filters { background:#252525; border-radius:.8rem; display:flex; gap:.3rem; padding:.35rem; }
.admin-account-filters button { background:transparent; border-radius:.6rem; color:#888; cursor:pointer; font-size:1rem; padding:.8rem 1.1rem; }
.admin-account-filters button.active { background:#ff5349; color:#111; font-weight:600; }
.admin-account-grid { display:grid; gap:1.4rem; grid-template-columns:repeat(3,minmax(0,1fr)); }
.admin-account-card { background:#222; border:.1rem solid rgba(255,255,255,.08); border-radius:1.1rem; color:#fff; cursor:pointer; display:block; overflow:hidden; text-decoration:none; }
.admin-account-card:hover { border-color:rgba(255,83,73,.75); transform:translateY(-.2rem); }
.admin-account-card:focus-visible { border-color:#ff5349; box-shadow:0 0 0 .3rem rgba(255,83,73,.2); outline:none; }
.admin-account-cover { align-items:flex-end; background:linear-gradient(135deg,#303030,#181818); display:flex; height:9rem; padding:0 1.5rem; }
.admin-account-cover.owner { background:linear-gradient(135deg,rgba(255,83,73,.75),#351c1b); }
.admin-account-cover.boarder { background:linear-gradient(135deg,#424242,#202020); }
.admin-account-avatar { align-items:center; background:#ff5349; border:.4rem solid #222; border-radius:50%; color:#111; display:flex; font-size:2rem; font-weight:700; height:6.5rem; justify-content:center; transform:translateY(2.5rem); width:6.5rem; }
.admin-account-card-content { padding:3.3rem 1.5rem 1.5rem; }
.admin-account-card-content>span { color:#ff5349; font-size:.9rem; font-weight:600; letter-spacing:.08em; text-transform:uppercase; }
.admin-account-card-content h3 { font-size:1.45rem; margin:.35rem 0; }
.admin-account-card-content p { color:#777; font-size:.95rem; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.admin-account-card-meta { display:flex; gap:1.5rem; margin:1.3rem 0; }
.admin-account-card-meta span { color:#999; font-size:.9rem; }
.admin-account-card-meta i { color:#ff5349; margin-right:.4rem; }
.admin-account-modal { align-items:center; background:rgba(0,0,0,.82); display:none; inset:0; justify-content:center; padding:2rem; position:fixed; z-index:3000; }
.admin-account-modal.active { display:flex; }
.admin-account-panel { background:#1c1c1c; border:.1rem solid rgba(255,255,255,.12); border-radius:1.3rem; box-shadow:0 2rem 6rem rgba(0,0,0,.55); max-width:72rem; padding:2.5rem; position:relative; width:100%; }
.admin-account-close { align-items:center; background:#292929; border-radius:50%; color:#aaa; cursor:pointer; display:flex; height:3.6rem; justify-content:center; position:absolute; right:1.8rem; top:1.8rem; width:3.6rem; }
.tracked-account-header { align-items:center; display:flex; gap:1.5rem; padding-right:4rem; }
.tracked-account-avatar { align-items:center; background:#ff5349; border-radius:1.2rem; color:#111; display:flex; flex:0 0 8rem; font-size:3rem; font-weight:700; height:8rem; justify-content:center; }
.tracked-account-header span { color:#ff5349; font-size:.9rem; font-weight:600; letter-spacing:.1em; text-transform:uppercase; }
.tracked-account-header h2 { font-size:2.2rem; margin:.25rem 0; }
.tracked-account-header p { color:#777; font-size:1rem; line-height:1.6; }
.tracked-account-stats { display:grid; gap:1rem; grid-template-columns:repeat(4,1fr); margin:2rem 0; }
.tracked-account-stats article { background:#252525; border-radius:.8rem; padding:1.2rem; }
.tracked-account-stats i { color:#ff5349; font-size:1rem; margin-bottom:.7rem; }
.tracked-account-stats strong,.tracked-account-stats small { display:block; }
.tracked-account-stats strong { font-size:1.2rem; overflow-wrap:anywhere; }
.tracked-account-stats small { color:#777; font-size:.85rem; margin-top:.25rem; }
.tracked-account-message label { display:block; font-size:1.15rem; font-weight:600; margin-bottom:.7rem; }
.tracked-account-message textarea { background:#252525; border:.1rem solid rgba(255,255,255,.1); border-radius:.8rem; color:#fff; font-size:1.1rem; padding:1.1rem; resize:vertical; width:100%; }
.tracked-account-message>div { align-items:center; display:flex; justify-content:space-between; margin-top:1rem; }
.tracked-account-message p { color:#4cd28b; font-size:.95rem; }
.tracked-account-message button { background:#ff5349; border-radius:.7rem; color:#111; cursor:pointer; font-size:1rem; font-weight:600; padding:.9rem 1.2rem; }
.owner-admin-summary { display:grid; gap:1.4rem; grid-template-columns:repeat(4,minmax(0,1fr)); padding:0 0 2rem; }
.owner-admin-summary article { align-items:center; background:#1d1d1d; border:.1rem solid rgba(255,255,255,.08); border-radius:1.2rem; display:flex; gap:1.3rem; padding:1.8rem; }
.owner-admin-summary article>i { align-items:center; background:rgba(255,83,73,.13); border-radius:1rem; color:#ff5349; display:flex; font-size:1.7rem; height:4.4rem; justify-content:center; width:4.4rem; }
.owner-admin-summary small,.owner-admin-summary strong { display:block; }
.owner-admin-summary small { color:#777; font-size:1rem; }
.owner-admin-summary strong { font-size:2.1rem; margin-top:.2rem; }
.owner-admin-workspace { display:grid; gap:1.6rem; grid-template-columns:minmax(31rem,.72fr) minmax(45rem,1.28fr); padding:0; }
.owner-directory-panel,.owner-account-detail { background:#1c1c1c; border:.1rem solid rgba(255,255,255,.08); border-radius:1.3rem; padding:1.8rem; }
.owner-directory-search { align-items:center; background:#252525; border:.1rem solid rgba(255,255,255,.08); border-radius:.8rem; color:#777; display:flex; gap:.8rem; margin-bottom:1.4rem; padding:0 1.2rem; }
.owner-directory-search input { background:transparent; color:#fff; font-size:1.1rem; padding:1.1rem 0; width:100%; }
.owner-directory-list { display:grid; gap:.9rem; max-height:55rem; overflow:auto; }
.owner-directory-item { align-items:center; background:#222; border:.1rem solid rgba(255,255,255,.08); border-radius:1rem; color:#fff; cursor:pointer; display:grid; gap:1rem; grid-template-columns:4.3rem 1fr auto; padding:1.2rem; text-align:left; width:100%; }
.owner-directory-item:hover,.owner-directory-item.selected { border-color:#ff5349; }
.owner-directory-item>span { align-items:center; background:rgba(255,83,73,.14); border-radius:50%; color:#ff5349; display:flex; font-size:1.4rem; font-weight:700; height:4.3rem; justify-content:center; width:4.3rem; }
.owner-directory-item strong,.owner-directory-item small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.owner-directory-item strong { font-size:1.15rem; }
.owner-directory-item small { color:#777; font-size:.9rem; margin-top:.3rem; }
.owner-directory-item b { background:rgba(76,210,139,.13); border-radius:5rem; color:#4cd28b; font-size:.85rem; padding:.5rem .7rem; }
.owner-detail-head { align-items:center; border-bottom:.1rem solid rgba(255,255,255,.08); display:grid; gap:1.2rem; grid-template-columns:6rem 1fr auto; padding-bottom:1.5rem; }
.owner-detail-avatar { align-items:center; background:#ff5349; border-radius:1rem; color:#111; display:flex; font-size:2rem; font-weight:700; height:6rem; justify-content:center; width:6rem; }
.owner-detail-head span { color:#ff5349; font-size:.9rem; text-transform:uppercase; }
.owner-detail-head h2 { font-size:1.8rem; margin:.2rem 0; }
.owner-detail-head p { color:#777; font-size:1rem; }
.owner-detail-head>b { background:rgba(76,210,139,.13); border-radius:5rem; color:#4cd28b; font-size:.9rem; padding:.6rem .9rem; }
.owner-track-cards { display:grid; gap:.8rem; grid-template-columns:repeat(4,minmax(0,1fr)); padding:1.5rem 0; }
.owner-track-cards article { background:#252525; border-radius:.8rem; padding:1.2rem; text-align:center; }
.owner-track-cards i { color:#ff5349; font-size:1.3rem; }
.owner-track-cards strong,.owner-track-cards span { display:block; }
.owner-track-cards strong { font-size:1.3rem; margin:.5rem 0 .2rem; overflow-wrap:anywhere; }
.owner-track-cards span { color:#777; font-size:.8rem; }
.owner-contact-details { border-bottom:.1rem solid rgba(255,255,255,.08); padding:0 0 1.4rem; }
.owner-contact-details h3,.owner-message-form h3 { font-size:1.2rem; margin-bottom:1rem; }
.owner-contact-details p { color:#aaa; font-size:1rem; margin:.7rem 0; }
.owner-contact-details i { color:#ff5349; margin-right:.8rem; width:1.4rem; }
.owner-message-form { padding-top:1.4rem; }
.owner-message-form textarea { background:#252525; border:.1rem solid rgba(255,255,255,.08); border-radius:.8rem; color:#fff; font-size:1.1rem; padding:1.1rem; resize:vertical; width:100%; }
.owner-message-form>div { align-items:center; display:flex; justify-content:space-between; margin-top:.9rem; }
.owner-message-form p { color:#4cd28b; font-size:.9rem; }
.owner-message-form button { background:#ff5349; border-radius:.7rem; color:#111; cursor:pointer; font-size:1rem; font-weight:600; padding:.9rem 1.2rem; }
@media(max-width:1100px){.owner-admin-summary{grid-template-columns:repeat(2,1fr)}.owner-admin-workspace{grid-template-columns:1fr}}
@media(max-width:720px){.owner-admin-summary{grid-template-columns:1fr 1fr}.owner-track-cards{grid-template-columns:1fr 1fr}.owner-detail-head{grid-template-columns:5rem 1fr}.owner-detail-head>b{grid-column:2;justify-self:start}}
.admin-room-list-panel,.admin-room-detail { background:#1c1c1c; border:.1rem solid rgba(255,255,255,.08); border-radius:1.3rem; min-width:0; padding:1.8rem; }
.admin-panel-heading,.admin-detail-heading { align-items:center; display:flex; justify-content:space-between; margin-bottom:1.5rem; }
.admin-panel-heading h2,.admin-detail-heading h2 { font-size:2rem; margin-top:.2rem; }
.admin-panel-heading button,.admin-detail-heading button { background:#ff5349; border-radius:.7rem; color:#111; cursor:pointer; font-size:1.05rem; font-weight:600; padding:.9rem 1.2rem; }
.admin-room-tools { display:grid; gap:1rem; grid-template-columns:1fr 13rem; margin-bottom:1.4rem; }
.admin-room-tools label { align-items:center; background:#252525; border:.1rem solid rgba(255,255,255,.08); border-radius:.8rem; color:#777; display:flex; gap:.8rem; padding:0 1.2rem; }
.admin-room-tools input,.admin-room-tools select { background:transparent; color:#ddd; font-size:1.1rem; padding:1.1rem 0; width:100%; }
.admin-room-tools select { background:#252525; border:.1rem solid rgba(255,255,255,.08); border-radius:.8rem; padding:0 1rem; }
.admin-room-list { display:grid; gap:1rem; max-height:59rem; overflow:auto; padding-right:.4rem; }
.admin-room-item { align-items:center; background:#222; border:.1rem solid rgba(255,255,255,.08); border-radius:1rem; color:#fff; cursor:pointer; display:grid; gap:1.3rem; grid-template-columns:12rem 1fr auto; padding:1rem; text-align:left; width:100%; }
.admin-room-item:hover,.admin-room-item.selected { border-color:#ff5349; transform:translateY(-.1rem); }
.admin-room-item img { border-radius:.8rem; height:8.4rem; object-fit:cover; width:12rem; }
.admin-room-item h3 { font-size:1.4rem; line-height:1.35; }
.admin-room-item .room-meta { color:#888; display:flex; flex-wrap:wrap; font-size:.95rem; gap:1rem; margin:.6rem 0; }
.admin-room-item p { color:#777; font-size:.95rem; line-height:1.5; }
.admin-room-item aside { align-self:stretch; display:flex; flex-direction:column; justify-content:space-between; text-align:right; }
.admin-status-pill { background:rgba(76,210,139,.13); border-radius:5rem; color:#4cd28b; font-size:.9rem; padding:.5rem .8rem; }
.admin-status-pill.occupied { background:rgba(255,83,73,.14); color:#ff7a72; }
.admin-room-item aside strong { color:#ff5349; font-size:1.4rem; }
.admin-room-item aside small { color:#666; font-size:.8rem; }
.admin-detail-hero { height:24rem; position:relative; }
.admin-detail-hero img { border-radius:1rem; height:100%; object-fit:cover; width:100%; }
.admin-detail-hero span { background:#111; border-radius:5rem; bottom:1.2rem; color:#4cd28b; font-size:1rem; padding:.65rem 1rem; position:absolute; right:1.2rem; }
.admin-detail-facts { border-bottom:.1rem solid rgba(255,255,255,.08); display:grid; grid-template-columns:repeat(3,1fr); padding:1.5rem 0; }
.admin-detail-facts span { padding:.3rem 1rem; text-align:center; }
.admin-detail-facts span+span { border-left:.1rem solid rgba(255,255,255,.08); }
.admin-detail-facts i { color:#ff5349; margin-right:.5rem; }
.admin-detail-facts b,.admin-detail-facts small { display:block; }
.admin-detail-facts b { font-size:1.1rem; margin-bottom:.2rem; }
.admin-detail-facts small { color:#777; font-size:.85rem; }
.admin-detail-copy { padding:1.5rem 0; }
.admin-detail-copy h3 { font-size:1.2rem; margin-bottom:.7rem; }
.admin-detail-copy p { color:#888; font-size:1rem; line-height:1.7; margin-bottom:1.4rem; }
.admin-feature-list { display:flex; flex-wrap:wrap; gap:.7rem; }
.admin-feature-list span { background:#252525; border-radius:.6rem; color:#bbb; font-size:.9rem; padding:.7rem .9rem; }
.admin-feature-list i { color:#ff5349; margin-right:.4rem; }
.admin-detail-footer { align-items:center; background:#252525; border-radius:.9rem; display:flex; justify-content:space-between; padding:1.2rem; }
.admin-detail-footer small,.admin-detail-footer strong { display:block; }
.admin-detail-footer small { color:#777; font-size:.85rem; }
.admin-detail-footer strong { color:#ff5349; font-size:1.7rem; }
.admin-detail-footer a { color:#fff; font-size:1rem; }
.admin-empty-rooms { color:#777; font-size:1.2rem; padding:5rem 2rem; text-align:center; }
@media(max-width:1100px){.admin-metric-grid{grid-template-columns:repeat(2,1fr)}.admin-room-workspace{grid-template-columns:1fr}.admin-room-detail{position:static}.admin-account-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){.admin-app-shell{display:block}.admin-app-sidebar{height:auto;min-height:0;position:static}.admin-app-sidebar nav{grid-template-columns:repeat(4,1fr)}.admin-app-sidebar nav a{display:flex;justify-content:center}.admin-app-sidebar nav a span,.admin-app-sidebar nav a b,.admin-sidebar-card,.admin-sidebar-logout{display:none}.admin-app-logo{text-align:center}.admin-app-main{padding:1.5rem}.admin-room-workspace{display:block}.admin-room-detail{margin-top:1.5rem}.admin-metric-grid{grid-template-columns:1fr 1fr}.admin-room-item{grid-template-columns:9rem 1fr}.admin-room-item img{height:8rem;width:9rem}.admin-room-item aside{grid-column:2;flex-direction:row}.admin-profile-chip div{display:none}.admin-account-heading{align-items:flex-start;flex-direction:column;gap:1.2rem}.admin-account-grid{grid-template-columns:1fr}.tracked-account-stats{grid-template-columns:1fr 1fr}}

html {
  font-size: 62.5%;
  overflow-x: hidden;
  scroll-behavior: smooth;
  scroll-padding-top: 9rem;
}
html::-webkit-scrollbar {
  width: 1rem;
}
html::-webkit-scrollbar-track {
  background: #111;
}
html::-webkit-scrollbar-thumb {
  background: #FF5349;
}

body {
  background: #111;
  overflow-x: hidden;
}

section {
  padding: 3rem 9%;
}

.heading {
  text-align: center;
  margin-bottom: 2rem;
}
.heading span {
  color: #FF5349;
  font-size: 2rem;
}
.heading h1 {
  font-size: 4rem;
  color: #fff;
}

.btn {
  margin-top: 1rem;
  display: inline-block;
  padding: 1rem 3rem;
  font-size: 1.7rem;
  color: #FF5349;
  border: 0.2rem solid #FF5349;
  border-color: whitesmoke;
  border-radius: 5rem;
  cursor: pointer;
  background: none;
}
.btn:hover {
  background: #FF5349;
  color: #111;
}

.header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1000;
  background: #222;
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 8.28rem;
  padding: 0.69rem 9.2%;
}
.header .navbar a {
  font-size: 1.78rem;
  color: #aaa;
  display: inline-block;
  margin: 0 1.15rem;
}
.header .navbar a:hover {
  color: #FF5349;
}
.header .btn {
  margin-top: 0;
}

.logo {
  font-size: 2.5rem;
  color: #fff;
  font-weight: bolder;
}
.logo i {
  color: #FF5349;
  padding-right: 0.5rem;
}

#menu-btn {
  font-size: 2.5rem;
  color: #fff;
  cursor: pointer;
  display: none;
}

.home {
  margin: 0 auto;
  margin-top: 8.9rem;
  width: 90%;
  border-radius: 1rem;
  background: linear-gradient(rgba(17, 17, 17, 0.62), rgba(17, 17, 17, 0.72)), url("../../images/roxas-city-capiz-background.png") no-repeat;
  background-size: cover;
  background-position: center;
  display: flex;
  min-height: 80vh;
  align-items: flex-start;
  justify-content: center;
  padding: 4rem 2rem 5rem;
}
.home .content {
  text-align: center;
}
.home .content span {
  font-weight: bolder;
  color: transparent;
  -webkit-text-stroke: 0.1rem #fff;
  font-size: 4vw;
  display: block;
}
.home .content h3 {
  font-size: 6vw;
  color: #fff;
}
.home .content p {
  max-width: 60rem;
  margin: 1rem auto;
  font-size: 1.4rem;
  color: #aaa;
  line-height: 2;
}

.featured-houses-strip {
  background: rgba(29, 29, 29, 0.96);
  border: 0.1rem solid rgba(255, 255, 255, 0.12);
  border-radius: 1rem;
  box-shadow: 0 1.2rem 3rem rgba(0, 0, 0, 0.4);
  color: #fff;
  margin: -34rem auto 5rem;
  padding: 2rem 2.5rem 2.5rem;
  position: relative;
  width: 84%;
  z-index: 2;
}

.featured-houses-strip h2 {
  font-size: 2rem;
  margin-bottom: 1.8rem;
}

.featured-houses-grid {
  display: grid;
  gap: 3rem;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.featured-houses-grid article h3 {
  color: #fff;
  font-size: 1.45rem;
  margin-bottom: 1rem;
}

.featured-houses-grid article h3 i {
  color: #ff5349;
  font-size: 1.2rem;
}

.featured-house-image {
  border-radius: 0.7rem;
  display: block;
  height: 12rem;
  overflow: hidden;
}

.featured-house-image img {
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s ease;
  width: 100%;
}

.featured-houses-grid article:hover img {
  transform: scale(1.06);
}

/* Keep the bunk-bed preview visually consistent with the other property photos. */
.featured-houses-grid img[src$="Ems Residence/Shared Room.png"] {
  object-position: center 62%;
  transform: scale(1.18);
}

.featured-houses-grid article:hover img[src$="Ems Residence/Shared Room.png"] {
  transform: scale(1.24);
}

.featured-houses-grid article > div {
  align-items: center;
  display: flex;
  gap: 1.2rem;
  justify-content: space-between;
  margin-top: 1rem;
}

.featured-read {
  align-items: center;
  background: transparent;
  border: 0.2rem solid whitesmoke;
  border-radius: 5rem;
  color: #FF5349;
  display: inline-flex;
  flex: 0 0 auto;
  font-size: 1.25rem;
  justify-content: center;
  line-height: 1;
  min-height: 4.4rem;
  padding: 0.9rem 1.8rem;
  text-decoration: none;
  white-space: nowrap;
}

.featured-read:hover {
  background: #FF5349;
  color: #111;
}

.featured-houses-grid p {
  color: #aaa;
  font-size: 1.1rem;
  line-height: 1.25;
}

.featured-houses-grid strong {
  color: #fff;
  font-size: 1.35rem;
}

/* Professional featured-property cards */
.featured-houses-grid .featured-house-card {
  background: #202020;
  border: .1rem solid rgba(255, 255, 255, .1);
  border-radius: 1.2rem;
  box-shadow: 0 1rem 2.4rem rgba(0, 0, 0, .22);
  min-width: 0;
  overflow: hidden;
  transition: border-color .25s ease, transform .25s ease, box-shadow .25s ease;
}
.featured-houses-grid .featured-house-card:hover {
  border-color: rgba(255, 83, 73, .55);
  box-shadow: 0 1.5rem 3.2rem rgba(0, 0, 0, .34);
  transform: translateY(-.4rem);
}
.featured-houses-grid .featured-house-card .featured-house-image {
  border-radius: .9rem;
  height: 11rem;
  margin: .8rem .8rem 0;
  width: calc(100% - 1.6rem);
}
.featured-houses-grid .featured-house-card > .featured-house-content {
  align-items: stretch;
  display: flex;
  flex-direction: column;
  gap: .9rem;
  margin: 0;
  padding: 1.2rem;
}
.featured-houses-grid .featured-house-heading span {
  color: #ff7068;
  display: block;
  font-size: .9rem;
  font-weight: 700;
  letter-spacing: .12em;
  margin-bottom: .6rem;
}
.featured-houses-grid .featured-house-heading h3 {
  font-size: 1.35rem;
  line-height: 1.25;
  margin: 0;
  text-transform: none;
}
.featured-houses-grid .featured-house-heading p {
  align-items: center;
  display: flex;
  font-size: .92rem;
  gap: .55rem;
  line-height: 1.45;
  margin-top: .55rem;
  min-height: 1.5rem;
}
.featured-houses-grid .featured-house-heading p i {
  color: #ff5349;
  flex: 0 0 auto;
  margin-top: 0;
}
.featured-houses-grid .featured-house-meta {
  align-items: flex-end;
  border-top: .1rem solid rgba(255, 255, 255, .09);
  display: flex;
  justify-content: space-between;
  padding-top: .8rem;
}
.featured-houses-grid .featured-house-meta p span {
  color: #888;
  display: block;
  font-size: .95rem;
  margin-bottom: .3rem;
}
.featured-houses-grid .featured-house-meta strong {
  font-size: 1.3rem;
}
.featured-house-rating {
  background: rgba(255, 83, 73, .12);
  border-radius: 2rem;
  color: #fff;
  font-size: .92rem;
  font-weight: 700;
  padding: .45rem .7rem;
}
.featured-house-rating i { color: #ffb02e; margin-right: .3rem; }
.featured-houses-grid .featured-house-card .featured-read {
  border: 0;
  border-radius: .8rem;
  background: #ff5349;
  color: #111;
  font-size: 1rem;
  font-weight: 700;
  min-height: 3.6rem;
  padding: .8rem 1rem;
  width: 100%;
}
.featured-houses-grid .featured-house-card .featured-read i {
  margin-left: .7rem;
  transition: transform .2s ease;
}
.featured-houses-grid .featured-house-card .featured-read:hover { background: #ff7068; }
.featured-houses-grid .featured-house-card .featured-read:hover i { transform: translateX(.35rem); }
.featured-preview-empty {
  align-items: center;
  color: #888;
  display: flex;
  flex-direction: column;
  grid-column: 1 / -1;
  justify-content: center;
  min-height: 24rem;
  text-align: center;
}
.featured-preview-empty i {
  color: #FF5349;
  font-size: 2.8rem;
  margin-bottom: 1rem;
}
.featured-preview-empty h3 {
  color: #fff;
  font-size: 1.8rem;
  margin-bottom: .5rem;
}
.featured-preview-empty p {
  font-size: 1.2rem;
}

@media (max-width: 900px) {
  .featured-houses-strip {
    margin-top: -14rem;
  }

  .featured-houses-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 520px) {
  .featured-houses-strip {
    margin-top: -8rem;
    width: 90%;
  }

  .featured-houses-grid {
    grid-template-columns: 1fr;
  }
}

.book-form {
  width: 90%;
  margin: -5rem auto 0;
  background: #202020;
  border: 0.1rem solid rgba(255, 255, 255, 0.1);
  border-radius: 1rem;
  padding: 1.8rem 2.5rem;
  box-shadow: 0 1.2rem 3rem rgba(0, 0, 0, 0.28);
}
.book-form form {
  display: flex;
  align-items: center;
  flex-wrap: nowrap;
  gap: 2rem;
}
.book-form .input-box {
  flex: 1 1 0;
  min-width: 0;
  padding: 0.2rem 1.2rem;
}
.book-form .input-box span {
  display: block;
  font-size: 1.45rem;
  color: #fff;
  font-weight: 800;
  margin-bottom: 0.7rem;
  text-transform: none;
}
.book-form .input-box span i {
  color: #FF5349;
  font-size: 1.2rem;
  margin-left: 0.35rem;
}
.book-form .input-box input {
  width: 100%;
  background: transparent;
  border: 0;
  border-bottom: 0.1rem solid rgba(255, 255, 255, 0.16);
  border-radius: 0;
  padding: 0.4rem 0;
  font-size: 1.3rem;
  color: #fff;
  text-transform: none;
}
.book-form .input-box input::-moz-placeholder {
  color: #aaa;
}
.book-form .input-box input::placeholder {
  color: #999;
}
.book-form .input-box input:focus {
  border-bottom-color: #FF5349;
  outline: none;
}
.book-form .input-box input::-webkit-calendar-picker-indicator {
  filter: invert(1);
  opacity: 0.75;
}
.book-form .input-box input.input-error {
  border-bottom-color: #FF5349;
  box-shadow: none;
}
.book-form .field-error {
  color: #ffb4ad;
  display: none;
  font-size: 1.25rem;
  font-weight: 600;
  margin-top: 0.8rem;
  text-transform: none;
}
.book-form .field-error.show {
  display: block;
}
.book-form .btn {
  flex: 0 0 auto;
  min-width: 15rem;
  padding: 1.25rem 2.5rem;
  border-radius: 5rem;
  background: #FF5349;
  border: 0.2rem solid #FF5349;
  color: #111;
  font-weight: 800;
  font-size: 1.4rem;
  cursor: pointer;
}
.book-form .btn:hover {
  background: transparent;
  border-color: #FF5349;
  color: #FF5349;
}

.book-form .search-hint {
  color: #ffb4ad;
  flex-basis: 100%;
  font-size: 1.2rem;
  margin: 0;
  text-align: center;
}

@media (max-width: 768px) {
  .book-form {
    width: 95%;
    margin-top: -3rem;
  }
  .book-form form {
    align-items: stretch;
    flex-wrap: wrap;
    gap: 2rem;
  }
  .book-form .input-box {
    flex: 1 1 20rem;
  }
  .book-form .btn {
    flex: 1 1 100%;
  }
}
.user-auth {
  margin-left: 46px;
}

.user-auth :is(.login-btn-modal, .register-btn-modal) {
  height: 4.37rem;
  padding: 0 3.22rem;
  background: transparent;
  border: 2px solid #FF5349;
  border-radius: 40px;
  font-size: 1.67rem;
  color: #FF5349;
  font-weight: 500;
  cursor: pointer;
  transition: 0.5s;
}

.user-auth :is(.login-btn-modal, .register-btn-modal):hover {
  background: #FF5349;
  color: #111;
}

/* AUTH MODAL */
.auth-modal {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  width: 420px;
  height: 440px;
  background: rgba(255, 255, 255, 0.1);
  border: 2px solid rgba(255, 255, 255, 0.2);
  border-radius: 2rem;
  backdrop-filter: blur(25px);
  box-shadow: 0 0 30px rgba(0, 0, 0, 0.5);
  overflow: hidden;
  z-index: 1000;
  display: flex;
  align-items: center;
  transform: scale(0);
  transition: 0.5s ease;
}

.auth-modal.show {
  transform: scale(1);
}

.auth-modal.active {
  height: 520px;
}

.auth-modal .form-box {
  width: 100%;
  padding: 4rem;
}

.auth-modal .form-box.login {
  transition: transform 0.3s ease;
  transform: translateX(0);
}

.auth-modal.active .form-box.login {
  transform: translateX(-420px);
}

.auth-modal .form-box.register {
  position: absolute;
  transform: translateX(420px);
  transition: transform 0.3s ease;
}

.auth-modal.active .form-box.register {
  transform: translateX(0);
}

.auth-modal h2 {
  font-size: 3rem;
  color: #fff;
  text-align: center;
}

.auth-modal .input-box {
  position: relative;
  width: 100%;
  height: 5rem;
  margin: 3rem 0;
}

.auth-modal .input-box input {
  width: 100%;
  height: 100%;
  background: transparent;
  border: 0.2rem solid rgba(255, 255, 255, 0.3);
  border-radius: 5rem;
  font-size: 1.5rem;
  color: #fff;
  padding: 0 4.5rem 0 2rem;
  text-transform: none;
}

.auth-modal .input-box input::-moz-placeholder {
  color: #aaa;
}

.auth-modal .input-box input::placeholder {
  color: #aaa;
}

.auth-modal .input-box i {
  position: absolute;
  top: 50%;
  right: 2rem;
  transform: translateY(-50%);
  font-size: 2rem;
  color: #fff;
}

.auth-modal .password-box input {
  padding-left: 4.8rem;
  padding-right: 5.2rem;
}
.auth-modal .password-box .password-field-icon {
  color: #999;
  font-size: 1.35rem;
  left: 1.8rem;
  pointer-events: none;
  right: auto;
}
.auth-modal .password-toggle {
  align-items: center;
  background: transparent;
  border: 0;
  border-radius: 50%;
  color: #aaa;
  cursor: pointer;
  display: flex;
  height: 3.6rem;
  justify-content: center;
  padding: 0;
  position: absolute;
  right: .8rem;
  top: 50%;
  transform: translateY(-50%);
  transition: background .2s ease, color .2s ease;
  width: 3.6rem;
}
.auth-modal .password-toggle i {
  color: inherit;
  font-size: 1.35rem;
  position: static;
  transform: none;
}
.auth-modal .password-toggle:hover,
.auth-modal .password-toggle:focus-visible {
  background: rgba(255,83,73,.12);
  color: #ff6259;
  outline: none;
}
.auth-modal .password-box:focus-within .password-field-icon { color: #ff6259; }
.auth-modal .password-box input:focus {
  border-color: #ff6259;
  box-shadow: 0 0 0 .25rem rgba(255,83,73,.1);
  outline: none;
}

.auth-modal .btn {
  width: 100%;
  margin-top: 1rem;
}

.switch-link {
  font-size: 1.4rem;
  color: #fff;
  text-align: center;
  margin: 2rem 0 1rem;
}

.switch-link a {
  color: #FF5349;
  font-weight: 600;
}

.switch-link a:hover {
  text-decoration: underline;
}

.close-btn-modal {
  position: absolute;
  top: 1rem;
  right: 1.5rem;
  width: 4rem;
  height: 4rem;
  background: transparent;
  border: none;
  cursor: pointer;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
}
.close-btn-modal i {
  font-size: 3.5rem;
  color: #fff;
  transition: 0.3s ease;
}
.close-btn-modal:hover i {
  color: #FF5349;
  transform: rotate(90deg);
}

/* ================= ABOUT SECTION FIXED ================= */
.about {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 3rem;
  margin-top: 5rem;
}
.about .video-container {
  flex: 1 1 42rem;
  position: relative;
}
.about .video-container video {
  width: 100%;
  border-radius: 1rem;
  display: block;
  -o-object-fit: cover;
     object-fit: cover;
}
.about .video-container img.video {
  border-radius: 1rem;
  display: block;
  height: 38rem;
  object-fit: cover;
  width: 100%;
}
.about .video-container .controls {
  padding: 2rem 0;
  text-align: center;
}
.about .video-container .controls span {
  display: inline-block;
  height: 2rem;
  width: 2rem;
  border-radius: 50%;
  background: #fff;
  cursor: pointer;
  margin: 0.7rem;
}
.about .video-container .controls span:hover {
  background: #FF5349;
}
.about .video-container .controls span.active {
  background: #FF5349;
  box-shadow: 0 0 0 0.4rem rgba(255, 83, 73, 0.18);
}
.about .content {
  flex: 1 1 42rem;
}
.about .content span {
  color: #FF5349;
  font-size: 2rem;
}
.about .content h3 {
  color: #fff;
  font-size: 4rem;
  margin-top: 0.5rem;
  line-height: 1.2;
}
.about .content p {
  padding: 1rem 0;
  font-size: 1.5rem;
  color: #aaa;
  line-height: 2;
}

.about .content .btn {
  font-size: 1.5rem;
  min-width: 16rem;
  padding: 0.9rem 2.4rem;
  text-align: center;
}

/* Professional About section */
.about {
  align-items: center;
  background: linear-gradient(135deg, #181818, #121212);
  border: .1rem solid rgba(255, 255, 255, .08);
  border-radius: 1.6rem;
  box-shadow: 0 1.8rem 4rem rgba(0, 0, 0, .22);
  margin-left: auto;
  margin-right: auto;
  max-width: 150rem;
  padding: 4rem;
  width: calc(100% - 6rem);
}
.about .video-container {
  background: #202020;
  border: .1rem solid rgba(255, 255, 255, .1);
  border-radius: 1.3rem;
  box-shadow: 0 1.4rem 3rem rgba(0, 0, 0, .3);
  padding: .8rem;
}
.about .video-container img.video {
  border-radius: .9rem;
  height: 42rem;
}
.about-image-badge {
  align-items: center;
  background: rgba(24, 24, 24, .96);
  border: .1rem solid rgba(255, 255, 255, .12);
  border-radius: 1rem;
  bottom: 5.8rem;
  box-shadow: 0 1rem 2.5rem rgba(0, 0, 0, .35);
  display: flex;
  gap: 1rem;
  left: 2.2rem;
  padding: 1rem 1.3rem;
  position: absolute;
}
.about-image-badge > i {
  align-items: center;
  background: rgba(255, 83, 73, .14);
  border-radius: .8rem;
  color: #ff5349;
  display: flex;
  font-size: 1.5rem;
  height: 3.8rem;
  justify-content: center;
  width: 3.8rem;
}
.about-image-badge span { display: flex; flex-direction: column; }
.about-image-badge strong { color: #fff; font-size: 1.05rem; }
.about-image-badge small { color: #888; font-size: .85rem; margin-top: .25rem; }
.about .content { padding: 1rem 1.5rem; }
.about .content .about-eyebrow {
  color: #ff6259;
  font-size: 1.1rem;
  font-weight: 700;
  letter-spacing: .14em;
}
.about .content h3 {
  font-size: clamp(3.2rem, 4vw, 5rem);
  letter-spacing: -.025em;
  line-height: 1.08;
  margin: 1rem 0 1.4rem;
}
.about .content > p {
  font-size: 1.35rem;
  line-height: 1.75;
  max-width: 62rem;
  padding: 0;
}
.about-highlights {
  display: grid;
  gap: 1rem;
  margin: 2rem 0 2.4rem;
}
.about-highlights article {
  align-items: center;
  background: rgba(255, 255, 255, .035);
  border: .1rem solid rgba(255, 255, 255, .07);
  border-radius: .9rem;
  display: flex;
  gap: 1.1rem;
  padding: 1rem 1.2rem;
}
.about-highlights article > i { color: #ff5349; font-size: 1.45rem; }
.about-highlights article span { display: flex; flex-direction: column; }
.about-highlights article strong { color: #fff; font-size: 1.1rem; }
.about-highlights article small { color: #888; font-size: .9rem; margin-top: .25rem; }
.about-actions { align-items: center; display: flex; flex-wrap: wrap; gap: 1.5rem; }
.about .content .about-actions .btn {
  align-items: center;
  border: 0;
  border-radius: .8rem;
  display: inline-flex;
  gap: .8rem;
  min-height: 4.6rem;
}
.about-secondary-link {
  border-bottom: .1rem solid rgba(255, 255, 255, .4);
  color: #ddd;
  font-size: 1.15rem;
  padding: .7rem .2rem;
}
.about-secondary-link:hover { border-color: #ff5349; color: #ff5349; }

@media (max-width: 768px) {
  .about { padding: 2rem; }
  .about .content { padding: 1rem 0; text-align: left; }
  .about .video-container img.video { height: clamp(25rem, 62vw, 38rem); }
}

@media (max-width: 480px) {
  .about { border-radius: 1.2rem; padding: 1.3rem; }
  .about-image-badge { bottom: 5.3rem; left: 1.5rem; right: 1.5rem; }
  .about .content h3 { font-size: 3.2rem; }
  .about-actions { align-items: stretch; flex-direction: column; }
  .about .content .about-actions .btn, .about-secondary-link { justify-content: center; text-align: center; width: 100%; }
}

/* ================= DESTINATION ================= */
.destination .box-container {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(27rem, 1fr));
  gap: 1.5rem;
}
.destination .box-container .box {
  border-radius: 1rem;
  overflow: hidden;
  background: #222;
}
.destination .box-container .box:hover img {
  transform: scale(1.045);
}
.destination .box-container .box .image {
  height: 20rem;
  overflow: hidden;
  width: 100%;
}
.destination .box-container .box .image img {
  height: 100%;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.destination .box-container .box .content {
  padding: 2rem;
  text-align: center;
}
.destination .box-container .box .content h3 {
  font-size: 2rem;
  color: #fff;
}
.destination .box-container .box .content p {
  padding: 1rem 0;
  font-size: 1.4rem;
  color: #aaa;
  line-height: 2;
}
.destination .box-container .box .content a {
  font-size: 1.7rem;
  color: #FF5349;
}
.destination .box-container .box .content i {
  padding-right: 0.5rem;
}
.destination-intro {
  color: #888;
  font-size: 1.35rem;
  line-height: 1.8;
  margin: 1rem auto 2.5rem;
  max-width: 65rem;
  text-transform: none;
}

.destination-home-search {
  background: #1b1b1b;
  border: .1rem solid rgba(255, 255, 255, .12);
  border-radius: 1.2rem;
  margin: 0 0 2.4rem;
  max-width: none;
  padding: 1.5rem;
  text-align: left;
  width: 100%;
}
.destination-home-search-controls {
  display: grid;
  gap: 1.4rem;
  grid-template-columns: minmax(25rem, 1fr) 24rem 24rem;
}
.destination-home-search label {
  align-items: center;
  background: #222;
  border: .1rem solid rgba(255, 255, 255, .1);
  border-radius: .9rem;
  box-shadow: none;
  display: flex;
  gap: .8rem;
  padding: 0 1.5rem;
}
.destination-home-search label:focus-within {
  border-color: transparent;
  box-shadow: none;
}
.destination-home-search i {
  color: #FF5349;
  font-size: 1.3rem;
}
.destination-home-search input {
  background: transparent;
  color: #fff;
  font-size: 1.25rem;
  padding: 1.35rem 0;
  width: 100%;
}
.destination-home-search input::placeholder {
  color: #777;
}
.destination-home-search p {
  color: #888;
  font-size: 1rem;
  margin: .8rem .3rem 0;
  text-align: right;
}
.destination-home-search select {
  background: #222;
  border: .1rem solid rgba(255, 255, 255, .12);
  border-radius: .9rem;
  color: #fff;
  cursor: pointer;
  font-size: 1.2rem;
  padding: 0 1.5rem;
  width: 100%;
}
.destination-home-search select:focus {
  border-color: #FF5349;
  box-shadow: 0 0 0 .25rem rgba(255, 83, 73, .14);
  outline: none;
}
@media (max-width: 850px) {
  .destination-home-search-controls {
    grid-template-columns: 1fr 1fr;
  }
  .destination-home-search-controls label {
    grid-column: 1 / -1;
  }
}
@media (max-width: 520px) {
  .destination-home-search-controls {
    grid-template-columns: 1fr;
  }
  .destination-home-search-controls label {
    grid-column: auto;
  }
  .destination-home-search select {
    min-height: 4.6rem;
  }
}
.destination-property-card[hidden] {
  display: none !important;
}
.destination-search-empty {
  background: #222;
  border: .1rem dashed rgba(255, 255, 255, .12);
  border-radius: 1.2rem;
  margin: 0 auto 2.4rem;
  max-width: 68rem;
  padding: 3rem 2rem;
  text-align: center;
}
.destination-search-empty[hidden] {
  display: none;
}
.destination-search-empty i {
  color: #FF5349;
  font-size: 2.5rem;
  margin-bottom: 1rem;
}
.destination-search-empty h3 {
  color: #fff;
  font-size: 1.8rem;
}
.destination-search-empty p {
  color: #888;
  font-size: 1.3rem;
  margin-top: .5rem;
}
.destination .box-container {
  grid-template-columns: repeat(auto-fit, minmax(27rem, 1fr));
  gap: 1.6rem;
}
.destination [data-home-destination-list] {
  grid-template-columns: repeat(auto-fill, minmax(27rem, 1fr));
}
.destination .box-container .destination-property-card {
  border: 0.1rem solid rgba(255, 255, 255, 0.1);
  box-shadow: 0 1.4rem 3rem rgba(0, 0, 0, 0.22);
  display: flex;
  flex-direction: column;
  transition: border-color .25s ease, box-shadow .25s ease, transform .25s ease;
}
.destination .box-container .destination-property-card:hover {
  border-color: rgba(255, 83, 73, 0.7);
  box-shadow:0 1.8rem 4rem rgba(0,0,0,.34);
  transform: translateY(-.5rem);
}
.destination .destination-property-card .image img { transition:transform .35s ease; }
.destination .box-container .destination-property-card .image {
  border-radius: .9rem;
  flex: 0 0 auto;
  height: 20rem;
  margin: .8rem .8rem 0;
  position: relative;
  width: calc(100% - 1.6rem);
}
.destination .destination-property-card .property-status {
  background: #151515;
  border: 0.1rem solid rgba(255, 255, 255, 0.14);
  border-radius: 5rem;
  bottom: 1.4rem;
  color: #62db9a;
  font-size: 1rem;
  font-weight: 600;
  left: 1.4rem;
  padding: 0.7rem 1rem;
  position: absolute;
}
.destination .destination-property-card .property-status.limited {
  color: #ffb05b;
}
.destination .destination-property-card .content {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: 1.6rem;
  text-align: left;
}
.property-title-row {
  align-items: flex-start;
  display: flex;
  gap: 1.5rem;
  justify-content: space-between;
  min-height: 4rem;
}
.destination .destination-property-card .content .property-title-row h3 {
  font-size: 1.45rem;
  line-height: 1.35;
}
.property-title-row strong {
  color: #FF5349;
  flex: 0 0 auto;
  font-size: 1.35rem;
}
.property-title-row strong small {
  color: #777;
  font-size: 0.85rem;
  font-weight: 400;
}
.destination .destination-property-card .content > p {
  line-height: 1.5;
  padding: 0.8rem 0 1.3rem;
}
.destination .destination-property-card .content > p i {
  color: #FF5349;
}
.property-features {
  align-content: flex-start;
  display: flex;
  flex-wrap: wrap;
  gap: 0.7rem;
  min-height: 5.7rem;
}
.property-features span {
  background: #191919;
  border: 0.1rem solid rgba(255, 255, 255, 0.08);
  border-radius: 0.6rem;
  color: #aaa;
  font-size: 0.95rem;
  padding: 0.65rem 0.8rem;
}
.destination [data-home-destination-list] .property-features {
  gap: .5rem;
}
.destination [data-home-destination-list] .property-features span {
  font-size: .88rem;
  padding: .6rem;
  white-space: nowrap;
}
.property-features i {
  color: #FF5349;
}
.property-card-footer {
  align-items: center;
  border-top: 0.1rem solid rgba(255, 255, 255, 0.08);
  display: flex;
  justify-content: space-between;
  margin-top: auto;
  padding-top: 1.4rem;
}
.property-card-footer > span {
  color: #ffb835;
  font-size: 1.05rem;
  font-weight: 600;
}
.property-card-footer > span small {
  color: #777;
  font-weight: 400;
}
.destination .destination-property-card .property-card-footer a {
  font-size: 1.1rem;
  font-weight: 600;
}
.destination .destination-property-card .property-card-footer button {
  background: transparent;
  color: #FF5349;
  cursor: pointer;
  font-size: 1.1rem;
  font-weight: 600;
}
.destination .destination-property-card .property-card-footer button i {
  padding-left: .35rem;
  transition: transform .2s ease;
}
.destination .destination-property-card .property-card-footer button:hover i {
  transform: translateX(.35rem);
}
.robinson-room-options {
  padding: 2rem 0 0;
}
.robinson-room-options .destination-property-card {
  cursor: default;
}
.robinson-room-options .box-container {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
@media (max-width: 900px) {
  .robinson-room-options .box-container {
    grid-template-columns: repeat(auto-fit, minmax(27rem, 1fr));
  }
}
.destination .destination-property-card .property-card-footer a i { transition:transform .2s ease; }
.destination .destination-property-card .property-card-footer a:hover i { padding-left:0; transform:translateX(.35rem); }
.destination-view-all {
  align-items:center;
  background:linear-gradient(115deg,#252525,#191919);
  border:.1rem solid rgba(255,83,73,.35);
  border-radius:1.2rem;
  display:flex;
  gap:2rem;
  justify-content:space-between;
  margin-top:2.5rem;
  padding:2rem 2.4rem;
  text-align:left;
}
.destination-view-all div span,
.destination-view-all div strong {
  display:block;
}
.destination-view-all div span {
  color:#FF5349;
  font-size:1rem;
  font-weight:600;
  letter-spacing:.1em;
  margin-bottom:.35rem;
  text-transform:uppercase;
}
.destination-view-all div strong {
  color:#fff;
  font-size:1.45rem;
}
.destination-view-all>a {
  align-items:center;
  background:#FF5349;
  border:.1rem solid #FF5349;
  border-radius:.8rem;
  color:#111;
  display:inline-flex;
  flex:0 0 auto;
  font-size:1.15rem;
  font-weight:700;
  gap:.8rem;
  padding:1.15rem 1.5rem;
}
.destination-view-all>a:hover {
  background:transparent;
  color:#FF5349;
}
.destination-view-all>a:hover i {
  transform:translateX(.35rem);
}

/* Refined destination call to action */
.destination-view-all {
  background: radial-gradient(circle at 8% 20%, rgba(255,83,73,.1), transparent 28%), linear-gradient(120deg,#222,#181818);
  border-color: rgba(255,255,255,.1);
  box-shadow: 0 1.5rem 3.5rem rgba(0,0,0,.25);
  min-height: 12rem;
  overflow: hidden;
  padding: 2.4rem 2.6rem;
  position: relative;
}
.destination-view-all::after {
  background: rgba(255,83,73,.08);
  border-radius: 50%;
  content: '';
  height: 14rem;
  position: absolute;
  right: 17rem;
  top: -9rem;
  width: 14rem;
}
.destination-cta-copy {
  align-items: center;
  display: flex;
  gap: 1.5rem;
  min-width: 0;
  position: relative;
  z-index: 1;
}
.destination-view-all .destination-cta-icon {
  align-items: center;
  background: rgba(255,83,73,.13);
  border: .1rem solid rgba(255,83,73,.25);
  border-radius: 1rem;
  color: #ff5c53;
  display: flex;
  flex: 0 0 5rem;
  font-size: 1.7rem;
  height: 5rem;
  justify-content: center;
  margin: 0;
}
.destination-view-all .destination-cta-copy > div > span {
  color: #ff6259;
  font-size: .95rem;
  font-weight: 700;
  letter-spacing: .14em;
}
.destination-view-all .destination-cta-copy strong {
  color: #fff;
  font-size: 1.55rem;
  letter-spacing: -.01em;
  margin: .35rem 0 .45rem;
}
.destination-view-all .destination-cta-copy p {
  color: #898989;
  font-size: 1rem;
  line-height: 1.5;
}
.destination-view-all > a {
  border-radius: .9rem;
  box-shadow: 0 .8rem 1.8rem rgba(255,83,73,.15);
  min-height: 4.8rem;
  padding: 1.2rem 1.7rem;
  position: relative;
  z-index: 1;
}
.destination-view-all > a i { transition: transform .2s ease; }

@media (max-width: 700px) {
  .destination-view-all { padding: 2rem; }
  .destination-cta-copy { align-items: flex-start; }
  .destination-view-all::after { display: none; }
}

@media (max-width: 480px) {
  .destination-cta-copy { flex-direction: column; }
  .destination-view-all .destination-cta-copy strong { font-size: 1.4rem; }
}

/* ================= PROPERTY DETAILS ================= */
.property-details-page { background:#111; color:#fff; min-height:100vh; }
.property-details-page * { text-transform:none; }
.property-detail-shell { margin:0 auto; max-width:138rem; padding:11rem 6% 6rem; }
.property-breadcrumb { align-items:center; color:#666; display:flex; font-size:1rem; justify-content:space-between; margin-bottom:1.8rem; }
.property-breadcrumb a { color:#aaa; }
.property-breadcrumb a:hover { color:#FF5349; }
.property-breadcrumb i { margin-right:.5rem; }
.property-detail-heading { align-items:flex-end; display:flex; justify-content:space-between; padding:0 0 2rem; }
.property-detail-heading>div>span { color:#FF5349; font-size:1rem; font-weight:600; letter-spacing:.12em; text-transform:uppercase; }
.property-detail-heading h1 { font-size:clamp(2.5rem,4vw,4.2rem); line-height:1.2; margin:.4rem 0 .7rem; }
.property-detail-heading p { color:#999; font-size:1.15rem; }
.property-detail-heading p i { color:#FF5349; margin-right:.5rem; }
.property-rating { align-items:center; background:#1c1c1c; border:.1rem solid rgba(255,255,255,.1); border-radius:1rem; display:grid; gap:.1rem .6rem; grid-template-columns:auto auto; padding:1rem 1.3rem; }
.property-rating i { color:#ffb835; font-size:1.3rem; grid-row:1/3; }
.property-rating strong { font-size:1.3rem; }
.property-rating small { color:#777; font-size:.8rem; }
.property-gallery { display:grid; gap:1rem; grid-template-columns:2fr 1fr; grid-template-rows:18rem 18rem; height:37rem; overflow:hidden; }
.property-gallery img { height:100%; object-fit:cover; width:100%; }
.property-gallery img:first-child { border-radius:1.3rem 0 0 1.3rem; grid-row:1/3; }
.property-gallery img:nth-child(2) { border-radius:0 1.3rem 0 0; }
.property-gallery img:nth-child(3) { border-radius:0 0 1.3rem 0; }
.property-gallery img:hover { filter:brightness(.82); }
.property-gallery img { cursor:zoom-in; }
.property-gallery img:focus-visible { outline:.3rem solid #FF5349; outline-offset:-.4rem; }
.lightbox-open { overflow:hidden; }
.property-lightbox { inset:0; opacity:0; pointer-events:none; position:fixed; transition:opacity .2s ease; z-index:5000; }
.property-lightbox.show { opacity:1; pointer-events:auto; }
.property-lightbox-backdrop { background:rgba(0,0,0,.92); inset:0; position:absolute; }
.property-lightbox-panel { display:grid; grid-template-columns:6rem minmax(0,1fr) 6rem; grid-template-rows:auto minmax(0,1fr) 9rem; inset:0; padding:2rem 3%; position:absolute; }
.property-lightbox-topbar { align-items:center; display:flex; grid-column:1/4; justify-content:space-between; padding-bottom:1.2rem; }
.property-lightbox-topbar span { color:#bbb; font-size:1.1rem; }
.property-lightbox-topbar button,.property-lightbox-arrow { align-items:center; background:#222; border:.1rem solid rgba(255,255,255,.15); border-radius:50%; color:#fff; cursor:pointer; display:flex; height:4.4rem; justify-content:center; width:4.4rem; }
.property-lightbox-topbar button:hover,.property-lightbox-arrow:hover { background:#FF5349; color:#111; }
.property-lightbox-main { align-self:center; border-radius:1rem; grid-column:2; height:100%; justify-self:center; max-height:calc(100vh - 15rem); max-width:100%; object-fit:contain; width:100%; }
.property-lightbox-arrow { align-self:center; justify-self:center; }
.property-lightbox-arrow.previous { grid-column:1; }
.property-lightbox-arrow.next { grid-column:3; }
.property-lightbox-thumbnails { align-items:center; display:flex; gap:.8rem; grid-column:1/4; justify-content:center; overflow-x:auto; padding-top:1.2rem; }
.property-lightbox-thumbnails button { background:transparent; border:.2rem solid transparent; border-radius:.7rem; cursor:pointer; flex:0 0 8rem; height:6rem; overflow:hidden; padding:0; }
.property-lightbox-thumbnails button.active { border-color:#FF5349; }
.property-lightbox-thumbnails img { height:100%; object-fit:cover; width:100%; }
@media(max-width:620px){.property-lightbox-panel{grid-template-columns:4rem minmax(0,1fr) 4rem;padding:1.2rem}.property-lightbox-arrow{height:3.6rem;width:3.6rem}.property-lightbox-thumbnails button{flex-basis:6.5rem;height:5rem}}
.property-detail-layout { align-items:start; display:grid; gap:4rem; grid-template-columns:minmax(0,1fr) 34rem; margin-top:3rem; }
.property-detail-main>section { border-bottom:.1rem solid rgba(255,255,255,.1); padding:2.4rem 0; }
.railway-room-heading { align-items:center; display:flex; justify-content:space-between; margin-bottom:1.5rem; }
.railway-room-heading span { color:#FF5349; font-size:.9rem; font-weight:600; letter-spacing:.1em; text-transform:uppercase; }
.railway-room-heading h2 { font-size:2rem; margin-top:.3rem; }
.railway-room-heading>strong { background:rgba(76,210,139,.13); border-radius:5rem; color:#4cd28b; font-size:1rem; padding:.7rem 1rem; }
.railway-empty-room-card { background:#222; border:.1rem solid rgba(255,255,255,.1); border-radius:1rem; display:grid; grid-template-columns:20rem 1fr; overflow:hidden; }
.railway-empty-room-image { min-height:16rem; position:relative; }
.railway-empty-room-image img { height:100%; object-fit:cover; width:100%; }
.railway-empty-room-image span { background:#111; border-radius:5rem; bottom:1rem; color:#4cd28b; font-size:.9rem; left:1rem; padding:.6rem .9rem; position:absolute; }
.railway-empty-room-content { display:flex; flex-direction:column; justify-content:space-between; padding:1.7rem; }
.railway-empty-room-content small { color:#FF5349; font-size:.85rem; }
.railway-empty-room-content h3 { font-size:1.8rem; margin:.35rem 0 .7rem; }
.railway-empty-room-content p { color:#999; font-size:1rem; }
.railway-empty-room-content p i,.railway-empty-room-footer i { color:#FF5349; margin-right:.4rem; }
.railway-empty-room-footer { align-items:end; border-top:.1rem solid rgba(255,255,255,.08); display:flex; justify-content:space-between; margin-top:1.2rem; padding-top:1.2rem; }
.railway-empty-room-footer>span { color:#aaa; font-size:1rem; }
.railway-empty-room-footer>strong { color:#FF5349; font-size:1.5rem; }
.railway-empty-room-footer>strong small { color:#777; font-weight:400; margin-left:.3rem; }
@media(max-width:600px){.railway-empty-room-card{grid-template-columns:1fr}.railway-empty-room-image{height:18rem}.railway-room-heading{align-items:flex-start;flex-direction:column;gap:1rem}}
.property-overview { align-items:center; display:flex; justify-content:space-between; }
.property-overview h2,.property-description h2,.property-amenities h2,.property-location h2 { font-size:1.65rem; margin-bottom:.7rem; }
.property-overview p,.property-description p,.property-location p { color:#888; font-size:1.05rem; line-height:1.8; }
.property-overview>span { background:rgba(76,210,139,.12); border-radius:5rem; color:#4cd28b; font-size:.95rem; padding:.7rem 1rem; }
.property-overview>span.limited { background:rgba(255,176,91,.12); color:#ffb05b; }
.property-amenities>div { display:grid; gap:1rem; grid-template-columns:repeat(2,1fr); margin-top:1.3rem; }
.property-amenities span { align-items:center; background:#1c1c1c; border:.1rem solid rgba(255,255,255,.08); border-radius:.8rem; color:#bbb; display:flex; font-size:1rem; padding:1.1rem; }
.property-amenities span i { color:#FF5349; font-size:1.2rem; margin-right:.9rem; width:1.5rem; }
.property-location>div { align-items:center; background:#1c1c1c; border-radius:1rem; display:flex; gap:1.2rem; margin-top:1.2rem; padding:1.5rem; }
.property-location>div>i { align-items:center; background:rgba(255,83,73,.13); border-radius:50%; color:#FF5349; display:flex; flex:0 0 4.5rem; height:4.5rem; justify-content:center; }
.property-location strong { font-size:1.1rem; }
.property-booking-card { background:#1c1c1c; border:.1rem solid rgba(255,255,255,.12); border-radius:1.3rem; box-shadow:0 2rem 5rem rgba(0,0,0,.25); padding:2rem; position:sticky; top:10rem; }
.property-booking-card>span { color:#888; font-size:.95rem; }
.property-booking-card h2 { color:#FF5349; font-size:2.6rem; margin:.2rem 0 1.5rem; }
.property-booking-card h2 small { color:#777; font-size:1rem; font-weight:400; }
.property-booking-facts { border-bottom:.1rem solid rgba(255,255,255,.08); border-top:.1rem solid rgba(255,255,255,.08); margin-bottom:1.5rem; padding:1.2rem 0; }
.property-booking-facts p { color:#aaa; font-size:.95rem; margin:.8rem 0; }
.property-booking-facts i { color:#4cd28b; margin-right:.7rem; width:1.4rem; }
.property-booking-card button { background:#FF5349; border:.2rem solid #FF5349; border-radius:.8rem; color:#111; cursor:pointer; font-size:1.1rem; font-weight:700; padding:1.2rem; width:100%; }
.property-booking-card button:hover { background:transparent; color:#FF5349; }
.property-booking-card>small { color:#666; display:block; font-size:.8rem; margin-top:1rem; text-align:center; }
@media(max-width:850px){.property-detail-layout{grid-template-columns:1fr}.property-booking-card{position:static}.property-gallery{grid-template-columns:1fr 1fr;grid-template-rows:23rem 12rem;height:36rem}.property-gallery img:first-child{border-radius:1rem 1rem 0 0;grid-column:1/3;grid-row:auto}.property-gallery img:nth-child(2){border-radius:0 0 0 1rem}.property-gallery img:nth-child(3){border-radius:0 0 1rem 0}}
@media(max-width:560px){.property-detail-heading{align-items:flex-start;flex-direction:column;gap:1.2rem}.property-overview{align-items:flex-start;flex-direction:column;gap:1rem}.property-amenities>div{grid-template-columns:1fr}.property-detail-shell{padding-left:1.5rem;padding-right:1.5rem}}
@media (max-width: 1180px) {
  .destination .box-container {
    grid-template-columns: repeat(auto-fit, minmax(27rem, 1fr));
  }
}
@media (max-width: 780px) {
  .destination .box-container {
    grid-template-columns: 1fr;
  }
  .property-title-row {
    gap: 0.8rem;
  }
  .destination-view-all {
    align-items:flex-start;
    flex-direction:column;
  }
  .destination-view-all>a {
    justify-content:center;
    width:100%;
  }
}

.services .box-container {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(32rem, 1fr));
  gap: 1.5rem;
}
.services .box-container .box {
  background: #222;
  border-radius: 1rem;
  padding: 3rem;
  text-align: center;
  border: 0.2rem solid #111;
}
.services .box-container .box:hover {
  border: 0.2rem solid #FF5349;
}
.services .box-container .box i {
  font-size: 4rem;
  color: #FF5349;
  margin-bottom: 2rem;
}
.services .box-container .box h3 {
  font-size: 2rem;
  color: #fff;
}
.services .box-container .box p {
  padding: 1rem 0;
  font-size: 1.4rem;
  color: #aaa;
  line-height: 2;
}

.banner {
  background: linear-gradient(rgba(17, 17, 17, 0.62), rgba(17, 17, 17, 0.72)), url("../../images/roxas-city-capiz-background.png") no-repeat;
  background-size: cover;
  background-position: center;
  padding: 3rem 0;
  background-attachment: fixed;
  text-align: center;
}
.banner .content span {
  font-size: 2rem;
  color: #FF5349;
}
.banner .content h3 {
  font-size: 4rem;
  color: #fff;
  margin-top: 1rem;
}
.banner .content p {
  max-width: 60rem;
  margin: 1rem auto;
  font-size: 1.4rem;
  color: #aaa;
  line-height: 2;
}

.mockups .mockup-grid {
  display: grid;
  gap: 1.8rem;
  grid-template-columns: repeat(auto-fit, minmax(24rem, 1fr));
}
.mockups .mockup-card {
  background: #222;
  border: 0.1rem solid rgba(255, 255, 255, 0.1);
  border-radius: 1rem;
  overflow: hidden;
}
.mockups .mockup-card:hover {
  border-color: #FF5349;
  transform: translateY(-0.4rem);
}
.mockups .mockup-image {
  height: 21rem;
  position: relative;
}
.mockups .mockup-image img {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
}
.mockups .mockup-image strong {
  align-items: center;
  background: #FF5349;
  border-radius: 50%;
  color: #111;
  display: flex;
  font-size: 1.7rem;
  font-weight: 900;
  height: 5rem;
  justify-content: center;
  left: 1.4rem;
  position: absolute;
  top: 1.4rem;
  width: 5rem;
}
.mockups .mockup-content {
  padding: 2rem;
}
.mockups .mockup-content h3 {
  color: #fff;
  font-size: 2rem;
}
.mockups .mockup-content p {
  color: #aaa;
  font-size: 1.4rem;
  line-height: 1.8;
  margin-top: 0.8rem;
  text-transform: none;
}

.footer .box-container {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(25rem, 1fr));
  gap: 1.5rem;
}
.footer .box-container .box {
  padding: 1rem 0;
}
.footer .box-container .box .logo {
  padding-bottom: 1rem;
}
.footer .box-container .box h3 {
  font-size: 2.2rem;
  color: #fff;
  padding: 1rem 0;
}
.footer .box-container .box p {
  font-size: 1.4rem;
  color: #aaa;
  padding: 1rem 0;
  line-height: 2;
}
.footer .box-container .box p i {
  padding-right: 0.5rem;
  color: #FF5349;
}
.footer .box-container .box .share {
  padding-top: 1rem;
}
.footer .box-container .box .share a {
  height: 4.5rem;
  width: 4.5rem;
  line-height: 4rem;
  font-size: 2rem;
  border-radius: 50%;
  font-size: 1.7rem;
  border: 0.2rem solid #FF5349;
  color: #FF5349;
  margin-right: 0.5rem;
  text-align: center;
}
.footer .box-container .box .share a:hover {
  background: #FF5349;
  color: #111;
}

.footer .box-container .box .share .fa-facebook-f {
  background: #1877f2;
  border-color: #1877f2;
  color: #fff;
}

.footer .box-container .box .share .fa-twitter {
  background: #1da1f2;
  border-color: #1da1f2;
  color: #fff;
}

.footer .box-container .box .share .fa-instagram {
  background: linear-gradient(135deg, #833ab4, #fd1d1d, #fcb045);
  border-color: #e4405f;
  color: #fff;
}

.footer .box-container .box .share .fa-linkedin {
  background: #0a66c2;
  border-color: #0a66c2;
  color: #fff;
}

.footer .box-container .box .share .fa-facebook-f:hover {
  background: #1877f2;
  color: #fff;
  filter: brightness(1.15);
}

.footer .box-container .box .share .fa-twitter:hover {
  background: #1da1f2;
  color: #fff;
  filter: brightness(1.15);
}

.footer .box-container .box .share .fa-instagram:hover {
  background: linear-gradient(135deg, #833ab4, #fd1d1d, #fcb045);
  color: #fff;
  filter: brightness(1.15);
}

.footer .box-container .box .share .fa-linkedin:hover {
  background: #0a66c2;
  color: #fff;
  filter: brightness(1.15);
}
.footer .box-container .box .links {
  font-size: 1.4rem;
  color: #aaa;
  padding: 1rem 0;
  display: block;
}
.footer .box-container .box .links:hover {
  color: #FF5349;
}
.footer .box-container .box .links:hover i {
  padding-right: 2rem;
}
.footer .box-container .box .links i {
  padding-right: 0.5rem;
  color: #FF5349;
}
.footer .box-container .box form .email {
  width: 100%;
  border-radius: 5rem;
  border: 0.2rem solid #FF5349;
  background: none;
  font-size: 1.5rem;
  text-transform: none;
  color: #aaa;
  margin-bottom: 1rem;
  padding: 1.2rem 1.4rem;
}

.credit {
  background: #222;
  text-align: center;
  font-size: 2rem;
  padding: 2rem 1rem;
  color: #aaa;
}
.credit span {
  color: #FF5349;
}

.footer-form-status {
  color: #aaa;
  font-size: 1.1rem !important;
  line-height: 1.5 !important;
  min-height: 2rem;
  padding: .5rem 0 0 !important;
}

/* ================= RESPONSIVE HOMEPAGE POLISH ================= */
html,
body {
  max-width: 100%;
  overflow-x: hidden;
}

img {
  max-width: 100%;
}

/* Keep the homepage title high enough to reveal its supporting line. */
.home .content.home-title-position {
  position: relative;
  top: -4rem;
  transform: none;
}
.home .content.home-title-position h3 {
  line-height: .95;
  margin: .4rem 0 1rem;
}

@media (max-width: 1100px) {
  .featured-houses-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .about {
    gap: 2.5rem;
  }

  .services .box-container,
  .footer .box-container {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 768px) {
  .header {
    gap: 1rem;
  }

  .brand-link img {
    height: 5.2rem;
  }

  .user-auth :is(.login-btn-modal, .register-btn-modal) {
    min-height: 4.4rem;
    padding: .8rem 1.4rem;
  }

  .header .navbar {
    box-shadow: 0 1.5rem 2.5rem rgba(0, 0, 0, .32);
    max-height: calc(100vh - 8rem);
    overflow-y: auto;
  }

  .header .navbar a {
    border-bottom: .1rem solid rgba(255, 255, 255, .08);
    margin: 0;
    padding: 1.6rem 2rem;
  }

  .home {
    align-items: center;
    min-height: 68rem;
    padding: 5rem 2rem 16rem;
    width: calc(100% - 3rem);
  }

  .home .content span {
    font-size: clamp(3.2rem, 9vw, 5.5rem);
  }

  .home .content h3 {
    font-size: clamp(4.5rem, 14vw, 7rem);
  }

  .featured-houses-strip {
    margin-bottom: 3rem;
    padding: 2rem;
    width: calc(100% - 3rem);
  }

  .featured-house-image {
    height: 18rem;
  }

  .about {
    align-items: stretch;
    flex-direction: column;
    margin-top: 2rem;
    width: calc(100% - 3rem);
  }

  .about .video-container,
  .about .content {
    flex-basis: auto;
    width: 100%;
  }

  .about .video-container img.video {
    height: clamp(24rem, 60vw, 36rem);
  }

  .about .content {
    text-align: center;
  }

  .about .content .btn {
    min-height: 4.4rem;
  }

  .destination .box-container,
  .nearby-section.destination .nearby-results {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .destination .destination-property-card .image,
  .nearby-section.destination .nearby-image {
    height: 22rem;
  }

  .services .box-container {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .services .box-container .box {
    padding: 2.4rem 1.8rem;
  }

  .banner {
    background-attachment: scroll;
    padding: 4rem 2rem;
  }

  .banner .content h3 {
    font-size: clamp(2.8rem, 9vw, 4rem);
  }

  .footer .box-container {
    gap: 2rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 600px) {
  section {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }

  .featured-houses-grid,
  .destination .box-container,
  .nearby-section.destination .nearby-results,
  .services .box-container,
  .footer .box-container {
    grid-template-columns: 1fr;
  }

  .featured-houses-strip h2,
  .heading h1 {
    text-align: center;
  }

  .featured-houses-grid article > div {
    align-items: center;
  }

  .featured-read,
  .property-card-footer a,
  .property-card-footer button,
  .footer .btn {
    min-height: 4.4rem;
  }

  .destination-home-search {
    padding: 1.2rem;
  }

  .destination .destination-property-card .image,
  .nearby-section.destination .nearby-image {
    height: 24rem;
  }

  .property-title-row,
  .property-card-footer,
  .destination-result-title,
  .destination-result-footer {
    align-items: flex-start;
    gap: 1rem;
  }

  .property-features {
    min-height: 0;
  }

  .destination-view-all {
    padding: 1.8rem;
  }

  .footer {
    text-align: center;
  }

  .footer .box-container .box .share {
    display: flex;
    flex-wrap: wrap;
    gap: .8rem;
    justify-content: center;
  }

  .footer .box-container .box .share a {
    margin: 0;
  }

  .footer .box-container .box .links {
    min-height: 4.4rem;
  }

  .credit {
    font-size: 1.5rem;
    line-height: 1.6;
  }
}

@media (max-width: 380px) {
  .header {
    padding-left: 1rem;
    padding-right: 1rem;
  }

  .brand-link img {
    height: 4.5rem;
  }

  .user-auth :is(.login-btn-modal, .register-btn-modal) {
    font-size: 1.2rem;
    padding: .7rem 1rem;
  }

  .featured-houses-strip {
    padding: 1.5rem;
  }

  .property-title-row,
  .property-card-footer,
  .destination-result-title,
  .destination-result-footer {
    flex-direction: column;
  }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
  }
}

/* ================= MEDIA QUERIES ================= */
@media (max-width: 991px) {
  html {
    font-size: 55%;
  }
  .header {
    padding: 1.5rem 2rem;
  }
  section {
    padding: 3rem 2rem;
  }
}
@media (max-width: 768px) {
  #menu-btn {
    display: inline-block;
  }
  .header .navbar {
    position: absolute;
    top: 99%;
    left: 0;
    right: 0;
    background: #222;
    clip-path: polygon(0 0, 100% 0, 0 0);
  }
  .header .navbar.active {
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
  }
  .header .navbar a {
    margin: 2rem;
    font-size: 2rem;
    display: block;
  }
  .home {
    margin-top: 8.4rem;
  }
  .home .content span {
    font-size: 8vw;
  }
  .home .content h3 {
    font-size: 9vw;
  }
  .about .content h3 {
    font-size: 3rem;
  }
}
@media (max-width: 450px) {
  html {
    font-size: 50%;
  }
  .about .content h3 {
    font-size: 2.7rem;
  }
}

/* ================= BOARDEASE APP FLOWS ================= */
.brand-link {
  display: inline-flex;
  align-items: center;
}

.brand-link img {
  height: 6.67rem;
  object-fit: contain;
  width: auto;
}

.user-auth :is(.login-btn-modal, .register-btn-modal) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-transform: none;
}

.auth-modal {
  height: 560px;
  max-height: 90vh;
  overflow-y: auto;
}

.auth-modal.active {
  height: min(650px, 90vh);
}

.auth-modal .input-box {
  margin: 2rem 0;
}

.auth-modal .input-box select {
  width: 100%;
  height: 100%;
  background: transparent;
  border: 0.2rem solid rgba(255, 255, 255, 0.3);
  border-radius: 5rem;
  font-size: 1.5rem;
  color: #fff;
  padding: 0 4.5rem 0 2rem;
  text-transform: none;
}

.auth-modal .input-box select option {
  color: #111;
}

.auth-modal .demo-accounts,
.auth-modal .auth-message,
.auth-modal .switch-link {
  color: #fff;
  font-size: 1.25rem;
  line-height: 1.6;
  margin-top: 1.2rem;
  text-align: center;
  text-transform: none;
}

.auth-modal .auth-message {
  color: #FF5349;
  min-height: 1.8rem;
}

.search-hint {
  color: #aaa;
  flex: 1 1 100%;
  font-size: 1.3rem;
  text-align: center;
  text-transform: none;
}

.destination-results-page,
.dashboard-page {
  background: #edf3ef;
  color: #102224;
  min-height: 100vh;
}

.destination-results-page *,
.dashboard-page * {
  text-transform: none;
}

.destination-results-page .header {
  background: #ffffff;
  box-shadow: 0 0.8rem 2.5rem rgba(18, 35, 36, 0.08);
}

.destination-results-page .header .navbar a {
  color: #415154;
}

.destination-results-page .header .navbar a:hover {
  color: #00776f;
}

.destination-results-page .user-auth :is(.login-btn-modal, .register-btn-modal) {
  border-color: #00776f;
  color: #00776f;
}

.destination-results-page .user-auth :is(.login-btn-modal, .register-btn-modal):hover {
  background: #00776f;
  color: #ffffff;
}

.results-hero {
  align-items: flex-end;
  background: linear-gradient(rgba(16, 34, 36, 0.72), rgba(16, 34, 36, 0.72)), url("../../images/roxas-city-capiz-background.png") center/cover no-repeat;
  color: #ffffff;
  display: flex;
  gap: 2rem;
  justify-content: space-between;
  margin-top: 8.5rem;
  min-height: 34rem;
  padding: 7rem 9% 4rem;
}

.results-hero span {
  color: #74d9cf;
  display: block;
  font-size: 1.6rem;
  font-weight: 700;
  margin-bottom: 0.8rem;
}

.results-hero h1 {
  font-size: clamp(3rem, 6vw, 6.4rem);
  line-height: 1;
}

.results-hero p {
  color: #dce8e5;
  font-size: 1.6rem;
  margin-top: 1.2rem;
}

.results-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  justify-content: flex-end;
}

.results-actions .btn,
.nearby-actions .btn,
.nearby-actions button {
  align-items: center;
  background: #ffffff;
  border: 0.2rem solid #ffffff;
  border-radius: 0.8rem;
  color: #00776f;
  display: inline-flex;
  gap: 0.8rem;
  justify-content: center;
  margin-top: 0;
}

.results-actions .btn:hover,
.nearby-actions .btn:hover,
.nearby-actions button:hover {
  background: #00776f;
  border-color: #00776f;
  color: #ffffff;
}

.nearby-section {
  padding: 3rem 9% 6rem;
}
.destination-results-page main > .nearby-section {
  padding-top: 12rem;
}

.results-summary {
  align-items: center;
  display: flex;
  gap: 1rem;
  justify-content: space-between;
  margin-bottom: 2rem;
}

.results-summary h2 {
  color: #102224;
  font-size: 2.4rem;
}

.results-summary p {
  color: #667274;
  font-size: 1.4rem;
}
.destination-results-view {
  align-items:center;
  background:#222;
  border:.1rem solid rgba(255,255,255,.1);
  border-radius:5rem;
  color:#aaa;
  display:flex;
  font-size:1rem;
  gap:.6rem;
  padding:.8rem 1.1rem;
}
.destination-results-view i { color:#62db9a; }
.destination-filter-bar {
  background:#1c1c1c;
  border:.1rem solid rgba(255,255,255,.1);
  border-radius:1rem;
  display:grid;
  gap:1rem;
  grid-template-columns:1fr 16rem 17rem;
  margin-bottom:2rem;
  padding:1.2rem;
}
.destination-filter-bar label {
  align-items:center;
  background:#252525;
  border-radius:.7rem;
  color:#777;
  display:flex;
  gap:.8rem;
  padding:0 1.1rem;
}
.destination-filter-bar input,
.destination-filter-bar select {
  background:#252525;
  border:.1rem solid rgba(255,255,255,.08);
  border-radius:.7rem;
  color:#ddd;
  font-size:1.05rem;
  padding:1rem;
  width:100%;
}
.destination-filter-bar label input { border:0; padding-left:0; }

.nearby-results {
  display: grid;
  gap: 1.6rem;
}

.nearby-card {
  background: #ffffff;
  border: 0.1rem solid #dbe7e3;
  border-radius: 0.8rem;
  display: grid;
  grid-template-columns: minmax(24rem, 32rem) 1fr;
  min-height: 24rem;
  overflow: hidden;
}

.nearby-image {
  min-height: 24rem;
  position: relative;
}

.nearby-image img {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
}

.nearby-image span {
  background: #fff4d6;
  border-radius: 999px;
  color: #7a5200;
  font-size: 1.2rem;
  font-weight: 700;
  left: 1.4rem;
  padding: 0.6rem 1rem;
  position: absolute;
  top: 1.4rem;
}

.nearby-content {
  display: grid;
  gap: 1.5rem;
  padding: 2.4rem;
}

.nearby-content h2 {
  color: #102224;
  font-size: 2.6rem;
  line-height: 1.15;
}

.nearby-content p,
.nearby-meta span {
  color: #5f6d70;
  font-size: 1.4rem;
}

.nearby-distance {
  color: #00776f !important;
  font-weight: 700;
  margin-bottom: 0.5rem;
}

.nearby-meta,
.nearby-tags,
.nearby-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
}

.nearby-meta span,
.nearby-tags span {
  align-items: center;
  background: #f4f8f6;
  border: 0.1rem solid #dce9e5;
  border-radius: 999px;
  display: inline-flex;
  gap: 0.6rem;
  padding: 0.7rem 1rem;
}

.nearby-actions .btn,
.nearby-actions button {
  background: #e2f4f0;
  border-color: #a7dcd4;
  color: #006d67;
}

.nearby-actions button:disabled {
  background: #eef2f0;
  border-color: #d7dfdc;
  color: #84918e;
  cursor: not-allowed;
}

.dashboard-shell {
  display: grid;
  grid-template-columns: 31rem minmax(0, 1fr);
  min-height: 100vh;
}

.admin-preview-return {
  align-items: center;
  background: #ff5349;
  border-radius: 0 0 0.8rem 0;
  color: #111;
  display: none;
  font-size: 1.2rem;
  font-weight: 700;
  gap: 0.7rem;
  left: 0;
  padding: 1rem 1.4rem;
  position: fixed;
  top: 0;
  z-index: 10010;
}

.admin-account-preview .admin-preview-return {
  display: flex;
}

.dashboard-sidebar {
  background: #ffffff;
  border-right: 0.1rem solid #d9e4df;
  display: flex;
  flex-direction: column;
  gap: 2rem;
  height: 100vh;
  padding: 2rem;
  position: sticky;
  top: 0;
}

.dashboard-logo {
  align-items: center;
  border: 0.1rem solid #d9e4df;
  border-radius: 0.8rem;
  display: flex;
  height: 5.6rem;
  justify-content: center;
}

.dashboard-logo img {
  max-height: 4.8rem;
  -o-object-fit: contain;
     object-fit: contain;
}

.dashboard-user {
  color: #102224;
}

.dashboard-avatar {
  align-items: center;
  background: linear-gradient(135deg, #006d67, #ffb835);
  border-radius: 50%;
  color: #ffffff;
  display: flex;
  font-size: 3rem;
  font-weight: 800;
  height: 7.4rem;
  justify-content: center;
  margin-bottom: 1.4rem;
  width: 7.4rem;
}

.dashboard-avatar.large {
  flex: 0 0 10.8rem;
  font-size: 4.2rem;
  height: 10.8rem;
  margin-bottom: 0;
  width: 10.8rem;
}

.dashboard-user h2 {
  font-size: 2rem;
  line-height: 1.2;
}

.dashboard-user p {
  color: #5f6d70;
  font-size: 1.4rem;
  font-weight: 700;
}

.dashboard-nav {
  display: grid;
  gap: 1rem;
}

.dashboard-nav a,
.dashboard-nav button,
.dashboard-logout {
  align-items: center;
  background: #f4f8f6;
  border-radius: 0.8rem;
  color: #223032;
  cursor: pointer;
  display: flex;
  font-size: 1.6rem;
  font-weight: 800;
  gap: 1rem;
  padding: 1.3rem 1.5rem;
  text-align: left;
}

.dashboard-nav a {
  text-decoration: none;
}

.dashboard-nav a.active,
.dashboard-nav a:hover,
.dashboard-nav button.active,
.dashboard-nav button:hover {
  background: #dff4ef;
  color: #006d67;
}

.dashboard-logout {
  background: #ffe9e3;
  color: #9b2f1e;
  margin-top: auto;
  justify-content: center;
}

.dashboard-main {
  padding: 2rem 2.4rem 4rem;
}

.dashboard-profile-card {
  align-items: center;
  background: #ffffff;
  border: 0.1rem solid #d9e4df;
  border-radius: 0.8rem;
  display: flex;
  gap: 2rem;
  justify-content: space-between;
  padding: 2.6rem;
}

.profile-card-main {
  align-items: center;
  display: flex;
  gap: 2rem;
}

.account-badge {
  color: #ffb835;
  display: block;
  font-size: 1.4rem;
  font-weight: 900;
  letter-spacing: 0;
  margin-bottom: 0.4rem;
  text-transform: uppercase;
}

.profile-card-main h1 {
  color: #102224;
  font-size: 3rem;
  line-height: 1.1;
}

.profile-card-main p {
  color: #5f6d70;
  font-size: 1.6rem;
}

.profile-card-meta {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(3, minmax(12rem, 1fr));
}

.profile-card-meta article,
.dashboard-stats article,
.dashboard-card {
  background: #ffffff;
  border: 0.1rem solid #d9e4df;
  border-radius: 0.8rem;
}

.profile-card-meta article {
  min-width: 13rem;
  padding: 1.8rem;
}

.profile-card-meta h3 {
  color: #102224;
  font-size: 1.9rem;
  margin-bottom: 1.4rem;
  word-break: break-word;
}

.profile-card-meta p,
.dashboard-stats p {
  color: #5f6d70;
  font-size: 1.4rem;
  font-weight: 800;
}

.dashboard-stats {
  display: grid;
  gap: 2rem;
  grid-template-columns: repeat(3, 1fr);
  margin-top: 2rem;
}

.dashboard-stats article {
  padding: 2.6rem;
}

.dashboard-stats strong {
  color: #102224;
  display: block;
  font-size: 3rem;
  margin-top: 1.6rem;
}

.quick-actions {
  display: grid;
  gap: 1.6rem;
  grid-template-columns: repeat(auto-fit, minmax(18rem, 1fr));
  margin: 3rem 0 2rem;
}

.quick-actions button,
.mini-btn {
  align-items: center;
  background: #dff4ef;
  border: 0.1rem solid #a7dcd4;
  border-radius: 0.8rem;
  color: #006d67;
  cursor: pointer;
  display: inline-flex;
  font-size: 1.6rem;
  font-weight: 900;
  gap: 0.8rem;
  justify-content: center;
  padding: 1.3rem 1.6rem;
}

.quick-actions button:hover,
.mini-btn:hover {
  background: #006d67;
  color: #ffffff;
}

.admin-only,
.client-only {
  display: none !important;
}

.role-admin .admin-only,
.role-client .client-only {
  display: inline-flex !important;
}

.personnel-dashboard-content {
  display: none;
}

.role-personnel .personnel-dashboard-content {
  display: grid;
}

.dashboard-panel {
  display: none;
}

.dashboard-panel.active {
  display: block;
  margin-top: 2rem;
}

.dashboard-grid {
  display: grid;
  gap: 2rem;
  grid-template-columns: minmax(0, 2fr) minmax(28rem, 1fr);
}

.dashboard-card {
  padding: 2.6rem;
}

.card-heading {
  align-items: center;
  display: flex;
  gap: 1rem;
  justify-content: space-between;
  margin-bottom: 2rem;
}

.card-heading h2 {
  color: #102224;
  font-size: 2.4rem;
}

.admin-dashboard-modules {
  display: none;
  gap: 2rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.role-admin .admin-dashboard-modules {
  display: grid;
}

.role-admin .quick-actions,
.role-admin .client-dashboard-content {
  display: none;
}

.role-personnel .quick-actions,
.role-personnel .admin-dashboard-modules,
.role-personnel .client-dashboard-content {
  display: none;
}

.privacy-note {
  margin: 0 0 1.6rem;
  padding: 1rem 1.2rem;
  color: #31543f;
  background: #edf8f1;
  border: 0.1rem solid #cce7d4;
  border-radius: 0.8rem;
  font-size: 1.4rem;
}

.admin-modules-card {
  grid-column: 1/-1;
}

.workflow-status {
  background: #fff4d6;
  border: 0.1rem solid #ffdd8b;
  border-radius: 999px;
  color: #7a5200;
  font-size: 1.25rem;
  font-weight: 800;
  max-width: min(100%, 44rem);
  padding: 0.7rem 1.1rem;
  text-align: right;
}

.workflow-status.muted {
  background: #edf3ef;
  border-color: #d9e4df;
  color: #667274;
}

.admin-module-grid {
  display: grid;
  gap: 1.2rem;
  grid-template-columns: repeat(auto-fit, minmax(18rem, 1fr));
  width: 100%;
}

.admin-module-grid button {
  align-items: center;
  background: #f7faf8;
  border: 0.1rem solid #d9e4df;
  border-radius: 0.8rem;
  color: #102224;
  cursor: pointer;
  display: flex;
  font-size: 1.45rem;
  font-weight: 900;
  gap: 1rem;
  min-height: 8.4rem;
  padding: 1.4rem;
  text-align: left;
}

.admin-module-grid button i {
  align-items: center;
  background: #dff4ef;
  border-radius: 50%;
  color: #006d67;
  display: inline-flex;
  flex: 0 0 4.2rem;
  font-size: 1.6rem;
  height: 4.2rem;
  justify-content: center;
  width: 4.2rem;
}

.admin-module-grid button:hover,
.admin-module-grid button.active {
  background: #dff4ef;
  border-color: #86cfc4;
  color: #006d67;
}

.admin-form-row {
  display: grid;
  gap: 1.4rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.admin-confirmation {
  background: #f7faf8;
  border: 0.1rem solid #dfe9e5;
  border-radius: 0.8rem;
  color: #102224;
  font-size: 1.5rem;
  font-weight: 800;
  line-height: 1.7;
  min-height: 13.4rem;
  padding: 1.6rem;
}

.admin-confirmation strong {
  color: #006d67;
  display: block;
  font-size: 1.7rem;
  margin-bottom: 0.6rem;
}

.admin-continue-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  margin-top: 1.6rem;
}

.admin-record-list {
  display: grid;
  gap: 1rem;
  margin-top: 2rem;
}

.saved-record-heading {
  align-items: center;
  display: flex;
  gap: 1rem;
  justify-content: space-between;
}

.saved-record-heading h3 {
  color: #102224;
  font-size: 1.8rem;
}

.saved-record-heading span,
.admin-record-item small {
  color: #667274;
  font-size: 1.2rem;
  font-weight: 800;
}

.admin-record-item {
  align-items: flex-start;
  background: #f7faf8;
  border: 0.1rem solid #dfe9e5;
  border-radius: 0.8rem;
  display: grid;
  gap: 1.2rem;
  grid-template-columns: minmax(0, 1fr) auto;
  padding: 1.4rem;
}

.admin-record-item strong {
  color: #102224;
  display: block;
  font-size: 1.45rem;
}

.admin-record-item span,
.admin-record-item p {
  color: #667274;
  display: block;
  font-size: 1.3rem;
  margin-top: 0.45rem;
}

.admin-record-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem;
  justify-content: flex-end;
}

.admin-record-actions .mini-btn {
  font-size: 1.25rem;
  padding: 0.8rem 1rem;
}

.table-wrap {
  overflow-x: auto;
}

.booking-tracker table {
  border-collapse: collapse;
  min-width: 72rem;
  width: 100%;
}

.booking-tracker th,
.booking-tracker td {
  border-bottom: 0.1rem solid #d9e4df;
  color: #102224;
  font-size: 1.5rem;
  padding: 1.5rem;
  text-align: left;
  vertical-align: top;
}

.booking-tracker th {
  color: #5f6d70;
  font-size: 1.3rem;
  text-transform: uppercase;
}

.booking-tracker td span {
  color: #667274;
  display: block;
  font-size: 1.3rem;
  margin-top: 0.4rem;
}

.status-pill {
  background: #fff4d6;
  border-radius: 999px;
  color: #7a5200 !important;
  display: inline-flex !important;
  font-weight: 800;
  padding: 0.6rem 1rem;
}

.dashboard-notice {
  color: #006d67;
  font-size: 1.4rem;
  font-weight: 800;
  margin-bottom: 1rem;
  min-height: 1.8rem;
}

.activity-list,
.messages-list,
.schedule-list,
.stat-bars {
  display: grid;
  gap: 1rem;
}

.activity-item,
.message-item,
.schedule-list article {
  background: #f7faf8;
  border: 0.1rem solid #dfe9e5;
  border-radius: 0.8rem;
  padding: 1.4rem;
}

.activity-item strong,
.message-item strong,
.schedule-list strong {
  color: #102224;
  display: block;
  font-size: 1.4rem;
}

.activity-item span,
.message-item span,
.message-item p,
.schedule-list p,
.empty-state {
  color: #667274;
  font-size: 1.3rem;
  margin-top: 0.5rem;
}

.dashboard-form {
  display: grid;
  gap: 1.6rem;
  max-width: 64rem;
}

.dashboard-form label {
  color: #102224;
  display: grid;
  font-size: 1.4rem;
  font-weight: 800;
  gap: 0.7rem;
}

.dashboard-form input,
.dashboard-form select,
.dashboard-form textarea {
  background: #f7faf8;
  border: 0.1rem solid #d9e4df;
  border-radius: 0.8rem;
  color: #102224;
  font-size: 1.5rem;
  padding: 1.3rem;
  resize: vertical;
  text-transform: none;
}

.settings-row {
  align-items: center;
  display: flex;
  justify-content: space-between;
}

.settings-row strong {
  color: #102224;
  font-size: 1.7rem;
}

.settings-row p {
  color: #667274;
  font-size: 1.4rem;
  margin-top: 0.4rem;
}

.mini-btn.danger {
  background: #ffe9e3;
  border-color: #ffc6b8;
  color: #9b2f1e;
}

.boarder-settings-form { display:grid; gap:1.2rem; grid-template-columns:1fr 1fr; }
.boarder-settings-form>label { min-width:0; }
.settings-account-status { align-items:center; background:#f4f8f6; border:.1rem solid #d9e4df; border-radius:.8rem; display:flex; grid-column:1/-1; justify-content:space-between; padding:1.3rem; }
.settings-account-status strong { color:#102224; font-size:1.4rem; }.settings-account-status p { color:#168263; margin-top:.3rem; }.settings-account-status>span { color:#168263; font-weight:700; }
.settings-check { align-items:center; background:#f4f8f6; border:.1rem solid #d9e4df; border-radius:.7rem; cursor:pointer; display:flex !important; flex-direction:row !important; gap:.8rem; padding:1rem; }
.settings-check input { accent-color:#ff5349; width:auto !important; }
.settings-actions { display:flex; gap:.8rem; grid-column:1/-1; }
.account-form-status { color:#168263; font-size:1.2rem; grid-column:1/-1; min-height:1.7rem; }
.role-client .boarder-settings-form .settings-account-status,.role-client .boarder-settings-form .settings-check { background:#252525; border-color:rgba(255,255,255,.12); }
.role-client .boarder-settings-form .settings-account-status strong,.role-client .boarder-settings-form .settings-check { color:#fff; }
@media(max-width:650px){.boarder-settings-form{grid-template-columns:1fr}.settings-account-status,.settings-actions,.account-form-status{grid-column:auto}.settings-account-status{align-items:flex-start;flex-direction:column;gap:.7rem}}

.stat-bars article {
  display: grid;
  gap: 0.8rem;
}

.stat-bars span {
  color: #102224;
  font-size: 1.4rem;
  font-weight: 800;
}

.stat-bars div {
  background: #edf3ef;
  border-radius: 999px;
  height: 1rem;
  overflow: hidden;
}

.stat-bars i {
  background: linear-gradient(90deg, #006d67, #ffb835);
  display: block;
  height: 100%;
}

.reservation-page {
  background: #111;
  min-height: 100vh;
}

.reservation-page * {
  text-transform: none;
}

.reservation-main {
  padding-bottom: 6rem;
}

.reservation-hero {
  align-items: center;
  background: linear-gradient(rgba(17, 17, 17, 0.7), rgba(17, 17, 17, 0.7)), url("../../images/roxas-city-capiz-background.png") center/cover no-repeat;
  border-radius: 1rem;
  color: #fff;
  display: flex;
  flex-direction: column;
  justify-content: center;
  margin: 9rem auto 0;
  min-height: 38rem;
  padding: 5rem 2rem 8rem;
  text-align: center;
  width: 90%;
}

.reservation-hero span {
  color: transparent;
  -webkit-text-stroke: 0.1rem #fff;
  display: block;
  font-size: clamp(3rem, 6vw, 6rem);
  font-weight: 800;
}

.reservation-hero h1 {
  color: #fff;
  font-size: clamp(3rem, 5vw, 5.6rem);
  line-height: 1.05;
  margin-top: 0.8rem;
}

.reservation-hero p {
  color: #aaa;
  font-size: 1.5rem;
  line-height: 1.8;
  margin-top: 1rem;
  max-width: 72rem;
}

.reservation-shell {
  display: grid;
  gap: 2rem;
  grid-template-columns: minmax(28rem, 0.9fr) minmax(32rem, 1.1fr);
  margin: -5rem auto 0;
  position: relative;
  width: min(118rem, 86%);
  z-index: 2;
}

.reservation-summary,
.reservation-form-card {
  background: #222;
  border: 0.1rem solid rgba(255, 255, 255, 0.12);
  border-radius: 1rem;
  box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.35);
  overflow: hidden;
}

.reservation-summary img {
  display: block;
  height: 28rem;
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
}

.reservation-summary div {
  padding: 2.4rem;
}

.reservation-summary span {
  color: #FF5349;
  display: block;
  font-size: 1.4rem;
  font-weight: 800;
  margin-bottom: 0.6rem;
}

.reservation-summary h2,
.reservation-form-card h2 {
  color: #fff;
  font-size: 2.6rem;
  line-height: 1.2;
}

.reservation-summary p,
.reservation-message {
  color: #aaa;
  font-size: 1.4rem;
  line-height: 1.8;
  margin-top: 1rem;
}

.reservation-message a {
  color: #FF5349;
  font-weight: 800;
}

.reservation-facts {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr));
  margin-top: 2rem;
  padding: 0 !important;
}

.reservation-facts strong {
  background: #191919;
  border: 0.1rem solid rgba(255, 255, 255, 0.12);
  border-radius: 0.8rem;
  color: #fff;
  font-size: 1.4rem;
  padding: 1.2rem;
}

.reservation-form-card {
  padding: 2.6rem;
}

.reservation-form {
  display: grid;
  gap: 1.5rem;
  margin-top: 1.5rem;
}

.reservation-fields {
  display: grid;
  gap: 1.5rem;
  grid-template-columns: repeat(2, 1fr);
}

.reservation-form label {
  color: #fff;
  display: grid;
  font-size: 1.4rem;
  font-weight: 800;
  gap: 0.8rem;
}

.reservation-form input,
.reservation-form textarea {
  background: transparent;
  border: 0.2rem solid #FF5349;
  border-radius: 1rem;
  color: #fff;
  font-size: 1.5rem;
  padding: 1.2rem 1.4rem;
  resize: vertical;
}

.reservation-form input::-moz-placeholder, .reservation-form textarea::-moz-placeholder {
  color: #aaa;
}

.reservation-form input::placeholder,
.reservation-form textarea::placeholder {
  color: #aaa;
}

.reservation-form input.input-error,
.reservation-form textarea.input-error {
  border-color: #ffb4ad;
  box-shadow: 0 0 0 0.25rem rgba(255, 83, 73, 0.18);
}

.reservation-form .field-error {
  color: #ffb4ad;
  display: none;
  font-size: 1.2rem;
  font-weight: 700;
  margin: -0.2rem 0 0;
  text-transform: none;
}

.reservation-form .field-error.show {
  display: block;
}

.reservation-form.disabled {
  opacity: 0.58;
}

.reservation-form .btn {
  border-color: #FF5349;
  justify-content: center;
  margin-top: 0.5rem;
  width: 100%;
}

@media (max-width: 1100px) {
  .dashboard-shell {
    grid-template-columns: 1fr;
  }
  .dashboard-sidebar {
    height: auto;
    position: static;
  }
  .dashboard-nav {
    grid-template-columns: repeat(2, 1fr);
  }
  .dashboard-grid,
  .dashboard-profile-card {
    grid-template-columns: 1fr;
  }
  .dashboard-profile-card {
    align-items: stretch;
    flex-direction: column;
  }
  .admin-dashboard-modules {
    grid-template-columns: 1fr;
  }
  .admin-module-grid {
    grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr));
  }
}
@media (max-width: 768px) {
  .results-hero {
    align-items: flex-start;
    flex-direction: column;
    margin-top: 8rem;
    padding: 5rem 2rem 3rem;
  }
  .nearby-section,
  .dashboard-main {
    padding-left: 2rem;
    padding-right: 2rem;
  }
  .results-summary,
  .settings-row {
    align-items: flex-start;
    flex-direction: column;
  }
  .nearby-card {
    grid-template-columns: 1fr;
  }
  .dashboard-stats,
  .quick-actions,
  .profile-card-meta {
    grid-template-columns: 1fr;
  }
  .dashboard-nav {
    grid-template-columns: 1fr;
  }
  .admin-dashboard-modules .card-heading {
    align-items: flex-start;
    flex-direction: column;
  }
  .workflow-status {
    border-radius: 0.8rem;
    text-align: left;
  }
  .admin-form-row,
  .admin-record-item {
    grid-template-columns: 1fr;
  }
  .saved-record-heading {
    align-items: flex-start;
    flex-direction: column;
  }
  .admin-record-actions {
    justify-content: flex-start;
  }
  .profile-card-main {
    align-items: flex-start;
    flex-direction: column;
  }
  .reservation-shell,
  .reservation-fields {
    grid-template-columns: 1fr;
  }
  .reservation-shell {
    width: 92%;
  }
}

/* ================= HOMEPAGE COLOR MATCHING ================= */
.destination-results-page {
  background: #111;
  color: #fff;
}

.destination-results-page .header {
  background: #222;
  box-shadow: 0 0.8rem 2.5rem rgba(0, 0, 0, 0.25);
}

.destination-results-page .header .navbar a {
  color: #aaa;
}

.destination-results-page .header .navbar a:hover {
  color: #FF5349;
}

.destination-results-page .user-auth :is(.login-btn-modal, .register-btn-modal) {
  border-color: #FF5349;
  color: #FF5349;
}

.destination-results-page .user-auth :is(.login-btn-modal, .register-btn-modal):hover {
  background: #FF5349;
  color: #111;
}

.nearby-section {
  background: #111;
}

.results-summary h2,
.nearby-content h2 {
  color: #fff;
}

.results-summary p,
.nearby-content p,
.nearby-meta span {
  color: #aaa;
}

.nearby-card {
  background: #222;
  border-color: rgba(255, 255, 255, 0.12);
}

.nearby-meta span,
.nearby-tags span {
  background: #191919;
  border-color: rgba(255, 255, 255, 0.12);
  color: #aaa;
}

.nearby-actions .btn,
.nearby-actions button,
.results-actions .btn {
  background: transparent;
  border-color: #FF5349;
  color: #FF5349;
}

.nearby-actions .btn:hover,
.nearby-actions button:hover,
.results-actions .btn:hover {
  background: #FF5349;
  border-color: #FF5349;
  color: #111;
}

.nearby-actions button:disabled,
.nearby-actions button:disabled:hover {
  background: #191919;
  border-color: rgba(255, 255, 255, 0.12);
  color: #777;
}

.nearby-section.destination .nearby-results {
  grid-template-columns: repeat(auto-fit, minmax(27rem, 1fr));
}

.nearby-section.destination .nearby-card {
  background: #222;
  border: none;
  border-radius: 1rem;
  display: block;
  min-height: 0;
  overflow: hidden;
}

.nearby-section.destination .nearby-card:hover img {
  transform: scale(1.045);
}

.nearby-section.destination .nearby-image {
  height: 20rem;
  min-height: 0;
  overflow: hidden;
  width: 100%;
}

.nearby-section.destination .nearby-image a {
  display: block;
  height: 100%;
}

.nearby-section.destination .nearby-content {
  display: block;
  padding: 2rem;
  text-align: center;
}

.nearby-section.destination .nearby-content h3 {
  color: #fff;
  font-size: 2rem;
}

.nearby-section.destination .nearby-content p {
  color: #aaa;
  font-size: 1.4rem;
  line-height: 2;
  padding: 1rem 0;
}

.nearby-section.destination .nearby-content a {
  color: #FF5349;
  font-size: 1.7rem;
}

.nearby-section.destination .nearby-content i {
  padding-right: 0.5rem;
}
.nearby-section.destination .nearby-card { transition:border-color .25s ease,box-shadow .25s ease,transform .25s ease; }
.nearby-section.destination .nearby-card:hover { box-shadow:0 1.8rem 4rem rgba(0,0,0,.34); transform:translateY(-.5rem); }
.nearby-section.destination .nearby-image img { transition:transform .35s ease; }
.nearby-section.destination .destination-result-footer a i { transition:transform .2s ease; }
.nearby-section.destination .destination-result-footer a:hover i { padding-left:0; transform:translateX(.35rem); }
.nearby-section.destination .destination-result-card { text-align:left; }
.nearby-section.destination .destination-result-card .nearby-content { padding:1.6rem; text-align:left; }
.destination-result-title { align-items:flex-start; display:flex; gap:1rem; justify-content:space-between; }
.destination-result-title small { color:#FF5349; font-size:.9rem; font-weight:600; letter-spacing:.08em; text-transform:uppercase; }
.nearby-section.destination .destination-result-title h3 { font-size:1.45rem; line-height:1.35; margin-top:.25rem; }
.destination-result-title>strong { color:#FF5349; flex:0 0 auto; font-size:1.4rem; }
.destination-result-title>strong em { color:#777; font-size:.8rem; font-style:normal; font-weight:400; }
.nearby-section.destination .nearby-content .destination-result-address { font-size:.95rem; line-height:1.6; padding:.8rem 0 1rem; }
.destination-result-address i { color:#FF5349; }
.destination-result-tags { display:flex; flex-wrap:wrap; gap:.6rem; }
.destination-result-tags span { background:#191919; border:.1rem solid rgba(255,255,255,.08); border-radius:.6rem; color:#999; font-size:.85rem; padding:.6rem .75rem; }
.destination-result-tags i { color:#62db9a; }
.destination-result-footer { align-items:center; border-top:.1rem solid rgba(255,255,255,.08); display:flex; justify-content:space-between; margin-top:1.3rem; padding-top:1.2rem; }
.destination-result-footer>span { color:#ffb835; font-size:1rem; }
.destination-result-footer>span small { color:#777; }
.nearby-section.destination .destination-result-footer>a { font-size:1rem; font-weight:600; }
@media(max-width:760px){.destination-filter-bar{grid-template-columns:1fr}.destination-results-view{display:none}}

.empty-results {
  background: #222;
  border-radius: 1rem;
  color: #fff;
  grid-column: 1 / -1;
  padding: 3rem;
  text-align: center;
}

.empty-results h2 {
  font-size: 2.4rem;
}

.empty-results p {
  color: #aaa;
  font-size: 1.4rem;
  margin-top: 1rem;
}

/* ================= ADMIN ACCOUNT SYSTEM ================= */
.admin-system-page .results-hero {
  min-height: 36rem;
}

.admin-summary {
  align-items: center;
  background: #222;
  border: 0.1rem solid rgba(255, 255, 255, 0.12);
  border-radius: 1rem;
  display: flex;
  flex-direction: column;
  min-width: 18rem;
  padding: 2rem;
}

.admin-summary strong {
  color: #ff5349;
  font-size: 4rem;
}

.admin-summary span {
  color: #aaa;
  font-size: 1.3rem;
}

.admin-account-card .nearby-image {
  border: 0;
  cursor: pointer;
  padding: 0;
}

.admin-account-card .nearby-image img {
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.admin-account-card .account-badge {
  display: inline-block;
  margin-bottom: 1rem;
}

.account-status-dot {
  color: #42d885;
  font-size: 0.8rem;
}

.admin-account-link {
  background: transparent;
  border: 0;
  color: #ff5349;
  cursor: pointer;
  font-size: 1.6rem;
  margin-top: 0.5rem;
}

.account-detail-modal {
  align-items: center;
  background: rgba(0, 0, 0, 0.82);
  display: none;
  inset: 0;
  justify-content: center;
  padding: 2rem;
  position: fixed;
  z-index: 2000;
}

.account-detail-modal.active {
  display: flex;
}

.account-detail-panel {
  background: #1c1c1c;
  border: 0.1rem solid rgba(255, 255, 255, 0.13);
  border-radius: 1.4rem;
  color: #fff;
  max-height: 92vh;
  max-width: 82rem;
  overflow-y: auto;
  padding: 3rem;
  position: relative;
  width: 100%;
}

.account-detail-close {
  background: #ff5349;
  border: 0;
  border-radius: 50%;
  color: #111;
  cursor: pointer;
  font-size: 1.8rem;
  height: 4rem;
  position: absolute;
  right: 2rem;
  top: 2rem;
  width: 4rem;
}

.account-detail-profile {
  align-items: center;
  display: flex;
  gap: 2rem;
  padding-right: 5rem;
}

.account-detail-profile img {
  border-radius: 1rem;
  height: 13rem;
  object-fit: cover;
  width: 13rem;
}

.account-detail-profile h2 {
  font-size: 2.8rem;
  margin: 0.8rem 0;
}

.account-detail-profile p {
  color: #aaa;
  font-size: 1.4rem;
  line-height: 1.8;
}

.account-track-grid {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 2.5rem 0;
}

.account-track-grid article {
  background: #252525;
  border-radius: 0.8rem;
  padding: 1.5rem;
}

.account-track-grid strong,
.account-track-grid span {
  display: block;
}

.account-track-grid strong {
  color: #ff5349;
  font-size: 1.8rem;
  overflow-wrap: anywhere;
}

.account-track-grid span {
  color: #aaa;
  font-size: 1.2rem;
  margin-top: 0.5rem;
}

.admin-account-message h3 {
  font-size: 2rem;
  margin-bottom: 1rem;
}

.admin-account-message textarea {
  background: #252525;
  border: 0.1rem solid rgba(255, 255, 255, 0.13);
  border-radius: 0.8rem;
  color: #fff;
  font-size: 1.5rem;
  margin-bottom: 1rem;
  padding: 1.2rem;
  resize: vertical;
  width: 100%;
}

@media (max-width: 720px) {
  .account-track-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .account-detail-profile {
    align-items: flex-start;
    flex-direction: column;
  }
}

/* ================= BOARDER RESERVATION DASHBOARD ================= */
.boarder-reservation-dashboard {
  display: none;
}

.role-client .dashboard-shell {
  display: block;
}

/* Remove the retired light dashboard sidebar from Boarder subpages. */
.role-client .dashboard-sidebar {
  display: none;
}

.role-client:not([data-dashboard-page="dashboard"]) .dashboard-main {
  padding: 2.2rem;
}

.professional-bookings-page { margin: 0 auto; max-width: 128rem; }
.professional-page-heading { align-items: flex-end; display: flex; justify-content: space-between; margin-bottom: 2rem; }
.professional-page-heading > div:first-child > span { color: #ff5349; font-size: 1rem; font-weight: 800; letter-spacing: .12em; }
.professional-page-heading h1 { color: #17191d; font-size: 2.8rem; margin: .4rem 0; }
.professional-page-heading p { color: #747b84; font-size: 1.1rem; }
.professional-page-heading > div:last-child { display: flex; gap: .8rem; }
.professional-page-heading a { border-radius: .7rem; font-size: 1rem; font-weight: 700; padding: 1rem 1.2rem; text-decoration: none; }
.booking-back { background: #fff; border: .1rem solid #dce1e7; color: #424952; }
.booking-find { background: #ff5349; border: .1rem solid #ff5349; color: #fff; }
.professional-booking-card { background: #fff; border: .1rem solid #e0e4e9; border-radius: 1.4rem; box-shadow: 0 .5rem 2rem rgba(25,32,45,.06); overflow: hidden; }
.professional-booking-property { align-items: center; display: grid; gap: 1.5rem; grid-template-columns: 10rem 1fr auto; padding: 2rem; }
.professional-booking-property img { border-radius: 1rem; height: 8rem; object-fit: cover; width: 10rem; }
.professional-booking-property small { color: #8a9098; font-size: .9rem; font-weight: 700; text-transform: uppercase; }
.professional-booking-property h2 { color: #17191d; font-size: 1.75rem; margin: .35rem 0 .55rem; }
.professional-booking-property p { color: #777f88; font-size: 1rem; }
.professional-booking-property p i { color: #ff5349; margin-right: .35rem; }
.professional-booking-status { background: #e8f8ef; border-radius: 99rem; color: #218a50; font-size: .95rem; font-weight: 800; padding: .7rem 1rem; }
.professional-booking-details { background: #f8f9fb; border-bottom: .1rem solid #e6e9ed; border-top: .1rem solid #e6e9ed; display: grid; grid-template-columns: repeat(4, 1fr); }
.professional-booking-details > div { align-items: center; border-right: .1rem solid #e6e9ed; display: flex; gap: 1rem; padding: 1.6rem 2rem; }
.professional-booking-details > div:last-child { border-right: 0; }
.professional-booking-details i { color: #ff5349; font-size: 1.35rem; }
.professional-booking-details small,
.professional-booking-details strong { display: block; }
.professional-booking-details small { color: #8a9098; font-size: .9rem; margin-bottom: .25rem; }
.professional-booking-details strong { color: #22272d; font-size: 1.05rem; }
.professional-booking-footer { align-items: center; display: flex; justify-content: space-between; padding: 1.4rem 2rem; }
.professional-booking-footer small,
.professional-booking-footer strong { display: block; }
.professional-booking-footer small { color: #8a9098; font-size: .85rem; }
.professional-booking-footer strong { color: #353b43; font-size: 1rem; margin-top: .2rem; }
.professional-booking-footer a { background: #202328; border-radius: .7rem; color: #fff; font-size: .95rem; font-weight: 700; padding: .9rem 1.1rem; text-decoration: none; }
.professional-booking-history { margin-top: 1.8rem; }
.professional-booking-history .card-heading p { color: #828890; font-size: 1rem; margin-top: .3rem; }

/* Professional dark treatment for the Boarder My Bookings workspace. */
.role-client .professional-page-heading h1 { color: #fff; }
.role-client .professional-page-heading p { color: #8e949c; }
.role-client .booking-back { background: #25282d; border-color: rgba(255,255,255,.1); color: #fff; }
.role-client .professional-booking-card,
.role-client .professional-booking-history { background: #1c1e22; border-color: rgba(255,255,255,.09); box-shadow: 0 .7rem 2.4rem rgba(0,0,0,.18); }
.role-client .professional-booking-property small { color: #7f8790; }
.role-client .professional-booking-property h2 { color: #fff; }
.role-client .professional-booking-property p { color: #949ba4; }
.role-client .professional-booking-status { background: rgba(101,209,154,.11); border: .1rem solid rgba(101,209,154,.18); color: #65d19a; }
.role-client .professional-booking-status.is-empty { background: rgba(255,184,74,.1); border-color: rgba(255,184,74,.18); color: #ffb84a; }
.role-client .professional-booking-details { background: #181a1e; border-color: rgba(255,255,255,.08); }
.role-client .professional-booking-details > div { border-color: rgba(255,255,255,.08); }
.role-client .professional-booking-details small { color: #7f8790; }
.role-client .professional-booking-details strong { color: #fff; }
.role-client .professional-booking-footer small { color: #7f8790; }
.role-client .professional-booking-footer strong { color: #e7e9eb; }
.role-client .professional-booking-footer a { background: #ff5349; color: #fff; }
.role-client .professional-booking-history .card-heading h2 { color: #fff; }
.role-client .professional-booking-history .card-heading p { color: #858c95; }
.role-client .professional-booking-history .table-wrap { border: .1rem solid rgba(255,255,255,.08); border-radius: 1rem; margin-top: 1.5rem; overflow: hidden; }
.role-client .professional-booking-history table { background: #181a1e; border-collapse: collapse; width: 100%; }
.role-client .professional-booking-history th { background: #202328; border-bottom: .1rem solid rgba(255,255,255,.09); color: #8f969f; font-size: .85rem; letter-spacing: .04em; padding: 1.1rem 1.3rem; }
.role-client .professional-booking-history td { border-bottom: .1rem solid rgba(255,255,255,.07); color: #e3e5e7; padding: 1.2rem 1.3rem; }
.professional-empty-booking td { padding: 0 !important; }
.professional-empty-booking td > div { align-items: center; display: flex; flex-direction: column; padding: 4rem 2rem; text-align: center; }
.professional-empty-booking i { align-items: center; background: rgba(255,83,73,.1); border-radius: 1rem; color: #ff6159; display: flex; font-size: 1.8rem; height: 5rem; justify-content: center; margin-bottom: 1rem; width: 5rem; }
.professional-empty-booking strong { color: #fff; font-size: 1.2rem; }
.professional-empty-booking span { color: #7f8790; font-size: .9rem; margin: .4rem 0 1.2rem; }
.professional-empty-booking a { background: #ff5349; border-radius: .7rem; color: #fff; font-size: .9rem; font-weight: 700; padding: .85rem 1rem; text-decoration: none; }

/* Boarder dashboard colors aligned with the BoardEase homepage. */
.role-client .boarder-dashboard-intro {
  background: linear-gradient(135deg, #1c1e22 0%, #202328 100%);
  border-color: rgba(255,255,255,.09);
  box-shadow: 0 .8rem 2.6rem rgba(0,0,0,.18);
  color: #fff;
}

.role-client .boarder-dashboard-intro::before {
  background: #ff5349;
  content: "";
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: .45rem;
}

.role-client .boarder-dashboard-intro::after {
  background: #ff5349;
  opacity: .08;
}

.role-client .boarder-dashboard-intro p { color: #ff6b63; }
.role-client .boarder-dashboard-intro h1 { color: #fff; }
.role-client .boarder-dashboard-intro > div > span { color: #a1a7af; }
.role-client .boarder-dashboard-intro > a { background: #ff5349; box-shadow: 0 .5rem 1.4rem rgba(255,83,73,.2); color: #fff; }
.role-client .boarder-dashboard-intro > a:hover { background: #ff675f; transform: translateY(-.1rem); }

.role-client .boarder-summary-cards article {
  background: #1c1e22;
  border-color: rgba(255,255,255,.09);
  box-shadow: 0 .6rem 2rem rgba(0,0,0,.16);
  min-height: 9rem;
  transition: border-color .2s ease, transform .2s ease;
}

.role-client .boarder-summary-cards article:hover {
  border-color: rgba(255,83,73,.4);
  transform: translateY(-.2rem);
}

.role-client .boarder-summary-cards article > i {
  background: rgba(255,83,73,.12);
  border: .1rem solid rgba(255,83,73,.16);
  color: #ff6159;
}

.role-client .boarder-summary-cards small { color: #8f969f; }
.role-client .boarder-summary-cards strong { color: #fff; }

/* Refined profile and booking cards on the Boarder dashboard. */
.role-client .boarder-profile-panel,
.role-client .boarder-booking-panel { border-color: rgba(255,255,255,.09); box-shadow: 0 .7rem 2.4rem rgba(0,0,0,.18); }
.role-client .boarder-profile-panel .modern-card-heading,
.role-client .boarder-booking-panel .modern-card-heading { border-bottom: .1rem solid rgba(255,255,255,.08); margin: -2.1rem -2.1rem 1.8rem; padding: 1.5rem 2.1rem; }
.role-client .boarder-profile-panel .modern-card-heading h2,
.role-client .boarder-booking-panel .modern-card-heading h2 { font-size: 1.45rem; }
.role-client .boarder-profile-head { padding: .2rem 0 .5rem; }
.role-client .boarder-profile-head h3 { font-size: 1.5rem; }
.role-client .boarder-profile-panel h4 { color: #e0e2e5; font-size: .95rem; letter-spacing: .02em; }
.role-client .boarder-contact-row { gap: 1rem; }
.role-client .boarder-contact-row span { align-items: flex-start; background: rgba(255,255,255,.035); border-radius: .7rem; display: flex; min-width: 0; padding: .8rem; }
.role-client .boarder-contact-row b { overflow-wrap: anywhere; }
.role-client .boarder-personal-grid > div { background: rgba(255,255,255,.035); border-radius: .7rem; padding: .8rem; }
.role-client .boarder-booking-panel { overflow: hidden; }
.role-client .booking-info-main { min-width: 0; }
.role-client .boarder-booking-facts { background: #181a1e; border: .1rem solid rgba(255,255,255,.07); border-radius: .8rem; overflow: hidden; }
.role-client .boarder-booking-facts > div { padding: 1rem; }
.role-client .boarder-amenities span { background: rgba(255,255,255,.035); border-radius: .65rem; padding: .75rem; }
.role-client .boarder-room-summary { background: #181a1e; border-left: .1rem solid rgba(255,255,255,.08); border-radius: 0 .9rem .9rem 0; padding: 1.4rem; }
.role-client .boarder-room-summary img { border: .1rem solid rgba(255,255,255,.08); border-radius: .9rem; }
.role-client .boarder-room-summary dl div { border-color: rgba(255,255,255,.07); }
.boarder-booking-empty { align-items: center; background: #181a1e; border: .1rem dashed rgba(255,255,255,.14); border-radius: 1rem; display: grid; gap: 1.2rem; grid-template-columns: auto 1fr auto; margin-top: 1rem; padding: 1.6rem; }
.boarder-booking-empty[hidden] { display: none; }
.boarder-booking-empty > span { align-items: center; background: rgba(255,83,73,.11); border-radius: .8rem; color: #ff6159; display: flex; font-size: 1.4rem; height: 4.5rem; justify-content: center; width: 4.5rem; }
.boarder-booking-empty h3 { color: #fff; font-size: 1.15rem; }
.boarder-booking-empty p { color: #818890; font-size: .88rem; line-height: 1.45; margin-top: .3rem; }
.boarder-booking-empty a { background: #ff5349; border-radius: .7rem; color: #fff; font-size: .9rem; font-weight: 700; padding: .9rem 1rem; text-decoration: none; white-space: nowrap; }
.role-client .boarder-booking-panel.is-empty { grid-template-columns: 1fr; }
.role-client .boarder-booking-panel.is-empty .boarder-booking-facts,
.role-client .boarder-booking-panel.is-empty .boarder-amenities,
.role-client .boarder-booking-panel.is-empty .boarder-room-summary { display: none; }
.role-client .boarder-booking-panel.is-empty .confirmed-pill { background: rgba(255,184,74,.1); color: #ffb84a; }

@media (max-width: 650px) {
  .boarder-booking-empty { align-items: flex-start; grid-template-columns: auto 1fr; }
  .boarder-booking-empty a { grid-column: 1 / -1; text-align: center; }
}

@media (max-width: 800px) {
  .professional-page-heading { align-items: flex-start; flex-direction: column; gap: 1.3rem; }
  .professional-page-heading > div:last-child { flex-wrap: wrap; }
  .professional-booking-property { grid-template-columns: 7rem 1fr; }
  .professional-booking-property img { height: 6rem; width: 7rem; }
  .professional-booking-status { grid-column: 1 / -1; justify-self: start; }
  .professional-booking-details { grid-template-columns: repeat(2, 1fr); }
  .professional-booking-details > div:nth-child(2) { border-right: 0; }
  .professional-booking-details > div:nth-child(-n+2) { border-bottom: .1rem solid #e6e9ed; }
}

@media (max-width: 520px) {
  .role-client:not([data-dashboard-page="dashboard"]) .dashboard-main { padding: 1.2rem; }
  .professional-booking-details { grid-template-columns: 1fr; }
  .professional-booking-details > div { border-bottom: .1rem solid #e6e9ed; border-right: 0; }
  .professional-booking-footer { align-items: flex-start; flex-direction: column; gap: 1rem; }
}

.role-client[data-dashboard-page="dashboard"] .dashboard-sidebar,
.role-client[data-dashboard-page="dashboard"] .dashboard-profile-card,
.role-client[data-dashboard-page="dashboard"] .dashboard-stats,
.role-client[data-dashboard-page="dashboard"] .quick-actions,
.role-client[data-dashboard-page="dashboard"] .dashboard-panel {
  display: none;
}

.role-client .dashboard-main {
  background: #f3f5f8;
  min-height: 100vh;
  padding: 0;
}

.role-client .boarder-reservation-dashboard {
  display: grid;
  gap: 1.8rem 2.2rem;
  grid-template-columns: 25rem minmax(0, 1fr);
  margin: 0;
  max-width: none;
  min-height: 100vh;
  padding: 2.2rem 2.2rem 2.2rem 0;
}

.boarder-dashboard-header {
  align-items: stretch;
  background: #17191d;
  border: 0;
  border-radius: 0 1.6rem 1.6rem 0;
  display: flex;
  flex-direction: column;
  grid-row: 1 / span 4;
  justify-content: flex-start;
  margin: -2.2rem 0;
  min-height: 100vh;
  padding: 2.4rem 1.7rem;
}

.boarder-dashboard-header img {
  height: 5rem;
  object-fit: contain;
  width: 14rem;
}

.boarder-sidebar-brand { border-bottom: .1rem solid rgba(255,255,255,.09); padding: 0 .5rem 2rem; }
.boarder-sidebar-brand > span { color: #777f89; display: block; font-size: .95rem; font-weight: 700; letter-spacing: .13em; margin: .2rem 0 0 1rem; text-transform: uppercase; }
.boarder-sidebar-user { align-items: center; background: rgba(255,255,255,.055); border-radius: 1rem; display: flex; gap: 1rem; margin: 2rem 0; padding: 1.1rem; }
.boarder-sidebar-user > span { align-items: center; background: #ff5349; border-radius: .8rem; color: #fff; display: flex; font-size: 1.35rem; font-weight: 800; height: 4.2rem; justify-content: center; width: 4.2rem; }
.boarder-sidebar-user strong,
.boarder-sidebar-user small { display: block; }
.boarder-sidebar-user strong { color: #fff; font-size: 1.1rem; }
.boarder-sidebar-user small { color: #8e949c; font-size: .9rem; margin-top: .25rem; }

.boarder-dashboard-header nav {
  display: flex;
  flex-direction: column;
  gap: .5rem;
}

.boarder-dashboard-header nav a {
  align-items: center;
  border-radius: .8rem;
  color: #9da3ab;
  display: flex;
  font-size: 1.08rem;
  gap: 1rem;
  padding: 1.05rem 1.1rem;
  text-decoration: none;
}

.boarder-dashboard-header nav a i { font-size: 1.15rem; text-align: center; width: 1.8rem; }

.boarder-dashboard-header nav a:hover {
  color: #ff5349;
}

.boarder-dashboard-header nav a.active { background: #ff5349; color: #fff; font-weight: 700; }

.boarder-dashboard-header button {
  background: transparent;
  border: 0;
  border-radius: .8rem;
  color: #9da3ab;
  cursor: pointer;
  font-size: 1.08rem;
  margin-top: .5rem;
  padding: 1.05rem 1.1rem;
  text-align: left;
  transition: background .2s ease, color .2s ease;
}

.boarder-dashboard-header button i { margin-right: 1rem; text-align: center; width: 1.8rem; }
.boarder-dashboard-header button:hover { background: rgba(255,83,73,.1); color: #ff6159; }

.boarder-dashboard-intro {
  align-items: center;
  background: #fff;
  border: .1rem solid #e1e5ea;
  border-radius: 1.2rem;
  color: #17191d;
  display: flex;
  justify-content: space-between;
  margin-bottom: 0;
  overflow: hidden;
  padding: 2.4rem 2.6rem;
  position: relative;
}

.boarder-dashboard-intro::after {
  background: #ff5349;
  border-radius: 50%;
  content: "";
  height: 14rem;
  opacity: .08;
  position: absolute;
  right: 8rem;
  top: -7rem;
  width: 14rem;
}

.boarder-dashboard-intro p { color: #ff736b; font-size: 1.1rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.boarder-dashboard-intro h1 { font-size: 2.45rem; margin: .45rem 0; }
.boarder-dashboard-intro > div > span { color: #747b84; font-size: 1.08rem; }
.boarder-dashboard-intro > a { background: #ff5349; border-radius: .7rem; color: #111; font-size: 1.15rem; font-weight: 800; padding: 1rem 1.3rem; position: relative; text-decoration: none; z-index: 1; }
.boarder-dashboard-intro > a i { margin-right: .5rem; }

.boarder-summary-cards {
  display: grid;
  gap: 1.4rem;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-bottom: 0;
}

.boarder-summary-cards article {
  align-items: center;
  background: #fff;
  border: .1rem solid #dfe3e8;
  border-radius: 1rem;
  display: flex;
  gap: 1rem;
  padding: 1.5rem;
}

.boarder-summary-cards article > i { align-items: center; background: rgba(255,83,73,.12); border-radius: .8rem; color: #ff5349; display: flex; font-size: 1.5rem; height: 4.3rem; justify-content: center; width: 4.3rem; }
.boarder-summary-cards small,
.boarder-summary-cards strong { display: block; }
.boarder-summary-cards small { color: #81868d; font-size: 1rem; margin-bottom: .35rem; }
.boarder-summary-cards strong { color: #1d2126; font-size: 1.3rem; }

.boarder-topbar {
  align-items: center;
  display: flex;
  justify-content: space-between;
  margin-bottom: 1.8rem;
}

.boarder-tabs {
  align-items: center;
  background: #eff1f4;
  border-radius: 0.8rem;
  display: flex;
  gap: 0.3rem;
  padding: 0.3rem;
}

.boarder-tabs a,
.boarder-tabs button {
  background: transparent;
  border: 0;
  border-radius: 0.7rem;
  color: #687078;
  cursor: pointer;
  font-size: 1.35rem;
  padding: 1rem 1.5rem;
  text-decoration: none;
}

.boarder-tabs .active {
  background: #fff;
  box-shadow: 0 0.2rem 0.8rem rgba(31, 41, 55, 0.08);
  color: #1a2027;
}

.boarder-tabs span {
  background: #fff;
  border-radius: 999px;
  font-size: 1rem;
  margin-left: 0.4rem;
  padding: 0.2rem 0.6rem;
}

.boarder-top-actions {
  display: flex;
  gap: 1rem;
}

.boarder-top-actions button {
  border-radius: 0.7rem;
  cursor: pointer;
  font-size: 1.3rem;
  padding: 1rem 1.6rem;
}

.outline-danger {
  background: #fff;
  border: 0.1rem solid #dc5264;
  color: #b52f43;
}

.primary-blue {
  background: linear-gradient(180deg, #5d9df5, #397bdc);
  border: 0.1rem solid #397bdc;
  color: #fff;
}

.boarder-overview-grid,
.boarder-lower-grid {
  display: grid;
  gap: 1.6rem;
}

.boarder-overview-grid {
  grid-template-columns: minmax(28rem, 0.75fr) minmax(52rem, 1.3fr);
}

.boarder-lower-grid {
  grid-template-columns: minmax(48rem, 1.15fr) minmax(34rem, 0.85fr);
  margin-top: 1.6rem;
}

.boarder-modern-card {
  background: #fff;
  border: 0.1rem solid #dfe3e8;
  border-radius: 1.2rem;
  box-shadow: 0 .4rem 1.8rem rgba(25, 32, 45, .045);
  padding: 2.1rem;
}

.modern-card-heading {
  align-items: flex-start;
  display: flex;
  justify-content: space-between;
}

.modern-card-heading h2 {
  color: #15191e;
  font-size: 1.8rem;
}

.modern-card-heading p {
  color: #8a929c;
  font-size: 1.15rem;
  margin-top: 0.4rem;
}

.modern-card-heading button,
.modern-card-heading a {
  background: #fff;
  border: 0.1rem solid #dce1e7;
  border-radius: 0.7rem;
  color: #242b32;
  cursor: pointer;
  font-size: 1.25rem;
  padding: 0.8rem 1.1rem;
  text-decoration: none;
}

.boarder-profile-head {
  align-items: center;
  display: flex;
  gap: 1.4rem;
  margin-top: 1.2rem;
}

.boarder-profile-head > div:last-child {
  align-items: flex-start;
  display: flex;
  flex-direction: column;
}

.boarder-photo {
  align-items: center;
  background: linear-gradient(145deg, #29473c, #94b9a7);
  border-radius: 0.8rem;
  color: #fff;
  display: flex;
  font-size: 2.2rem;
  font-weight: 800;
  height: 6rem;
  justify-content: center;
  width: 6rem;
}

.boarder-profile-head h3 {
  color: #161a20;
  display: block;
  font-size: 1.7rem;
  margin: 0;
}

.boarder-profile-head p {
  color: #87909a;
  font-size: 1.15rem;
  margin-top: 0.5rem;
}

.vip-label {
  align-items: center;
  background: #f7f4e9;
  border: 0.1rem solid #e6dfc9;
  border-radius: 0.4rem;
  color: #7f7455;
  display: inline-flex;
  font-size: 1rem;
  gap: 0.4rem;
  margin-top: 0.45rem;
  padding: 0.35rem 0.55rem;
}

.vip-label i {
  font-size: 0.9rem;
  line-height: 1;
}

.boarder-modern-card hr {
  border: 0;
  border-top: 0.1rem solid #edf0f3;
  margin: 1.6rem 0;
}

.boarder-modern-card h4 {
  color: #777f88;
  font-size: 1.3rem;
  font-weight: 500;
  margin-bottom: 1.2rem;
}

.boarder-contact-row,
.boarder-personal-grid {
  display: grid;
  gap: 1rem;
}

.boarder-contact-row {
  grid-template-columns: 1fr 1.4fr;
}

.boarder-contact-row span {
  color: #20252b;
  font-size: 1.2rem;
  overflow-wrap: anywhere;
}

.boarder-contact-row i {
  color: #4b86d8;
  margin-right: 0.5rem;
}

.boarder-personal-grid {
  grid-template-columns: repeat(3, 1fr);
}

.boarder-personal-grid small,
.boarder-personal-grid strong {
  display: block;
}

.boarder-personal-grid small {
  color: #8b929b;
  font-size: 1.05rem;
}

.boarder-personal-grid strong {
  color: #20252a;
  font-size: 1.3rem;
  margin-top: 0.5rem;
}

.boarder-booking-panel {
  display: grid;
  gap: 2rem;
  grid-template-columns: minmax(0, 1.25fr) minmax(22rem, 0.8fr);
}

.confirmed-pill {
  background: #edf9f4;
  border-radius: 0.5rem;
  color: #16875f;
  font-size: 1.05rem;
  padding: 0.6rem 0.8rem;
}

.boarder-booking-facts {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  margin-top: 3rem;
}

.boarder-booking-facts > div {
  border-right: 0.1rem solid #edf0f2;
  padding-right: 1rem;
}

.boarder-booking-facts > div:last-child {
  border: 0;
}

.boarder-booking-facts small,
.boarder-booking-facts strong {
  display: block;
}

.boarder-booking-facts small {
  color: #8b939b;
  font-size: 1rem;
}

.boarder-booking-facts strong {
  color: #252a30;
  font-size: 1.25rem;
  margin-top: 0.7rem;
}

.green-dot {
  color: #3dbb8b;
  font-size: 0.55rem;
}

.orange-dot {
  color: #f4a049;
  font-size: 0.55rem;
}

.boarder-amenities {
  display: grid;
  gap: 1.4rem;
  grid-template-columns: repeat(2, 1fr);
  margin-top: 3rem;
}

.boarder-amenities span {
  color: #69717a;
  font-size: 1.25rem;
}

.boarder-amenities i {
  color: #4b86d8;
  margin-right: 0.7rem;
  width: 1.6rem;
}

.boarder-room-summary h3 {
  font-size: 1.35rem;
  margin-bottom: 1rem;
}

.boarder-room-summary img {
  border-radius: 0.8rem;
  height: 13.5rem;
  object-fit: cover;
  width: 100%;
}

.boarder-room-summary dl {
  margin-top: 1rem;
}

.boarder-room-summary dl div {
  display: flex;
  font-size: 1.15rem;
  justify-content: space-between;
  padding: 0.45rem 0;
}

.boarder-room-summary dt {
  color: #858d96;
}

.boarder-room-summary dd {
  color: #22272d;
  font-weight: 700;
}

.boarder-room-summary .total {
  font-size: 1.3rem;
  font-weight: 700;
}

.bill-count {
  background: #eff6ff;
  border-radius: 999px;
  color: #4977ad;
  font-size: 1rem;
  padding: 0.35rem 0.7rem;
}

.boarder-payment-table {
  margin-top: 1.8rem;
}

.payment-row {
  align-items: center;
  border-bottom: 0.1rem solid #edf0f3;
  display: grid;
  font-size: 1.2rem;
  gap: 1rem;
  grid-template-columns: 1.25fr 1fr 0.9fr 0.6fr;
  min-height: 6rem;
  padding: 0.8rem;
}

.payment-head {
  color: #8b929b;
  min-height: 3rem;
}

.payment-row b,
.payment-row small {
  display: block;
}

.payment-row small {
  color: #9aa1a8;
}

.checked {
  color: #4b91ed;
  float: left;
  font-size: 1.7rem;
  margin-right: 1rem;
}

.payment-row em {
  border-radius: 0.4rem;
  font-style: normal;
  padding: 0.5rem 0.8rem;
}

.rent-tag {
  background: #eaf8f1;
  color: #3a8f6c;
}

.deposit-tag {
  background: #fff2dc;
  color: #b77d25;
}

.payments-footer {
  align-items: center;
  color: #7d858e;
  display: flex;
  font-size: 1.15rem;
  justify-content: space-between;
  padding-top: 1.6rem;
}

.payments-footer button {
  background: #4b8ee9;
  border: 0;
  border-radius: 0.7rem;
  color: #fff;
  padding: 0.9rem 1.3rem;
}

.view-notes {
  border: 0.1rem solid #dfe3e8;
  border-radius: 0.7rem;
  color: #333a41;
  display: table;
  font-size: 1.15rem;
  margin: 1.5rem auto 0;
  padding: 0.8rem 1.2rem;
  text-decoration: none;
}

@media (max-width: 1080px) {
  .boarder-summary-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }

  .boarder-overview-grid,
  .boarder-lower-grid {
    grid-template-columns: 1fr;
  }
}

/* Comfortable top reservation and action arrangement */
.ems-detail-page .ems-property-titlebar {
  align-items: center;
  gap: 2rem;
}
.ems-property-top-controls {
  align-items: center;
  display: flex;
  flex: 0 1 auto;
  gap: 1rem;
  justify-content: flex-end;
}
.ems-property-top-controls .ems-gallery-booking-card {
  backdrop-filter: none;
  background: linear-gradient(145deg, #1d1f23, #191b1f);
  box-shadow: 0 .8rem 2.4rem rgba(0, 0, 0, .2);
  flex: 0 1 40rem;
  padding: 1.25rem 1.35rem;
  position: static;
  width: 40rem;
}
.ems-property-top-controls .ems-gallery-booking-card .ems-booking-label {
  margin-bottom: .7rem;
}
.ems-property-top-controls .ems-gallery-booking-card > p {
  margin: .75rem 0;
}
.ems-property-top-controls .ems-gallery-booking-card > button {
  min-height: 3.4rem;
}
.ems-property-top-controls .ems-gallery-booking-card .ems-booking-note {
  font-size: .68rem !important;
  margin-top: .65rem;
}
.ems-property-top-controls .ems-property-actions {
  flex: 0 0 auto;
}
@media (max-width: 1180px) {
  .ems-detail-page .ems-property-titlebar {
    align-items: stretch;
    flex-direction: column;
  }
  .ems-property-top-controls {
    justify-content: space-between;
  }
  .ems-property-top-controls .ems-gallery-booking-card {
    flex: 1 1 auto;
    max-width: 52rem;
    width: auto;
  }
}
@media (max-width: 700px) {
  .ems-property-top-controls {
    align-items: stretch;
    flex-direction: column;
  }
  .ems-property-top-controls .ems-gallery-booking-card {
    margin: 0;
    max-width: none;
    width: 100%;
  }
  .ems-property-top-controls .ems-property-actions {
    align-self: stretch;
  }
}

/* Gallery-level booking and property actions */
.ems-gallery-stage {
  position: relative;
}
.ems-gallery-booking-card {
  backdrop-filter: blur(1.2rem);
  background: rgba(24, 26, 30, .94);
  border: .1rem solid rgba(255, 255, 255, .14);
  border-radius: 1.25rem;
  box-shadow: 0 1.5rem 4rem rgba(0, 0, 0, .42);
  padding: 1.7rem;
  position: absolute;
  right: 1.5rem;
  top: 1.5rem;
  width: min(38rem, calc(100% - 3rem));
  z-index: 5;
}
.ems-gallery-booking-card > div {
  align-items: flex-end;
  display: flex;
  justify-content: space-between;
}
.ems-gallery-booking-card > div > span {
  color: #a0a6ae;
  font-size: .9rem;
}
.ems-gallery-booking-card strong {
  color: #fff;
  font-size: 1.55rem;
}
.ems-gallery-booking-card strong small {
  color: #fff;
  font-size: .78rem;
  font-weight: 600;
}
.ems-gallery-booking-card > p {
  color: #b6bcc5;
  font-size: .95rem;
  margin: 1.2rem 0;
}
.ems-gallery-booking-card > p i { color: #ff6259; }
.ems-gallery-booking-card > button {
  background: linear-gradient(135deg, #ff5349, #ff665e);
  border: 0;
  border-radius: .8rem;
  box-shadow: 0 .7rem 1.8rem rgba(255, 83, 73, .25);
  color: #fff;
  cursor: pointer;
  font-size: 1rem;
  font-weight: 800;
  min-height: 4rem;
  width: 100%;
}
.ems-gallery-booking-card > button:hover {
  box-shadow: 0 1rem 2.2rem rgba(255, 83, 73, .34);
  transform: translateY(-.15rem);
}
.ems-gallery-booking-card .ems-booking-note {
  margin-top: 1rem;
}
.ems-detail-page .ems-property-overview.ems-property-overview-single {
  grid-template-columns: minmax(0, 1fr);
}
.ems-detail-page .ems-property-overview.ems-property-overview-single > article {
  max-width: 95rem;
}
.ems-detail-page .ems-property-actions {
  background: rgba(27, 29, 33, .8);
  border: .1rem solid rgba(255, 255, 255, .09);
  border-radius: .9rem;
  gap: .45rem;
  padding: .4rem;
}
.ems-detail-page .ems-property-actions button {
  align-items: center;
  border: .1rem solid transparent;
  border-radius: .65rem;
  display: inline-flex;
  font-size: .9rem;
  gap: .55rem;
  justify-content: center;
  min-height: 3rem;
  padding: .65rem .9rem;
  text-decoration: none;
}
.ems-detail-page .ems-property-actions button + button {
  border-left-color: rgba(255, 255, 255, .08);
}
.ems-detail-page .ems-property-actions button:hover {
  background: rgba(255, 255, 255, .07);
  border-color: rgba(255, 255, 255, .08);
}
.ems-detail-page .ems-property-actions i {
  color: #c4cad2;
  font-size: 1rem;
  margin: 0;
}
.ems-detail-page .ems-property-actions button.saved {
  background: rgba(255, 83, 73, .1);
  border-color: rgba(255, 83, 73, .22);
  color: #ff746d;
}
@media (max-width: 900px) {
  .ems-gallery-booking-card {
    margin-top: 1.2rem;
    position: static;
    width: 100%;
  }
}
@media (max-width: 600px) {
  .ems-detail-page .ems-property-actions {
    align-self: stretch;
    display: grid;
    grid-template-columns: 1fr 1fr;
    width: 100%;
  }
}

@media (max-width: 760px) {
  .role-client .dashboard-main { padding: 0; }

  .role-client .boarder-reservation-dashboard { display: block; min-height: 100vh; padding: 0 1.2rem 1.2rem; }

  .boarder-dashboard-intro { align-items: flex-start; flex-direction: column; gap: 1.5rem; margin-top: 1.2rem; padding: 2rem; }

  .boarder-summary-cards { grid-template-columns: 1fr; }

  .boarder-dashboard-header {
    align-items: stretch;
    border-radius: 0 0 1.2rem 1.2rem;
    flex-direction: column;
    gap: 1rem;
    margin: 0;
    min-height: auto;
    padding: 1.4rem;
  }

  .boarder-sidebar-brand { border-bottom: 0; padding: 0; }
  .boarder-sidebar-brand > span,
  .boarder-sidebar-user { display: none; }
  .boarder-dashboard-header img { height: 4rem; width: 12rem; }

  .boarder-dashboard-header nav {
    display: grid;
    gap: .5rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .boarder-dashboard-header nav a { font-size: .9rem; gap: .5rem; justify-content: center; padding: .8rem .4rem; text-align: center; }
  .boarder-dashboard-header nav a i { width: auto; }
  .boarder-dashboard-header button { border-top: 0; margin: 0; padding: .7rem; text-align: center; }

  .boarder-topbar,
  .boarder-top-actions,
  .boarder-tabs {
    align-items: stretch;
    flex-direction: column;
  }

  .boarder-topbar {
    gap: 1rem;
  }

  .boarder-booking-panel {
    grid-template-columns: 1fr;
  }

  .boarder-booking-facts,
  .boarder-personal-grid,
  .boarder-contact-row {
    grid-template-columns: repeat(2, 1fr);
  }

  .payment-row {
    grid-template-columns: 1.4fr 0.8fr;
  }

  .payment-row > :nth-child(2),
  .payment-row > :nth-child(3) {
    display: none;
  }
}

/* Boarder dashboard theme matched to the BoardEase homepage */
.role-client .dashboard-main {
  background: #111;
}

.role-client .boarder-modern-card {
  background: #1d1d1d;
  border-color: rgba(255, 255, 255, 0.12);
  box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.18);
}

.role-client .modern-card-heading h2,
.role-client .boarder-profile-head h3,
.role-client .boarder-personal-grid strong,
.role-client .boarder-booking-facts strong,
.role-client .boarder-room-summary h3,
.role-client .boarder-room-summary dd,
.role-client .payment-row {
  color: #fff;
}

.role-client .modern-card-heading p,
.role-client .boarder-profile-head p,
.role-client .boarder-modern-card h4,
.role-client .boarder-personal-grid small,
.role-client .boarder-booking-facts small,
.role-client .boarder-room-summary dt,
.role-client .boarder-contact-row span,
.role-client .boarder-amenities span,
.role-client .payment-head {
  color: #aaa;
}

.role-client .boarder-modern-card hr,
.role-client .payment-row {
  border-color: rgba(255, 255, 255, 0.1);
}

.role-client .modern-card-heading button,
.role-client .modern-card-heading a,
.role-client .view-notes {
  background: #262626;
  border-color: rgba(255, 255, 255, 0.14);
  color: #fff;
}

.role-client .vip-label,
.role-client .bill-count {
  background: rgba(255, 83, 73, 0.12);
  border-color: rgba(255, 83, 73, 0.3);
  color: #ff736a;
}

.role-client .confirmed-pill,
.role-client .rent-tag {
  background: rgba(67, 190, 139, 0.12);
  color: #5bd6a3;
}

.role-client .deposit-tag {
  background: rgba(255, 184, 53, 0.12);
  color: #ffbd4b;
}

.role-client .boarder-contact-row i,
.role-client .boarder-amenities i,
.role-client .checked,
.role-client .account-badge {
  color: #ff5349;
}

.role-client .boarder-photo {
  background: linear-gradient(145deg, #ff5349, #8b211b);
}

.profile-menu-wrap {
  position: relative;
}

.profile-menu {
  background: #262626;
  border: 0.1rem solid rgba(255, 255, 255, 0.14);
  border-radius: 0.7rem;
  box-shadow: 0 1rem 2.5rem rgba(0, 0, 0, 0.3);
  display: none;
  min-width: 17rem;
  padding: 0.6rem;
  position: absolute;
  right: 0;
  top: calc(100% + 0.6rem);
  z-index: 10;
}

.profile-menu.active {
  display: grid;
}

.profile-menu a,
.profile-menu button {
  align-items: center;
  background: transparent !important;
  border: 0 !important;
  color: #fff;
  cursor: pointer;
  display: flex;
  font-size: 1.2rem;
  gap: 0.8rem;
  padding: 1rem !important;
  text-align: left;
  width: 100%;
}

.profile-menu a:hover,
.profile-menu button:hover {
  background: rgba(255, 83, 73, 0.14) !important;
  color: #ff736a;
}

.boarder-account-modal { align-items:center; background:rgba(0,0,0,.78); display:flex; inset:0; justify-content:center; padding:2rem; position:fixed; z-index:6000; }
.boarder-account-modal[hidden] { display:none; }
.boarder-account-dialog { background:#1d1d1d; border:1px solid rgba(255,255,255,.14); border-radius:1.2rem; box-shadow:0 2rem 6rem rgba(0,0,0,.6); color:#fff; max-width:54rem; padding:2.2rem; position:relative; width:100%; }
.boarder-account-close { align-items:center; background:#292929; border-radius:50%; color:#fff; cursor:pointer; display:flex; height:3.6rem; justify-content:center; position:absolute; right:1.4rem; top:1.4rem; width:3.6rem; }
.boarder-account-dialog h2 { font-size:2.2rem; }.boarder-account-dialog section>p { color:#999; font-size:1.1rem; margin:.4rem 0 1.5rem; }
.boarder-account-dialog form { display:grid; gap:1rem; }
.boarder-account-dialog form>label { color:#ddd; display:grid; font-size:1.05rem; gap:.45rem; }
.boarder-account-dialog input { background:#292929; border:1px solid rgba(255,255,255,.14); border-radius:.7rem; color:#fff; padding:1rem; width:100%; }
.boarder-account-dialog input:focus { border-color:#ff5349; outline:none; }
.boarder-account-dialog form>button { background:#ff5349; border-radius:.7rem; color:#111; cursor:pointer; font-weight:800; padding:1rem; }
.boarder-account-dialog form>p { color:#67d6a8; font-size:1rem; min-height:1.5rem; }
.boarder-account-dialog .modal-setting-check { align-items:center; background:#252525; border:1px solid rgba(255,255,255,.1); border-radius:.7rem; display:flex; grid-template-columns:auto 1fr; padding:.9rem; }
.boarder-account-dialog .modal-setting-check input { accent-color:#ff5349; width:auto; }

.gcash-payment-row {
  background: rgba(0, 145, 255, 0.06);
}

.gcash-payment-row .fa-mobile-alt {
  color: #35a8ff;
  float: left;
  font-size: 1.7rem;
  margin-right: 1rem;
}

.gcash-tag {
  background: rgba(0, 145, 255, 0.13);
  color: #59b8ff;
}

.pay-gcash-btn,
.owner-message-form button,
.payments-footer > button {
  background: #ff5349 !important;
  border: 0 !important;
  border-radius: 0.6rem;
  color: #111 !important;
  cursor: pointer;
  font-weight: 800;
  padding: 0.9rem 1.2rem;
}

.payment-pagination {
  display: flex;
  gap: 0.5rem;
}

.payment-pagination button {
  background: #292929;
  border: 0.1rem solid rgba(255, 255, 255, 0.12);
  border-radius: 0.5rem;
  color: #aaa;
  cursor: pointer;
  padding: 0.7rem 0.9rem;
}

.payment-pagination button.active,
.payment-pagination button:hover {
  background: #ff5349;
  color: #111;
}

.payment-action-status,
.owner-message-form [data-owner-message-status] {
  color: #6ed6aa;
  font-size: 1.15rem;
  margin-top: 1rem;
}

.owner-message-form {
  border-top: 0.1rem solid rgba(255, 255, 255, 0.1);
  margin-top: 1.4rem;
  padding-top: 1.4rem;
}

.owner-message-form label {
  color: #fff;
  display: block;
  font-size: 1.25rem;
  font-weight: 700;
  margin-bottom: 0.8rem;
}

.owner-message-form textarea {
  background: #292929;
  border: 0.1rem solid rgba(255, 255, 255, 0.14);
  border-radius: 0.7rem;
  color: #fff;
  font-size: 1.25rem;
  padding: 1rem;
  resize: vertical;
  width: 100%;
}

.owner-message-form button {
  margin-top: 0.8rem;
}

.boarder-addons-form {
  display: grid;
  gap: 0.9rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: 1.4rem;
}

.boarder-addons-form > label {
  cursor: pointer;
  position: relative;
}

.boarder-addons-form > label input {
  opacity: 0;
  position: absolute;
}

.boarder-addons-form > label span {
  align-items: center;
  background: #292929;
  border: 0.1rem solid rgba(255,255,255,.12);
  border-radius: 0.8rem;
  display: grid;
  gap: 0.35rem 0.7rem;
  grid-template-columns: auto 1fr;
  padding: 1rem;
}

.boarder-addons-form > label i {
  color: #ff5349;
  font-size: 1.4rem;
  grid-row: 1 / 3;
}

.boarder-addons-form > label b {
  color: #fff;
  font-size: 1.2rem;
}

.boarder-addons-form > label small {
  color: #999;
  font-size: 0.95rem;
}

.boarder-addons-form > label input:checked + span {
  background: rgba(255,83,73,.13);
  border-color: #ff5349;
  box-shadow: inset 0 0 0 0.1rem #ff5349;
}

.boarder-addons-total {
  align-items: center;
  border-top: 0.1rem solid rgba(255,255,255,.1);
  color: #aaa;
  display: flex;
  grid-column: 1 / -1;
  justify-content: space-between;
  margin-top: 0.4rem;
  padding-top: 1rem;
}

.boarder-addons-total strong {
  color: #ff5349;
  font-size: 1.25rem;
}

.boarder-addons-form > button {
  background: #ff5349;
  border-radius: 0.7rem;
  color: #111;
  cursor: pointer;
  font-weight: 800;
  grid-column: 1 / -1;
  padding: 1rem;
}

.boarder-addons-form > p {
  color: #6ed6aa;
  font-size: 1rem;
  grid-column: 1 / -1;
  min-height: 1.4rem;
}

.boarder-addons-card {
  background: #5a5a5a;
  border: 0;
  border-radius: 2.2rem;
  color: #fff;
}

.boarder-addons-card .modern-card-heading h2 { font-size: 2rem; font-weight: 500; }
.boarder-addons-card .boarder-addons-form { display: grid; gap: 1rem; grid-template-columns: 1fr; margin-top: 1.4rem; }
.boarder-addons-card .boarder-addons-form > label { width: 100%; }
.boarder-addons-card .boarder-addons-form > label input { height: 1.9rem; opacity: 1; position: absolute; width: 1.9rem; }
.boarder-addons-card .boarder-addons-form > label span {
  background: transparent;
  border: 0;
  border-radius: 0;
  display: grid;
  gap: 1rem;
  grid-template-columns: 1fr auto;
  padding: 0 0 0 3rem;
}
.boarder-addons-card .boarder-addons-form > label b,
.boarder-addons-card .boarder-addons-form > label small { color: #fff; font-size: 1.25rem; font-weight: 500; }
.boarder-addons-card .boarder-addons-form > label input:checked + span { background: transparent; border: 0; box-shadow: none; }
.boarder-addons-card .boarder-addons-form > p { margin: 0; min-height: 1.4rem; }
.boarder-addon-history { margin-top: .4rem; }
.boarder-addon-history h3 { font-size: 1.25rem; font-weight: 500; margin-bottom: 1.6rem; }
.boarder-addon-history-head,
.boarder-addon-history-row { display: grid; gap: 1rem; grid-template-columns: 1fr 1fr; }
.boarder-addon-history-head { border-bottom: .3rem solid #fff; font-size: 1.15rem; padding: 0 0 .8rem; }
.boarder-addon-history-list { padding-top: .7rem; }
.boarder-addon-history-row { font-size: 1.05rem; padding: .7rem 0; }
.boarder-addon-history-list > p { color: #e4e4e4; font-size: 1rem; padding: 1.2rem 0; }

.payment-owner-chat {
  border-top: 0.1rem solid rgba(255,255,255,.12);
  margin-top: 1.6rem;
  padding-top: 1.6rem;
}

.payment-owner-chat-heading h3 {
  color: #fff;
  font-size: 1.35rem;
}

.payment-owner-chat-heading h3 i {
  color: #ff5349;
  margin-right: .6rem;
}

.payment-owner-chat-heading > p {
  color: #888;
  font-size: 1rem;
  margin-top: .35rem;
}

.payment-owner-chat .account-message-thread {
  margin-top: 1.2rem;
  max-height: 18rem;
  overflow-y: auto;
}

.payment-owner-chat .owner-message-form {
  margin-top: 1.2rem;
}

.professional-boarder-messages { margin: 0 auto; max-width: 128rem; }
.professional-message-heading { align-items: flex-end; display: flex; justify-content: space-between; margin-bottom: 2rem; }
.professional-message-heading > div > span { color: #ff5349; font-size: 1rem; font-weight: 800; letter-spacing: .12em; }
.professional-message-heading h1 { color: #fff; font-size: 2.8rem; margin: .4rem 0; }
.professional-message-heading p { color: #8e949c; font-size: 1.1rem; }
.professional-message-heading > a { background: #26292e; border: .1rem solid rgba(255,255,255,.1); border-radius: .7rem; color: #fff; font-size: 1rem; font-weight: 700; padding: 1rem 1.2rem; text-decoration: none; }
.professional-message-workspace { background: #1c1e22; border: .1rem solid rgba(255,255,255,.09); border-radius: 1.4rem; display: grid; grid-template-columns: 28rem minmax(0,1fr); min-height: 58rem; overflow: hidden; }
.professional-message-contact { background: #181a1e; border-right: .1rem solid rgba(255,255,255,.09); padding: 3rem 2.2rem; text-align: center; }
.professional-owner-avatar { align-items: center; background: linear-gradient(145deg,#ff6159,#c7352e); border-radius: 1.4rem; color: #fff; display: flex; font-size: 2rem; height: 7rem; justify-content: center; margin: 0 auto 1.4rem; width: 7rem; }
.professional-message-contact h2 { color: #fff; font-size: 1.4rem; }
.professional-message-contact > p { color: #858c95; font-size: .95rem; margin-top: .4rem; }
.professional-message-contact > span { color: #65d19a; display: block; font-size: .9rem; margin: 1.2rem 0 2.2rem; }
.professional-message-contact > span i { font-size: .65rem; margin-right: .35rem; }
.professional-message-contact > div:last-child { align-items: flex-start; background: rgba(255,255,255,.04); border-radius: .9rem; display: flex; gap: .8rem; padding: 1.1rem; text-align: left; }
.professional-message-contact > div:last-child > i { color: #ff6159; margin-top: .15rem; }
.professional-message-contact strong,
.professional-message-contact small { display: block; }
.professional-message-contact strong { color: #ddd; font-size: .9rem; }
.professional-message-contact small { color: #777f88; font-size: .8rem; line-height: 1.4; margin-top: .25rem; }
.professional-owner-conversation { display: flex; flex-direction: column; min-width: 0; }
.professional-owner-conversation > header { align-items: center; border-bottom: .1rem solid rgba(255,255,255,.09); display: flex; justify-content: space-between; padding: 1.6rem 2rem; }
.professional-owner-conversation > header h2 { color: #fff; font-size: 1.35rem; }
.professional-owner-conversation > header p { color: #818890; font-size: .9rem; margin-top: .25rem; }
.professional-owner-conversation > header > span { color: #65d19a; font-size: .85rem; }
.professional-owner-conversation > header > span i { margin-right: .35rem; }
.professional-message-thread { background: #16181b; border: 0; border-radius: 0; flex: 1; margin: 0; max-height: none; min-height: 30rem; overflow-y: auto; padding: 2rem; }
.professional-message-composer { background: #1c1e22; border-top: .1rem solid rgba(255,255,255,.09); margin: 0; padding: 1.6rem 2rem; }
.professional-message-composer label { font-size: 1rem; }
.professional-message-composer textarea { background: #25282d; border-color: rgba(255,255,255,.12); min-height: 9rem; }

.professional-profile-page { margin: 0 auto; max-width: 128rem; }
.professional-profile-heading { align-items: flex-end; display: flex; justify-content: space-between; margin-bottom: 2rem; }
.professional-profile-heading > div > span { color: #ff5349; font-size: 1rem; font-weight: 800; letter-spacing: .12em; }
.professional-profile-heading h1 { color: #fff; font-size: 2.8rem; margin: .4rem 0; }
.professional-profile-heading p { color: #8e949c; font-size: 1.1rem; }
.professional-profile-heading > a { background: #26292e; border: .1rem solid rgba(255,255,255,.1); border-radius: .7rem; color: #fff; font-size: 1rem; font-weight: 700; padding: 1rem 1.2rem; text-decoration: none; }
.professional-profile-layout { display: grid; gap: 1.8rem; grid-template-columns: 32rem minmax(0,1fr); }
.professional-profile-summary,
.professional-profile-form-card { background: #1c1e22; border: .1rem solid rgba(255,255,255,.09); border-radius: 1.4rem; box-shadow: 0 .7rem 2.4rem rgba(0,0,0,.16); }
.professional-profile-summary { padding: 2.6rem 2.2rem; text-align: center; }
.professional-profile-avatar { align-items: center; background: linear-gradient(145deg,#ff6159,#b82d27); border: .4rem solid rgba(255,255,255,.08); border-radius: 1.5rem; color: #fff; display: flex; font-size: 2.4rem; font-weight: 800; height: 8rem; justify-content: center; margin: 0 auto 1.2rem; width: 8rem; }
.professional-verified { color: #65d19a; display: inline-block; font-size: .85rem; font-weight: 700; margin-bottom: .7rem; }
.professional-profile-summary h2 { color: #fff; font-size: 1.55rem; }
.professional-profile-summary > p { color: #858c95; font-size: .95rem; margin-top: .35rem; overflow-wrap: anywhere; }
.professional-profile-divider { background: rgba(255,255,255,.09); height: .1rem; margin: 2rem 0 1rem; }
.professional-profile-summary dl div { align-items: center; border-bottom: .1rem solid rgba(255,255,255,.07); display: flex; justify-content: space-between; padding: 1rem 0; text-align: left; }
.professional-profile-summary dt { color: #858c95; font-size: .9rem; }
.professional-profile-summary dt i { color: #ff6159; margin-right: .55rem; width: 1.2rem; }
.professional-profile-summary dd { color: #fff; font-size: .95rem; font-weight: 700; }
.professional-profile-security { align-items: center; background: rgba(101,209,154,.07); border: .1rem solid rgba(101,209,154,.16); border-radius: .9rem; display: flex; gap: .8rem; margin-top: 1.6rem; padding: 1rem; text-align: left; }
.professional-profile-security > i { color: #65d19a; font-size: 1.3rem; }
.professional-profile-security strong,
.professional-profile-security small { display: block; }
.professional-profile-security strong { color: #dce4e0; font-size: .9rem; }
.professional-profile-security small { color: #77817d; font-size: .8rem; margin-top: .2rem; }
.professional-profile-form-card { overflow: hidden; }
.professional-profile-form-card > header { align-items: center; border-bottom: .1rem solid rgba(255,255,255,.09); display: flex; justify-content: space-between; padding: 2rem 2.2rem; }
.professional-profile-form-card > header h2 { color: #fff; font-size: 1.5rem; }
.professional-profile-form-card > header p { color: #818890; font-size: .95rem; margin-top: .3rem; }
.professional-profile-form-card > header > i { align-items: center; background: rgba(255,83,73,.12); border-radius: .8rem; color: #ff6159; display: flex; font-size: 1.3rem; height: 4rem; justify-content: center; width: 4rem; }
.professional-profile-form-card form { padding: 2.2rem; }
.professional-form-grid { display: grid; gap: 1.3rem; grid-template-columns: 1fr 1fr; }
.professional-profile-form-card label > span { color: #d7d9dc; display: block; font-size: .95rem; font-weight: 700; margin-bottom: .65rem; }
.professional-profile-form-card label > div { align-items: center; background: #25282d; border: .1rem solid rgba(255,255,255,.1); border-radius: .8rem; display: flex; overflow: hidden; }
.professional-profile-form-card label > div > i { color: #777f88; padding-left: 1rem; }
.professional-profile-form-card input { background: transparent; border: 0; color: #fff; font-size: 1rem; outline: none; padding: 1.1rem; width: 100%; }
.professional-profile-form-card label > div:focus-within { border-color: #ff6159; box-shadow: 0 0 0 .2rem rgba(255,83,73,.1); }
.professional-readonly-field { display: block; margin-top: 1.4rem; }
.professional-readonly-field > div { padding: 1.1rem; }
.professional-readonly-field > div > i { padding: 0; }
.professional-readonly-field strong { color: #d8dade; font-size: .95rem; margin-left: .8rem; }
.professional-readonly-field em { color: #747b84; font-size: .8rem; font-style: normal; margin-left: auto; }
.professional-profile-actions { align-items: center; border-top: .1rem solid rgba(255,255,255,.08); display: flex; justify-content: space-between; margin-top: 2rem; padding-top: 1.6rem; }
.professional-profile-actions p { color: #65d19a; font-size: .9rem; }
.professional-profile-actions button { background: #ff5349; border: 0; border-radius: .75rem; color: #fff; cursor: pointer; font-size: 1rem; font-weight: 800; padding: 1rem 1.3rem; }
.professional-profile-actions button i { margin-right: .45rem; }

@media (max-width: 850px) {
  .professional-profile-heading { align-items: flex-start; flex-direction: column; gap: 1.2rem; }
  .professional-profile-layout { grid-template-columns: 1fr; }
}

@media (max-width: 560px) {
  .professional-form-grid { grid-template-columns: 1fr; }
  .professional-readonly-field em { display: none; }
  .professional-profile-actions { align-items: stretch; flex-direction: column; gap: 1rem; }
}

@media (max-width: 800px) {
  .professional-message-heading { align-items: flex-start; flex-direction: column; gap: 1.2rem; }
  .professional-message-workspace { grid-template-columns: 1fr; }
  .professional-message-contact { border-bottom: .1rem solid rgba(255,255,255,.09); border-right: 0; padding: 2rem; }
  .professional-message-contact > div:last-child { display: none; }
}

.addon-owner-messages {
  border-top: 0.1rem solid rgba(255,255,255,.12);
  margin-top: 1.5rem;
  padding-top: 1.5rem;
}

.addon-owner-messages .owner-message-form {
  border-top: 0;
  margin-top: 1.2rem;
  padding-top: 0;
}

.addon-owner-messages .view-notes {
  margin: 1.2rem 0 0 auto;
}

.addon-owner-message-heading h3 {
  color: #fff;
  font-size: 1.35rem;
}

.addon-owner-message-heading p {
  color: #888;
  font-size: 1rem;
  margin-top: 0.35rem;
}

.owner-message-actions {
  align-items: center;
  display: flex;
  gap: 1rem;
  justify-content: space-between;
}

.owner-message-actions p {
  margin: 0;
}

.owner-message-actions button {
  flex: 0 0 auto;
  margin-left: auto;
}

.account-message-thread {
  background: #181818;
  border: 0.1rem solid rgba(255,255,255,.08);
  border-radius: 0.9rem;
  display: grid;
  gap: 0.9rem;
  grid-template-columns: minmax(0, 1fr);
  margin-top: 1.2rem;
  max-height: 24rem;
  overflow-y: auto;
  padding: 1rem;
}

.account-message-bubble {
  background: #292929;
  border: 0.1rem solid rgba(255,255,255,.1);
  border-radius: 0.8rem;
  justify-self: start;
  max-width: 78%;
  min-width: 14rem;
  padding: 1rem 1.1rem;
}

.account-message-bubble.mine {
  background: rgba(255,83,73,.14);
  border-color: rgba(255,83,73,.35);
  justify-self: end;
}

.account-message-bubble strong,
.account-message-bubble small {
  display: block;
}

.account-message-bubble strong { color: #ff746b; font-size: 0.95rem; }
.account-message-bubble p { color: #fff; font-size: 1.1rem; line-height: 1.45; margin: 0.35rem 0; overflow-wrap:anywhere; }
.account-message-bubble small { color: #888; font-size: 0.8rem; }
.empty-thread { color: #888; font-size: 1rem; text-align: center; }

@media (max-width: 600px) {
  .boarder-addons-form { grid-template-columns: 1fr; }
  .boarder-addons-total,
  .boarder-addons-form > button,
  .boarder-addons-form > p { grid-column: auto; }
}

/* ================= OWNER STAFF DASHBOARD ================= */
:root {
  --owner-border: #3b3b3b;
  --owner-border-soft: #303030;
  --owner-inner-border: #343434;
}

.owner-management-dashboard {
  display: none;
}

.role-admin .dashboard-shell {
  display: block;
}

.role-admin .dashboard-sidebar,
.role-admin .dashboard-profile-card,
.role-admin .dashboard-stats,
.role-admin .quick-actions,
.role-admin .dashboard-panel,
.role-admin .boarder-reservation-dashboard {
  display: none;
}

.role-admin .dashboard-main {
  background: #111;
  padding: 0;
}

.role-admin .owner-management-dashboard {
  display: grid;
  grid-template-columns: 24rem minmax(0, 1fr);
  margin: 0 auto;
  max-width: 157rem;
  min-height: 100vh;
  width: 100%;
}

.owner-staff-sidebar {
  align-self: start;
  background: #181818;
  border-right: 1px solid var(--owner-border-soft);
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  overflow: visible;
  padding: 2rem 1.6rem;
  position: sticky;
  top: 0;
}

.role-admin .owner-staff-sidebar {
  display: flex;
}

.owner-staff-profile { align-items:center; display:grid; gap:1rem; grid-template-columns:5.6rem minmax(0,1fr); margin-bottom:2.4rem; width:100%; }
.owner-staff-profile>div:last-child { align-self:center; display:flex; flex-direction:column; justify-content:center; min-width:0; padding-top:.1rem; }
.owner-brand-home { align-items:center; background:#111; border:1px solid var(--owner-border-soft); border-radius:.8rem; display:flex; height:5.6rem; justify-content:center; overflow:hidden; padding:.35rem; transition:border-color .2s ease,transform .2s ease; width:5.6rem; }
.owner-brand-home:hover,.owner-brand-home:focus-visible { border-color:#ff5349; outline:none; transform:translateY(-.15rem); }
.owner-brand-home img { height:100%; object-fit:contain; width:100%; }
.owner-available-page { background:#111; color:#fff; min-height:100vh; overflow-x:hidden; }
.owner-available-page * { text-transform:none; }
.owner-available-shell { grid-template-columns:24rem minmax(0,1fr); min-height:100vh; }
.owner-available-content { min-width:0; padding:2.2rem; }
.owner-available-heading { align-items:center; display:flex; gap:1rem; justify-content:space-between; margin-bottom:2rem; }
.owner-available-heading span { color:#ff5349; font-size:1rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.owner-available-heading h1 { font-size:3rem; margin:.3rem 0; }
.owner-available-heading p { color:#888; font-size:1.1rem; }
.owner-available-heading>strong { background:rgba(76,210,139,.12); border:.1rem solid rgba(76,210,139,.25); border-radius:5rem; color:#4cd28b; font-size:1.1rem; padding:.9rem 1.2rem; }
.owner-available-grid { align-items:stretch; display:grid; gap:1.3rem; grid-auto-rows:1fr; grid-template-columns:repeat(6,minmax(0,11.5rem)); justify-content:center; max-width:100%; overflow:hidden; }
.owner-available-card { align-self:stretch; background:#1d1d1d; border:.1rem solid rgba(255,255,255,.09); border-radius:1rem; display:flex; flex-direction:column; height:100%; min-height:33rem; min-width:0; overflow:hidden; transition:border-color .2s ease,transform .2s ease; width:100%; }
.owner-available-card { grid-column:span 2; }
.owner-available-card:nth-child(4) { grid-column:2/span 2; }
.owner-available-card:hover { border-color:rgba(255,83,73,.65); transform:translateY(-.3rem); }
.owner-available-image { flex:0 0 15rem; height:15rem; position:relative; }
.owner-available-image img { height:100%; object-fit:cover; width:100%; }
.owner-available-image>span { background:#111; border-radius:5rem; bottom:1rem; color:#4cd28b; font-size:1rem; left:50%; padding:.65rem 1rem; position:absolute; transform:translateX(-50%); }
.owner-available-image>span.not-available { color:#ff7067; }
.owner-available-info { align-items:center; display:flex; flex:1; flex-direction:column; min-height:0; padding:1rem; text-align:center; }
.owner-available-info>small { display:none; }
.owner-available-info h2 { align-items:center; display:flex; font-size:1.55rem; justify-content:center; line-height:1.25; margin:0; min-height:3.8rem; overflow-wrap:anywhere; text-align:center; width:100%; }
.owner-available-info>p { align-items:center; color:#aaa; display:flex; font-size:1rem; justify-content:center; line-height:1.35; min-height:2.8rem; overflow-wrap:anywhere; text-align:center; width:100%; }
.owner-available-info>p i { color:#ff5349; margin-right:.4rem; }
.owner-available-info>div { align-content:center; display:flex; flex-wrap:wrap; gap:.35rem; justify-content:center; margin:.5rem 0; min-height:3rem; width:100%; }
.owner-available-info>div span { background:#252525; border-radius:.5rem; color:#ccc; font-size:.85rem; line-height:1.2; padding:.45rem .6rem; white-space:nowrap; }
.owner-available-info>div i { color:#ff5349; margin-right:.35rem; }
.owner-available-info footer { align-items:center; border-top:.1rem solid rgba(255,255,255,.08); display:flex; flex-direction:column; flex-wrap:wrap; gap:.7rem; justify-content:center; margin-top:auto; padding-top:.8rem; width:100%; }
.owner-available-info footer strong { color:#ff5349; font-size:1.35rem; line-height:1.2; text-align:center; }
.owner-available-info footer strong small { color:#888; font-size:.7rem; font-weight:400; }
.owner-available-info footer a { border:.1rem solid #ff5349; border-radius:.6rem; color:#ff5349; font-size:.9rem; padding:.7rem .9rem; }
.owner-available-info footer a:hover { background:#ff5349; color:#111; }
.owner-room-actions { display:flex; gap:.4rem; justify-content:center; }
.owner-room-actions button,.owner-room-actions a { background:transparent; border:.1rem solid #ff5349; border-radius:.5rem; color:#ff5349; cursor:pointer; font-size:.9rem; line-height:1; padding:.65rem .8rem; }
.owner-room-actions button:hover,.owner-room-actions a:hover { background:#ff5349; color:#111; }
.owner-room-editor { align-items:center; background:rgba(0,0,0,.82); display:flex; inset:0; justify-content:center; overflow-y:auto; padding:2rem; position:fixed; z-index:5000; }
.owner-room-editor[hidden] { display:none; }
.owner-room-editor-panel { background:#1b1b1b; border:.1rem solid rgba(255,255,255,.13); border-radius:1.3rem; box-shadow:0 2rem 6rem rgba(0,0,0,.55); max-width:72rem; padding:2.4rem; position:relative; width:100%; }
.owner-room-editor-panel>div:first-of-type>span { color:#ff5349; font-size:.9rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.owner-room-editor-panel h2 { color:#fff; font-size:2.2rem; margin:.3rem 0; }
.owner-room-editor-panel>div:first-of-type>p { color:#888; font-size:1rem; }
.owner-room-editor-close { align-items:center; background:#292929; border-radius:50%; color:#aaa; cursor:pointer; display:flex; height:3.6rem; justify-content:center; position:absolute; right:1.5rem; top:1.5rem; width:3.6rem; }
.owner-room-image-editor { align-items:stretch; background:#222; border:.1rem solid rgba(255,255,255,.1); border-radius:1rem; display:grid; gap:1rem; grid-template-columns:repeat(3,minmax(0,1fr)); margin:1.5rem 0; padding:1rem; }
.owner-room-image-editor>figure,.owner-room-image-editor>.owner-room-upload { aspect-ratio:16/10; height:auto; min-height:0; width:100%; }
.owner-room-image-editor>figure { background:#181818; border-radius:.8rem; margin:0; overflow:hidden; position:relative; }
.owner-room-image-editor>figure img { height:100%; object-fit:cover; width:100%; }
.owner-room-image-editor>figure button { align-items:center; background:rgba(17,17,17,.88); border:.1rem solid rgba(255,255,255,.22); border-radius:50%; color:#fff; cursor:pointer; display:flex; height:2.8rem; justify-content:center; position:absolute; right:.7rem; top:.7rem; width:2.8rem; }
.owner-room-image-editor>figure button:hover { background:#ff5349; border-color:#ff5349; color:#111; }
.owner-room-image-editor>figure.empty img { opacity:.12; }
.owner-room-image-editor>figure.empty button { display:none; }
.owner-room-editor-fields { display:grid; gap:1rem; grid-template-columns:1fr 1fr; }
.owner-room-editor-fields label { color:#aaa; display:grid; font-size:.95rem; gap:.5rem; }
.owner-room-editor-fields label.wide { grid-column:1/-1; }
.owner-room-editor-fields input,.owner-room-editor-fields select { background:#252525; border:.1rem solid rgba(255,255,255,.1); border-radius:.7rem; color:#fff; font-size:1rem; padding:1rem; width:100%; }
.owner-room-editor-fields input:focus,.owner-room-editor-fields select:focus { border-color:#ff5349; outline:none; }
.owner-room-upload { align-items:center; border:.1rem dashed rgba(255,83,73,.5); border-radius:.8rem; cursor:pointer; display:flex; gap:1rem; justify-content:center; padding:1rem 1.4rem; }
.owner-room-upload:hover { background:rgba(255,83,73,.08); border-color:#ff5349; }
.owner-room-upload i { color:#ff5349; font-size:2rem; }
.owner-room-upload strong,.owner-room-upload small { display:block; }
.owner-room-upload strong { color:#fff; font-size:1rem; }
.owner-room-upload small { color:#777; font-size:.8rem; margin-top:.3rem; }
[data-owner-room-editor-status] { color:#4cd28b; font-size:1rem; min-height:1.8rem; padding:.8rem 0; }
.owner-room-save { background:#ff5349; border:.1rem solid #ff5349; border-radius:.8rem; color:#111; cursor:pointer; font-size:1.05rem; font-weight:700; padding:1.1rem 1.4rem; width:100%; }
.owner-room-save:hover { background:transparent; color:#ff5349; }
@media(max-width:1000px){.owner-available-grid{grid-template-columns:repeat(2,minmax(18rem,24rem))}.owner-available-card,.owner-available-card:nth-child(4){grid-column:auto}}
@media(max-width:760px){.owner-available-content{padding:2rem 1.5rem}.owner-available-heading{align-items:flex-start;flex-direction:column}.owner-available-grid{grid-template-columns:minmax(18rem,28rem)}.owner-available-card,.owner-available-card:nth-child(4){grid-column:auto;height:auto;min-height:0}.owner-available-image{flex-basis:18rem;height:18rem}.owner-room-editor-fields{grid-template-columns:1fr}.owner-room-editor-fields label.wide{grid-column:auto}.owner-room-editor-panel{padding:2rem 1.4rem}.owner-room-actions{flex-wrap:wrap}.owner-room-image-editor{grid-template-columns:1fr 1fr}.owner-room-image-editor>.owner-room-upload{grid-column:1/-1;justify-self:center;max-width:50%}}
@media(max-width:480px){.owner-room-image-editor{grid-template-columns:1fr}.owner-room-image-editor>.owner-room-upload{grid-column:auto;max-width:none}}
.owner-staff-profile-bottom { background:#222; border:.1rem solid rgba(255,255,255,.1); border-radius:.8rem; margin:auto 0 1.2rem; padding:1.2rem; }
.owner-staff-avatar,.owner-guest-avatar { align-items:center; background:linear-gradient(145deg,#ff5349,#7d1c17); border-radius:.8rem; color:#fff; display:flex; font-size:1.7rem; font-weight:800; height:4.5rem; justify-content:center; width:4.5rem; }
.owner-staff-profile strong,.owner-staff-profile span { display:block; }
.owner-staff-profile strong { color:#fff; font-size:1.3rem; line-height:1.25; margin:0; overflow-wrap:normal; white-space:nowrap; }
.owner-staff-profile span { color:#888; font-size:1rem; line-height:1.35; margin-top:.35rem; white-space:nowrap; }
.owner-search { align-items:center; background:#252525; border:1px solid var(--owner-border); border-radius:.7rem; color:#777; display:flex; gap:.7rem; margin-bottom:2.5rem; padding:1rem; }
.owner-search input { background:transparent; border:0; color:#fff; outline:0; width:100%; }
.owner-staff-sidebar small { color:#777; font-size:1rem; margin:1rem 0; }
.owner-staff-sidebar nav { display:grid; gap:.5rem; }
.owner-staff-sidebar nav a,.owner-staff-sidebar nav button,.owner-logout { align-items:center; background:transparent; border:0; border-radius:.7rem; color:#bbb; cursor:pointer; display:flex; font-size:1.3rem; gap:1rem; padding:1.1rem; text-align:left; text-decoration:none; }
.owner-staff-sidebar nav .active,.owner-staff-sidebar nav a:hover { background:rgba(255,83,73,.14); color:#ff6258; }
.owner-logout { border:1px solid #ff5349 !important; color:#ff5349 !important; justify-content:center; margin-top:.4rem; }
.owner-staff-content { margin:0 auto; max-width:150rem; padding:2.2rem; width:100%; }
.owner-section-content { min-width:0; padding:3rem; }
.owner-section-heading { margin-bottom:2.5rem; }
.owner-section-heading>span { color:#ff5349; font-size:1rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.owner-section-heading h1 { color:#fff; font-size:3rem; margin:.4rem 0; }
.owner-section-heading p { color:#888; font-size:1.1rem; }
.owner-section-card { background:#1d1d1d; border:.1rem solid rgba(255,255,255,.11); border-radius:1rem; color:#fff; padding:2rem; }
.owner-section-card h2 { font-size:2rem; margin-bottom:1.6rem; }
.owner-section-card .stat-bars article span { color:#ccc; }
.owner-section-card .stat-bars article>div { background:#303030; }
.owner-section-card .stat-bars article>div i { background:#ff5349; }
.owner-settings-row { align-items:center; border-top:.1rem solid rgba(255,255,255,.1); display:flex; justify-content:space-between; padding-top:1.5rem; }
.owner-settings-row strong { font-size:1.2rem; }
.owner-settings-row p { color:#4cd28b; margin-top:.4rem; }
.owner-outline-button,.owner-primary-button { border:.1rem solid #ff5349; border-radius:.7rem; cursor:pointer; font-weight:700; padding:.9rem 1.2rem; }
.owner-outline-button { background:transparent; color:#ff5349; }
.owner-primary-button { background:#ff5349; color:#111; }
.owner-privacy-note { color:#aaa; margin-bottom:1.5rem; }
.owner-privacy-note i { color:#ff5349; margin-right:.5rem; }
.owner-section-card .dashboard-form label { color:#ccc; }
.owner-section-card .dashboard-form textarea { background:#272727; border:.1rem solid rgba(255,255,255,.12); color:#fff; }
.owner-inbox { display:grid; gap:1.2rem; grid-template-columns:30rem minmax(0,1fr); min-height:65rem; }
.owner-thread-panel,.owner-conversation-panel { background:#1d1d1d; border:1px solid var(--owner-border); border-radius:1rem; min-width:0; overflow:hidden; }
.owner-thread-panel>div:first-child { border-bottom:1px solid var(--owner-border-soft); padding:1.5rem; }
.owner-thread-panel h2,.owner-conversation-panel h2 { color:#fff; font-size:1.7rem; }
.owner-thread-panel>div:first-child span,.owner-conversation-panel header p { color:#888; display:block; font-size:1rem; margin-top:.35rem; }
.owner-thread-panel>label { align-items:center; background:#272727; border:1px solid var(--owner-border); border-radius:.7rem; color:#777; display:flex; gap:.7rem; margin:1rem; padding:.9rem; }
.owner-thread-panel>label input { background:transparent; border:0; color:#fff; outline:0; width:100%; }
.owner-thread-list { max-height:54rem; overflow-y:auto; }
.owner-thread { align-items:center; background:transparent; border:0; border-bottom:1px solid var(--owner-border-soft); color:#fff; cursor:pointer; display:grid; gap:.8rem; grid-template-columns:3.6rem minmax(0,1fr) auto; padding:1.1rem; text-align:left; width:100%; }
.owner-thread:hover,.owner-thread.active { background:rgba(255,83,73,.12); }
.owner-thread>span { align-items:center; background:linear-gradient(145deg,#ff5349,#8b211b); border-radius:50%; display:flex; font-weight:800; height:3.6rem; justify-content:center; width:3.6rem; }
.owner-thread strong,.owner-thread small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.owner-thread strong { font-size:1.1rem; }.owner-thread small { color:#888; font-size:.85rem; margin-top:.3rem; }
.owner-thread time { color:#777; font-size:.72rem; max-width:7rem; text-align:right; }
.owner-conversation-panel { display:grid; grid-template-rows:auto minmax(30rem,1fr) auto; }
.owner-conversation-panel>header { border-bottom:1px solid var(--owner-border-soft); padding:1.5rem; }
.owner-conversation { display:flex; flex-direction:column; gap:.9rem; overflow-y:auto; padding:1.5rem; }
.owner-chat-message { border-radius:1rem; max-width:75%; padding:1rem 1.2rem; }
.owner-chat-message.incoming { align-self:flex-start; background:#292929; }
.owner-chat-message.outgoing { align-self:flex-end; background:rgba(255,83,73,.17); border:1px solid rgba(255,83,73,.3); }
.owner-chat-message strong { color:#ff7168; font-size:.9rem; }.owner-chat-message p { color:#fff; font-size:1.1rem; line-height:1.45; margin:.35rem 0; }.owner-chat-message time { color:#888; font-size:.75rem; }
.owner-reply-form { border-top:1px solid var(--owner-border-soft); display:grid; gap:.8rem; grid-template-columns:minmax(0,1fr) auto; padding:1.2rem; }
.owner-reply-form textarea { background:#292929; border:1px solid var(--owner-border); border-radius:.7rem; color:#fff; padding:1rem; resize:none; }
.owner-reply-form button { align-self:stretch; background:#ff5349; border-radius:.7rem; color:#111; cursor:pointer; font-weight:800; padding:0 1.4rem; }
.owner-reply-form p { color:#67d6a8; font-size:.9rem; grid-column:1/-1; }
.owner-inbox-empty { color:#777; padding:2rem; text-align:center; }
@media(max-width:900px){.owner-inbox{grid-template-columns:1fr}.owner-thread-list{max-height:25rem}.owner-conversation-panel{min-height:55rem}}
.owner-homepage-header { margin-bottom:1.8rem; }
.owner-page-heading { align-items:center; display:flex; justify-content:space-between; margin-bottom:1.8rem; }
.owner-page-heading>div { align-items:center; display:flex; gap:1rem; }
.owner-page-heading h1 { color:#fff; font-size:2.6rem; }
.owner-page-heading a { color:#ff5349; font-size:1.8rem; }
.owner-page-heading button { border-radius:.6rem; cursor:pointer; padding:1rem 1.4rem; }
.owner-cancel { background:transparent; border:.1rem solid #ff5349; color:#ff5349; }
.owner-checkin { background:#ff5349; border:.1rem solid #ff5349; color:#111; font-weight:800; }
.owner-profile-grid,.owner-lower-grid { display:grid; gap:1.5rem; }
.owner-profile-grid { align-items:stretch; grid-template-columns:minmax(28rem,.72fr) minmax(54rem,1.48fr); }
.owner-lower-grid { grid-template-columns:minmax(48rem,1.2fr) minmax(34rem,.8fr); margin-top:1.5rem; }
.owner-dark-card { background:#1d1d1d; border:1px solid var(--owner-border); border-radius:1rem; color:#fff; overflow:hidden; padding:2rem; }
.owner-card-title { align-items:flex-start; display:flex; justify-content:space-between; }
.owner-card-title h2 { font-size:1.8rem; }
.owner-card-title p { color:#888; font-size:1.1rem; margin-top:.4rem; }
.owner-card-title button { background:#292929; border:1px solid var(--owner-border); border-radius:.6rem; color:#ddd; padding:.8rem 1rem; }
.owner-card-title>span { background:rgba(71,190,141,.12); border-radius:.5rem; color:#5ddaa7; font-size:1.1rem; padding:.6rem .8rem; }
.owner-guest-head { align-items:center; display:flex; gap:1.2rem; margin-top:1.5rem; }
.owner-guest-head h3 { font-size:1.6rem; }
.owner-guest-head span { color:#ff746b; font-size:1rem; }
.owner-guest-head p { color:#888; font-size:1.1rem; margin-top:.4rem; }
.owner-dark-card hr { border:0; border-top:1px solid var(--owner-inner-border); margin:1.5rem 0; }
.owner-dark-card h4 { color:#999; font-size:1.2rem; margin-bottom:1rem; }
.owner-contact,.owner-personal { display:grid; gap:1rem; }
.owner-contact { grid-template-columns:1fr 1.4fr; }
.owner-contact span { color:#bbb; font-size:1.1rem; overflow-wrap:anywhere; }
.owner-contact i { color:#ff5349; margin-right:.5rem; }
.owner-personal { grid-template-columns:repeat(3,1fr); }
.owner-personal span { color:#888; font-size:1rem; }
.owner-personal b { color:#fff; display:block; font-size:1.2rem; margin-top:.5rem; }
.owner-booking-info { display:grid; gap:2.4rem; grid-template-columns:minmax(0,1.5fr) minmax(24rem,.72fr); }
.owner-booking-facts { display:grid; grid-template-columns:repeat(4,1fr); margin-top:2.5rem; }
.owner-booking-facts span { border-right:1px solid var(--owner-inner-border); color:#888; font-size:1rem; padding:0 1rem; }
.owner-booking-facts span:first-child { padding-left:0; }
.owner-booking-facts span:last-child { border-right:0; padding-right:0; }
.owner-booking-facts b { color:#fff; display:block; font-size:1.2rem; margin-top:.6rem; }
.owner-features { display:grid; gap:1.3rem; grid-template-columns:repeat(2,1fr); margin-top:2.5rem; }
.owner-features span { color:#aaa; font-size:1.2rem; }
.owner-features i { color:#ff5349; margin-right:.6rem; }
.owner-property-summary h3 { font-size:1.3rem; margin-bottom:1rem; }
.owner-property-summary img { border-radius:.7rem; height:16.5rem; object-fit:cover; width:100%; }
.owner-property-summary dl div { display:flex; font-size:1.1rem; justify-content:space-between; padding:.45rem 0; }
.owner-property-summary dt { color:#888; }.owner-property-summary dd { font-weight:700; }
.owner-card-title h2 em { background:rgba(255,83,73,.14); border-radius:999px; color:#ff7168; font-size:1rem; font-style:normal; padding:.4rem .7rem; }
.owner-payment-table { margin-top:1.5rem; }
.owner-payment-row { align-items:center; border-bottom:1px solid var(--owner-inner-border); display:grid; gap:1rem; grid-template-columns:1.3fr 1fr .8fr .6fr; min-height:5.6rem; padding:.7rem; }
.owner-payment-row:last-child { border-bottom:0; }
.owner-payment-row.head { color:#888; min-height:3rem; }
.owner-payment-row b,.owner-payment-row small { display:block; }.owner-payment-row small { color:#777; }
.owner-payment-row i { color:#ff5349; float:left; font-size:1.5rem; margin-right:.8rem; }
.owner-payment-row em { background:rgba(255,83,73,.12); border-radius:.4rem; color:#ff7168; font-style:normal; padding:.4rem .6rem; }
.owner-payment-footer { align-items:center; color:#888; display:flex; justify-content:space-between; margin-top:1.5rem; }
.owner-payment-footer button,.owner-notes-card form button { background:#ff5349; border:0; border-radius:.6rem; color:#111; cursor:pointer; font-weight:800; margin-left:.5rem; padding:.8rem 1rem; }
.owner-payment-card>[data-owner-payment-status],.owner-notes-card [data-owner-note-status] { color:#67d6a8; font-size:1.1rem; margin-top:1rem; }
.owner-notes-card textarea { background:#292929; border:1px solid var(--owner-border); border-radius:.7rem; color:#fff; margin:1.5rem 0 .8rem; padding:1rem; resize:vertical; width:100%; }
.owner-note { background:#252525; border:1px solid var(--owner-border); border-radius:.7rem; margin-top:1.3rem; padding:1.2rem; }
.owner-note>div { align-items:center; display:grid; gap:.8rem; grid-template-columns:auto 1fr auto; }
.owner-note-avatar { align-items:center; background:rgba(255,83,73,.15); border-radius:50%; color:#ff7168; display:flex; height:3.3rem; justify-content:center; width:3.3rem; }
.owner-note time { color:#777; font-size:1rem; }.owner-note p { color:#bbb; font-size:1.15rem; line-height:1.5; margin-top:1rem; }
.owner-notes-card>a { color:#ff7168; display:block; font-size:1.1rem; margin-top:1.3rem; text-align:center; }

.owner-profile-tabs {
  background:#202020;
  border:1px solid var(--owner-border);
  border-radius:.8rem;
  display:flex;
  gap:.4rem;
  margin-bottom:1.5rem;
  padding:.35rem;
  width:max-content;
}
.owner-profile-tabs button {
  background:transparent;
  border:0;
  border-radius:.6rem;
  color:#999;
  cursor:pointer;
  font-size:1.25rem;
  padding:.9rem 1.4rem;
}
.owner-profile-tabs button.active { background:#ff5349; color:#111; font-weight:800; }
.owner-profile-tabs span { background:rgba(255,255,255,.15); border-radius:999px; font-size:.95rem; margin-left:.4rem; padding:.2rem .55rem; }
.owner-account-directory { background:#1d1d1d; border:1px solid var(--owner-border); border-radius:1rem; padding:2rem; }
.owner-account-directory[hidden] { display:none; }
[data-owner-about-view][hidden] { display:none; }
.owner-directory-heading { align-items:center; display:flex; justify-content:space-between; }
.owner-directory-heading h2 { color:#fff; font-size:2rem; }
.owner-directory-heading p,.owner-directory-heading span { color:#888; font-size:1.15rem; margin-top:.4rem; }
.owner-account-grid { display:grid; gap:1.2rem; grid-template-columns:repeat(auto-fit,minmax(25rem,1fr)); margin-top:1.6rem; }
.owner-account-item { align-items:center; background:#272727; border:.1rem solid rgba(255,255,255,.1); border-radius:.8rem; color:#fff; cursor:pointer; display:grid; gap:1rem; grid-template-columns:auto 1fr auto; padding:1.3rem; text-align:left; }
.owner-account-item:hover,.owner-account-item.selected { border-color:#ff5349; transform:translateY(-.1rem); }
.owner-account-item .account-avatar { align-items:center; background:linear-gradient(145deg,#ff5349,#7d1c17); border-radius:.7rem; display:flex; font-weight:800; height:4.5rem; justify-content:center; width:4.5rem; }
.owner-account-item strong,.owner-account-item small { display:block; }
.owner-account-item strong { font-size:1.3rem; }.owner-account-item small { color:#888; font-size:1.05rem; margin-top:.35rem; }
.owner-account-item em { background:rgba(77,192,145,.12); border-radius:999px; color:#60dbaa; font-size:1rem; font-style:normal; padding:.45rem .7rem; }
.owner-account-footer { align-items:center; background:#1d1d1d; border:.1rem solid rgba(255,255,255,.11); border-radius:1rem; display:grid; gap:1rem; grid-template-columns:auto 1fr auto; margin-top:1.5rem; padding:1.4rem 1.6rem; }
.owner-account-footer strong,.owner-account-footer span { display:block; }
.owner-account-footer strong { color:#fff; font-size:1.4rem; }
.owner-account-footer span { color:#888; font-size:1.1rem; margin-top:.3rem; }
.owner-account-footer a { border:.1rem solid #ff5349; border-radius:.6rem; color:#ff5349; font-size:1.2rem; padding:.9rem 1.1rem; text-decoration:none; }

@media (max-width:1100px) {
  .role-admin .owner-management-dashboard { grid-template-columns:1fr; }
  .owner-staff-sidebar { display:none; }
  .owner-profile-grid,.owner-lower-grid { grid-template-columns:1fr; }
}

@media (max-width:700px) {
  .owner-page-heading { align-items:flex-start; flex-direction:column; gap:1rem; }
  .owner-booking-info { grid-template-columns:1fr; }
  .owner-booking-facts,.owner-personal,.owner-contact { grid-template-columns:repeat(2,1fr); }
  .owner-payment-row { grid-template-columns:1.3fr .7fr; }
  .owner-payment-row>:nth-child(2),.owner-payment-row>:nth-child(3) { display:none; }
  .owner-account-footer { grid-template-columns:auto 1fr; }
  .owner-account-footer a { grid-column:1/-1; text-align:center; }
}

.reservation-popup {
  inset: 0;
  opacity: 0;
  pointer-events: none;
  position: fixed;
  transition: opacity 0.2s ease;
  z-index: 3000;
}

.reservation-popup.show {
  opacity: 1;
  pointer-events: auto;
}

.reservation-popup-backdrop {
  -webkit-backdrop-filter: blur(.4rem);
  backdrop-filter: blur(.4rem);
  background: rgba(0, 0, 0, 0.78);
  inset: 0;
  position: absolute;
}

.reservation-popup-card {
  background: linear-gradient(135deg, #232323, #1b1b1b);
  border: 0.1rem solid rgba(255, 255, 255, 0.12);
  border-radius: 1.6rem;
  box-shadow: 0 2.5rem 8rem rgba(0, 0, 0, 0.62);
  color: #fff;
  display: grid;
  gap: 1.5rem;
  grid-template-columns: minmax(25rem, 32rem) 1fr;
  left: 50%;
  max-height: calc(100vh - 4rem);
  max-width: 94rem;
  overflow: hidden;
  padding: 1.2rem;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  width: calc(100% - 3rem);
}

.reservation-popup-card img {
  border: .1rem solid rgba(255, 255, 255, .12);
  border-radius: 1.1rem;
  height: 100%;
  min-height: 45rem;
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
}
.reservation-popup-card.image-unavailable {
  grid-template-columns: 1fr;
  max-width: 62rem;
}

.reservation-popup-close {
  align-items: center;
  background: rgba(20,20,20,.88);
  border: 0.1rem solid rgba(255, 255, 255, 0.18);
  border-radius: 50%;
  color: #fff;
  cursor: pointer;
  display: flex;
  height: 4.2rem;
  justify-content: center;
  position: absolute;
  right: 1.4rem;
  top: 1.4rem;
  transition: background .2s ease, border-color .2s ease, transform .2s ease;
  width: 4.2rem;
  z-index: 2;
}

.reservation-popup-close:hover {
  background: #ff5349;
  border-color: #ff5349;
  color: #111;
  transform: rotate(90deg);
}

.reservation-popup-content {
  display: grid;
  gap: 1.35rem;
  padding: 2rem 2rem 2rem 0;
}

.reservation-popup-content span {
  color: #FF5349;
  font-size: 1.05rem;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.reservation-popup-content h2 {
  color: #fff;
  font-size: clamp(2.6rem, 4vw, 3.8rem);
  line-height: 1.1;
}

.reservation-popup-content p {
  color: #aaa;
  font-size: 1.2rem;
  line-height: 1.5;
}

.reservation-popup-facts {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.reservation-popup-facts article {
  align-items: center;
  background: #191919;
  border: 0.1rem solid rgba(255, 255, 255, 0.12);
  border-radius: 1rem;
  display: flex;
  gap: .9rem;
  min-width: 0;
  padding: 1.15rem;
}
.reservation-popup-facts article > i {
  align-items: center;
  background: rgba(255,83,73,.12);
  border-radius: .8rem;
  color: #ff5c53;
  display: flex;
  flex: 0 0 3.5rem;
  height: 3.5rem;
  justify-content: center;
}
.reservation-popup-facts article span { display: block; min-width: 0; }
.reservation-popup-facts article small {
  color: #777;
  display: block;
  font-size: .78rem;
  font-weight: 600;
  letter-spacing: 0;
  margin-bottom: .3rem;
  text-transform: none;
}
.reservation-popup-facts article strong {
  color: #fff;
  display: block;
  font-size: 1.05rem;
  line-height: 1.25;
}
.reservation-access-note {
  align-items:center;
  background:rgba(255,83,73,.1);
  border:.1rem solid rgba(255,83,73,.28);
  border-radius:1rem;
  display:flex;
  gap:1rem;
  padding:1.3rem;
}
.reservation-access-note>i {
  align-items:center;
  background:rgba(255,83,73,.16);
  border-radius:50%;
  color:#FF5349;
  display:flex;
  flex:0 0 3.8rem;
  height:3.8rem;
  justify-content:center;
}
.reservation-access-note b,
.reservation-access-note small {
  display:block;
}
.reservation-access-note b {
  color:#fff;
  font-size:1.1rem;
}
.reservation-access-note small {
  color:#999;
  font-size:.9rem;
  line-height:1.5;
  margin-top:.2rem;
}
.reservation-access-note.verified {
  background:rgba(76,210,139,.09);
  border-color:rgba(76,210,139,.25);
}
.reservation-access-note.verified>i { background:rgba(76,210,139,.14); color:#4cd28b; }

.reservation-popup-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  justify-content: flex-end;
  margin-top: .5rem;
}

.reservation-popup-actions .mini-btn {
  background: transparent;
  border: .1rem solid rgba(255,255,255,.16);
  border-radius: .9rem;
  color: #ccc;
  font-size: 1.05rem;
  font-weight: 700;
  min-height: 4.4rem;
  padding: 1rem 1.4rem;
}
.reservation-popup-actions .mini-btn:hover {
  border-color: rgba(255,255,255,.35);
  color: #fff;
}
.reservation-popup-actions .popup-continue {
  background: #ff5349;
  border-color: #ff5349;
  color: #111;
  min-width: 18rem;
}
.reservation-popup-actions .popup-continue:hover {
  background: #ff7068;
  border-color: #ff7068;
  color: #111;
}

.reservation-popup-actions .popup-continue:disabled {
  background: #191919;
  border-color: rgba(255, 255, 255, 0.12);
  color: #777;
  cursor: not-allowed;
}

@media (max-width: 700px) {
  .reservation-popup-card {
    grid-template-columns: 1fr;
    overflow-y: auto;
  }
  .reservation-popup-card img {
    height: 18rem;
    min-height: 18rem;
  }
  .reservation-popup-content { padding: 1.2rem; }
  .reservation-popup-facts { grid-template-columns: 1fr; }
  .reservation-popup-actions { flex-direction: column-reverse; }
  .reservation-popup-actions .mini-btn { justify-content: center; width: 100%; }
}

/* Final responsive overrides kept last for consistent behavior. */
@media (max-width: 1100px) {
  .featured-houses-grid,
  .services .box-container,
  .footer .box-container {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 768px) {
  .home {
    align-items: flex-start;
    min-height: 68rem;
    padding: 3rem 2rem 16rem;
    width: calc(100% - 3rem);
  }
  .home .content {
    transform: none;
    width: 100%;
  }
  .home .content span {
    line-height: 1.05;
    margin-bottom: .3rem;
  }
  .home .content h3 {
    font-size: clamp(4.5rem, 10vw, 6.5rem);
    line-height: 1;
    margin: 0;
  }
  .home .content p {
    line-height: 1.5;
    margin-top: .8rem;
  }
  .featured-houses-strip {
    padding: 2rem;
    width: calc(100% - 3rem);
  }
  .about {
    align-items: stretch;
    flex-direction: column;
  }
  .about .video-container,
  .about .content {
    flex-basis: auto;
    width: 100%;
  }
  .destination .box-container,
  .nearby-section.destination .nearby-results {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .services .box-container,
  .footer .box-container {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 480px) {
  .home {
    padding-top: 2.2rem;
  }
  .home .content span {
    line-height: 1.1;
    margin-bottom: .8rem;
  }
  .home .content h3 {
    font-size: clamp(4rem, 17vw, 5.8rem);
    line-height: 1.05;
  }
  .home .content.home-title-position {
    top: -2.5rem;
  }
}

@media (max-width: 600px) {
  .featured-houses-grid,
  .destination .box-container,
  .nearby-section.destination .nearby-results,
  .services .box-container,
  .footer .box-container {
    grid-template-columns: minmax(0, 1fr);
  }
  .destination .box-container .box,
  .nearby-section.destination .nearby-card {
    min-width: 0;
    width: 100%;
  }
  .footer {
    text-align: center;
  }
}

/* Admin professional message center */
.admin-message-summary{display:grid;gap:1.2rem;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:1.6rem}
.admin-message-summary article{align-items:center;background:#1c1c1c;border:.1rem solid rgba(255,255,255,.08);border-radius:1.2rem;display:flex;gap:1.2rem;padding:1.4rem}
.admin-message-summary article>span{align-items:center;background:rgba(255,83,73,.13);border-radius:1rem;color:#ff5349;display:flex;font-size:1.5rem;height:4.5rem;justify-content:center;width:4.5rem}
.admin-message-summary small,.admin-message-summary strong{display:block}.admin-message-summary small{color:#8f8f8f;font-size:.9rem}.admin-message-summary strong{color:#fff;font-size:1.8rem;margin-top:.2rem}
.admin-message-workspace{background:#171717;border:.1rem solid rgba(255,255,255,.09);border-radius:1.4rem;display:grid;grid-template-columns:minmax(29rem,.75fr) minmax(42rem,1.45fr);min-height:66rem;overflow:hidden}
.admin-message-directory{border-right:.1rem solid rgba(255,255,255,.08);min-width:0;padding:1.6rem}
.admin-message-directory-head{align-items:center;display:flex;justify-content:space-between}.admin-message-directory-head p{color:#ff5349;font-size:.82rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.admin-message-directory-head h2{color:#fff;font-size:1.7rem;margin-top:.25rem}
.admin-message-directory-head button{align-items:center;background:#252525;border:.1rem solid rgba(255,255,255,.09);border-radius:.75rem;color:#aaa;cursor:pointer;display:flex;height:3.6rem;justify-content:center;width:3.6rem}.admin-message-directory-head button:hover{border-color:#ff5349;color:#ff5349}
.admin-message-search{align-items:center;background:#232323;border:.1rem solid rgba(255,255,255,.08);border-radius:.8rem;color:#777;display:flex;gap:.8rem;margin:1.4rem 0 1rem;padding:0 1rem}.admin-message-search input{background:transparent;color:#fff;font-size:.95rem;padding:1rem 0;width:100%}
.admin-message-filters{display:flex;gap:.5rem;margin-bottom:1.2rem;overflow-x:auto}.admin-message-filters button{background:#242424;border:.1rem solid transparent;border-radius:5rem;color:#999;cursor:pointer;font-size:.8rem;padding:.55rem .85rem;white-space:nowrap}.admin-message-filters button.active,.admin-message-filters button:hover{background:rgba(255,83,73,.14);border-color:rgba(255,83,73,.45);color:#ff7168}
.admin-message-thread-list{display:grid;gap:.65rem;max-height:51rem;overflow-y:auto;padding-right:.25rem}.admin-message-thread{align-items:center;background:transparent;border:.1rem solid transparent;border-radius:1rem;color:#fff;cursor:pointer;display:grid;gap:.85rem;grid-template-columns:4.1rem minmax(0,1fr) auto;padding:.9rem;text-align:left;width:100%}.admin-message-thread:hover,.admin-message-thread.active{background:#242424;border-color:rgba(255,83,73,.32)}
.admin-message-thread-avatar,.admin-message-profile-avatar{align-items:center;background:rgba(255,83,73,.16);border-radius:50%;color:#ff635a;display:flex;font-size:1.2rem;font-style:normal;font-weight:800;height:4.1rem;justify-content:center;width:4.1rem}.admin-message-thread-avatar.admin,.admin-message-profile-avatar.admin{background:rgba(78,145,255,.16);color:#72a6ff}
.admin-message-thread-copy,.admin-message-thread-copy>span{min-width:0}.admin-message-thread-copy>span{align-items:center;display:flex;gap:.5rem;justify-content:space-between}.admin-message-thread-copy strong{font-size:.98rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-message-thread-copy time{color:#777;font-size:.68rem;white-space:nowrap}.admin-message-thread-copy em{color:#ff7168;display:block;font-size:.68rem;font-style:normal;margin:.15rem 0;text-transform:uppercase}.admin-message-thread-copy small{color:#888;display:block;font-size:.78rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.admin-message-thread>b{align-items:center;background:#ff5349;border-radius:50%;color:#111;display:flex;font-size:.7rem;height:1.65rem;justify-content:center;width:1.65rem}
.admin-message-conversation{display:grid;grid-template-rows:auto minmax(0,1fr) auto;min-width:0}.admin-message-conversation>header{align-items:center;border-bottom:.1rem solid rgba(255,255,255,.08);display:flex;gap:1rem;min-height:7.4rem;padding:1.25rem 1.6rem}.admin-message-conversation>header h2{color:#fff;font-size:1.45rem}.admin-message-conversation>header p{color:#888;font-size:.8rem;margin-top:.25rem;text-transform:none}
.admin-message-role-badge{background:rgba(255,83,73,.14);border-radius:5rem;color:#ff7168;font-size:.68rem;font-weight:700;margin-right:.35rem;padding:.3rem .55rem;text-transform:uppercase}.admin-message-role-badge.admin{background:rgba(78,145,255,.15);color:#72a6ff}.admin-message-empty-avatar{align-items:center;background:#252525;border-radius:50%;color:#777;display:flex;height:4.1rem;justify-content:center;width:4.1rem}
.admin-message-chat{display:flex;flex-direction:column;gap:.9rem;max-height:47rem;overflow-y:auto;padding:1.6rem}.admin-message-empty{color:#777;margin:auto;max-width:28rem;text-align:center}.admin-message-empty i{color:#555;font-size:3.4rem}.admin-message-empty h3{color:#ccc;font-size:1.35rem;margin:1rem 0 .45rem}.admin-message-empty p{font-size:.9rem;line-height:1.6;text-transform:none}
.admin-chat-bubble{align-self:flex-start;background:#252525;border:.1rem solid rgba(255,255,255,.07);border-radius:.3rem 1rem 1rem 1rem;max-width:72%;padding:.85rem 1rem}.admin-chat-bubble.outgoing{align-self:flex-end;background:rgba(255,83,73,.16);border-color:rgba(255,83,73,.3);border-radius:1rem .3rem 1rem 1rem}.admin-chat-bubble>div{align-items:center;display:flex;gap:1rem;justify-content:space-between}.admin-chat-bubble strong{color:#fff;font-size:.8rem}.admin-chat-bubble time{color:#777;font-size:.67rem}.admin-chat-bubble p{color:#d6d6d6;font-size:.92rem;line-height:1.55;margin-top:.45rem;overflow-wrap:anywhere;text-transform:none}
.admin-message-reply{border-top:.1rem solid rgba(255,255,255,.08);padding:1.2rem 1.6rem}.admin-message-reply>label{color:#aaa;display:block;font-size:.8rem;font-weight:700;margin-bottom:.55rem}.admin-message-reply>div{align-items:flex-end;display:flex;gap:.8rem}.admin-message-reply textarea{background:#242424;border:.1rem solid rgba(255,255,255,.1);border-radius:.8rem;color:#fff;flex:1;font-size:.9rem;padding:.85rem 1rem;resize:none;text-transform:none}.admin-message-reply textarea:focus{border-color:#ff5349}.admin-message-reply button{background:#ff5349;border-radius:.8rem;color:#111;cursor:pointer;font-size:.9rem;font-weight:800;padding:.95rem 1.15rem;white-space:nowrap}.admin-message-reply button i{margin-right:.4rem}.admin-message-reply>p{color:#4cd28b;font-size:.78rem;min-height:1rem;padding-top:.5rem}
.admin-message-no-results{color:#777;padding:3rem 1rem;text-align:center}.admin-message-no-results i{font-size:2rem;margin-bottom:.7rem}.admin-message-no-results p{font-size:.85rem;text-transform:none}
@media(max-width:1050px){.admin-message-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-message-workspace{grid-template-columns:31rem minmax(38rem,1fr)}}
@media(max-width:780px){.admin-message-workspace{grid-template-columns:1fr}.admin-message-directory{border-bottom:.1rem solid rgba(255,255,255,.08);border-right:0}.admin-message-thread-list{max-height:30rem}.admin-message-chat{min-height:34rem}}
@media(max-width:520px){.admin-message-summary{grid-template-columns:1fr 1fr}.admin-message-summary article{padding:1rem}.admin-message-reply button span{display:none}.admin-message-reply button i{margin:0}}

/* Admin add and edit room form */
.admin-room-form-modal{align-items:center;background:rgba(0,0,0,.78);display:none;inset:0;justify-content:center;padding:2rem;position:fixed;z-index:10000}
.admin-room-form-modal.active{display:flex}
.admin-room-form-modal>section{background:#1b1b1b;border:.1rem solid rgba(255,255,255,.12);border-radius:1.4rem;box-shadow:0 2rem 6rem rgba(0,0,0,.55);max-height:92vh;max-width:76rem;overflow-y:auto;padding:2.2rem;position:relative;width:100%}
.admin-room-form-close{align-items:center;background:#292929;border:.1rem solid rgba(255,255,255,.1);border-radius:.8rem;color:#aaa;cursor:pointer;display:flex;height:3.5rem;justify-content:center;position:absolute;right:1.6rem;top:1.6rem;width:3.5rem}
.admin-room-form-close:hover{border-color:#ff5349;color:#ff5349}
.admin-room-form-modal header span{color:#ff5349;font-size:.8rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.admin-room-form-modal header h2{color:#fff;font-size:2rem;margin:.35rem 0}
.admin-room-form-modal header p{color:#888;font-size:.9rem;text-transform:none}
.admin-room-form-modal form{margin-top:1.7rem}
.admin-room-form-grid{display:grid;gap:1.2rem;grid-template-columns:repeat(2,minmax(0,1fr))}
.admin-room-form-grid label{color:#bbb;font-size:.82rem;font-weight:700}
.admin-room-form-grid label.wide{grid-column:1/-1}
.admin-room-form-grid input,.admin-room-form-grid select{background:#252525;border:.1rem solid rgba(255,255,255,.1);border-radius:.8rem;color:#fff;font-size:.92rem;margin-top:.5rem;padding:1rem;width:100%}
.admin-room-form-grid input:focus,.admin-room-form-grid select:focus{border-color:#ff5349}
.admin-room-form-grid small{color:#777;display:block;font-size:.72rem;font-weight:400;margin-top:.35rem}
.admin-room-form-actions{align-items:center;border-top:.1rem solid rgba(255,255,255,.08);display:flex;gap:.8rem;justify-content:flex-end;margin-top:1.6rem;padding-top:1.4rem}
.admin-room-form-actions button{background:#292929;border:.1rem solid rgba(255,255,255,.1);border-radius:.8rem;color:#aaa;cursor:pointer;font-size:.9rem;font-weight:700;padding:.9rem 1.25rem}
.admin-room-form-actions button[type=submit]{background:#ff5349;border-color:#ff5349;color:#111}
.admin-room-form-actions button i{margin-right:.4rem}
[data-admin-room-form-status]{color:#ff7168;font-size:.8rem;margin-top:.7rem;min-height:1rem;text-align:right}
@media(max-width:600px){.admin-room-form-grid{grid-template-columns:1fr}.admin-room-form-grid label.wide{grid-column:auto}.admin-room-form-modal{padding:1rem}.admin-room-form-modal>section{padding:1.5rem}}

/* Admin reservations */
.admin-reservation-summary{display:grid;gap:1.2rem;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:1.5rem}.admin-reservation-summary article{align-items:center;background:#1c1c1c;border:.1rem solid rgba(255,255,255,.08);border-radius:1.2rem;display:flex;gap:1rem;padding:1.4rem}.admin-reservation-summary article>i{align-items:center;background:rgba(255,83,73,.13);border-radius:.9rem;color:#ff5349;display:flex;font-size:1.4rem;height:4.2rem;justify-content:center;width:4.2rem}.admin-reservation-summary small,.admin-reservation-summary strong{display:block}.admin-reservation-summary small{color:#888;font-size:.85rem}.admin-reservation-summary strong{color:#fff;font-size:1.7rem;margin-top:.2rem}
.admin-reservation-workspace{display:grid;gap:1.4rem;grid-template-columns:minmax(55rem,1.35fr) minmax(30rem,.65fr)}.admin-reservation-list-panel,.admin-reservation-detail{background:#1b1b1b;border:.1rem solid rgba(255,255,255,.08);border-radius:1.3rem;min-width:0;padding:1.5rem}.admin-reservation-heading{align-items:center;display:flex;justify-content:space-between}.admin-reservation-heading span{color:#ff5349;font-size:.75rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.admin-reservation-heading h2{font-size:1.7rem;margin-top:.2rem}.admin-reservation-heading button{background:#292929;border:.1rem solid rgba(255,255,255,.1);border-radius:.7rem;color:#aaa;cursor:pointer;padding:.75rem 1rem}.admin-reservation-tools{display:grid;gap:.8rem;grid-template-columns:1fr 14rem;margin:1.3rem 0}.admin-reservation-tools label{align-items:center;background:#252525;border:.1rem solid rgba(255,255,255,.08);border-radius:.7rem;color:#777;display:flex;gap:.7rem;padding:0 .9rem}.admin-reservation-tools input,.admin-reservation-tools select{background:transparent;color:#fff;font-size:.85rem;padding:.9rem;width:100%}.admin-reservation-tools select{background:#252525;border:.1rem solid rgba(255,255,255,.08);border-radius:.7rem}
.admin-reservation-table-wrap{overflow-x:auto}.admin-reservation-table{border-collapse:collapse;min-width:70rem;width:100%}.admin-reservation-table th{color:#777;font-size:.72rem;padding:.8rem;text-align:left;text-transform:uppercase}.admin-reservation-table td{border-top:.1rem solid rgba(255,255,255,.07);color:#bbb;font-size:.82rem;padding:.9rem .8rem}.admin-reservation-table tr.selected td{background:rgba(255,83,73,.06)}.admin-reservation-table td strong,.admin-reservation-table td small{display:block}.admin-reservation-table td strong{color:#eee}.admin-reservation-table td small{color:#777;margin-top:.2rem}.admin-reservation-table td button{background:#2b2b2b;border-radius:.6rem;color:#ff7168;cursor:pointer;padding:.55rem .7rem}.admin-res-status,.admin-reservation-detail header b{border-radius:5rem;font-size:.7rem;padding:.4rem .65rem}.admin-res-status.reserved,.admin-reservation-detail header b.reserved{background:rgba(255,181,71,.14);color:#ffb547}.admin-res-status.confirmed,.admin-reservation-detail header b.confirmed{background:rgba(78,145,255,.14);color:#72a6ff}.admin-res-status.checked-in,.admin-reservation-detail header b.checked-in,.admin-res-status.completed,.admin-reservation-detail header b.completed{background:rgba(76,210,139,.14);color:#4cd28b}.admin-res-status.cancelled,.admin-res-status.declined,.admin-reservation-detail header b.cancelled,.admin-reservation-detail header b.declined{background:rgba(255,83,73,.14);color:#ff7168}
.admin-reservation-empty{color:#777;margin:10rem auto;text-align:center}.admin-reservation-empty i{font-size:3rem}.admin-reservation-empty h3{color:#ccc;font-size:1.35rem;margin:1rem 0 .4rem}.admin-reservation-empty p{font-size:.85rem;line-height:1.5;text-transform:none}.admin-reservation-detail header{align-items:center;border-bottom:.1rem solid rgba(255,255,255,.08);display:flex;justify-content:space-between;padding-bottom:1.2rem}.admin-reservation-detail header span{color:#888;font-size:.75rem}.admin-reservation-detail header h2{font-size:1.5rem;margin-top:.25rem}.admin-res-boarder{align-items:center;display:flex;gap:1rem;padding:1.3rem 0}.admin-res-boarder>span{align-items:center;background:#ff5349;border-radius:50%;color:#111;display:flex;font-size:1.3rem;font-weight:800;height:4.5rem;justify-content:center;width:4.5rem}.admin-res-boarder strong{font-size:1rem}.admin-res-boarder p{color:#888;font-size:.75rem;margin-top:.2rem;text-transform:none}.admin-res-info{display:grid;gap:.7rem;grid-template-columns:1fr 1fr}.admin-res-info article{align-items:center;background:#242424;border-radius:.8rem;display:flex;gap:.7rem;padding:.9rem}.admin-res-info i{color:#ff5349}.admin-res-info small,.admin-res-info strong{display:block}.admin-res-info small{color:#777;font-size:.68rem}.admin-res-info strong{font-size:.82rem;margin-top:.15rem}.admin-res-notes{border-bottom:.1rem solid rgba(255,255,255,.08);border-top:.1rem solid rgba(255,255,255,.08);margin:1.2rem 0;padding:1rem 0}.admin-res-notes h3{font-size:.9rem}.admin-res-notes p{color:#888;font-size:.8rem;line-height:1.5;margin-top:.45rem;text-transform:none}.admin-reservation-detail form label{color:#aaa;font-size:.78rem}.admin-reservation-detail form select{background:#252525;border:.1rem solid rgba(255,255,255,.1);border-radius:.7rem;color:#fff;margin-top:.5rem;padding:.8rem;width:100%}.admin-reservation-detail form button{background:#ff5349;border-radius:.7rem;color:#111;cursor:pointer;font-size:.85rem;font-weight:800;margin-top:.8rem;padding:.8rem 1rem;width:100%}.admin-res-no-results{color:#777!important;padding:3rem!important;text-align:center!important}
/* Admin settings */
.admin-settings-layout{display:grid;gap:1.4rem;grid-template-columns:25rem minmax(45rem,1fr)}.admin-settings-nav,.admin-settings-content{background:#1b1b1b;border:.1rem solid rgba(255,255,255,.08);border-radius:1.3rem;padding:1.5rem}.admin-settings-nav h2{font-size:1.5rem}.admin-settings-nav>p{color:#777;font-size:.8rem;line-height:1.5;margin:.4rem 0 1.4rem;text-transform:none}.admin-settings-nav button{background:transparent;border-radius:.7rem;color:#999;cursor:pointer;display:block;font-size:.9rem;margin:.35rem 0;padding:.85rem 1rem;text-align:left;width:100%}.admin-settings-nav button i{margin-right:.7rem;width:1.3rem}.admin-settings-nav button.active,.admin-settings-nav button:hover{background:rgba(255,83,73,.13);color:#ff7168}.admin-setting-panel{display:none}.admin-setting-panel.active{display:block}.admin-setting-panel header{align-items:center;border-bottom:.1rem solid rgba(255,255,255,.08);display:flex;gap:1rem;margin-bottom:1.4rem;padding-bottom:1.2rem}.admin-setting-panel header>span{align-items:center;background:rgba(255,83,73,.13);border-radius:.8rem;color:#ff5349;display:flex;height:4rem;justify-content:center;width:4rem}.admin-setting-panel header h2{font-size:1.5rem}.admin-setting-panel header p{color:#777;font-size:.8rem;margin-top:.3rem;text-transform:none}.admin-settings-grid{display:grid;gap:1rem;grid-template-columns:1fr 1fr}.admin-settings-grid.one{grid-template-columns:1fr}.admin-setting-panel label{color:#aaa;font-size:.78rem}.admin-setting-panel input,.admin-setting-panel select{background:#252525;border:.1rem solid rgba(255,255,255,.1);border-radius:.7rem;color:#fff;font-size:.88rem;margin-top:.45rem;padding:.9rem;width:100%}.admin-setting-panel>button{background:#ff5349;border-radius:.7rem;color:#111;cursor:pointer;font-size:.85rem;font-weight:800;margin-top:1.3rem;padding:.85rem 1.1rem}.admin-setting-panel>p{color:#4cd28b;font-size:.78rem;margin-top:.7rem;min-height:1rem}.admin-setting-switch{align-items:center;border-bottom:.1rem solid rgba(255,255,255,.07);display:flex!important;justify-content:space-between;padding:1rem 0}.admin-setting-switch span strong,.admin-setting-switch span small{display:block}.admin-setting-switch span strong{color:#ddd;font-size:.9rem}.admin-setting-switch span small{color:#777;font-size:.72rem;margin-top:.25rem}.admin-setting-switch input{accent-color:#ff5349;height:1.3rem;margin:0;width:1.3rem}
@media(max-width:1100px){.admin-reservation-workspace{grid-template-columns:1fr}.admin-settings-layout{grid-template-columns:1fr}.admin-settings-nav button{display:inline-block;width:auto}.admin-reservation-summary{grid-template-columns:repeat(2,1fr)}}@media(max-width:650px){.admin-reservation-tools,.admin-settings-grid{grid-template-columns:1fr}.admin-reservation-summary{grid-template-columns:1fr 1fr}}

/* Admin reservation and settings page structure */
.admin-reservation-layout{display:grid;gap:1.4rem;grid-template-columns:minmax(55rem,1.35fr) minmax(30rem,.65fr)}
.admin-reservation-table-wrap table{border-collapse:collapse;min-width:70rem;width:100%}.admin-reservation-table-wrap th{color:#777;font-size:.72rem;padding:.8rem;text-align:left;text-transform:uppercase}.admin-reservation-table-wrap td{border-top:.1rem solid rgba(255,255,255,.07);color:#bbb;font-size:.82rem;padding:.9rem .8rem}.admin-reservation-table-wrap tr.selected td{background:rgba(255,83,73,.06)}.admin-reservation-table-wrap td strong,.admin-reservation-table-wrap td small{display:block}.admin-reservation-table-wrap td strong{color:#eee}.admin-reservation-table-wrap td small{color:#777;margin-top:.2rem}.admin-reservation-table-wrap td button{background:#2b2b2b;border-radius:.6rem;color:#ff7168;cursor:pointer;padding:.55rem .7rem}
.admin-reservation-detail [data-reservation-empty]{color:#777;margin:10rem auto;text-align:center}.admin-reservation-detail [data-reservation-empty] i{font-size:3rem}.admin-reservation-detail [data-reservation-empty] h2{color:#ccc;font-size:1.35rem;margin:1rem 0 .4rem}.admin-reservation-detail [data-reservation-empty] p{font-size:.85rem;line-height:1.5;text-transform:none}.admin-reservation-detail [data-reservation-detail] header{border-bottom:.1rem solid rgba(255,255,255,.08);padding-bottom:1.1rem}.admin-reservation-detail [data-reservation-detail] header>span{border-radius:5rem;display:inline-block;font-size:.7rem;padding:.4rem .65rem}.admin-reservation-detail [data-reservation-detail] header>small{color:#777;float:right}.admin-reservation-detail [data-reservation-detail] header h2{font-size:1.5rem;margin-top:.8rem}.admin-reservation-detail [data-reservation-detail] header p{color:#888;font-size:.78rem;margin-top:.2rem;text-transform:none}.reservation-detail-grid{display:grid;gap:.7rem;grid-template-columns:1fr 1fr;margin:1.2rem 0}.reservation-detail-grid article{background:#242424;border-radius:.8rem;padding:.9rem}.reservation-detail-grid i{color:#ff5349;margin-right:.4rem}.reservation-detail-grid small,.reservation-detail-grid strong{display:block}.reservation-detail-grid small{color:#777;font-size:.68rem;margin:.35rem 0}.reservation-detail-grid strong{font-size:.82rem}.reservation-detail-notes{border-bottom:.1rem solid rgba(255,255,255,.08);border-top:.1rem solid rgba(255,255,255,.08);padding:1rem 0}.reservation-detail-notes h3{font-size:.9rem}.reservation-detail-notes p{color:#888;font-size:.8rem;line-height:1.5;margin-top:.4rem;text-transform:none}.admin-reservation-detail form{margin-top:1rem}.admin-reservation-detail form label{color:#aaa;font-size:.78rem}.admin-reservation-detail form select{background:#252525;border:.1rem solid rgba(255,255,255,.1);border-radius:.7rem;color:#fff;margin-top:.5rem;padding:.8rem;width:100%}.admin-reservation-detail form button{background:#ff5349;border-radius:.7rem;color:#111;cursor:pointer;font-size:.85rem;font-weight:800;margin-top:.8rem;padding:.8rem 1rem;width:100%}.admin-reservation-detail form p{color:#4cd28b;font-size:.75rem;margin-top:.5rem;min-height:1rem}
.admin-settings-intro{align-items:center;background:linear-gradient(135deg,#201b1b,#1b1b1b);border:.1rem solid rgba(255,255,255,.08);border-radius:1.3rem;display:flex;justify-content:space-between;margin-bottom:1.4rem;padding:1.5rem}.admin-settings-intro>div{align-items:center;display:flex;gap:1rem}.admin-settings-intro>div>span{align-items:center;background:rgba(255,83,73,.14);border-radius:1rem;color:#ff5349;display:flex;font-size:1.4rem;height:4.5rem;justify-content:center;width:4.5rem}.admin-settings-intro h2{font-size:1.5rem}.admin-settings-intro p{color:#777;font-size:.8rem;margin-top:.25rem;text-transform:none}.admin-settings-intro>b{background:rgba(76,210,139,.13);border-radius:5rem;color:#4cd28b;font-size:.78rem;padding:.6rem .8rem}.admin-settings-grid{display:grid;gap:1.3rem;grid-template-columns:1fr 1fr}.admin-settings-card{background:#1b1b1b;border:.1rem solid rgba(255,255,255,.08);border-radius:1.2rem;padding:1.5rem}.admin-settings-card.admin-security-card{grid-column:1/-1}.admin-settings-card header{align-items:center;border-bottom:.1rem solid rgba(255,255,255,.08);display:flex;gap:.9rem;margin-bottom:1.2rem;padding-bottom:1rem}.admin-settings-card header>i{align-items:center;background:rgba(255,83,73,.13);border-radius:.8rem;color:#ff5349;display:flex;height:3.6rem;justify-content:center;width:3.6rem}.admin-settings-card header h2{font-size:1.25rem}.admin-settings-card header p{color:#777;font-size:.75rem;margin-top:.2rem;text-transform:none}.admin-settings-card>label,.admin-security-fields label{color:#aaa;display:block;font-size:.76rem;margin-top:.9rem}.admin-settings-card input{background:#252525;border:.1rem solid rgba(255,255,255,.1);border-radius:.7rem;color:#fff;font-size:.86rem;margin-top:.4rem;padding:.85rem;width:100%}.admin-settings-card>button{background:#ff5349;border-radius:.7rem;color:#111;cursor:pointer;font-size:.84rem;font-weight:800;margin-top:1.1rem;padding:.8rem 1rem}.admin-settings-card>p{color:#4cd28b;font-size:.75rem;margin-top:.55rem;min-height:1rem}.admin-security-fields{display:grid;gap:1rem;grid-template-columns:repeat(3,1fr)}.admin-setting-switch{align-items:center;display:flex!important;justify-content:space-between}.admin-setting-switch span strong,.admin-setting-switch span small{display:block}.admin-setting-switch span strong{color:#ddd;font-size:.86rem}.admin-setting-switch span small{color:#777;font-size:.7rem;margin-top:.2rem}.admin-setting-switch input{accent-color:#ff5349;height:1.2rem;margin:0;width:1.2rem}
@media(max-width:1100px){.admin-reservation-layout{grid-template-columns:1fr}}@media(max-width:760px){.admin-settings-grid,.admin-security-fields{grid-template-columns:1fr}.admin-settings-card.admin-security-card{grid-column:auto}.admin-settings-intro{align-items:flex-start;gap:1rem}.admin-settings-intro>b{display:none}}

/* Admin statistics */
.admin-stat-actions{align-items:center;display:flex;gap:.8rem}.admin-stat-actions select,.admin-stat-actions>button{background:#252525;border:.1rem solid rgba(255,255,255,.1);border-radius:.7rem;color:#aaa;font-size:.8rem;padding:.75rem .9rem}.admin-stat-actions>button{cursor:pointer}.admin-stat-actions>button:hover{border-color:#ff5349;color:#ff5349}
.admin-stat-metrics{display:grid;gap:1.2rem;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:1.5rem}.admin-stat-metrics article{align-items:center;background:#1b1b1b;border:.1rem solid rgba(255,255,255,.08);border-radius:1.2rem;display:flex;gap:1rem;padding:1.35rem}.admin-stat-metrics article>span{align-items:center;background:rgba(255,83,73,.13);border-radius:.9rem;color:#ff5349;display:flex;font-size:1.35rem;height:4.3rem;justify-content:center;width:4.3rem}.admin-stat-metrics small,.admin-stat-metrics strong,.admin-stat-metrics p{display:block}.admin-stat-metrics small{color:#888;font-size:.76rem}.admin-stat-metrics strong{font-size:1.65rem;margin:.2rem 0}.admin-stat-metrics p{color:#666;font-size:.68rem;text-transform:none}
.admin-stat-dashboard{display:grid;gap:1.3rem;grid-template-columns:1.35fr .65fr}.admin-stat-card{background:#1b1b1b;border:.1rem solid rgba(255,255,255,.08);border-radius:1.2rem;min-width:0;padding:1.4rem}.admin-stat-card header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1.2rem}.admin-stat-card header span{color:#ff5349;font-size:.7rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.admin-stat-card header h2{font-size:1.35rem;margin-top:.25rem}.admin-stat-card header b{background:rgba(255,83,73,.12);border-radius:5rem;color:#ff7168;font-size:.7rem;padding:.45rem .65rem}.admin-stat-card header a{color:#ff7168;font-size:.72rem}
.admin-stat-chart{align-items:flex-end;border-bottom:.1rem solid rgba(255,255,255,.1);display:grid;gap:1rem;grid-template-columns:repeat(7,1fr);height:22rem;padding:1rem 1rem 0}.admin-stat-bar-column{align-items:center;display:flex;flex-direction:column;height:100%;justify-content:flex-end}.admin-stat-bar-column>span{color:#888;font-size:.68rem;margin-bottom:.4rem}.admin-stat-bar-column>div{align-items:flex-end;background:#232323;border-radius:.5rem .5rem 0 0;display:flex;height:16rem;justify-content:center;overflow:hidden;width:100%}.admin-stat-bar-column i{background:linear-gradient(180deg,#ff7168,#b72d25);border-radius:.5rem .5rem 0 0;display:block;width:72%}.admin-stat-bar-column small{color:#777;font-size:.65rem;margin:.55rem 0}.admin-stat-chart-legend{align-items:center;color:#888;display:flex;font-size:.7rem;justify-content:space-between;margin-top:.8rem}.admin-stat-chart-legend span i{background:#ff5349;border-radius:50%;display:inline-block;height:.6rem;margin-right:.35rem;width:.6rem}
.admin-stat-status-list{display:grid;gap:1rem}.admin-stat-status-list>div>span{align-items:center;display:flex;justify-content:space-between}.admin-stat-status-list strong{color:#bbb;font-size:.78rem}.admin-stat-status-list b{color:#fff;font-size:.78rem}.admin-stat-status-list progress{accent-color:#ff5349;height:.55rem;margin-top:.35rem;width:100%}
.admin-stat-donut-wrap{align-items:center;display:flex;gap:2rem;justify-content:center;padding:1rem}.admin-stat-donut{align-items:center;border-radius:50%;display:flex;flex-direction:column;height:14rem;justify-content:center;position:relative;width:14rem}.admin-stat-donut:after{background:#1b1b1b;border-radius:50%;content:"";inset:2.3rem;position:absolute}.admin-stat-donut strong,.admin-stat-donut small{position:relative;z-index:1}.admin-stat-donut strong{font-size:1.7rem}.admin-stat-donut small{color:#777;font-size:.7rem}.admin-stat-account-legend{min-width:10rem}.admin-stat-account-legend p{align-items:center;display:grid;font-size:.75rem;gap:.5rem;grid-template-columns:auto 1fr auto;margin:.8rem 0}.admin-stat-account-legend i{border-radius:50%;height:.7rem;width:.7rem}.admin-stat-account-legend i.owner{background:#ff5349}.admin-stat-account-legend i.boarder{background:#4e91ff}.admin-stat-account-legend span{color:#888}
.admin-stat-property-list{display:grid;gap:.55rem}.admin-stat-property-list>div{align-items:center;border-bottom:.1rem solid rgba(255,255,255,.06);display:grid;gap:.7rem;grid-template-columns:1.5rem 3.5rem 1fr auto;padding:.55rem 0}.admin-stat-property-list>div>b{color:#777;font-size:.75rem}.admin-stat-property-list img{border-radius:.5rem;height:3.2rem;object-fit:cover;width:3.5rem}.admin-stat-property-list span strong,.admin-stat-property-list span small{display:block}.admin-stat-property-list span strong{font-size:.8rem}.admin-stat-property-list span small{color:#777;font-size:.65rem;margin:.15rem 0}.admin-stat-property-list span>i{background:#252525;border-radius:5rem;display:block;height:.3rem;overflow:hidden}.admin-stat-property-list span>i em{background:#ff5349;display:block;height:100%}.admin-stat-property-list>div>p{font-size:.8rem}.admin-stat-property-list>div>p small{color:#777;font-size:.6rem}
.admin-stat-activity-card{grid-column:1/-1}.admin-stat-activity-list{display:grid;gap:.65rem;grid-template-columns:1fr 1fr}.admin-stat-activity-list>div{align-items:center;background:#232323;border-radius:.8rem;display:flex;gap:.8rem;padding:.8rem}.admin-stat-activity-list>div>i{align-items:center;background:rgba(255,83,73,.13);border-radius:50%;color:#ff5349;display:flex;height:2.7rem;justify-content:center;width:2.7rem}.admin-stat-activity-list strong,.admin-stat-activity-list small{display:block}.admin-stat-activity-list strong{font-size:.75rem}.admin-stat-activity-list small{color:#777;font-size:.65rem;margin-top:.2rem}.admin-stat-empty{color:#777;font-size:.8rem;padding:2rem;text-align:center;text-transform:none}
@media(max-width:1100px){.admin-stat-metrics{grid-template-columns:repeat(2,1fr)}.admin-stat-dashboard{grid-template-columns:1fr}.admin-stat-activity-card{grid-column:auto}}@media(max-width:680px){.admin-stat-actions{align-items:stretch;flex-wrap:wrap}.admin-stat-actions .admin-profile-chip{width:100%}.admin-stat-metrics{grid-template-columns:1fr 1fr}.admin-stat-activity-list{grid-template-columns:1fr}.admin-stat-chart{gap:.4rem;padding-left:0;padding-right:0}.admin-stat-donut-wrap{align-items:flex-start;flex-direction:column}}

/* Responsive and user-friendly Admin system */
.admin-mobile-menu-toggle,.admin-sidebar-overlay{display:none}
@media(min-width:981px){
  .admin-app-sidebar{height:100vh;left:0;overflow-y:auto;position:fixed;top:0;width:22rem;z-index:100}
  .admin-app-main{grid-column:2}
}
@media(max-width:1200px){
  .admin-app-main{padding:2rem}
  .admin-room-workspace,.admin-account-workspace,.owner-admin-workspace{grid-template-columns:1fr}
  .admin-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .admin-account-heading{align-items:flex-start;gap:1rem}
}
@media(max-width:980px){
  .admin-app-shell{display:block;min-height:100vh}
  .admin-app-sidebar{box-shadow:1rem 0 3rem rgba(0,0,0,.45);height:100vh;left:0;max-width:28rem;overflow-y:auto;position:fixed;top:0;transform:translateX(-105%);transition:transform .25s ease;width:84vw;z-index:10002}
  .admin-app-sidebar.mobile-open{transform:translateX(0)}
  .admin-mobile-menu-toggle{align-items:center;background:#ff5349;border-radius:0 0 .8rem 0;color:#111;display:flex;font-size:.9rem;font-weight:800;gap:.5rem;left:0;padding:.8rem 1rem;position:fixed;top:0;z-index:10004}
  .admin-mobile-menu-toggle i{font-size:1rem}
  .admin-sidebar-overlay{background:rgba(0,0,0,.68);border:0;display:block;inset:0;opacity:0;pointer-events:none;position:fixed;transition:opacity .25s ease;z-index:10001}
  .admin-menu-open .admin-sidebar-overlay{opacity:1;pointer-events:auto}
  .admin-menu-open{overflow:hidden}
  .admin-app-main{min-height:100vh;padding:4.8rem 1.5rem 2rem}
  .admin-app-topbar{align-items:flex-start;gap:1rem;margin-bottom:1.6rem}
  .admin-app-topbar h1{font-size:2.3rem}
  .admin-profile-chip{min-width:0}
  .admin-sidebar-card{margin-top:2rem}
  .admin-room-workspace,.admin-reservation-layout,.admin-message-workspace,.admin-settings-layout,.admin-stat-dashboard{grid-template-columns:minmax(0,1fr)}
  .admin-message-directory{border-bottom:.1rem solid rgba(255,255,255,.08);border-right:0}
  .admin-message-thread-list{max-height:32rem}
  .admin-message-chat{min-height:34rem}
  .admin-reservation-detail{min-height:32rem}
  .admin-stat-activity-card{grid-column:auto}
}
@media(max-width:720px){
  .admin-app-main{padding-left:1rem;padding-right:1rem}
  .admin-app-topbar{flex-direction:column}
  .admin-top-actions,.admin-stat-actions{justify-content:space-between;width:100%}
  .admin-profile-chip{flex:1}
  .admin-metric-grid,.admin-stat-metrics,.admin-message-summary,.admin-reservation-summary,.owner-admin-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
  .admin-account-heading{align-items:stretch;flex-direction:column}
  .admin-account-filters{display:flex;overflow-x:auto;padding-bottom:.3rem}
  .admin-room-list-panel,.admin-room-detail,.admin-account-workspace,.admin-reservation-list-panel,.admin-reservation-detail,.admin-message-directory,.admin-message-conversation,.admin-settings-card,.admin-stat-card{border-radius:1rem;padding:1.1rem}
  .admin-panel-heading,.admin-detail-heading,.admin-reservation-heading{align-items:flex-start;gap:.8rem}
  .admin-room-tools,.admin-reservation-tools{grid-template-columns:1fr}
  .admin-room-item{align-items:start;grid-template-columns:6rem minmax(0,1fr)}
  .admin-room-item>aside{grid-column:1/-1;justify-content:space-between;width:100%}
  .admin-room-item img{height:6rem;width:6rem}
  .admin-message-reply>div{align-items:stretch;flex-direction:column}
  .admin-message-reply button{align-self:flex-end}
  .admin-stat-chart{height:18rem}
  .admin-stat-bar-column>div{height:12rem}
  .admin-stat-donut-wrap{align-items:center}
  .admin-security-fields,.admin-settings-grid{grid-template-columns:1fr}
  .admin-settings-card.admin-security-card{grid-column:auto}
}
@media(max-width:480px){
  .admin-app-topbar h1{font-size:2rem}
  .admin-top-actions>button{height:3.6rem;width:3.6rem}
  .admin-profile-chip{padding:.6rem}
  .admin-profile-chip>span{height:3.2rem;width:3.2rem}
  .admin-metric-grid,.admin-stat-metrics,.admin-message-summary,.admin-reservation-summary,.owner-admin-summary{grid-template-columns:1fr}
  .admin-stat-actions select{flex:1}
  .admin-stat-actions .admin-profile-chip{display:none}
  .admin-room-item{grid-template-columns:1fr}
  .admin-room-item img{height:14rem;width:100%}
  .admin-room-item>aside{grid-column:auto}
  .admin-message-thread{grid-template-columns:3.5rem minmax(0,1fr) auto;padding:.7rem}
  .admin-message-thread-avatar{height:3.5rem;width:3.5rem}
  .admin-chat-bubble{max-width:90%}
  .admin-res-info,.reservation-detail-grid{grid-template-columns:1fr}
  .admin-stat-chart{gap:.2rem}
  .admin-stat-bar-column small{font-size:.55rem;transform:rotate(-35deg);white-space:nowrap}
  .admin-stat-donut-wrap{flex-direction:column}
  .admin-settings-intro{padding:1rem}
}
.professional-settings-page{margin:0 auto;max-width:128rem}.professional-settings-heading{align-items:flex-end;display:flex;justify-content:space-between;margin-bottom:2rem}.professional-settings-heading>div>span{color:#ff5349;font-size:1rem;font-weight:800;letter-spacing:.12em}.professional-settings-heading h1{color:#fff;font-size:2.8rem;margin:.4rem 0}.professional-settings-heading p{color:#8e949c;font-size:1.1rem}.professional-settings-heading>a{background:#26292e;border:.1rem solid rgba(255,255,255,.1);border-radius:.7rem;color:#fff;font-size:1rem;font-weight:700;padding:1rem 1.2rem;text-decoration:none}.professional-settings-form{display:grid;gap:1.8rem;grid-template-columns:28rem minmax(0,1fr)}.professional-settings-status,.professional-settings-section,.professional-danger-zone{background:#1c1e22;border:.1rem solid rgba(255,255,255,.09);border-radius:1.3rem;box-shadow:0 .7rem 2.4rem rgba(0,0,0,.16)}.professional-settings-status{align-self:start;padding:2.3rem;text-align:center}.professional-settings-shield{align-items:center;background:rgba(101,209,154,.1);border:.1rem solid rgba(101,209,154,.16);border-radius:1.2rem;color:#65d19a;display:flex;font-size:2rem;height:6rem;justify-content:center;margin:0 auto 1.4rem;width:6rem}.professional-settings-status>span{color:#7f8790;font-size:.8rem;font-weight:800;letter-spacing:.1em}.professional-settings-status>h2{color:#65d19a;font-size:1.7rem;margin:.4rem 0 .7rem}.professional-settings-status>p{color:#858c95;font-size:.9rem;line-height:1.5}.professional-settings-status>div:last-child{align-items:center;background:rgba(255,255,255,.035);border-radius:.8rem;display:flex;gap:.7rem;margin-top:1.7rem;padding:1rem;text-align:left}.professional-settings-status>div:last-child>i{color:#65d19a}.professional-settings-status strong,.professional-settings-status small{display:block}.professional-settings-status strong{color:#e0e3e5;font-size:.9rem}.professional-settings-status small{color:#747b84;font-size:.78rem;margin-top:.2rem}.professional-settings-content{display:grid;gap:1.4rem}.professional-settings-section{overflow:hidden}.professional-settings-section>header{align-items:center;border-bottom:.1rem solid rgba(255,255,255,.08);display:flex;justify-content:space-between;padding:1.6rem 1.8rem}.professional-settings-section>header h2{color:#fff;font-size:1.3rem}.professional-settings-section>header p{color:#7f8790;font-size:.85rem;margin-top:.25rem}.professional-settings-section>header>i{color:#ff6159;font-size:1.25rem}.professional-password-grid{display:grid;gap:1.2rem;grid-template-columns:1fr 1fr;padding:1.8rem}.professional-password-grid label:first-child{grid-column:1/-1}.professional-password-grid label>span{color:#d7dade;display:block;font-size:.9rem;font-weight:700;margin-bottom:.55rem}.professional-password-grid label>div{align-items:center;background:#25282d;border:.1rem solid rgba(255,255,255,.1);border-radius:.75rem;display:flex}.professional-password-grid label>div>i{color:#767e87;padding-left:1rem}.professional-password-grid input{background:transparent;border:0;color:#fff;outline:none;padding:1rem;width:100%}.professional-password-grid label>div:focus-within{border-color:#ff6159;box-shadow:0 0 0 .2rem rgba(255,83,73,.1)}.professional-setting-toggle{align-items:center;border-bottom:.1rem solid rgba(255,255,255,.07);cursor:pointer;display:flex;justify-content:space-between;padding:1.25rem 1.8rem}.professional-setting-toggle:last-child{border-bottom:0}.professional-setting-toggle>div{align-items:center;display:flex;gap:.9rem}.professional-setting-toggle>div>i{align-items:center;background:rgba(255,83,73,.1);border-radius:.7rem;color:#ff6159;display:flex;height:3.5rem;justify-content:center;width:3.5rem}.professional-setting-toggle strong,.professional-setting-toggle small{display:block}.professional-setting-toggle strong{color:#e1e3e5;font-size:.95rem}.professional-setting-toggle small{color:#777f88;font-size:.8rem;margin-top:.25rem}.professional-setting-toggle input{opacity:0;position:absolute}.professional-setting-toggle>b{background:#3b3f45;border-radius:99rem;height:2.3rem;position:relative;transition:.2s;width:4.2rem}.professional-setting-toggle>b:after{background:#fff;border-radius:50%;content:"";height:1.7rem;left:.3rem;position:absolute;top:.3rem;transition:.2s;width:1.7rem}.professional-setting-toggle input:checked+b{background:#ff5349}.professional-setting-toggle input:checked+b:after{transform:translateX(1.9rem)}.professional-settings-actions{align-items:center;display:flex;justify-content:space-between}.professional-settings-actions p{color:#65d19a;font-size:.9rem}.professional-settings-actions button{background:#ff5349;border:0;border-radius:.75rem;color:#fff;cursor:pointer;font-weight:800;padding:1rem 1.3rem}.professional-danger-zone{align-items:center;display:flex;justify-content:space-between;margin-top:1.8rem;padding:1.4rem 1.8rem}.professional-danger-zone>div{align-items:center;display:flex;gap:.8rem}.professional-danger-zone>div>i{color:#ff6159}.professional-danger-zone strong,.professional-danger-zone small{display:block}.professional-danger-zone strong{color:#e1e3e5;font-size:.95rem}.professional-danger-zone small{color:#777f88;font-size:.8rem;margin-top:.2rem}.professional-danger-zone button{background:transparent;border:.1rem solid rgba(255,83,73,.45);border-radius:.7rem;color:#ff6b63;cursor:pointer;font-weight:700;padding:.8rem 1rem}@media(max-width:850px){.professional-settings-heading{align-items:flex-start;flex-direction:column;gap:1.2rem}.professional-settings-form{grid-template-columns:1fr}}@media(max-width:560px){.professional-password-grid{grid-template-columns:1fr}.professional-password-grid label:first-child{grid-column:auto}.professional-setting-toggle small{display:none}.professional-settings-actions,.professional-danger-zone{align-items:stretch;flex-direction:column;gap:1rem}}
.professional-settings-status>.professional-secure-badge{align-items:center;background:rgba(255,255,255,.035);border-radius:.8rem;display:flex;gap:.7rem;margin-top:1.7rem;padding:1rem;text-align:left}.professional-settings-status>.professional-secure-badge>i{color:#65d19a}.professional-settings-status>.professional-secure-signout{background:transparent;border-top:.1rem solid rgba(255,255,255,.08);border-radius:0;display:block;margin-top:1.5rem;padding:1.5rem 0 0;text-align:left}.professional-secure-signout>div{align-items:center;display:flex;gap:.7rem}.professional-secure-signout>div>i{color:#ff6159}.professional-secure-signout button{background:transparent;border:.1rem solid rgba(255,83,73,.45);border-radius:.7rem;color:#ff6b63;cursor:pointer;font-weight:700;margin-top:1rem;padding:.8rem 1rem;width:100%}
.owner-page-heading>div>div>span{color:#ff5349;font-size:.9rem;font-weight:800;letter-spacing:.12em}.owner-page-heading>div>div>p{color:#858c95;font-size:1rem;margin-top:.35rem}.owner-add-property{background:#ff5349;border-radius:.75rem;color:#fff!important;font-size:1rem!important;font-weight:800;padding:1rem 1.2rem;text-decoration:none}.owner-dashboard-summary{display:grid;gap:1.2rem;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:1.7rem}.owner-dashboard-summary article{align-items:center;background:#1c1e22;border:.1rem solid rgba(255,255,255,.09);border-radius:1rem;box-shadow:0 .6rem 2rem rgba(0,0,0,.14);display:flex;gap:1rem;padding:1.4rem}.owner-dashboard-summary article>i{align-items:center;background:rgba(255,83,73,.11);border:.1rem solid rgba(255,83,73,.16);border-radius:.8rem;color:#ff6159;display:flex;font-size:1.35rem;height:4.3rem;justify-content:center;width:4.3rem}.owner-dashboard-summary small,.owner-dashboard-summary strong,.owner-dashboard-summary span{display:block}.owner-dashboard-summary small{color:#858c95;font-size:.85rem}.owner-dashboard-summary strong{color:#fff;font-size:1.6rem;margin:.15rem 0}.owner-dashboard-summary span{color:#666e77;font-size:.75rem}.owner-dark-card{box-shadow:0 .6rem 2rem rgba(0,0,0,.14)}.owner-card-title{border-bottom:.1rem solid rgba(255,255,255,.07);margin:-2rem -2rem 1.5rem;padding:1.5rem 2rem}.owner-guest-head{background:rgba(255,255,255,.025);border-radius:.8rem;padding:1rem}.owner-contact span,.owner-personal span{background:rgba(255,255,255,.025);border-radius:.65rem;padding:.75rem}.owner-booking-facts{background:#181a1e;border:.1rem solid rgba(255,255,255,.07);border-radius:.8rem;overflow:hidden}.owner-booking-facts span{padding:1rem}.owner-features span{background:rgba(255,255,255,.03);border-radius:.6rem;padding:.7rem}.owner-property-summary{background:#181a1e;border-radius:.9rem;padding:1.2rem}.owner-payment-table{background:#181a1e;border:.1rem solid rgba(255,255,255,.07);border-radius:.8rem;overflow:hidden}.owner-notes-card textarea:focus{border-color:#ff5349;outline:none}.owner-profile-tabs{box-shadow:0 .4rem 1.4rem rgba(0,0,0,.14)}@media(max-width:1200px){.owner-dashboard-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.owner-dashboard-summary{grid-template-columns:1fr}.owner-staff-content{padding:1.4rem}.owner-page-heading h1{font-size:2.1rem}}
.role-admin .owner-staff-sidebar{background:#17191d;border-radius:0 1.6rem 1.6rem 0;border-right:0;padding:2.4rem 1.7rem}.role-admin .owner-staff-profile{align-items:stretch;border-bottom:.1rem solid rgba(255,255,255,.09);display:flex;flex-direction:column;gap:0;margin-bottom:2rem;padding:0 .5rem 2rem}.role-admin .owner-brand-home{background:transparent;border:0;border-radius:0;height:7rem;justify-content:flex-start;overflow:visible;padding:0;width:15rem}.role-admin .owner-brand-home:hover,.role-admin .owner-brand-home:focus-visible{border:0;transform:none}.role-admin .owner-brand-home img{height:6.5rem;object-fit:contain;width:15rem}.role-admin .owner-staff-profile:after{color:#8ea0bb;content:"OWNER PORTAL";font-size:.95rem;font-weight:700;letter-spacing:.14em;margin:.4rem 0 2rem .8rem;order:1}.role-admin .owner-staff-profile>div:last-child{align-items:center;background:rgba(255,255,255,.055);border-radius:1rem;display:grid;gap:.2rem 1rem;grid-template-columns:4.3rem 1fr;margin-top:0;order:2;padding:1.1rem}.role-admin .owner-staff-profile>div:last-child:before{align-items:center;background:#ff5349;border-radius:.8rem;color:#fff;content:"O";display:flex;font-size:1.35rem;font-weight:800;grid-row:1/3;height:4.3rem;justify-content:center;width:4.3rem}.role-admin .owner-staff-profile strong{font-size:1.08rem;grid-column:2;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.role-admin .owner-staff-profile span{font-size:.88rem;grid-column:2;margin:0}.role-admin .owner-search{display:none}.role-admin .owner-staff-sidebar>small{display:none}.role-admin .owner-staff-sidebar nav{gap:.5rem}.role-admin .owner-staff-sidebar nav a,.role-admin .owner-staff-sidebar nav button,.role-admin .owner-logout{border:0!important;border-radius:.8rem;color:#9da3ab!important;font-size:1.08rem;gap:1rem;justify-content:flex-start;margin:0;padding:1.05rem 1.1rem}.role-admin .owner-staff-sidebar nav a i,.role-admin .owner-staff-sidebar nav button i{font-size:1.15rem;text-align:center;width:1.8rem}.role-admin .owner-staff-sidebar nav .active{background:#ff5349;color:#fff!important;font-weight:700}.role-admin .owner-staff-sidebar nav a:hover,.role-admin .owner-staff-sidebar nav button:hover{background:rgba(255,83,73,.1);color:#ff6159!important}.role-admin .owner-logout{margin-top:.5rem!important}.role-admin .owner-staff-sidebar nav .active:hover{background:#ff5349;color:#fff!important}
/* Complete responsive behavior for Owner account pages. */
@media(max-width:1100px){
  .role-admin .owner-management-dashboard,.role-admin .owner-available-shell{display:block;max-width:none;min-height:100vh;width:100%}
  .role-admin .owner-staff-sidebar{border-radius:0;display:block!important;min-height:auto;padding:1.2rem 1.5rem;position:static;width:100%}
  .role-admin .owner-staff-profile{align-items:center;border-bottom:0;display:flex;flex-direction:row;gap:1rem;margin:0 0 1rem;padding:0}
  .role-admin .owner-brand-home{height:4.5rem;width:11rem}
  .role-admin .owner-brand-home img{height:4.5rem;width:11rem}
  .role-admin .owner-staff-profile:after{display:none}
  .role-admin .owner-staff-profile>div:last-child{margin:0 0 0 auto;max-width:23rem;order:initial;padding:.7rem 1rem}
  .role-admin .owner-staff-profile>div:last-child:before{height:3.4rem;width:3.4rem}
  .role-admin .owner-staff-sidebar nav{display:flex;gap:.4rem;overflow-x:auto;padding-bottom:.35rem;scrollbar-width:thin}
  .role-admin .owner-staff-sidebar nav+nav{margin-top:.4rem}
  .role-admin .owner-staff-sidebar nav a,.role-admin .owner-staff-sidebar nav button,.role-admin .owner-logout{flex:0 0 auto;font-size:.95rem;padding:.85rem 1rem;white-space:nowrap}
  .owner-staff-content,.owner-section-content,.owner-available-content{padding:1.8rem}
  .owner-profile-grid,.owner-lower-grid{grid-template-columns:1fr}
  .owner-booking-info{grid-template-columns:minmax(0,1.4fr) minmax(22rem,.7fr)}
  .owner-inbox{grid-template-columns:26rem minmax(0,1fr);min-height:55rem}
}

@media(max-width:800px){
  .role-admin .owner-staff-profile>div:last-child{display:none}
  .owner-page-heading,.owner-available-heading,.owner-directory-heading{align-items:flex-start;flex-direction:column;gap:1rem}
  .owner-page-heading>div{align-items:flex-start}
  .owner-page-heading h1,.owner-section-heading h1,.owner-available-heading h1{font-size:2.2rem}
  .owner-add-property{align-self:flex-start}
  .owner-dashboard-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
  .owner-booking-info{grid-template-columns:1fr}
  .owner-property-summary{margin-top:.5rem}
  .owner-inbox{grid-template-columns:1fr}
  .owner-thread-list{max-height:22rem}
  .owner-conversation-panel{min-height:48rem}
  .owner-account-grid{grid-template-columns:1fr}
  .owner-room-image-editor{grid-template-columns:1fr 1fr}
  .owner-room-editor-fields{grid-template-columns:1fr}
  .owner-room-editor-fields label.wide{grid-column:auto}
}

@media(max-width:600px){
  .role-admin .owner-staff-sidebar{padding:1rem}
  .role-admin .owner-staff-profile{justify-content:center}
  .role-admin .owner-brand-home,.role-admin .owner-brand-home img{height:4rem;width:10rem}
  .role-admin .owner-staff-sidebar nav a,.role-admin .owner-staff-sidebar nav button,.role-admin .owner-logout{font-size:.85rem;padding:.75rem .8rem}
  .role-admin .owner-staff-sidebar nav a i,.role-admin .owner-staff-sidebar nav button i{font-size:1rem;width:auto}
  .owner-staff-content,.owner-section-content,.owner-available-content{padding:1.2rem}
  .owner-dashboard-summary{grid-template-columns:1fr}
  .owner-profile-tabs{display:grid;grid-template-columns:1fr 1fr;width:100%}
  .owner-profile-tabs button{font-size:1rem;padding:.8rem}
  .owner-dark-card,.owner-account-directory,.owner-section-card{padding:1.3rem}
  .owner-card-title{margin:-1.3rem -1.3rem 1.2rem;padding:1.2rem 1.3rem}
  .owner-card-title h2{font-size:1.45rem}
  .owner-contact,.owner-personal,.owner-booking-facts{grid-template-columns:1fr}
  .owner-contact span,.owner-personal span{min-width:0}
  .owner-booking-facts span{border-bottom:1px solid var(--owner-inner-border);border-right:0;padding:1rem}
  .owner-booking-facts span:last-child{border-bottom:0}
  .owner-features{grid-template-columns:1fr}
  .owner-payment-row{grid-template-columns:minmax(0,1fr) auto}
  .owner-payment-footer{align-items:flex-start;flex-direction:column;gap:1rem}
  .owner-payment-footer>div{display:flex;flex-wrap:wrap;gap:.4rem}
  .owner-payment-footer button{margin:0}
  .owner-account-item{grid-template-columns:auto minmax(0,1fr)}
  .owner-account-item em{grid-column:1/-1;justify-self:start}
  .owner-account-footer{grid-template-columns:1fr;text-align:center}
  .owner-account-footer a{grid-column:auto}
  .owner-reply-form{grid-template-columns:1fr}
  .owner-reply-form button{min-height:4.2rem}
  .owner-chat-message{max-width:90%}
  .owner-room-image-editor{grid-template-columns:1fr}
  .owner-room-image-editor>.owner-room-upload{grid-column:auto;max-width:none}
  .owner-room-editor{padding:1rem}
  .owner-room-editor-panel{padding:1.5rem 1.1rem}
}
.owner-professional-settings{margin:0 auto;max-width:130rem;width:100%}.owner-settings-heading{align-items:flex-end;display:flex;justify-content:space-between;margin-bottom:2rem}.owner-settings-heading>div>span{color:#ff5349;font-size:.9rem;font-weight:800;letter-spacing:.12em}.owner-settings-heading h1{color:#fff;font-size:2.8rem;margin:.4rem 0}.owner-settings-heading p{color:#858c95;font-size:1.05rem}.owner-settings-heading>a{background:#26292e;border:.1rem solid rgba(255,255,255,.1);border-radius:.7rem;color:#fff;font-size:.95rem;font-weight:700;padding:.9rem 1.1rem;text-decoration:none}.owner-settings-layout{display:grid;gap:1.5rem;grid-template-columns:30rem minmax(0,1fr)}.owner-settings-profile-card,.owner-settings-security-card,.owner-settings-links-card,.owner-settings-signout{background:#1c1e22;border:.1rem solid rgba(255,255,255,.09);border-radius:1.2rem;box-shadow:0 .7rem 2.4rem rgba(0,0,0,.16)}.owner-settings-profile-card{padding:2.2rem;text-align:center}.owner-settings-avatar{align-items:center;background:linear-gradient(145deg,#ff6159,#b82d27);border:.35rem solid rgba(255,255,255,.07);border-radius:1.3rem;color:#fff;display:flex;font-size:2.2rem;font-weight:800;height:7.5rem;justify-content:center;margin:0 auto 1.1rem;width:7.5rem}.owner-verified-badge{color:#65d19a;display:block;font-size:.82rem;font-weight:700;margin-bottom:.65rem}.owner-settings-profile-card h2{color:#fff;font-size:1.45rem}.owner-settings-profile-card>p{color:#7f8790;font-size:.9rem;margin-top:.3rem;overflow-wrap:anywhere}.owner-settings-profile-card dl{border-top:.1rem solid rgba(255,255,255,.08);margin-top:1.7rem;padding-top:.7rem}.owner-settings-profile-card dl>div{align-items:center;border-bottom:.1rem solid rgba(255,255,255,.06);display:flex;justify-content:space-between;padding:.85rem 0}.owner-settings-profile-card dt{color:#7f8790;font-size:.85rem}.owner-settings-profile-card dd{color:#fff;font-size:.9rem;font-weight:700}.owner-settings-main{display:grid;gap:1.5rem}.owner-settings-security-card>header{align-items:center;border-bottom:.1rem solid rgba(255,255,255,.08);display:flex;justify-content:space-between;padding:1.5rem 1.7rem}.owner-settings-security-card h2,.owner-settings-links-card h2{color:#fff;font-size:1.3rem}.owner-settings-security-card header p,.owner-settings-links-card header p{color:#7f8790;font-size:.85rem;margin-top:.25rem}.owner-settings-security-card header>span{align-items:center;background:rgba(101,209,154,.1);border-radius:.75rem;color:#65d19a;display:flex;height:3.8rem;justify-content:center;width:3.8rem}.owner-security-status{align-items:center;display:grid;gap:.9rem;grid-template-columns:auto 1fr auto;padding:1.5rem 1.7rem}.owner-security-status>i{color:#65d19a;font-size:1.35rem}.owner-security-status strong,.owner-security-status small{display:block}.owner-security-status strong{color:#e2e4e6;font-size:.95rem}.owner-security-status small{color:#747b84;font-size:.8rem;margin-top:.25rem}.owner-security-status em{background:rgba(101,209,154,.1);border-radius:99rem;color:#65d19a;font-size:.8rem;font-style:normal;font-weight:700;padding:.5rem .75rem}.owner-settings-links-card{overflow:hidden}.owner-settings-links-card>header{border-bottom:.1rem solid rgba(255,255,255,.08);padding:1.4rem 1.7rem}.owner-settings-links-card>div>a{align-items:center;border-bottom:.1rem solid rgba(255,255,255,.06);color:#fff;display:grid;gap:.9rem;grid-template-columns:auto 1fr auto;padding:1rem 1.7rem;text-decoration:none}.owner-settings-links-card>div>a:last-child{border-bottom:0}.owner-settings-links-card>div>a>i{align-items:center;background:rgba(255,83,73,.1);border-radius:.65rem;color:#ff6159;display:flex;height:3.4rem;justify-content:center;width:3.4rem}.owner-settings-links-card strong,.owner-settings-links-card small{display:block}.owner-settings-links-card strong{font-size:.9rem}.owner-settings-links-card small{color:#747b84;font-size:.78rem;margin-top:.2rem}.owner-settings-links-card b{color:#666e77;font-size:.8rem}.owner-settings-links-card>div>a:hover{background:rgba(255,83,73,.04)}.owner-settings-signout{align-items:center;display:flex;justify-content:space-between;margin-top:1.5rem;padding:1.25rem 1.6rem}.owner-settings-signout>div{align-items:center;display:flex;gap:.8rem}.owner-settings-signout>div>i{color:#ff6159}.owner-settings-signout strong,.owner-settings-signout small{display:block}.owner-settings-signout strong{color:#e2e4e6;font-size:.9rem}.owner-settings-signout small{color:#747b84;font-size:.78rem;margin-top:.2rem}.owner-settings-signout button{background:transparent;border:.1rem solid rgba(255,83,73,.5);border-radius:.7rem;color:#ff6159;cursor:pointer;font-weight:700;padding:.8rem 1rem}@media(max-width:850px){.owner-settings-heading{align-items:flex-start;flex-direction:column;gap:1rem}.owner-settings-layout{grid-template-columns:1fr}}@media(max-width:560px){.owner-settings-signout{align-items:stretch;flex-direction:column;gap:1rem}.owner-security-status{grid-template-columns:auto 1fr}.owner-security-status em{grid-column:1/-1;justify-self:start}}
.owner-revenue-content{min-width:0;padding:2.2rem}.owner-revenue-heading{align-items:flex-end;display:flex;justify-content:space-between;margin-bottom:2rem}.owner-revenue-heading>div>span{color:#ff5349;font-size:.9rem;font-weight:800;letter-spacing:.12em}.owner-revenue-heading h1{color:#fff;font-size:2.8rem;margin:.4rem 0}.owner-revenue-heading p{color:#858c95;font-size:1rem}.owner-revenue-heading button{background:#26292e;border:.1rem solid rgba(255,255,255,.1);border-radius:.7rem;color:#fff;cursor:pointer;font-weight:700;padding:.9rem 1.1rem}.owner-revenue-summary{display:grid;gap:1.2rem;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:1.5rem}.owner-revenue-summary article{align-items:center;background:#1c1e22;border:.1rem solid rgba(255,255,255,.09);border-radius:1rem;display:flex;gap:1rem;padding:1.4rem}.owner-revenue-summary article>i{align-items:center;background:rgba(255,83,73,.1);border-radius:.75rem;color:#ff6159;display:flex;font-size:1.3rem;height:4rem;justify-content:center;width:4rem}.owner-revenue-summary small,.owner-revenue-summary strong,.owner-revenue-summary span{display:block}.owner-revenue-summary small{color:#858c95;font-size:.8rem}.owner-revenue-summary strong{color:#fff;font-size:1.55rem;margin:.2rem 0}.owner-revenue-summary span{color:#666e77;font-size:.72rem}.owner-revenue-grid{display:grid;gap:1.5rem;grid-template-columns:minmax(0,1.6fr) minmax(25rem,.6fr)}.owner-revenue-card{background:#1c1e22;border:.1rem solid rgba(255,255,255,.09);border-radius:1.2rem;overflow:hidden}.owner-revenue-card>header{align-items:center;border-bottom:.1rem solid rgba(255,255,255,.08);display:flex;justify-content:space-between;padding:1.5rem 1.7rem}.owner-revenue-card h2{color:#fff;font-size:1.3rem}.owner-revenue-card header p{color:#7f8790;font-size:.82rem;margin-top:.25rem}.owner-revenue-card header>span{background:rgba(255,83,73,.1);border-radius:99rem;color:#ff6159;font-size:.8rem;font-weight:700;padding:.5rem .75rem}.owner-revenue-row{align-items:center;border-bottom:.1rem solid rgba(255,255,255,.07);color:#dfe2e4;display:grid;gap:1rem;grid-template-columns:1.2fr 1fr .7fr .55fr;padding:1rem 1.5rem}.owner-revenue-row.head{background:#181a1e;color:#7f8790;font-size:.8rem;font-weight:700}.owner-revenue-row b,.owner-revenue-row small{display:block}.owner-revenue-row small{color:#6f767e;font-size:.72rem;margin-top:.2rem}.owner-revenue-row em{background:rgba(101,209,154,.1);border-radius:99rem;color:#65d19a;font-size:.75rem;font-style:normal;padding:.4rem .6rem}.owner-revenue-row strong{color:#fff;text-align:right}.owner-revenue-insight{text-align:center}.owner-revenue-ring{align-items:center;border-radius:50%;display:flex;flex-direction:column;height:15rem;justify-content:center;margin:2rem auto;position:relative;width:15rem}.owner-revenue-ring:after{background:#1c1e22;border-radius:50%;content:"";inset:2.2rem;position:absolute}.owner-revenue-ring strong,.owner-revenue-ring small{position:relative;z-index:1}.owner-revenue-ring strong{color:#fff;font-size:1.8rem}.owner-revenue-ring small{color:#7f8790;font-size:.8rem}.owner-revenue-insight dl{padding:0 1.7rem 1.7rem}.owner-revenue-insight dl div{border-bottom:.1rem solid rgba(255,255,255,.07);display:flex;justify-content:space-between;padding:.8rem 0}.owner-revenue-insight dt{color:#7f8790}.owner-revenue-insight dd{color:#fff;font-weight:700}.owner-revenue-empty{align-items:center;display:flex;flex-direction:column;padding:4rem 2rem;text-align:center}.owner-revenue-empty i{color:#ff6159;font-size:2rem}.owner-revenue-empty strong{color:#fff;margin:.8rem 0 .3rem}.owner-revenue-empty span{color:#747b84;font-size:.8rem}@media(max-width:1150px){.owner-revenue-summary{grid-template-columns:repeat(2,1fr)}.owner-revenue-grid{grid-template-columns:1fr}}@media(max-width:650px){.owner-revenue-content{padding:1.2rem}.owner-revenue-heading{align-items:flex-start;flex-direction:column;gap:1rem}.owner-revenue-heading h1{font-size:2.2rem}.owner-revenue-summary{grid-template-columns:1fr}.owner-revenue-row{grid-template-columns:1fr auto}.owner-revenue-row>:nth-child(2),.owner-revenue-row>:nth-child(3){display:none}}
.owner-booking-empty{align-items:center;background:#181a1e;border:.1rem dashed rgba(255,255,255,.14);border-radius:1rem;display:flex;gap:1rem;margin-top:1.4rem;padding:1.5rem}.owner-booking-empty[hidden]{display:none}.owner-booking-empty>span{align-items:center;background:rgba(255,83,73,.1);border-radius:.8rem;color:#ff6159;display:flex;font-size:1.3rem;height:4.3rem;justify-content:center;min-width:4.3rem}.owner-booking-empty h3{color:#fff;font-size:1.1rem}.owner-booking-empty p{color:#7f8790;font-size:.84rem;line-height:1.45;margin-top:.3rem}.owner-booking-info.is-empty{grid-template-columns:1fr}.owner-booking-info.is-empty .owner-booking-facts,.owner-booking-info.is-empty .owner-features,.owner-booking-info.is-empty .owner-property-summary{display:none}.owner-booking-info.is-empty .owner-card-title>span{background:rgba(255,184,74,.1);color:#ffb84a}.owner-guest-profile .owner-guest-head{border:.1rem solid rgba(255,255,255,.06)}.owner-guest-profile .owner-guest-avatar{border-radius:1rem;height:5rem;width:5rem}.owner-guest-profile .owner-contact span,.owner-guest-profile .owner-personal span{background:#181a1e;border:.1rem solid rgba(255,255,255,.05)}
.admin-app-sidebar{background:#17191d;border-radius:0 1.6rem 1.6rem 0;border-right:0;padding:2.4rem 1.7rem}.admin-app-logo{align-items:center;display:flex;height:7rem;justify-content:flex-start;margin:0;padding:0 .5rem;width:15rem}.admin-app-logo img{height:6.5rem;object-fit:contain;width:15rem}.admin-sidebar-portal-label{border-bottom:.1rem solid rgba(255,255,255,.09);color:#8ea0bb;display:block;font-size:.95rem;font-weight:700;letter-spacing:.14em;margin:0 0 2rem;padding:0 .8rem 2rem}.admin-sidebar-identity{align-items:center;background:rgba(255,255,255,.055);border-radius:1rem;display:grid;gap:.2rem 1rem;grid-template-columns:4.3rem minmax(0,1fr);margin-bottom:2rem;padding:1.1rem}.admin-sidebar-identity>span{align-items:center;background:#ff5349;border-radius:.8rem;color:#fff;display:flex;font-size:1.35rem;font-weight:800;grid-row:1/3;height:4.3rem;justify-content:center;width:4.3rem}.admin-sidebar-identity strong,.admin-sidebar-identity small{display:block}.admin-sidebar-identity strong{color:#fff;font-size:1.05rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-sidebar-identity small{color:#8e949c;font-size:.82rem;margin-top:.25rem}.admin-app-sidebar nav{gap:.5rem}.admin-app-sidebar nav a{border-radius:.8rem;color:#9da3ab;font-size:1.08rem;gap:1rem;grid-template-columns:1.8rem 1fr auto;padding:1.05rem 1.1rem}.admin-app-sidebar nav a.active{background:#ff5349;color:#fff;font-weight:700}.admin-app-sidebar nav a:hover{background:rgba(255,83,73,.1);color:#ff6159}.admin-app-sidebar nav a.active:hover{background:#ff5349;color:#fff}.admin-sidebar-card{display:none}.admin-sidebar-logout{background:transparent;border:0!important;border-radius:.8rem;color:#9da3ab!important;font-size:1.08rem;justify-content:flex-start;margin-top:.5rem;padding:1.05rem 1.1rem;text-align:left}.admin-sidebar-logout:hover{background:rgba(255,83,73,.1);color:#ff6159!important}@media(max-width:720px){.admin-sidebar-portal-label,.admin-sidebar-identity{display:none}.admin-app-sidebar{border-radius:0;padding:1rem}.admin-app-logo{height:4rem;margin:auto;width:10rem}.admin-app-logo img{height:4rem;width:10rem}}
/* Medium, consistent typography for the Admin Statistics dashboard. */
[data-admin-statistics] .admin-stat-actions select,[data-admin-statistics] .admin-stat-actions>button{font-size:.95rem}
[data-admin-statistics] .admin-stat-metrics small{font-size:.92rem}
[data-admin-statistics] .admin-stat-metrics strong{font-size:1.75rem}
[data-admin-statistics] .admin-stat-metrics p{font-size:.85rem}
[data-admin-statistics] .admin-stat-card header span{font-size:.82rem}
[data-admin-statistics] .admin-stat-card header h2{font-size:1.5rem}
[data-admin-statistics] .admin-stat-card header b,[data-admin-statistics] .admin-stat-card header a{font-size:.85rem}
[data-admin-statistics] .admin-stat-bar-column>span{font-size:.82rem}
[data-admin-statistics] .admin-stat-bar-column small{font-size:.78rem}
[data-admin-statistics] .admin-stat-chart-legend{font-size:.85rem}
[data-admin-statistics] .admin-stat-status-list strong,[data-admin-statistics] .admin-stat-status-list b{font-size:.95rem}
[data-admin-statistics] .admin-stat-donut small{font-size:.85rem}
[data-admin-statistics] .admin-stat-account-legend p{font-size:.9rem}
[data-admin-statistics] .admin-stat-property-list>div>b{font-size:.9rem}
[data-admin-statistics] .admin-stat-property-list span strong{font-size:.95rem}
[data-admin-statistics] .admin-stat-property-list span small{font-size:.8rem}
[data-admin-statistics] .admin-stat-property-list>div>p{font-size:.95rem}
[data-admin-statistics] .admin-stat-property-list>div>p small{font-size:.75rem}
[data-admin-statistics] .admin-stat-activity-list strong{font-size:.9rem}
[data-admin-statistics] .admin-stat-activity-list small{font-size:.78rem}
[data-admin-statistics] .admin-stat-empty{font-size:.95rem}
/* Large typography option for the Admin Statistics dashboard. */
[data-admin-statistics] .admin-stat-actions select,[data-admin-statistics] .admin-stat-actions>button{font-size:1.05rem}
[data-admin-statistics] .admin-stat-metrics small{font-size:1.05rem}
[data-admin-statistics] .admin-stat-metrics strong{font-size:2.15rem}
[data-admin-statistics] .admin-stat-metrics p{font-size:.98rem}
[data-admin-statistics] .admin-stat-card header span{font-size:.95rem}
[data-admin-statistics] .admin-stat-card header h2{font-size:1.8rem}
[data-admin-statistics] .admin-stat-card header b,[data-admin-statistics] .admin-stat-card header a{font-size:1rem}
[data-admin-statistics] .admin-stat-bar-column>span{font-size:.95rem}
[data-admin-statistics] .admin-stat-bar-column small{font-size:.9rem}
[data-admin-statistics] .admin-stat-chart-legend{font-size:1rem}
[data-admin-statistics] .admin-stat-status-list strong,[data-admin-statistics] .admin-stat-status-list b{font-size:1.08rem}
[data-admin-statistics] .admin-stat-donut strong{font-size:2rem}
[data-admin-statistics] .admin-stat-donut small{font-size:1rem}
[data-admin-statistics] .admin-stat-account-legend p{font-size:1.05rem}
[data-admin-statistics] .admin-stat-property-list>div>b{font-size:1rem}
[data-admin-statistics] .admin-stat-property-list span strong{font-size:1.08rem}
[data-admin-statistics] .admin-stat-property-list span small{font-size:.92rem}
[data-admin-statistics] .admin-stat-property-list>div>p{font-size:1.08rem}
[data-admin-statistics] .admin-stat-property-list>div>p small{font-size:.88rem}
[data-admin-statistics] .admin-stat-activity-list strong{font-size:1.05rem}
[data-admin-statistics] .admin-stat-activity-list small{font-size:.9rem}
[data-admin-statistics] .admin-stat-empty{font-size:1.08rem}
/* Match Reservations typography with the Admin Dashboard and Rooms pages. */
[data-admin-reservations] .admin-reservation-summary small{font-size:1rem}
[data-admin-reservations] .admin-reservation-summary strong{font-size:1.8rem}
[data-admin-reservations] .admin-reservation-heading p{font-size:.95rem}
[data-admin-reservations] .admin-reservation-heading h2{font-size:1.8rem}
[data-admin-reservations] .admin-reservation-heading button{font-size:1rem}
[data-admin-reservations] .admin-reservation-tools input,[data-admin-reservations] .admin-reservation-tools select{font-size:1rem}
[data-admin-reservations] .admin-reservation-table-wrap th{font-size:.9rem}
[data-admin-reservations] .admin-reservation-table-wrap td{font-size:1rem}
[data-admin-reservations] .admin-reservation-table-wrap td small{font-size:.85rem}
[data-admin-reservations] .admin-reservation-table-wrap td button{font-size:.9rem}
[data-admin-reservations] .admin-res-status{font-size:.85rem}
[data-admin-reservations] .admin-reservation-detail [data-reservation-empty] h2{font-size:1.55rem}
[data-admin-reservations] .admin-reservation-detail [data-reservation-empty] p{font-size:1rem}
[data-admin-reservations] .admin-reservation-detail [data-reservation-detail] header>span{font-size:.9rem}
[data-admin-reservations] .admin-reservation-detail [data-reservation-detail] header>small{font-size:.9rem}
[data-admin-reservations] .admin-reservation-detail [data-reservation-detail] header h2{font-size:1.7rem}
[data-admin-reservations] .admin-reservation-detail [data-reservation-detail] header p{font-size:.95rem}
[data-admin-reservations] .reservation-detail-grid small{font-size:.85rem}
[data-admin-reservations] .reservation-detail-grid strong{font-size:1rem}
[data-admin-reservations] .reservation-detail-notes h3{font-size:1.05rem}
[data-admin-reservations] .reservation-detail-notes p{font-size:.95rem}
[data-admin-reservations] .admin-reservation-detail form label{font-size:.95rem}
[data-admin-reservations] .admin-reservation-detail form select{font-size:1rem}
[data-admin-reservations] .admin-reservation-detail form button{font-size:1rem}
[data-admin-reservations] .admin-reservation-detail form p{font-size:.9rem}
/* Large typography for the Admin Reservations page. */
[data-admin-reservations] .admin-reservation-summary small{font-size:1.15rem}
[data-admin-reservations] .admin-reservation-summary strong{font-size:2.1rem}
[data-admin-reservations] .admin-reservation-heading p{font-size:1.08rem}
[data-admin-reservations] .admin-reservation-heading h2{font-size:2.1rem}
[data-admin-reservations] .admin-reservation-heading button{font-size:1.1rem}
[data-admin-reservations] .admin-reservation-tools input,[data-admin-reservations] .admin-reservation-tools select{font-size:1.12rem}
[data-admin-reservations] .admin-reservation-table-wrap th{font-size:1.02rem}
[data-admin-reservations] .admin-reservation-table-wrap td{font-size:1.15rem}
[data-admin-reservations] .admin-reservation-table-wrap td small{font-size:.98rem}
[data-admin-reservations] .admin-reservation-table-wrap td button{font-size:1.02rem}
[data-admin-reservations] .admin-res-status{font-size:.98rem}
[data-admin-reservations] .admin-reservation-detail [data-reservation-empty] h2{font-size:1.8rem}
[data-admin-reservations] .admin-reservation-detail [data-reservation-empty] p{font-size:1.15rem}
[data-admin-reservations] .admin-reservation-detail [data-reservation-detail] header>span{font-size:1.02rem}
[data-admin-reservations] .admin-reservation-detail [data-reservation-detail] header>small{font-size:1rem}
[data-admin-reservations] .admin-reservation-detail [data-reservation-detail] header h2{font-size:2rem}
[data-admin-reservations] .admin-reservation-detail [data-reservation-detail] header p{font-size:1.08rem}
[data-admin-reservations] .reservation-detail-grid small{font-size:.98rem}
[data-admin-reservations] .reservation-detail-grid strong{font-size:1.15rem}
[data-admin-reservations] .reservation-detail-notes h3{font-size:1.2rem}
[data-admin-reservations] .reservation-detail-notes p{font-size:1.08rem}
[data-admin-reservations] .admin-reservation-detail form label{font-size:1.08rem}
[data-admin-reservations] .admin-reservation-detail form select{font-size:1.12rem}
[data-admin-reservations] .admin-reservation-detail form button{font-size:1.12rem}
[data-admin-reservations] .admin-reservation-detail form p{font-size:1rem}
/* Large typography for the Admin Messages page. */
[data-admin-message-center] .admin-message-summary small{font-size:1.15rem}
[data-admin-message-center] .admin-message-summary strong{font-size:2.1rem}
[data-admin-message-center] .admin-message-directory-head p{font-size:1rem}
[data-admin-message-center] .admin-message-directory-head h2{font-size:2rem}
[data-admin-message-center] .admin-message-search input{font-size:1.12rem}
[data-admin-message-center] .admin-message-filters button{font-size:1rem}
[data-admin-message-center] .admin-message-thread-copy strong{font-size:1.15rem}
[data-admin-message-center] .admin-message-thread-copy time{font-size:.9rem}
[data-admin-message-center] .admin-message-thread-copy em{font-size:.88rem}
[data-admin-message-center] .admin-message-thread-copy small{font-size:1rem}
[data-admin-message-center] .admin-message-conversation>header h2{font-size:1.8rem}
[data-admin-message-center] .admin-message-conversation>header p{font-size:1.05rem}
[data-admin-message-center] .admin-message-role-badge{font-size:.9rem}
[data-admin-message-center] .admin-message-empty h3{font-size:1.65rem}
[data-admin-message-center] .admin-message-empty p{font-size:1.08rem}
[data-admin-message-center] .admin-message-reply>label{font-size:1rem}
[data-admin-message-center] .admin-message-reply textarea{font-size:1.12rem}
[data-admin-message-center] .admin-message-reply button{font-size:1.1rem}
[data-admin-message-center] .admin-message-reply>p{font-size:1rem}
[data-admin-message-center] .admin-message-no-results p{font-size:1.05rem}
/* Large typography for the Admin Settings page. */
[data-admin-settings] .admin-settings-intro h2{font-size:1.9rem}
[data-admin-settings] .admin-settings-intro p{font-size:1.08rem}
[data-admin-settings] .admin-settings-intro>b{font-size:1rem}
[data-admin-settings] .admin-settings-card header h2{font-size:1.65rem}
[data-admin-settings] .admin-settings-card header p{font-size:1.02rem}
[data-admin-settings] .admin-settings-card>label,[data-admin-settings] .admin-security-fields label{font-size:1.08rem}
[data-admin-settings] .admin-settings-card input{font-size:1.12rem}
[data-admin-settings] .admin-settings-card>button{font-size:1.1rem}
[data-admin-settings] .admin-settings-card>p{font-size:1rem}
[data-admin-settings] .admin-setting-switch span strong{font-size:1.1rem}
[data-admin-settings] .admin-setting-switch span small{font-size:.95rem}
[data-admin-settings] .admin-setting-switch input{height:1.5rem;width:1.5rem}
.ems-detail-page{background:#fff;color:#191919;min-height:100vh}.ems-detail-page *{text-transform:none}.ems-property-shell{margin:0 auto;max-width:160rem;padding:12rem 2.5rem 5rem}.ems-property-titlebar{align-items:flex-end;display:flex;justify-content:space-between;margin-bottom:2rem}.ems-property-titlebar>div:first-child>a{color:#666;font-size:1rem;text-decoration:none}.ems-property-titlebar h1{font-size:3rem;font-weight:600;margin:.55rem 0}.ems-property-titlebar p{color:#666;font-size:1.1rem}.ems-property-titlebar p i{color:#ff5349}.ems-property-actions{display:flex;gap:.8rem}.ems-property-actions button{background:transparent;border:0;border-radius:.7rem;color:#191919;cursor:pointer;font-size:1.1rem;font-weight:600;padding:.8rem 1rem;text-decoration:underline}.ems-property-actions button:hover{background:#f2f2f2}.ems-property-actions i{font-size:1.25rem;margin-right:.5rem}.ems-property-actions button.saved i{color:#ff5349;font-weight:900}.ems-photo-gallery{border-radius:1.4rem;display:grid;gap:1rem;grid-template-columns:2fr 1fr 1fr;grid-template-rows:23rem 23rem;overflow:hidden;position:relative}.ems-photo-gallery>button{background:#ddd;border:0;cursor:pointer;overflow:hidden;padding:0}.ems-photo-gallery img{height:100%;object-fit:cover;transition:transform .25s ease;width:100%}.ems-photo-gallery>button:hover img{transform:scale(1.025)}.ems-photo-main{grid-row:1/3}.ems-show-photos{align-items:center!important;background:#fff!important;border:.1rem solid #222!important;border-radius:.7rem!important;bottom:2rem;display:flex!important;font-size:1rem;font-weight:700;gap:.5rem;padding:.8rem 1rem!important;position:absolute;right:2rem}.ems-property-overview{display:grid;gap:4rem;grid-template-columns:minmax(0,1fr) 36rem;margin-top:3rem}.ems-property-overview article>span{font-size:1.05rem;font-weight:700}.ems-property-overview h2{font-size:2rem;margin:.4rem 0}.ems-property-overview article>p{color:#666;font-size:1.05rem;line-height:1.6}.ems-property-overview hr{border:0;border-top:.1rem solid #ddd;margin:2rem 0}.ems-property-overview h3{font-size:1.4rem;margin-bottom:.6rem}.ems-property-overview aside{border:.1rem solid #ddd;border-radius:1.2rem;box-shadow:0 .6rem 2rem rgba(0,0,0,.1);padding:2rem}.ems-property-overview aside>div{display:flex;justify-content:space-between}.ems-property-overview aside strong{font-size:1.3rem}.ems-property-overview aside small{font-size:.8rem;font-weight:400}.ems-property-overview aside>p{margin:1.4rem 0}.ems-property-overview aside>p i{color:#ff5349}.ems-property-overview aside>button{background:#ff5349;border:0;border-radius:.8rem;color:#fff;cursor:pointer;font-size:1.05rem;font-weight:800;padding:1.1rem;width:100%}@media(max-width:900px){.ems-photo-gallery{grid-template-columns:1.6fr 1fr;grid-template-rows:20rem 20rem}.ems-photo-gallery>button:nth-of-type(3),.ems-photo-gallery>button:nth-of-type(5){display:none}.ems-property-overview{grid-template-columns:1fr}.ems-property-overview aside{max-width:none}}@media(max-width:600px){.ems-property-shell{padding:10rem 1.2rem 3rem}.ems-property-titlebar{align-items:flex-start;flex-direction:column;gap:1rem}.ems-property-titlebar h1{font-size:2.2rem}.ems-photo-gallery{display:block;height:30rem}.ems-photo-gallery>button{display:none!important}.ems-photo-gallery>.ems-photo-main{display:block!important;height:100%;width:100%}.ems-show-photos{display:flex!important}.ems-property-overview{gap:2rem}}
.ems-place-offers{border-bottom:.1rem solid #ddd;padding:3rem 0}.ems-place-offers>header>span{color:#ff5349;font-size:.85rem;font-weight:800;letter-spacing:.12em}.ems-place-offers>header h2{font-size:2rem;margin:.35rem 0}.ems-place-offers>header p{color:#6c6c6c;font-size:1rem}.ems-offer-grid{display:grid;gap:1rem;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:1.7rem;max-width:95rem}.ems-offer-grid article{align-items:center;background:#fafafa;border:.1rem solid #e1e1e1;border-radius:1rem;display:grid;gap:1rem;grid-template-columns:4rem minmax(0,1fr) auto;padding:1.2rem;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}.ems-offer-grid article:hover{border-color:rgba(255,83,73,.45);box-shadow:0 .5rem 1.5rem rgba(0,0,0,.06);transform:translateY(-.15rem)}.ems-offer-grid article>i{align-items:center;background:rgba(255,83,73,.1);border-radius:.75rem;color:#ff5349;display:flex;font-size:1.25rem;height:4rem;justify-content:center;width:4rem}.ems-offer-grid strong,.ems-offer-grid small{display:block}.ems-offer-grid strong{font-size:1.05rem}.ems-offer-grid small{color:#777;font-size:.82rem;margin-top:.2rem}.ems-offer-grid article>span{align-items:center;background:#e9f8ef;border-radius:50%;color:#2d9a5b;display:flex;height:2rem;justify-content:center;width:2rem}.ems-offer-grid article>span i{font-size:.75rem}.ems-offer-grid article>b{background:#222;border-radius:99rem;color:#fff;font-size:.85rem;padding:.6rem .8rem}@media(max-width:650px){.ems-offer-grid{grid-template-columns:1fr}.ems-place-offers>header h2{font-size:1.7rem}}
.ems-live-location{border-bottom:.1rem solid #ddd;display:grid;gap:2rem;grid-template-columns:minmax(0,.8fr) minmax(36rem,1.2fr);padding:3rem 0}.ems-location-copy>span{color:#ff5349;font-size:.85rem;font-weight:800;letter-spacing:.12em}.ems-location-copy h2{font-size:2rem;margin:.35rem 0}.ems-location-copy>p{color:#6c6c6c;font-size:1rem;line-height:1.55}.ems-location-status{align-items:center;background:#fafafa;border:.1rem solid #e1e1e1;border-radius:1rem;display:flex;gap:1rem;margin:1.5rem 0;padding:1.1rem}.ems-location-status>i{align-items:center;background:rgba(255,83,73,.1);border-radius:.75rem;color:#ff5349;display:flex;height:3.8rem;justify-content:center;width:3.8rem}.ems-location-status strong,.ems-location-status small{display:block}.ems-location-status strong{font-size:1rem}.ems-location-status small{color:#777;font-size:.82rem;margin-top:.25rem}.ems-location-actions{display:flex;flex-wrap:wrap;gap:.8rem}.ems-location-actions button,.ems-location-actions a{border-radius:.75rem;cursor:pointer;font-size:.92rem;font-weight:700;padding:.9rem 1rem;text-decoration:none}.ems-location-actions button{background:#ff5349;border:.1rem solid #ff5349;color:#fff}.ems-location-actions a{background:#fff;border:.1rem solid #222;color:#222}.ems-location-actions i{margin-right:.4rem}.ems-location-map{border-radius:1.2rem;min-height:32rem;overflow:hidden;position:relative}.ems-location-map iframe{border:0;height:100%;min-height:32rem;width:100%}.ems-location-map>span{background:#fff;border-radius:99rem;bottom:1.2rem;box-shadow:0 .4rem 1.2rem rgba(0,0,0,.18);font-size:.9rem;font-weight:700;left:1.2rem;padding:.7rem .9rem;position:absolute}.ems-location-map>span i{color:#ff5349;margin-right:.4rem}@media(max-width:850px){.ems-live-location{grid-template-columns:1fr}.ems-location-map{min-height:28rem}}
/* Professional room reservation experience */
.reservation-main { padding-bottom: 8rem; }
.reservation-hero {
  align-items: flex-start;
  border: .1rem solid rgba(255,255,255,.09);
  border-radius: 0 0 1.5rem 1.5rem;
  margin-top: 8.2rem;
  min-height: 30rem;
  padding: 4rem max(7%,calc((100% - 124rem)/2)) 8rem;
  text-align: left;
  width: 100%;
}
.reservation-back { color:#c6c9ce; font-size:1rem; margin-bottom:2.2rem; text-decoration:none; }
.reservation-back i { color:#ff5e56; margin-right:.55rem; }
.reservation-back:hover { color:#fff; }
.reservation-hero > span {
  -webkit-text-stroke: 0;
  color:#ff6159;
  font-size:1rem;
  font-weight:800;
  letter-spacing:.14em;
}
.reservation-hero h1 { font-size:clamp(3rem,5vw,5rem); margin:.65rem 0 .8rem; }
.reservation-hero > p { font-size:1.2rem; line-height:1.6; margin:0; max-width:66rem; }
.reservation-progress { align-items:center; display:flex; gap:.8rem; margin-top:2.2rem; }
.reservation-progress > span { align-items:center; color:#858b93; display:flex; font-size:.9rem; font-weight:700; gap:.55rem; }
.reservation-progress > span b { align-items:center; border:.1rem solid rgba(255,255,255,.18); border-radius:50%; display:flex; height:2.4rem; justify-content:center; width:2.4rem; }
.reservation-progress > span.active { color:#fff; }
.reservation-progress > span.active b { background:#ff5349; border-color:#ff5349; color:#111; }
.reservation-progress > i { background:rgba(255,255,255,.16); height:.1rem; width:4rem; }
.reservation-shell { gap:2.4rem; grid-template-columns:minmax(30rem,.82fr) minmax(40rem,1.18fr); margin-top:-5rem; width:min(124rem,90%); }
.reservation-summary,.reservation-form-card { background:#1c1e22; border-color:rgba(255,255,255,.09); border-radius:1.4rem; box-shadow:0 1.6rem 4rem rgba(0,0,0,.3); }
.reservation-summary { align-self:start; position:sticky; top:10rem; }
.reservation-summary img { height:30rem; }
.reservation-summary .reservation-summary-content { padding:2.2rem; }
.reservation-summary .reservation-summary-content > *:not(.reservation-facts) { padding-left:0; padding-right:0; }
.reservation-summary-area { align-items:center; display:flex!important; font-size:.9rem!important; gap:.45rem; letter-spacing:.08em; }
.reservation-summary h2 { font-size:2.4rem; margin-top:.35rem; }
.reservation-summary .reservation-summary-content > p { color:#8e949c; font-size:1.05rem; margin-top:.55rem; }
.reservation-facts { grid-template-columns:1fr; margin-top:1.6rem; }
.reservation-facts article { align-items:center; background:#24272c; border:.1rem solid rgba(255,255,255,.08); border-radius:.9rem; display:flex; gap:1rem; padding:1rem; }
.reservation-facts article > i { align-items:center; background:rgba(255,83,73,.11); border-radius:.75rem; color:#ff6159; display:flex; flex:0 0 3.7rem; height:3.7rem; justify-content:center; }
.reservation-facts article span { display:block; margin:0; }
.reservation-facts article small,.reservation-facts article strong { display:block; }
.reservation-facts article small { color:#7f8790; font-size:.78rem; font-weight:600; margin-bottom:.2rem; }
.reservation-facts article strong { background:none; border:0; font-size:1rem; padding:0; }
.reservation-summary-note { align-items:flex-start; background:rgba(255,83,73,.07); border:.1rem solid rgba(255,83,73,.16); border-radius:.9rem; display:flex; gap:.8rem; margin-top:1.2rem; padding:1rem!important; }
.reservation-summary-note > i { color:#ff6159; margin-top:.2rem; }
.reservation-summary-note strong,.reservation-summary-note small { display:block; }
.reservation-summary-note strong { color:#e7e9eb; font-size:.88rem; }
.reservation-summary-note small { color:#858b93; font-size:.76rem; line-height:1.45; margin-top:.2rem; }
.reservation-form-card { padding:3rem; }
.reservation-form-heading { align-items:flex-start; border-bottom:.1rem solid rgba(255,255,255,.08); display:flex; justify-content:space-between; padding-bottom:1.8rem; }
.reservation-form-heading > div > span { color:#ff6159; font-size:.8rem; font-weight:800; letter-spacing:.12em; }
.reservation-form-heading h2 { font-size:2.4rem; margin:.35rem 0; }
.reservation-form-heading p { color:#858b93; font-size:.95rem; line-height:1.5; }
.reservation-form-heading > i { align-items:center; background:rgba(82,211,150,.1); border-radius:.8rem; color:#52d396; display:flex; height:3.8rem; justify-content:center; width:3.8rem; }
.reservation-section-label { align-items:center; display:flex; gap:.9rem; }
.reservation-section-label > i { align-items:center; background:rgba(255,83,73,.1); border-radius:.75rem; color:#ff6159; display:flex; height:3.5rem; justify-content:center; width:3.5rem; }
.reservation-section-label strong,.reservation-section-label small { display:block; }
.reservation-section-label strong { color:#fff; font-size:1rem; }
.reservation-section-label small { color:#777f88; font-size:.8rem; margin-top:.15rem; }
.reservation-form { gap:1.35rem; margin-top:1.8rem; }
.reservation-form label { color:#d9dce0; font-size:1rem; gap:.55rem; }
.reservation-form input,.reservation-form textarea { background:#24272c; border:.1rem solid rgba(255,255,255,.12); border-radius:.8rem; font-size:1.05rem; min-height:4.6rem; padding:1.05rem 1.2rem; transition:border-color .2s ease,box-shadow .2s ease; }
.reservation-form textarea { min-height:9rem; }
.reservation-form input:focus,.reservation-form textarea:focus { border-color:#ff6159; box-shadow:0 0 0 .25rem rgba(255,83,73,.1); outline:0; }
.reservation-form input.input-error,.reservation-form textarea.input-error { border-color:#ff756e; }
.reservation-consent { background:#24272c; border:.1rem solid rgba(255,255,255,.08); border-radius:.9rem; display:grid!important; gap:.25rem .8rem!important; grid-template-columns:auto 1fr; padding:1.1rem; }
.reservation-consent input { accent-color:#ff5349; height:1.5rem; min-height:0; padding:0; width:1.5rem; }
.reservation-consent > span { color:#aab0b7; font-size:.85rem; font-weight:500; line-height:1.5; }
.reservation-consent .field-error { grid-column:2; margin-top:.25rem; }
.reservation-submit-row { align-items:center; display:flex; gap:1.5rem; justify-content:space-between; margin-top:.3rem; }
.reservation-submit-row > span { color:#777f88; font-size:.78rem; line-height:1.45; max-width:25rem; }
.reservation-submit-row > span i { color:#52d396; margin-right:.4rem; }
.reservation-form .reservation-submit-row .btn { align-items:center; background:#ff5349; border:0; border-radius:.8rem; color:#111; display:inline-flex; flex:0 0 auto; font-size:1rem; font-weight:800; gap:.7rem; margin:0; min-height:4.6rem; padding:1rem 1.4rem; width:auto; }
.reservation-form .reservation-submit-row .btn:hover { background:#ff7068; }

@media(max-width:900px){.reservation-shell{grid-template-columns:1fr}.reservation-summary{position:static}.reservation-summary{display:grid;grid-template-columns:minmax(22rem,.8fr) 1.2fr}.reservation-summary img{height:100%;min-height:34rem}}
@media(max-width:600px){.reservation-hero{margin-top:7.5rem;min-height:34rem;padding:3rem 1.5rem 8rem}.reservation-progress{align-items:flex-start}.reservation-progress>span{align-items:flex-start;flex-direction:column}.reservation-progress>i{margin-top:1.2rem;width:2rem}.reservation-shell{width:calc(100% - 2rem)}.reservation-summary{display:block}.reservation-summary img{height:22rem;min-height:0}.reservation-form-card{padding:2rem 1.5rem}.reservation-fields{grid-template-columns:1fr}.reservation-submit-row{align-items:stretch;flex-direction:column}.reservation-submit-row>span{max-width:none}.reservation-form .reservation-submit-row .btn{justify-content:center;width:100%}}

/* Required GCash down-payment step */
.reservation-gcash { background:#17191d; border:.1rem solid rgba(40,155,255,.2); border-radius:1rem; overflow:hidden; padding:0; }
.reservation-gcash > header { align-items:center; background:linear-gradient(110deg,rgba(31,138,230,.13),rgba(31,138,230,.03)); border-bottom:.1rem solid rgba(255,255,255,.08); display:grid; gap:1rem; grid-template-columns:auto minmax(0,1fr) auto; padding:1.3rem; }
.reservation-gcash-logo { align-items:center; background:#1689e7; border-radius:.85rem; color:#fff; display:flex; font-size:1.4rem; height:4.2rem; justify-content:center; width:4.2rem; }
.reservation-gcash > header span { color:#55b5ff; display:block; font-size:.72rem; font-weight:800; letter-spacing:.12em; }
.reservation-gcash > header h3 { color:#fff; font-size:1.15rem; margin:.2rem 0; }
.reservation-gcash > header p { color:#7f8790; font-size:.78rem; line-height:1.4; }
.reservation-gcash > header > strong { background:rgba(31,138,230,.12); border:.1rem solid rgba(60,166,255,.22); border-radius:.75rem; color:#6fc0ff; font-size:1.1rem; padding:.8rem 1rem; white-space:nowrap; }
.reservation-gcash-grid { display:grid; gap:1rem; grid-template-columns:1fr 1fr; padding:1.3rem; }
.reservation-gcash-grid .gcash-reference-field { grid-column:1/-1; }
.reservation-gcash-grid label > small { color:#737b84; font-size:.72rem; font-weight:500; }
.reservation-gcash input:focus { border-color:#269bea; box-shadow:0 0 0 .25rem rgba(38,155,234,.1); }
.reservation-payment-confirm { align-items:flex-start; border-top:.1rem solid rgba(255,255,255,.07); display:grid!important; gap:.25rem .8rem!important; grid-template-columns:auto 1fr; padding:1.1rem 1.3rem; }
.reservation-payment-confirm input { accent-color:#1689e7; height:1.5rem; min-height:0; padding:0; width:1.5rem; }
.reservation-payment-confirm strong,.reservation-payment-confirm small { display:block; }
.reservation-payment-confirm strong { color:#dce8f2; font-size:.88rem; }
.reservation-payment-confirm small { color:#77818a; font-size:.75rem; font-weight:500; line-height:1.4; margin-top:.2rem; }
.reservation-payment-confirm .field-error { grid-column:2; margin-top:.2rem; }
@media(max-width:600px){.reservation-gcash>header{align-items:flex-start;grid-template-columns:auto 1fr}.reservation-gcash>header>strong{grid-column:1/-1;text-align:center}.reservation-gcash-grid{grid-template-columns:1fr}.reservation-gcash-grid .gcash-reference-field{grid-column:auto}}

/* Full-width, comfortable Admin workspace beside the fixed sidebar */
.admin-dashboard-page .admin-app-main {
  margin: 0;
  max-width: none;
  padding: clamp(1.6rem,2vw,2.8rem);
  width: 100%;
}
.admin-dashboard-page .admin-app-main > section {
  margin-left: 0;
  margin-right: 0;
  padding: 0;
  width: 100%;
}
.admin-dashboard-page .admin-app-main > .admin-account-workspace { padding: 2rem; }
.admin-dashboard-page .admin-app-main > .admin-settings-intro { padding: 1.5rem; }
.admin-dashboard-page .admin-message-conversation { padding: 0; }
.admin-dashboard-page .admin-app-topbar { margin-bottom: 2.2rem; }
.admin-dashboard-page .admin-reservation-summary,
.admin-dashboard-page .admin-message-summary,
.admin-dashboard-page .admin-stat-metrics,
.admin-dashboard-page .admin-metric-grid,
.admin-dashboard-page .owner-admin-summary {
  justify-content: stretch;
  width: 100%;
}
.admin-dashboard-page .admin-metric-grid,
.admin-dashboard-page .owner-admin-summary { margin-bottom: 2rem; }
.admin-dashboard-page .admin-room-workspace,
.admin-dashboard-page .admin-account-workspace,
.admin-dashboard-page .owner-admin-workspace,
.admin-dashboard-page .admin-reservation-layout,
.admin-dashboard-page .admin-message-workspace,
.admin-dashboard-page .admin-stat-dashboard,
.admin-dashboard-page .admin-settings-grid {
  max-width: none;
  width: 100%;
}
.admin-dashboard-page .admin-room-list-panel,
.admin-dashboard-page .admin-room-detail,
.admin-dashboard-page .admin-account-workspace,
.admin-dashboard-page .admin-reservation-list-panel,
.admin-dashboard-page .admin-reservation-detail,
.admin-dashboard-page .admin-message-workspace,
.admin-dashboard-page .admin-stat-card,
.admin-dashboard-page .admin-settings-card {
  box-shadow: 0 .7rem 2.4rem rgba(0,0,0,.16);
}
@media(max-width:980px){.admin-dashboard-page .admin-app-main{padding:4.8rem 1.5rem 2rem}}
@media(max-width:560px){.admin-dashboard-page .admin-app-main{padding-left:1rem;padding-right:1rem}}

/* Fixed Boarder sidebar matching the Admin dashboard behavior */
/* Keep the same Boarder portal sidebar on every account subpage. */
.role-client:not([data-dashboard-page="dashboard"]) .dashboard-shell {
  display: grid;
  grid-template-columns: 25rem minmax(0, 1fr);
  min-height: 100vh;
  width: 100%;
}
.role-client:not([data-dashboard-page="dashboard"]) .dashboard-main {
  margin: 0;
  max-width: none;
  min-height: 100vh;
  padding: clamp(1.6rem, 2vw, 2.8rem);
  width: 100%;
}
.role-client:not([data-dashboard-page="dashboard"]) .dashboard-main > section,
.role-client:not([data-dashboard-page="dashboard"]) .professional-bookings-page,
.role-client:not([data-dashboard-page="dashboard"]) .professional-profile-page,
.role-client:not([data-dashboard-page="dashboard"]) .professional-boarder-messages,
.role-client:not([data-dashboard-page="dashboard"]) .professional-settings-page,
.role-client:not([data-dashboard-page="dashboard"]) .professional-schedule-page,
.role-client:not([data-dashboard-page="dashboard"]) .professional-statistics-page {
  margin-left: 0;
  margin-right: 0;
  max-width: none;
  padding: 0;
  width: 100%;
}

/* Professional Boarder Schedule and Statistics in the homepage palette */
.professional-schedule-page,
.professional-statistics-page { color: #fff; }
.boarder-section-heading {
  align-items: flex-end;
  display: flex;
  gap: 2rem;
  justify-content: space-between;
  margin-bottom: 2rem;
}
.boarder-section-heading > div > span,
.boarder-agenda-card > header span,
.boarder-statistics-card > header span {
  color: #ff5349;
  font-size: .9rem;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.boarder-section-heading h1 { color: #fff; font-size: clamp(2.2rem,3vw,3rem); margin: .35rem 0; }
.boarder-section-heading p { color: #8e949c; font-size: 1.05rem; line-height: 1.55; }
.boarder-section-heading > a {
  align-items: center;
  background: #ff5349;
  border-radius: .8rem;
  color: #fff;
  display: flex;
  flex: 0 0 auto;
  font-size: 1rem;
  font-weight: 800;
  gap: .6rem;
  padding: 1rem 1.25rem;
  text-decoration: none;
}
.boarder-section-heading > a:hover { background: #ff6961; transform: translateY(-.1rem); }
.boarder-schedule-summary,
.boarder-stat-summary {
  display: grid;
  gap: 1.2rem;
  margin-bottom: 1.7rem;
}
.boarder-schedule-summary { grid-template-columns: repeat(3,minmax(0,1fr)); }
.boarder-stat-summary { grid-template-columns: repeat(4,minmax(0,1fr)); }
.boarder-schedule-summary article,
.boarder-stat-summary article {
  align-items: center;
  background: #1c1e22;
  border: .1rem solid rgba(255,255,255,.09);
  border-radius: 1rem;
  box-shadow: 0 .7rem 2.4rem rgba(0,0,0,.16);
  display: flex;
  gap: 1rem;
  padding: 1.4rem;
}
.boarder-schedule-summary article > i,
.boarder-stat-summary article > i {
  align-items: center;
  background: rgba(255,83,73,.12);
  border: .1rem solid rgba(255,83,73,.2);
  border-radius: .8rem;
  color: #ff6159;
  display: flex;
  flex: 0 0 4.3rem;
  font-size: 1.35rem;
  height: 4.3rem;
  justify-content: center;
}
.boarder-schedule-summary small,
.boarder-schedule-summary strong,
.boarder-schedule-summary span,
.boarder-stat-summary small,
.boarder-stat-summary strong,
.boarder-stat-summary span { display: block; }
.boarder-schedule-summary small,
.boarder-stat-summary small { color: #8b929b; font-size: .82rem; }
.boarder-schedule-summary strong,
.boarder-stat-summary strong { color: #fff; font-size: 1.25rem; margin: .2rem 0; }
.boarder-schedule-summary span,
.boarder-stat-summary span { color: #69717a; font-size: .75rem; }
.boarder-agenda-card,
.boarder-statistics-card {
  background: #1c1e22;
  border: .1rem solid rgba(255,255,255,.09);
  border-radius: 1.3rem;
  box-shadow: 0 .9rem 3rem rgba(0,0,0,.2);
  overflow: hidden;
}
.boarder-agenda-card > header,
.boarder-statistics-card > header {
  align-items: center;
  border-bottom: .1rem solid rgba(255,255,255,.08);
  display: flex;
  justify-content: space-between;
  padding: 1.7rem 2rem;
}
.boarder-agenda-card > header h2,
.boarder-statistics-card > header h2 { color: #fff; font-size: 1.45rem; margin-top: .25rem; }
.boarder-agenda-card > header time,
.boarder-statistics-card > header em {
  background: #25282d;
  border: .1rem solid rgba(255,255,255,.09);
  border-radius: 99rem;
  color: #a1a7ae;
  font-size: .82rem;
  font-style: normal;
  padding: .65rem .9rem;
}
.boarder-statistics-card > header p { color: #777f88; font-size: .85rem; margin-top: .3rem; }
.boarder-statistics-card > header em i { color: #65d19a; font-size: .55rem; margin-right: .35rem; }
.boarder-agenda-list { padding: .5rem 2rem 1rem; }
.boarder-agenda-list article {
  align-items: center;
  border-bottom: .1rem solid rgba(255,255,255,.07);
  display: grid;
  gap: 1rem;
  grid-template-columns: 7rem 4.2rem minmax(0,1fr) auto;
  padding: 1.5rem 0;
}
.boarder-agenda-list article:last-child { border-bottom: 0; }
.boarder-agenda-list article > time { color: #fff; font-size: 1.1rem; font-weight: 800; }
.boarder-agenda-list article > time small { color: #858c95; font-size: .7rem; }
.boarder-agenda-list article > i {
  align-items: center;
  background: rgba(255,83,73,.11);
  border-radius: .8rem;
  color: #ff6159;
  display: flex;
  height: 4.2rem;
  justify-content: center;
  width: 4.2rem;
}
.boarder-agenda-list strong { color: #fff; display: block; font-size: 1rem; }
.boarder-agenda-list p { color: #7f8790; font-size: .84rem; line-height: 1.45; margin-top: .3rem; }
.boarder-agenda-list article > span { background: rgba(255,83,73,.1); border-radius: 99rem; color: #ff6b63; font-size: .76rem; font-weight: 700; padding: .55rem .75rem; }
.boarder-stat-bars { display: grid; gap: 1.4rem; padding: 2rem; }
.boarder-stat-bars article > div { align-items: center; display: flex; justify-content: space-between; }
.boarder-stat-bars article > div span { color: #e2e4e6; font-size: 1rem; font-weight: 700; }
.boarder-stat-bars article > div strong { color: #ff6159; font-size: .95rem; }
.boarder-stat-bars article > p { color: #747b84; font-size: .78rem; margin: .25rem 0 .65rem; }
.boarder-stat-bars article > section {
  background: #292c31;
  border-radius: 99rem;
  height: .8rem;
  overflow: hidden;
  padding: 0;
  width: 100%;
}
.boarder-stat-bars article > section i { background: linear-gradient(90deg,#ff5349,#ff8179); border-radius: inherit; display: block; height: 100%; }
@media(max-width:1100px){
  .boarder-stat-summary { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media(max-width:760px){
  .boarder-section-heading { align-items: flex-start; flex-direction: column; gap: 1rem; }
  .boarder-schedule-summary { grid-template-columns: 1fr; }
  .boarder-agenda-list article { grid-template-columns: 5.8rem 3.7rem minmax(0,1fr); }
  .boarder-agenda-list article > i { height: 3.7rem; width: 3.7rem; }
  .boarder-agenda-list article > span { grid-column: 3; justify-self: start; }
}
@media(max-width:520px){
  .boarder-stat-summary { grid-template-columns: 1fr; }
  .boarder-agenda-card > header,
  .boarder-statistics-card > header { align-items: flex-start; flex-direction: column; gap: 1rem; }
  .boarder-agenda-list { padding-left: 1.2rem; padding-right: 1.2rem; }
  .boarder-agenda-list article { grid-template-columns: 1fr; }
  .boarder-agenda-list article > span { grid-column: auto; }
}
.role-client:not([data-dashboard-page="dashboard"]) .dashboard-sidebar {
  background: #17191d;
  border: 0;
  border-radius: 0 1.6rem 1.6rem 0;
  display: flex;
  gap: 0;
  padding: 2.4rem 1.7rem;
}
.role-client:not([data-dashboard-page="dashboard"]) .dashboard-logo {
  border: 0;
  border-bottom: .1rem solid rgba(255,255,255,.09);
  border-radius: 0;
  height: auto;
  justify-content: flex-start;
  padding: 0 .5rem 2rem;
}
.role-client:not([data-dashboard-page="dashboard"]) .dashboard-logo img {
  height: 5rem;
  max-height: none;
  object-fit: contain;
  width: 14rem;
}
.role-client:not([data-dashboard-page="dashboard"]) .dashboard-user {
  align-items: center;
  background: rgba(255,255,255,.055);
  border-radius: 1rem;
  color: #fff;
  display: grid;
  gap: .2rem 1rem;
  grid-template-columns: 4.2rem minmax(0,1fr);
  margin: 2rem 0;
  padding: 1.1rem;
}
.role-client:not([data-dashboard-page="dashboard"]) .dashboard-avatar {
  background: #ff5349;
  border-radius: .8rem;
  font-size: 1.35rem;
  grid-row: 1 / 3;
  height: 4.2rem;
  margin: 0;
  width: 4.2rem;
}
.role-client:not([data-dashboard-page="dashboard"]) .dashboard-user h2 {
  font-size: 1.1rem;
  grid-column: 2;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.role-client:not([data-dashboard-page="dashboard"]) .dashboard-user p {
  color: #8e949c;
  font-size: .9rem;
  font-weight: 400;
  grid-column: 2;
}
.role-client:not([data-dashboard-page="dashboard"]) .dashboard-nav { gap: .5rem; }
.role-client:not([data-dashboard-page="dashboard"]) .dashboard-nav a {
  background: transparent;
  border-radius: .8rem;
  color: #9da3ab;
  font-size: 1.08rem;
  font-weight: 400;
  padding: 1.05rem 1.1rem;
}
.role-client:not([data-dashboard-page="dashboard"]) .dashboard-nav a i {
  font-size: 1.15rem;
  text-align: center;
  width: 1.8rem;
}
.role-client:not([data-dashboard-page="dashboard"]) .dashboard-nav a:hover {
  background: rgba(255,83,73,.1);
  color: #ff6159;
}
.role-client:not([data-dashboard-page="dashboard"]) .dashboard-nav a.active {
  background: #ff5349;
  color: #fff;
  font-weight: 700;
}
.role-client:not([data-dashboard-page="dashboard"]) .dashboard-logout {
  background: transparent;
  border-top: .1rem solid rgba(255,255,255,.09);
  border-radius: 0;
  color: #9da3ab;
  font-size: 1.08rem;
  font-weight: 400;
  justify-content: flex-start;
  margin-top: .8rem;
  padding: 1.4rem 1.1rem 1.05rem;
}
.role-client:not([data-dashboard-page="dashboard"]) .dashboard-logout:hover {
  background: rgba(255,83,73,.1);
  color: #ff6159;
}

@media (min-width: 761px) {
  .role-client:not([data-dashboard-page="dashboard"]) .dashboard-sidebar {
    bottom: 0;
    height: 100vh;
    left: 0;
    overflow-y: auto;
    overscroll-behavior: contain;
    position: fixed;
    top: 0;
    width: 25rem;
    z-index: 100;
  }
  .role-client:not([data-dashboard-page="dashboard"]) .dashboard-main {
    grid-column: 2;
    min-width: 0;
  }
  .role-client[data-dashboard-page="dashboard"] .boarder-dashboard-header,
  .role-client:not([data-dashboard-page="dashboard"]) .dashboard-sidebar {
    bottom: 0;
    height: 100vh;
    left: 0;
    margin: 0;
    overflow-y: auto;
    overscroll-behavior: contain;
    position: fixed;
    top: 0;
    width: 25rem;
    z-index: 100;
  }
  .role-client[data-dashboard-page="dashboard"] .boarder-reservation-dashboard > :not(.boarder-dashboard-header) {
    grid-column: 2;
    min-width: 0;
  }
  .role-client[data-dashboard-page="dashboard"] .boarder-sidebar-logout {
    border-top: .1rem solid rgba(255,255,255,.09);
    border-radius: 0;
    margin-top: .8rem;
    padding-top: 1.4rem;
  }
}
@media (max-width: 760px) {
  .role-client:not([data-dashboard-page="dashboard"]) .dashboard-shell { display: block; }
  .role-client:not([data-dashboard-page="dashboard"]) .dashboard-main {
    padding: 5.2rem 1.2rem 1.2rem;
  }
  .role-client[data-dashboard-page="dashboard"] .boarder-dashboard-header {
    bottom: auto;
    height: auto;
    left: auto;
    overflow: visible;
    position: static;
    top: auto;
    width: auto;
  }
  .role-client[data-dashboard-page="dashboard"] .boarder-reservation-dashboard > :not(.boarder-dashboard-header) {
    grid-column: auto;
  }
}

/* Fixed Owner sidebar matching Admin and Boarder dashboards */
.role-admin .owner-management-dashboard,
.role-admin .owner-management-dashboard section {
  padding-left: 0;
  padding-right: 0;
}
.role-admin .owner-management-dashboard {
  padding-bottom: 0;
  padding-top: 0;
}
.role-admin .owner-staff-content,
.role-admin .owner-section-content,
.role-admin .owner-available-content {
  margin: 0;
  max-width: none;
  padding: clamp(1.6rem,2vw,2.8rem);
  width: 100%;
}
.role-admin .owner-dashboard-summary,
.role-admin .owner-profile-grid,
.role-admin .owner-lower-grid,
.role-admin .owner-profile-tabs,
.role-admin .owner-account-directory {
  margin-left: 0;
  margin-right: 0;
  width: 100%;
}
.role-admin .owner-dashboard-summary,
.role-admin .owner-account-directory {
  padding-bottom: 0;
  padding-top: 0;
}
.role-admin .owner-page-heading { margin-bottom: 2.2rem; }
@media (min-width: 1101px) {
  .role-admin .owner-management-dashboard {
    margin: 0;
    max-width: none;
  }
  .role-admin .owner-management-dashboard > .owner-staff-sidebar {
    bottom: 0;
    height: 100vh;
    left: 0;
    min-height: 0;
    overflow-y: auto;
    overscroll-behavior: contain;
    position: fixed;
    top: 0;
    width: 24rem;
    z-index: 100;
  }
  .role-admin .owner-management-dashboard > :not(.owner-staff-sidebar) {
    grid-column: 2;
    min-width: 0;
  }
  .role-admin .owner-staff-sidebar > nav:last-child {
    margin-top: auto;
  }
}
@media (max-width: 1100px) {
  .role-admin .owner-management-dashboard > .owner-staff-sidebar {
    bottom: auto;
    height: auto;
    left: auto;
    overflow: visible;
    position: static;
    top: auto;
    width: 100%;
  }
  .role-admin .owner-management-dashboard > :not(.owner-staff-sidebar) {
    grid-column: auto;
  }
  .role-admin .owner-staff-sidebar > nav:last-child {
    margin-top: .4rem;
  }
}

/* Boarder and Owner navigation now use the same responsive drawer behavior as Admin */
.portal-mobile-menu-toggle,
.portal-sidebar-overlay { display: none; }

@media (max-width: 1100px) {
  .role-admin .portal-mobile-menu-toggle {
    align-items: center;
    background: #ff5349;
    border: 0;
    border-radius: 0 0 .8rem 0;
    color: #fff;
    display: flex;
    font-size: .95rem;
    font-weight: 800;
    gap: .55rem;
    left: 0;
    padding: .85rem 1.1rem;
    position: fixed;
    top: 0;
    z-index: 10004;
  }
  .role-admin .owner-management-dashboard > .owner-staff-sidebar {
    border-radius: 0;
    bottom: 0;
    box-shadow: 1rem 0 3rem rgba(0,0,0,.45);
    display: flex !important;
    height: 100vh;
    left: 0;
    max-width: 28rem;
    overflow-y: auto;
    padding: 1.5rem;
    position: fixed;
    top: 0;
    transform: translateX(-105%);
    transition: transform .25s ease;
    width: 84vw;
    z-index: 10002;
  }
  .role-admin .owner-management-dashboard > .owner-staff-sidebar.mobile-open { transform: translateX(0); }
  .role-admin .owner-staff-sidebar nav,
  .role-admin .owner-staff-sidebar nav + nav {
    display: grid;
    gap: .5rem;
    margin-top: 0;
    overflow: visible;
  }
  .role-admin .owner-staff-sidebar > nav:last-child { margin-top: auto; }
  .role-admin .owner-staff-sidebar nav a,
  .role-admin .owner-staff-sidebar nav button,
  .role-admin .owner-logout {
    font-size: 1.08rem;
    padding: 1.05rem 1.1rem;
    width: 100%;
  }
  .role-admin .owner-staff-content,
  .role-admin .owner-section-content,
  .role-admin .owner-available-content { padding-top: 5.2rem; }
}

@media (max-width: 760px) {
  .role-client .portal-mobile-menu-toggle {
    align-items: center;
    background: #ff5349;
    border: 0;
    border-radius: 0 0 .8rem 0;
    color: #fff;
    display: flex;
    font-size: .95rem;
    font-weight: 800;
    gap: .55rem;
    left: 0;
    padding: .85rem 1.1rem;
    position: fixed;
    top: 0;
    z-index: 10004;
  }
  .role-client[data-dashboard-page="dashboard"] .boarder-dashboard-header,
  .role-client:not([data-dashboard-page="dashboard"]) .dashboard-sidebar {
    border-radius: 0;
    bottom: 0;
    box-shadow: 1rem 0 3rem rgba(0,0,0,.45);
    display: flex;
    height: 100vh;
    left: 0;
    margin: 0;
    max-width: 28rem;
    min-height: 0;
    overflow-y: auto;
    padding: 1.5rem;
    position: fixed;
    top: 0;
    transform: translateX(-105%);
    transition: transform .25s ease;
    width: 84vw;
    z-index: 10002;
  }
  .role-client[data-dashboard-page="dashboard"] .boarder-dashboard-header.mobile-open,
  .role-client:not([data-dashboard-page="dashboard"]) .dashboard-sidebar.mobile-open { transform: translateX(0); }
  .role-client .boarder-sidebar-brand { border-bottom: .1rem solid rgba(255,255,255,.09); padding: 0 .5rem 2rem; }
  .role-client .boarder-sidebar-brand > span { display: block; }
  .role-client .boarder-sidebar-user { display: flex; }
  .role-client .boarder-dashboard-header nav {
    display: flex;
    flex-direction: column;
    gap: .5rem;
  }
  .role-client .boarder-dashboard-header nav a {
    font-size: 1.05rem;
    gap: 1rem;
    justify-content: flex-start;
    padding: 1rem 1.1rem;
    text-align: left;
  }
  .role-client .boarder-dashboard-header nav a i { width: 1.8rem; }
  .role-client .boarder-sidebar-logout {
    border-top: .1rem solid rgba(255,255,255,.09);
    margin-top: auto;
    padding: 1.2rem 1.1rem;
    text-align: left;
  }
  .role-client .boarder-dashboard-intro { margin-top: 5.2rem; }
}

@media (max-width: 1100px) {
  .role-admin .portal-sidebar-overlay,
  .role-client .portal-sidebar-overlay {
    background: rgba(0,0,0,.68);
    border: 0;
    display: block;
    inset: 0;
    opacity: 0;
    pointer-events: none;
    position: fixed;
    transition: opacity .25s ease;
    z-index: 10001;
  }
  .portal-menu-open .portal-sidebar-overlay { opacity: 1; pointer-events: auto; }
  .portal-menu-open { overflow: hidden; }
}

/* BoardEase system-wide usability and responsive safety layer */
html { scroll-behavior: smooth; }
body { min-height: 100vh; }
button, a, input, select, textarea { -webkit-tap-highlight-color: transparent; }
button, [role="button"], a[href] { touch-action: manipulation; }
button:not(:disabled), [role="button"], select { cursor: pointer; }
input, select, textarea, button { font: inherit; }
:focus-visible { outline: .25rem solid rgba(255,83,73,.9); outline-offset: .25rem; }
.header a[aria-current="page"],.dashboard-sidebar a[aria-current="page"],.admin-app-sidebar a[aria-current="page"] { color: #fff; }
.system-table-scroll { max-width: 100%; overflow-x: auto; overscroll-behavior-inline: contain; scrollbar-width: thin; }
.system-table-scroll > table { min-width: 68rem; width: 100%; }
.dashboard-content,.dashboard-main,.admin-main,.admin-content,main { min-width: 0; }
.dashboard-card,.admin-card,.box,form,section,article { min-width: 0; }
.dashboard-page img,.admin-dashboard-page img,.property-details-page img,.reservation-page img { max-width: 100%; }
.btn,.mini-btn,button,a { transition-duration: .2s; }

@media (max-width: 1024px) {
  .dashboard-main,.admin-main { width: 100%; }
  .dashboard-grid,.admin-dashboard-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .property-detail-shell,.ems-property-shell { padding-left: 3%; padding-right: 3%; }
}
@media (max-width: 768px) {
  html { font-size: 58%; }
  .header { padding-left: 1.5rem; padding-right: 1.5rem; }
  .dashboard-main,.admin-main,.dashboard-content,.admin-content { padding-left: 1.5rem; padding-right: 1.5rem; }
  .dashboard-grid,.admin-dashboard-grid,.admin-message-summary,.admin-stat-summary { grid-template-columns: 1fr; }
  .property-detail-heading,.professional-settings-heading { align-items: flex-start; flex-direction: column; gap: 1rem; }
  .property-detail-shell,.ems-property-shell { padding-left: 1.5rem; padding-right: 1.5rem; }
  .auth-modal { max-width: calc(100vw - 3rem); width: 42rem; }
  .auth-modal .form-box { padding: 3rem 2.4rem; }
  .reservation-popup-card { width: calc(100% - 2rem); }
  input,select,textarea { font-size: 1.6rem; }
}
@media (max-width: 560px) {
  html { font-size: 55%; }
  section { padding-left: 1.2rem; padding-right: 1.2rem; }
  .dashboard-main,.admin-main,.dashboard-content,.admin-content { padding-left: 1rem; padding-right: 1rem; }
  .dashboard-card,.admin-card,.professional-settings-section,.professional-danger-zone { border-radius: 1rem; }
  .btn,.mini-btn,button[type="submit"] { min-height: 4.6rem; }
  .system-table-scroll { margin-left: -.5rem; margin-right: -.5rem; padding-bottom: .5rem; }
  .system-table-scroll > table { min-width: 62rem; }
  .footer .box-container { text-align: center; }
}

/* EMS Residence colors aligned with the BoardEase homepage. */
.ems-detail-page{background:#111;color:#fff}.ems-detail-page .header{background:#17191d;border-bottom:.1rem solid rgba(255,255,255,.08);box-shadow:0 .5rem 2rem rgba(0,0,0,.28)}.ems-detail-page .header .navbar a{color:#c9cdd2}.ems-detail-page .header .navbar a:hover{color:#ff6159}.ems-detail-page .login-btn-modal{border-color:#ff5349;color:#ff6159}.ems-property-titlebar>div:first-child>a,.ems-property-titlebar p{color:#9299a2}.ems-property-titlebar h1{color:#fff}.ems-property-actions button{color:#fff}.ems-property-actions button:hover{background:#25282d}.ems-photo-gallery{background:#1c1e22;box-shadow:0 .8rem 2.6rem rgba(0,0,0,.25)}.ems-show-photos{background:#1c1e22!important;border-color:rgba(255,255,255,.28)!important;color:#fff}.ems-place-offers,.ems-live-location{border-color:rgba(255,255,255,.09)}.ems-place-offers>header h2,.ems-location-copy h2,.ems-property-overview h2,.ems-property-overview h3{color:#fff}.ems-place-offers>header p,.ems-location-copy>p,.ems-property-overview article>p{color:#9299a2}.ems-offer-grid article,.ems-location-status{background:#1c1e22;border-color:rgba(255,255,255,.09);box-shadow:0 .5rem 1.8rem rgba(0,0,0,.14)}.ems-offer-grid article:hover{border-color:rgba(255,83,73,.5);box-shadow:0 .7rem 2rem rgba(0,0,0,.24)}.ems-offer-grid strong,.ems-location-status strong{color:#fff}.ems-offer-grid small,.ems-location-status small{color:#7f8790}.ems-offer-grid article>b{background:#2a2d32;color:#fff}.ems-location-actions a{background:#25282d;border-color:rgba(255,255,255,.18);color:#fff}.ems-location-map{background:#1c1e22;border:.1rem solid rgba(255,255,255,.09)}.ems-location-map>span{background:#1c1e22;color:#fff}.ems-property-overview article>span{color:#ff6159}.ems-property-overview hr{border-color:rgba(255,255,255,.09)}.ems-property-overview aside{background:#1c1e22;border-color:rgba(255,255,255,.1);box-shadow:0 .8rem 2.6rem rgba(0,0,0,.25)}.ems-property-overview aside span,.ems-property-overview aside p{color:#a0a6ae}.ems-property-overview aside strong{color:#fff}

/* Upgraded destination discovery experience. */
.destination-results-page main{overflow:hidden}.destination-hero{align-items:end;background:linear-gradient(90deg,rgba(12,13,15,.96) 0%,rgba(12,13,15,.82) 52%,rgba(12,13,15,.25) 100%),url("../../images/roxas-city-capiz-background.png") center/cover no-repeat;border-bottom:.1rem solid rgba(255,255,255,.09);display:grid;gap:4rem;grid-template-columns:minmax(0,1fr) auto;margin-top:8rem;min-height:43rem;padding:7rem max(3rem,8vw) 5rem}.destination-hero-copy{max-width:76rem}.destination-eyebrow{align-items:center;color:#ff655d;display:flex;font-size:1.1rem;font-weight:800;gap:.7rem;letter-spacing:.14em;margin-bottom:1.4rem;text-transform:uppercase}.destination-hero h1{color:#fff;font-size:clamp(3.6rem,5vw,6.4rem);letter-spacing:-.035em;line-height:1.02;max-width:70rem}.destination-hero-copy>p{color:#b7bdc5;font-size:1.25rem;line-height:1.75;margin-top:1.6rem;max-width:66rem}.destination-hero-actions{display:flex;flex-wrap:wrap;gap:1rem;margin-top:2.4rem}.destination-hero-actions button,.destination-hero-actions a{align-items:center;border:.1rem solid rgba(255,255,255,.18);border-radius:.8rem;cursor:pointer;display:inline-flex;font-size:1rem;font-weight:800;gap:.7rem;justify-content:center;min-height:3.5rem;padding:.8rem 1.25rem}.destination-hero-actions button{background:#ff5349;border-color:#ff5349;color:#fff}.destination-hero-actions button:hover{background:#ff6b63}.destination-hero-actions a{background:rgba(20,22,25,.7);color:#fff}.destination-hero-actions a:hover{background:#292c31}.destination-hero-stats{backdrop-filter:blur(1rem);background:rgba(22,24,27,.8);border:.1rem solid rgba(255,255,255,.12);border-radius:1.3rem;display:grid;min-width:20rem;overflow:hidden}.destination-hero-stats article{align-items:center;display:flex;gap:1rem;padding:1.2rem 1.4rem}.destination-hero-stats article+article{border-top:.1rem solid rgba(255,255,255,.1)}.destination-hero-stats strong{color:#fff;font-size:1.8rem;min-width:4rem}.destination-hero-stats span{color:#969da6;font-size:.95rem}.destination-results-page main>.nearby-section{padding:4rem max(3rem,8vw) 7rem}.results-kicker{color:#ff5f56;display:block;font-size:.82rem;font-weight:900;letter-spacing:.15em;margin-bottom:.45rem}.destination-results-page .results-summary h2{font-size:2.2rem}.destination-filter-bar{background:#191b1f;border-color:rgba(255,255,255,.09);border-radius:1.2rem;box-shadow:0 1rem 3rem rgba(0,0,0,.16);gap:1.1rem;grid-template-columns:minmax(24rem,1fr) 18rem 18rem;padding:1.25rem}.destination-filter-bar label{background:transparent;color:#9299a2;display:block;font-size:.78rem;font-weight:800;letter-spacing:.08em;padding:0;text-transform:uppercase}.destination-filter-bar label>span{display:block;margin:0 0 .55rem .2rem}.destination-filter-bar label>div{align-items:center;background:#22252a;border:.1rem solid rgba(255,255,255,.08);border-radius:.75rem;display:flex;gap:.7rem;min-height:3.5rem;padding:0 1rem}.destination-filter-bar label>div:focus-within{border-color:rgba(255,83,73,.75);box-shadow:0 0 0 .2rem rgba(255,83,73,.1)}.destination-filter-bar label i{color:#ff6159}.destination-filter-bar input,.destination-filter-bar select{background:transparent;border:0;color:#e3e5e8;outline:0;padding:.85rem 0}.nearby-section.destination .nearby-results{gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(29rem,1fr))}.nearby-section.destination .nearby-card{border:.1rem solid rgba(255,255,255,.1);border-radius:1.2rem;box-shadow:0 .8rem 2.5rem rgba(0,0,0,.16)}.nearby-section.destination .nearby-image{height:22rem}.nearby-section.destination .nearby-image img{height:100%;object-fit:cover;width:100%}.nearby-section.destination .nearby-image span{backdrop-filter:blur(.6rem);background:rgba(13,14,16,.84);border:.1rem solid rgba(255,255,255,.12);border-radius:5rem;bottom:1.2rem;color:#65e5a0;font-weight:800;left:1.2rem;padding:.65rem 1rem;top:auto}.nearby-section.destination .destination-result-card .nearby-content{padding:1.55rem 1.6rem 1.4rem}.destination-result-title small{color:#ff6a61}.destination-result-tags span{background:#1a1c20}.destination-result-footer{margin-top:1.45rem}.destination-results-view{background:#1c1e22;color:#b5bac1}.empty-results{text-align:center}
@media(max-width:900px){.destination-hero{grid-template-columns:1fr}.destination-hero-stats{grid-template-columns:repeat(3,1fr);min-width:0}.destination-hero-stats article{display:block;text-align:center}.destination-hero-stats article+article{border-left:.1rem solid rgba(255,255,255,.1);border-top:0}.destination-filter-bar{grid-template-columns:1fr 1fr}.destination-search{grid-column:1/-1}}
@media(max-width:600px){.destination-hero{margin-top:7rem;min-height:0;padding:5rem 1.4rem 3rem}.destination-hero h1{font-size:3.3rem}.destination-hero-copy>p{font-size:1.05rem}.destination-hero-stats{grid-template-columns:1fr}.destination-hero-stats article{align-items:center;display:flex;text-align:left}.destination-hero-stats article+article{border-left:0;border-top:.1rem solid rgba(255,255,255,.1)}.destination-results-page main>.nearby-section{padding:3rem 1.2rem 5rem}.destination-filter-bar{grid-template-columns:1fr}.destination-search{grid-column:auto}.nearby-section.destination .nearby-results{grid-template-columns:1fr}.results-summary{align-items:flex-start}.nearby-section.destination .nearby-image{height:20rem}}

/* EMS Residence page refinement */
.ems-detail-page .ems-property-shell{max-width:148rem;padding-top:11rem}.ems-title-line{align-items:center;display:flex;flex-wrap:wrap;gap:1rem}.ems-title-line h1{letter-spacing:-.035em}.ems-title-line>span{align-items:center;background:rgba(71,211,137,.12);border:.1rem solid rgba(71,211,137,.28);border-radius:99rem;color:#65e5a0;display:inline-flex;font-size:.78rem;font-weight:800;gap:.4rem;padding:.5rem .75rem}.ems-detail-page .ems-photo-gallery{border:.1rem solid rgba(255,255,255,.08);gap:.65rem;grid-template-rows:24rem 24rem}.ems-detail-page .ems-photo-gallery img{filter:saturate(.96);transition:filter .25s ease,transform .3s ease}.ems-detail-page .ems-photo-gallery>button:hover img{filter:saturate(1.08);transform:scale(1.035)}.ems-quick-facts{background:#191b1f;border:.1rem solid rgba(255,255,255,.09);border-radius:1.2rem;display:grid;grid-template-columns:repeat(4,1fr);margin-top:1.5rem;overflow:hidden;padding:0}.ems-quick-facts article{align-items:center;display:flex;gap:1rem;min-height:7.5rem;padding:1.2rem 1.5rem}.ems-quick-facts article+article{border-left:.1rem solid rgba(255,255,255,.08)}.ems-quick-facts article>i{align-items:center;background:rgba(255,83,73,.12);border-radius:.8rem;color:#ff6259;display:flex;font-size:1.1rem;height:3.5rem;justify-content:center;min-width:3.5rem}.ems-quick-facts strong,.ems-quick-facts span{display:block}.ems-quick-facts strong{color:#fff;font-size:1rem}.ems-quick-facts span{color:#858c95;font-size:.78rem;margin-top:.2rem}.ems-detail-page .ems-place-offers,.ems-detail-page .ems-live-location{padding:4rem 0}.ems-detail-page .ems-property-overview{align-items:start;margin-top:4rem}.ems-detail-page .ems-property-overview aside{position:sticky;top:10rem}.ems-booking-label{color:#ff6259!important;display:block;font-size:.75rem;font-weight:900;letter-spacing:.13em;margin-bottom:1.4rem}.ems-booking-note{align-items:center;color:#858c95!important;display:flex;font-size:.75rem!important;gap:.5rem;justify-content:center;line-height:1.4;margin-top:1rem;text-align:center}.ems-booking-note i{color:#65e5a0}.ems-detail-page .ems-property-overview aside>button{box-shadow:0 .7rem 1.6rem rgba(255,83,73,.2);transition:transform .2s ease,box-shadow .2s ease}.ems-detail-page .ems-property-overview aside>button:hover{box-shadow:0 .9rem 2rem rgba(255,83,73,.3);transform:translateY(-.15rem)}
@media(max-width:900px){.ems-quick-facts{grid-template-columns:repeat(2,1fr)}.ems-quick-facts article:nth-child(3){border-left:0;border-top:.1rem solid rgba(255,255,255,.08)}.ems-quick-facts article:nth-child(4){border-top:.1rem solid rgba(255,255,255,.08)}.ems-detail-page .ems-property-overview aside{position:static}}
@media(max-width:600px){.ems-detail-page .ems-property-shell{padding-top:9rem}.ems-title-line{align-items:flex-start;flex-direction:column;gap:.3rem}.ems-title-line>span{margin-bottom:.5rem}.ems-detail-page .ems-photo-gallery{height:26rem}.ems-quick-facts{grid-template-columns:1fr}.ems-quick-facts article{min-height:6.5rem}.ems-quick-facts article+article,.ems-quick-facts article:nth-child(3),.ems-quick-facts article:nth-child(4){border-left:0;border-top:.1rem solid rgba(255,255,255,.08)}.ems-detail-page .ems-place-offers,.ems-detail-page .ems-live-location{padding:3rem 0}}

/* Comfortable EMS photo presentation */
.ems-detail-page .ems-photo-gallery{background:#1b1d21;border-radius:1.5rem;gap:1rem;grid-template-columns:1.55fr 1fr 1fr;grid-template-rows:17rem 17rem;padding:1.2rem}.ems-detail-page .ems-photo-gallery>button:not(.ems-show-photos){border-radius:.85rem}.ems-detail-page .ems-photo-gallery .ems-photo-main img{object-position:center}.ems-detail-page .ems-show-photos{bottom:2.2rem;right:2.2rem}.ems-detail-page .ems-photo-gallery>button:focus-visible{outline:.25rem solid #ff6259;outline-offset:.2rem}
@media(max-width:900px){.ems-detail-page .ems-photo-gallery{grid-template-columns:1.35fr 1fr;grid-template-rows:17rem 17rem}}
@media(max-width:600px){.ems-detail-page .ems-photo-gallery{display:block;height:29rem;padding:.8rem}.ems-detail-page .ems-photo-gallery>.ems-photo-main{border-radius:1rem;height:100%;width:100%}.ems-detail-page .ems-show-photos{bottom:1.7rem;right:1.7rem}}

/* Professional room-options summary */
.ems-detail-page .ems-place-offers > header {
  align-items: end;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(20rem, 40rem);
  row-gap: .6rem;
}
.ems-detail-page .ems-place-offers {
  background:
    radial-gradient(circle at 92% 8%, rgba(255, 83, 73, .09), transparent 24rem),
    linear-gradient(145deg, #16181b, #121315);
  border: .1rem solid rgba(255, 255, 255, .09);
  border-radius: 1.5rem;
  box-shadow: 0 1.5rem 4rem rgba(0, 0, 0, .2);
  margin: 3rem 0;
  overflow: hidden;
  padding: 2.4rem;
  position: relative;
}
.ems-detail-page .ems-place-offers::before {
  background: linear-gradient(90deg, #ff5349, rgba(255, 83, 73, 0));
  content: "";
  height: .25rem;
  left: 0;
  position: absolute;
  right: 62%;
  top: 0;
}
.ems-detail-page .ems-place-offers > header > span {
  align-items: center;
  background: rgba(255, 83, 73, .1);
  border: .1rem solid rgba(255, 83, 73, .2);
  border-radius: 99rem;
  display: inline-flex;
  grid-column: 1 / -1;
  justify-self: start;
  min-height: 2rem;
  padding: .4rem .7rem;
}
.ems-detail-page .ems-place-offers > header h2 {
  font-size: clamp(2rem, 2.3vw, 2.7rem);
  letter-spacing: -.025em;
  line-height: 1.1;
  margin: .3rem 0 0;
}
.ems-detail-page .ems-place-offers > header p {
  font-size: .95rem;
  margin: 0 0 .2rem;
  max-width: 40rem;
  text-align: right;
}
.ems-detail-page .ems-offer-grid {
  gap: 1.2rem;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  margin-top: 2rem;
  max-width: none;
  width: 100%;
}
.ems-detail-page .ems-offer-grid article {
  background: linear-gradient(145deg, #1d1f23, #191b1f);
  border-color: rgba(255, 255, 255, .1);
  box-shadow: 0 .8rem 2rem rgba(0, 0, 0, .16);
  grid-column: span 2;
  min-height: 8.2rem;
  overflow: hidden;
  padding: 1.35rem 1.45rem;
  position: relative;
}
.ems-detail-page .ems-offer-grid article::after {
  background: linear-gradient(180deg, rgba(255, 83, 73, .75), rgba(255, 83, 73, 0));
  content: "";
  height: 55%;
  left: 0;
  opacity: .45;
  position: absolute;
  top: 22.5%;
  width: .18rem;
}
.ems-detail-page .ems-offer-grid article:hover {
  border-color: rgba(255, 83, 73, .42);
  box-shadow: 0 1.2rem 2.8rem rgba(0, 0, 0, .28);
  transform: translateY(-.25rem);
}
.ems-detail-page .ems-offer-grid article:nth-last-child(-n + 2) {
  background: linear-gradient(135deg, rgba(255, 83, 73, .075), #1b1d21 42%);
  grid-column: span 3;
}
.ems-detail-page .ems-offer-grid article > i {
  background: linear-gradient(145deg, rgba(255, 83, 73, .18), rgba(255, 83, 73, .08));
  border: .1rem solid rgba(255, 83, 73, .12);
  height: 4.2rem;
  width: 4.2rem;
}
.ems-detail-page .ems-offer-grid strong {
  font-size: 1.08rem;
  letter-spacing: -.01em;
}
.ems-detail-page .ems-offer-grid small {
  color: #949ba5;
  font-size: .8rem;
  line-height: 1.45;
  margin-top: .3rem;
}
.ems-detail-page .ems-offer-grid article > span {
  background: rgba(101, 229, 160, .1);
  border: .1rem solid rgba(101, 229, 160, .2);
  border-radius: 99rem;
  box-shadow: none;
  display: inline-flex;
  gap: .4rem;
  height: auto;
  padding: .45rem .65rem;
  width: auto;
}
.ems-detail-page .ems-offer-grid article > span::before {
  content: "Available";
  font-size: .7rem;
  font-weight: 800;
  letter-spacing: .02em;
}
.ems-detail-page .ems-offer-grid article > span i {
  font-size: .7rem;
}
.ems-detail-page .ems-offer-grid article > b {
  background: rgba(255, 83, 73, .1);
  border: .1rem solid rgba(255, 83, 73, .22);
  color: #fff;
  font-size: 1rem;
  min-width: 6.2rem;
  padding: .7rem 1rem;
  text-align: center;
}
@media (max-width: 1000px) {
  .ems-detail-page .ems-offer-grid article,
  .ems-detail-page .ems-offer-grid article:nth-last-child(-n + 2) {
    grid-column: span 3;
  }
  .ems-detail-page .ems-place-offers > header {
    align-items: flex-start;
    display: block;
  }
  .ems-detail-page .ems-place-offers > header p {
    margin-top: .6rem;
    text-align: left;
  }
}
@media (max-width: 650px) {
  .ems-detail-page .ems-place-offers {
    border-radius: 1.2rem;
    padding: 1.5rem;
  }
  .ems-detail-page .ems-offer-grid { grid-template-columns: 1fr; }
  .ems-detail-page .ems-offer-grid article,
  .ems-detail-page .ems-offer-grid article:nth-last-child(-n + 2) {
    grid-column: 1;
    min-height: 7rem;
  }
}

/* Comfortable live-location proportions */
.ems-detail-page .ems-live-location {
  align-items: center;
  background: linear-gradient(145deg, #16181b, #121315);
  border: .1rem solid rgba(255, 255, 255, .09);
  border-radius: 1.5rem;
  box-shadow: 0 1.2rem 3.5rem rgba(0, 0, 0, .18);
  gap: clamp(2rem, 5vw, 7rem);
  grid-template-columns: minmax(0, .8fr) minmax(38rem, 1.2fr);
  margin: 3rem 0;
  max-width: none;
  padding: clamp(2rem, 4vw, 4.5rem) !important;
  width: 100%;
}
.ems-detail-page .ems-location-copy {
  padding: .4rem;
}
.ems-detail-page .ems-location-copy h2 {
  font-size: clamp(1.9rem, 2.2vw, 2.5rem);
  letter-spacing: -.025em;
}
.ems-detail-page .ems-location-copy > p {
  line-height: 1.65;
  max-width: 48rem;
}
.ems-detail-page .ems-location-status {
  margin: 1.3rem 0;
  padding: 1rem;
}
.ems-detail-page .ems-location-actions button,
.ems-detail-page .ems-location-actions a {
  align-items: center;
  display: inline-flex;
  justify-content: center;
  min-height: 3.5rem;
}
.ems-detail-page .ems-location-map,
.ems-detail-page .ems-location-map iframe {
  min-height: 28rem;
}
@media (max-width: 850px) {
  .ems-detail-page .ems-live-location {
    gap: 1.5rem;
    grid-template-columns: 1fr;
    margin: 2rem auto;
    padding: 1.5rem !important;
  }
  .ems-detail-page .ems-location-map,
  .ems-detail-page .ems-location-map iframe {
    min-height: 24rem;
  }
}
@media (max-width: 480px) {
  .ems-detail-page .ems-live-location {
    border-radius: 1.1rem;
    padding: 1.2rem !important;
  }
  .ems-detail-page .ems-location-actions {
    display: grid;
    grid-template-columns: 1fr;
  }
}

/* Comfortable monthly reservation planner */
.ems-stay-planner {
  align-items: center;
  background:
    radial-gradient(circle at 10% 10%, rgba(255, 83, 73, .1), transparent 28rem),
    linear-gradient(145deg, #16181b, #121315);
  border: .1rem solid rgba(255, 255, 255, .09);
  border-radius: 1.5rem;
  display: grid;
  gap: clamp(2rem, 5vw, 7rem);
  grid-template-columns: minmax(0, .8fr) minmax(38rem, 1.2fr);
  margin: 3rem 0;
  overflow: hidden;
  padding: clamp(2rem, 4vw, 4.5rem);
  position: relative;
}
.ems-stay-planner::before {
  background: linear-gradient(90deg, #ff5349, transparent);
  content: "";
  height: .25rem;
  left: 0;
  position: absolute;
  right: 65%;
  top: 0;
}

/* Keep the planner and location panels comfortably close together. */
.ems-detail-page .ems-stay-planner + .ems-live-location {
  margin-top: -2.5rem;
}
.ems-detail-page .ems-gallery-stage + .ems-stay-planner {
  margin-top: .5rem;
}
.ems-planner-intro > span {
  color: #ff665e;
  font-size: .78rem;
  font-weight: 900;
  letter-spacing: .14em;
}
.ems-planner-intro h2 {
  color: #fff;
  font-size: clamp(2.4rem, 3.5vw, 4.2rem);
  letter-spacing: -.045em;
  line-height: 1.05;
  margin: .8rem 0 1rem;
}
.ems-planner-intro > p {
  color: #9da4ae;
  font-size: 1rem;
  line-height: 1.75;
  max-width: 45rem;
}
.ems-planner-benefits {
  display: grid;
  gap: .85rem;
  margin-top: 2rem;
}
.ems-planner-benefits > span {
  align-items: center;
  color: #d8dce1;
  display: flex;
  font-size: .9rem;
  gap: .75rem;
}
.ems-planner-benefits i { color: #65e5a0; }
.ems-planner-card {
  background: #1c1e22;
  border: .1rem solid rgba(255, 255, 255, .11);
  border-radius: 1.3rem;
  box-shadow: 0 1.5rem 4rem rgba(0, 0, 0, .3);
  padding: 1.7rem;
}
.ems-planner-card > header {
  align-items: center;
  border-bottom: .1rem solid rgba(255, 255, 255, .08);
  display: flex;
  justify-content: space-between;
  padding-bottom: 1.2rem;
}
.ems-planner-card > header div > span {
  color: #858c95;
  display: block;
  font-size: .7rem;
  font-weight: 800;
  letter-spacing: .1em;
  margin-bottom: .25rem;
}
.ems-planner-card > header strong {
  color: #fff;
  font-size: 1.7rem;
}
.ems-planner-card > header strong small {
  font-size: .75rem;
  font-weight: 600;
}
.ems-planner-card > header > b {
  color: #ffb02e;
  font-size: .9rem;
}
.ems-planner-card > header > b small {
  color: #7f8790;
  font-size: .72rem;
  font-weight: 500;
  margin-left: .25rem;
}
.ems-planner-fields {
  display: grid;
  gap: .9rem;
  grid-template-columns: 1fr 1fr;
  margin-top: 1.2rem;
}
.ems-planner-fields label > span,
.ems-planner-extras legend {
  color: #969da6;
  display: block;
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .06em;
  margin: 0 0 .45rem .15rem;
  text-transform: uppercase;
}
.ems-planner-fields input,
.ems-planner-fields select {
  background: #24272c;
  border: .1rem solid rgba(255, 255, 255, .09);
  border-radius: .75rem;
  color: #fff;
  min-height: 3.5rem;
  outline: 0;
  padding: .8rem .9rem;
  width: 100%;
}
.ems-planner-fields input:focus,
.ems-planner-fields select:focus {
  border-color: rgba(255, 83, 73, .7);
  box-shadow: 0 0 0 .2rem rgba(255, 83, 73, .1);
}
.ems-planner-extras {
  border: 0;
  margin-top: 1.2rem;
  padding: 0;
}
.ems-planner-extras label {
  align-items: center;
  background: #202328;
  border: .1rem solid rgba(255, 255, 255, .08);
  border-radius: .75rem;
  color: #d7dbe0;
  display: flex;
  font-size: .88rem;
  justify-content: space-between;
  min-height: 3.5rem;
  padding: .8rem .9rem;
}
.ems-planner-extras label span {
  align-items: center;
  display: flex;
  gap: .65rem;
}
.ems-planner-extras input { accent-color: #ff5349; }
.ems-planner-extras b { color: #aeb4bd; font-size: .78rem; }
.ems-planner-summary {
  border-top: .1rem solid rgba(255, 255, 255, .08);
  display: grid;
  gap: .65rem;
  margin-top: 1.3rem;
  padding-top: 1.2rem;
}
.ems-planner-summary > div {
  align-items: center;
  color: #9ba2ab;
  display: flex;
  font-size: .86rem;
  justify-content: space-between;
}
.ems-planner-summary b { color: #e4e7eb; }
.ems-planner-summary .ems-planner-total {
  border-top: .1rem dashed rgba(255, 255, 255, .12);
  color: #fff;
  font-size: 1rem;
  margin-top: .3rem;
  padding-top: .9rem;
}
.ems-planner-total strong { color: #fff; font-size: 1.35rem; }
.ems-planner-card > button {
  background: linear-gradient(135deg, #ff5349, #ff6a62);
  border: 0;
  border-radius: .8rem;
  box-shadow: 0 .7rem 1.8rem rgba(255, 83, 73, .22);
  color: #fff;
  cursor: pointer;
  font-size: 1rem;
  font-weight: 800;
  margin-top: 1.2rem;
  min-height: 4rem;
  width: 100%;
}
.ems-planner-card > button:hover {
  box-shadow: 0 1rem 2.2rem rgba(255, 83, 73, .32);
  transform: translateY(-.12rem);
}
.ems-planner-card > small {
  color: #7e858e;
  display: block;
  font-size: .7rem;
  margin-top: .75rem;
  text-align: center;
}
.ems-planner-card > small i { color: #65e5a0; margin-right: .35rem; }
@media (max-width: 950px) {
  .ems-stay-planner { grid-template-columns: 1fr; }
  .ems-planner-intro > p { max-width: 62rem; }
}
@media (max-width: 560px) {
  .ems-stay-planner { border-radius: 1.1rem; padding: 1.3rem; }
  .ems-planner-fields { grid-template-columns: 1fr; }
  .ems-planner-card { padding: 1.25rem; }
  .ems-planner-card > header { align-items: flex-start; gap: .7rem; }
}

/* Upgraded occupants and optional services */
.ems-occupants-field > span {
  color: #969da6;
  display: block;
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .06em;
  margin: 0 0 .45rem .15rem;
  text-transform: uppercase;
}
.ems-occupant-picker {
  align-items: center;
  background: #24272c;
  border: .1rem solid rgba(255, 255, 255, .09);
  border-radius: .75rem;
  display: grid;
  grid-template-columns: 3rem minmax(0, 1fr) 3rem;
  min-height: 3.5rem;
  overflow: hidden;
}
.ems-occupant-picker > button {
  align-items: center;
  align-self: stretch;
  background: transparent;
  border: 0;
  color: #ff6a62;
  cursor: pointer;
  display: flex;
  justify-content: center;
}
.ems-occupant-picker > button:hover:not(:disabled) { background: rgba(255, 83, 73, .1); }
.ems-occupant-picker > button:disabled { color: #555b63; cursor: not-allowed; }
.ems-occupant-picker > div {
  border-left: .1rem solid rgba(255, 255, 255, .07);
  border-right: .1rem solid rgba(255, 255, 255, .07);
  text-align: center;
}
.ems-occupant-picker strong {
  color: #fff;
  display: block;
  font-size: .9rem;
}
.ems-occupant-picker small {
  color: #777f88;
  display: block;
  font-size: .62rem;
  margin-top: .1rem;
}
.ems-service-options {
  display: grid;
  gap: .8rem;
  grid-template-columns: 1fr 1fr;
}
.ems-planner-extras .ems-service-options label {
  align-items: center;
  background: #202328;
  border: .1rem solid rgba(255, 255, 255, .08);
  border-radius: .85rem;
  cursor: pointer;
  display: grid;
  gap: .8rem;
  grid-template-columns: 3.2rem minmax(0, 1fr) auto;
  min-height: 5.2rem;
  padding: .9rem 1rem;
  position: relative;
  transition: background .2s ease, border-color .2s ease, transform .2s ease;
}
.ems-planner-extras .ems-service-options label:hover {
  border-color: rgba(255, 83, 73, .35);
  transform: translateY(-.1rem);
}
.ems-planner-extras .ems-service-options label:has(input:checked) {
  background: rgba(255, 83, 73, .07);
  border-color: rgba(255, 83, 73, .45);
}
.ems-service-options label > input {
  accent-color: #ff5349;
  height: 1rem;
  position: absolute;
  right: .8rem;
  top: .7rem;
  width: 1rem;
}
.ems-planner-extras .ems-service-options .ems-service-icon {
  align-items: center;
  background: rgba(255, 83, 73, .12);
  border-radius: .7rem;
  color: #ff655d;
  display: flex;
  height: 3.2rem;
  justify-content: center;
  width: 3.2rem;
}
.ems-planner-extras .ems-service-options .ems-service-copy {
  display: block;
  min-width: 0;
}
.ems-service-copy strong {
  color: #fff;
  display: block;
  font-size: .82rem;
}
.ems-service-copy small {
  color: #7f8790;
  display: block;
  font-size: .68rem;
  margin-top: .2rem;
}
.ems-planner-extras .ems-service-options label > b {
  align-self: end;
  color: #d9dde2;
  font-size: .74rem;
  padding-top: 1rem;
  white-space: nowrap;
}
.ems-service-options label > b small { color: #747b84; font-size: .6rem; }
@media (max-width: 650px) {
  .ems-service-options { grid-template-columns: 1fr; }
}

/* Comfortable EMS Residence gallery sizing */
.ems-detail-page .ems-gallery-stage .ems-photo-gallery {
  gap: .8rem;
  grid-template-columns: 1.7fr 1fr 1fr;
  grid-template-rows: 21rem 21rem;
  height: 44.8rem;
  padding: 1rem;
}
.ems-detail-page .ems-gallery-stage .ems-photo-gallery > button:not(.ems-show-photos) {
  border-radius: .85rem;
}
.ems-detail-page .ems-gallery-stage .ems-photo-gallery img {
  object-position: center;
}
.ems-detail-page .ems-gallery-stage .ems-photo-main img {
  object-position: center 58%;
}
@media (max-width: 900px) {
  .ems-detail-page .ems-gallery-stage .ems-photo-gallery {
    grid-template-columns: 1.45fr 1fr;
    grid-template-rows: 19rem 19rem;
    height: 40.8rem;
  }
}
@media (max-width: 600px) {
  .ems-detail-page .ems-gallery-stage .ems-photo-gallery {
    display: block;
    height: 29rem;
    padding: .8rem;
  }
}

/* Location card mirrors the monthly-rate planner structure */
.ems-location-card {
  background: #1c1e22;
  border: .1rem solid rgba(255, 255, 255, .11);
  border-radius: 1.3rem;
  box-shadow: 0 1.5rem 4rem rgba(0, 0, 0, .3);
  min-width: 0;
  padding: 1.7rem;
}
.ems-location-card > header {
  align-items: center;
  border-bottom: .1rem solid rgba(255, 255, 255, .08);
  display: flex;
  justify-content: space-between;
  margin-bottom: 1.2rem;
  padding-bottom: 1.2rem;
}
.ems-location-card > header div > span {
  color: #858c95;
  display: block;
  font-size: .7rem;
  font-weight: 800;
  letter-spacing: .1em;
  margin-bottom: .25rem;
}
.ems-location-card > header strong {
  color: #fff;
  font-size: 1.35rem;
}
.ems-location-card > header > b {
  color: #ff6b63;
  font-size: .82rem;
}
.ems-location-card > header > b i { margin-right: .35rem; }
.ems-detail-page .ems-location-card .ems-location-map,
.ems-detail-page .ems-location-card .ems-location-map iframe {
  min-height: 22rem;
}
.ems-location-card .ems-location-status {
  margin: 1rem 0;
}
.ems-location-card .ems-location-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
}
.ems-location-card .ems-location-actions button,
.ems-location-card .ems-location-actions a {
  width: 100%;
}
@media (max-width: 560px) {
  .ems-location-card { padding: 1.25rem; }
  .ems-location-card > header { align-items: flex-start; gap: .8rem; }
  .ems-location-card .ems-location-actions { grid-template-columns: 1fr; }
  .ems-detail-page .ems-location-card .ems-location-map,
  .ems-detail-page .ems-location-card .ems-location-map iframe {
    min-height: 19rem;
  }
}

/* Full-size map with controls in the left location column */
.ems-detail-page .ems-live-location {
  align-items: stretch;
}
.ems-location-copy {
  align-self: center;
}
.ems-location-copy .ems-location-status {
  margin: 1.5rem 0 1rem;
}
.ems-location-copy .ems-location-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
}
.ems-location-copy .ems-location-actions button,
.ems-location-copy .ems-location-actions a {
  min-width: 0;
  width: 100%;
}
.ems-location-card {
  display: flex;
  flex-direction: column;
  height: 100%;
}
.ems-detail-page .ems-location-card .ems-location-map {
  flex: 1 1 auto;
  min-height: 35rem;
}
.ems-detail-page .ems-location-card .ems-location-map iframe {
  height: 100%;
  min-height: 35rem;
}
@media (max-width: 850px) {
  .ems-location-copy { align-self: stretch; }
  .ems-detail-page .ems-location-card .ems-location-map,
  .ems-detail-page .ems-location-card .ems-location-map iframe {
    min-height: 28rem;
  }
}
@media (max-width: 520px) {
  .ems-location-copy .ems-location-actions { grid-template-columns: 1fr; }
}

/* Professional EMS property profile */
.ems-detail-page .ems-property-overview.ems-property-overview-single {
  margin: 1.5rem 0 0;
}
.ems-detail-page .ems-live-location + .ems-property-overview.ems-property-overview-single {
  margin-top: .5rem;
}
.ems-detail-page .ems-live-location:has(+ .ems-property-overview.ems-property-overview-single) {
  margin-bottom: 0;
}
.ems-about-card {
  background:
    radial-gradient(circle at 92% 12%, rgba(255, 83, 73, .08), transparent 24rem),
    linear-gradient(145deg, #16181b, #121315);
  border: .1rem solid rgba(255, 255, 255, .09);
  border-radius: 1.5rem;
  box-shadow: 0 1.2rem 3.5rem rgba(0, 0, 0, .18);
  max-width: none !important;
  overflow: hidden;
  padding: clamp(2rem, 4vw, 4.5rem);
  position: relative;
}
.ems-about-card::before {
  background: linear-gradient(90deg, #ff5349, transparent);
  content: "";
  height: .25rem;
  left: 0;
  position: absolute;
  right: 65%;
  top: 0;
}
.ems-about-card > header {
  align-items: flex-start;
  display: flex;
  gap: 2rem;
  justify-content: space-between;
}
.ems-about-card > header > div { max-width: 78rem; }
.ems-about-card > header span,
.ems-about-body > div:first-child > span {
  color: #ff665e;
  display: block;
  font-size: .75rem;
  font-weight: 900;
  letter-spacing: .13em;
}
.ems-detail-page .ems-about-card > header h2 {
  color: #fff;
  font-size: clamp(2.4rem, 3.4vw, 4rem);
  letter-spacing: -.04em;
  line-height: 1.08;
  margin: .75rem 0 1rem;
}
.ems-about-card > header p {
  color: #9ba2ac;
  font-size: 1rem;
  line-height: 1.7;
  max-width: 68rem;
}
.ems-about-card > header > b {
  align-items: center;
  background: rgba(101, 229, 160, .09);
  border: .1rem solid rgba(101, 229, 160, .2);
  border-radius: 99rem;
  color: #65e5a0;
  display: inline-flex;
  flex: 0 0 auto;
  font-size: .75rem;
  gap: .45rem;
  padding: .65rem .85rem;
}
.ems-about-features {
  display: flex;
  flex-wrap: wrap;
  gap: .7rem;
  margin-top: 2rem;
}
.ems-about-features > span {
  align-items: center;
  background: #202328;
  border: .1rem solid rgba(255, 255, 255, .08);
  border-radius: 99rem;
  color: #d8dce1;
  display: inline-flex;
  font-size: .8rem;
  gap: .55rem;
  padding: .65rem .85rem;
}
.ems-about-features i { color: #ff655d; }
.ems-about-body {
  border-top: .1rem solid rgba(255, 255, 255, .08);
  display: grid;
  gap: clamp(2rem, 5vw, 6rem);
  grid-template-columns: minmax(0, 1.1fr) minmax(30rem, .9fr);
  margin-top: 2.2rem;
  padding-top: 2.2rem;
}
.ems-about-body h3 {
  color: #fff;
  font-size: clamp(1.5rem, 2vw, 2.1rem);
  letter-spacing: -.025em;
  margin: .6rem 0 .8rem;
}
.ems-about-body > div:first-child > p {
  color: #969da6;
  font-size: .95rem;
  line-height: 1.8;
}
.ems-about-highlights {
  display: grid;
  gap: .8rem;
}
.ems-about-highlights > div {
  align-items: center;
  background: linear-gradient(145deg, #1e2024, #191b1f);
  border: .1rem solid rgba(255, 255, 255, .08);
  border-radius: .9rem;
  display: grid;
  gap: .9rem;
  grid-template-columns: 3.2rem minmax(0, 1fr);
  min-height: 5rem;
  padding: .85rem 1rem;
}
.ems-about-highlights > div > i {
  align-items: center;
  background: rgba(255, 83, 73, .12);
  border-radius: .7rem;
  color: #ff655d;
  display: flex;
  height: 3.2rem;
  justify-content: center;
  width: 3.2rem;
}
.ems-about-highlights strong,
.ems-about-highlights small { display: block; }
.ems-about-highlights strong { color: #fff; font-size: .85rem; }
.ems-about-highlights small { color: #7f8790; font-size: .7rem; margin-top: .2rem; }
@media (max-width: 900px) {
  .ems-about-body { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
  .ems-about-card { border-radius: 1.1rem; padding: 1.4rem; }
  .ems-about-card > header { display: block; }
  .ems-about-card > header > b { margin-top: 1.2rem; }
  .ems-about-features > span { flex: 1 1 calc(50% - .7rem); justify-content: center; }
}

/* About section mirrors the live-location structure */
.ems-detail-page .ems-property-overview.ems-property-overview-single.ems-about-section {
  align-items: stretch;
  background: linear-gradient(145deg, #16181b, #121315);
  border: .1rem solid rgba(255, 255, 255, .09);
  border-radius: 1.5rem;
  box-shadow: 0 1.2rem 3.5rem rgba(0, 0, 0, .18);
  gap: clamp(2rem, 5vw, 7rem);
  grid-template-columns: minmax(0, .8fr) minmax(38rem, 1.2fr);
  overflow: hidden;
  padding: clamp(2rem, 4vw, 4.5rem);
  padding-top: 2rem;
  padding-bottom: 2rem;
  position: relative;
}
.ems-about-section::before {
  background: linear-gradient(90deg, #ff5349, transparent);
  content: "";
  height: .25rem;
  left: 0;
  position: absolute;
  right: 65%;
  top: 0;
}
.ems-about-copy {
  align-self: end;
  min-width: 0;
}
.ems-about-copy > span {
  color: #ff665e;
  font-size: .78rem;
  font-weight: 900;
  letter-spacing: .14em;
}
.ems-detail-page .ems-about-copy h2 {
  color: #fff;
  font-size: clamp(2.4rem, 3.5vw, 4.2rem);
  letter-spacing: -.045em;
  line-height: 1.05;
  margin: .8rem 0 1rem;
}
.ems-about-copy > p {
  color: #9da4ae;
  font-size: 1rem;
  line-height: 1.75;
}
.ems-about-copy .ems-about-features { margin-top: 2rem; }
.ems-about-section .ems-about-card {
  background: #1c1e22;
  border-radius: 1.3rem;
  box-shadow: 0 1.5rem 4rem rgba(0, 0, 0, .3);
  height: 100%;
  padding: 1.7rem;
}
.ems-about-section .ems-about-card::before { display: none; }
.ems-about-section .ems-about-card > header {
  align-items: center;
  border-bottom: .1rem solid rgba(255, 255, 255, .08);
  padding-bottom: 1.2rem;
}
.ems-about-section .ems-about-card > header strong {
  color: #fff;
  display: block;
  font-size: 1.35rem;
  line-height: 1.3;
  margin-top: .3rem;
}
.ems-about-section .ems-about-card > p {
  color: #969da6;
  font-size: .9rem;
  line-height: 1.75;
  margin: 1.2rem 0;
}
.ems-about-section .ems-about-highlights { gap: .7rem; }
@media (max-width: 950px) {
  .ems-detail-page .ems-property-overview.ems-property-overview-single.ems-about-section {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 600px) {
  .ems-detail-page .ems-property-overview.ems-property-overview-single.ems-about-section {
    border-radius: 1.1rem;
    padding: 1.3rem;
  }
  .ems-about-section .ems-about-card { padding: 1.25rem; }
}

/* Center the destination results at the same width as the homepage About panel. */
.destination-results-page main > .nearby-section {
  box-sizing: border-box;
  margin-left: auto;
  margin-right: auto;
  max-width: none;
  padding-left: 0;
  padding-right: 0;
  width: calc(100% - 6rem);
}
@media (max-width: 600px) {
  .destination-results-page main > .nearby-section {
    width: calc(100% - 3rem);
  }
}

.destination-home-search label,
.destination-home-search label:focus-within {
  border-color: transparent;
  box-shadow: none;
}
.destination-home-search input,
.destination-home-search input:focus {
  border: 0;
  outline: none;
  box-shadow: none;
}
.destination-home-search label:focus-within i {
  color: #fff;
}

/* Search sits above the rightmost preview card and wraps on smaller screens. */
.featured-houses-toolbar { display:flex; align-items:center; justify-content:space-between; gap:2rem; margin-bottom:2rem; }
.featured-houses-toolbar #featured-houses-title { margin:0; }
.featured-houses-search { display:flex; align-items:center; gap:1rem; background:#222; border-radius:.8rem; padding:1rem 1.2rem; width:23%; min-width:22rem; }
.featured-houses-search i { color:#ff5349; font-size:1.4rem; }
.featured-houses-search input { width:100%; min-width:0; background:transparent; color:#fff; font-size:1.3rem; text-transform:none; border:0; outline:none; box-shadow:none; }
.featured-houses-search:focus-within i { color:#fff; }
@media(max-width:650px) { .featured-houses-toolbar { align-items:stretch; flex-direction:column; } .featured-houses-search { width:100%; min-width:0; } }

/* Keep the header account actions together. */
.user-auth { display: flex; align-items: center; gap: 1rem; }
.user-auth .register-btn-modal[hidden] { display: none; }

/* Responsive home header and account forms. */
.responsive-auth-header { gap: 16px; }
.responsive-auth-header .user-auth { margin-left: 0; flex-shrink: 0; gap: 8px; }
.responsive-auth-header .brand-link { flex-shrink: 0; }
.responsive-auth-header .navbar { white-space: nowrap; }
.responsive-auth-header .user-auth button { min-height: 44px; white-space: nowrap; }
.responsive-auth-header #menu-btn { background: transparent; min-width: 44px; min-height: 44px; }
.responsive-auth-header :is(button, a):focus-visible { outline: 2px solid #ff5349; outline-offset: 4px; }

@media (max-width: 1100px) {
  .responsive-auth-header { padding: 8px 16px; }
  .responsive-auth-header #menu-btn { display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; }
  .responsive-auth-header .brand-link { margin-right: auto; }
  .responsive-auth-header .navbar {
    position: absolute; top: 100%; left: 0; right: 0; background: #222;
    max-height: calc(100dvh - 90px); overflow-y: auto;
    clip-path: none; visibility: hidden; pointer-events: none;
  }
  .responsive-auth-header .navbar.active { visibility: visible; pointer-events: auto; clip-path: none; }
  .responsive-auth-header .navbar a { display: block; margin: 0; padding: 14px 20px; min-height: 44px; }
}

@media (max-width: 600px) {
  .responsive-auth-header { gap: 6px; padding: 8px; }
  .responsive-auth-header .brand-link img { width: 64px; height: 48px; }
  .responsive-auth-header .user-auth button { font-size: 14px; padding: 0 12px; height: 44px; }
}

.responsive-auth-header ~ .auth-modal {
  width: min(420px, calc(100vw - 24px));
  height: auto; max-height: calc(100dvh - 24px); bottom: auto; top: 12px;
  overflow-x: hidden; overflow-y: auto; overscroll-behavior: contain;
}
.responsive-auth-header ~ .auth-modal .form-box { padding: 44px 24px 24px; flex-shrink: 0; }
.responsive-auth-header ~ .auth-modal .form-box.login { display: block; transform: none; }
.responsive-auth-header ~ .auth-modal.active .form-box.login { display: none; }
.responsive-auth-header ~ .auth-modal .form-box.register { display: none; position: static; transform: none; }
.responsive-auth-header ~ .auth-modal.active .form-box.register { display: block; }
.responsive-auth-header ~ .auth-modal :is(input, select) { font-size: 16px; }
.responsive-auth-header ~ .auth-modal .input-box { min-height: 44px; }
@media (min-height: 750px) {
  .responsive-auth-header ~ .auth-modal { top: 8vh; }
}

/* Feedback follows the original footer column layout. */
.footer .box-container .feedback-card { min-width:0; color:#aaa; }
.feedback-card * { text-transform:none; }
.feedback-rating { min-width:0; margin:12px 0 18px; }
.feedback-rating legend { font-size:14px; color:#aaa; margin-bottom:10px; }
.feedback-stars { display:flex; gap:6px; }
.feedback-stars label { position:relative; flex:0 1 44px; min-width:0; height:44px; cursor:pointer; }
.feedback-stars input { position:absolute; inset:0; opacity:0; width:100%; height:100%; cursor:pointer; }
.feedback-stars span { display:flex; align-items:center; justify-content:center; height:100%; background:#222; border:1px solid #555; border-radius:10px; color:#aaa; font-size:27px; pointer-events:none; }
.feedback-stars .is-selected span,.feedback-stars label:hover span { background:#33241a; color:#ffb640; border-color:#ffb640; }
.feedback-stars input:focus-visible+span { outline:2px solid #ff5349; outline-offset:3px; }
.feedback-message-label { display:block; font-size:14px; margin-bottom:8px; }
.feedback-card textarea { display:block; width:100%; min-height:110px; resize:vertical; padding:14px; border:2px solid #ff5349; border-radius:20px; background:transparent; color:#eee; font-size:16px; line-height:1.5; }
.feedback-card textarea:focus-visible,.feedback-submit:focus-visible { outline:2px solid #fff; outline-offset:3px; }
.feedback-card .feedback-submit { min-height:44px; max-width:100%; margin-top:16px; }
.footer .box-container .feedback-card .feedback-storage-note { font-size:12px; padding:10px 0 0; line-height:1.5; }
.footer .box-container .feedback-card .feedback-status { font-size:14px; line-height:1.5; padding:10px 0 0; }
.feedback-status:empty { display:none; }
@media (max-width:600px) { .footer .box-container:has(.feedback-card) { grid-template-columns:minmax(0,1fr); } }
/* Keep all four footer sections together on wide screens. */
.home-footer { padding: 48px clamp(20px, 5vw, 80px); }
.home-footer .box-container:has(.feedback-card) {
  grid-template-columns: minmax(0, 1fr) minmax(0, .75fr) minmax(0, 1.1fr) minmax(0, 1.3fr);
  align-items: start;
  gap: clamp(20px, 2.5vw, 40px);
}
.home-footer .box-container > .box { min-width: 0; padding: 0; }
.home-footer .box-container > .box:first-child img { display: block; width: 150px; max-width: 100%; height: auto; margin-bottom: 12px; }
.home-footer .box-container .box h3 { padding: 0 0 16px; line-height: 1.35; }
.home-footer .box-container .box p { overflow-wrap: anywhere; text-transform: none; line-height: 1.7; }
.home-footer .box-container .box .links { min-height: 44px; display: flex; align-items: center; gap: 8px; padding: 8px 0; }
.home-footer .box-container .box .links i { padding-right: 0; }
.home-footer .feedback-intro { padding-top: 0 !important; }
@media (max-width: 1000px) {
  .home-footer .box-container:has(.feedback-card) { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px; }
}
@media (max-width: 600px) {
  .home-footer { padding: 32px 20px; }
  .home-footer .box-container:has(.feedback-card) { grid-template-columns: minmax(0, 1fr); gap: 28px; }
}

/* Brand and navigation, contact form, and feedback. */
.home-footer .box-container:has(.feedback-card) { grid-template-columns:minmax(0,.8fr) minmax(0,1.3fr) minmax(0,1fr); gap:clamp(24px,4vw,64px); }
.footer-quick-links { margin-top:28px; }
.home-footer .contact-intro { padding-top:0; }
.contact-details { margin:8px 0 24px; }
.home-footer .contact-details p { display:flex; gap:10px; align-items:baseline; padding:7px 0; }
.contact-details i { flex:0 0 18px; }
.contact-details a { color:#aaa; text-transform:none; overflow-wrap:anywhere; }
.contact-details a:hover { color:#ff5349; }
.footer-contact-form { display:grid; gap:16px; }
.footer-contact-form label { display:grid; gap:8px; min-width:0; color:#ccc; font-size:14px; text-transform:none; }
.contact-name-row { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.footer-contact-form input:not([type="hidden"]),.footer-contact-form textarea { width:100%; min-width:0; min-height:44px; padding:12px; border:1px solid #555; border-radius:8px; background:#191919; color:#eee; font-size:16px; text-transform:none; }
.footer-contact-form textarea { min-height:112px; resize:vertical; }
.footer-contact-form input:focus-visible,.footer-contact-form textarea:focus-visible,.footer-contact-form button:focus-visible,.contact-details a:focus-visible { outline:2px solid #ff5349; outline-offset:3px; }
.footer-contact-form .btn { justify-self:start; margin-top:0; min-height:44px; }
@media (max-width:1000px) {
  .home-footer .box-container:has(.feedback-card) { grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px; }
  .home-footer .footer-brand { grid-column:1/-1; }
  .footer-quick-links { display:flex; flex-wrap:wrap; gap:8px 24px; }
  .home-footer .footer-quick-links h3 { flex-basis:100%; padding-bottom:0; }
}
@media (max-width:600px) {
  .home-footer .box-container:has(.feedback-card) { grid-template-columns:minmax(0,1fr); }
  .home-footer .footer-brand { grid-column:auto; }
}
@media (max-width:380px) { .contact-name-row { grid-template-columns:minmax(0,1fr); } }

/* Match the contact form to the feedback column. */
.home-footer .box-container:has(.feedback-card) { grid-template-columns:minmax(0,.8fr) repeat(2,minmax(0,1fr)); }
.home-footer .footer-contact .contact-intro { padding:0 0 10px; }
.home-footer .contact-details { margin:4px 0 18px; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px 12px; }
.home-footer .contact-details p { padding:0; font-size:12px; line-height:1.5; }
.home-footer .footer-contact-form { gap:12px; }
.home-footer .footer-contact-form label { font-size:14px; gap:8px; }
.home-footer .footer-contact-form input:not([type="hidden"]) { border:2px solid #ff5349; border-radius:24px; background:transparent; padding:10px 14px; }
.home-footer .footer-contact-form textarea { min-height:110px; padding:14px; border:2px solid #ff5349; border-radius:20px; background:transparent; line-height:1.5; }
.home-footer .footer-contact-form .btn { margin-top:4px; }
@media (max-width:1000px) { .home-footer .box-container:has(.feedback-card) { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:600px) { .home-footer .box-container:has(.feedback-card) { grid-template-columns:minmax(0,1fr); } }
@media (max-width:380px) { .home-footer .contact-details { grid-template-columns:minmax(0,1fr); } }

/* Compact contact layout alongside feedback. */
.home-footer .footer-contact h3 { padding-bottom:16px; }
.home-footer .footer-contact .contact-intro { font-size:13px; line-height:1.5; padding:0 0 8px; }
.home-footer .footer-contact .contact-details { grid-template-columns:minmax(0,1fr); gap:4px; margin:0 0 12px; }
.home-footer .footer-contact .contact-details p { font-size:12px; line-height:1.4; padding:0; gap:6px; }
.home-footer .footer-contact-form { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px 12px; }
.home-footer .footer-contact-form .contact-name-row { grid-column:1/-1; gap:12px; }
.home-footer .footer-contact-form label { font-size:12px; gap:4px; }
.home-footer .footer-contact-form > label[for="contact-message"] { grid-column:1/-1; }
.home-footer .footer-contact-form input:not([type="hidden"]) { min-height:44px; height:44px; padding:8px 12px; font-size:16px; }
.home-footer .footer-contact-form textarea { height:110px; min-height:110px; }
.home-footer .footer-contact-form .btn { grid-column:1/-1; margin-top:4px; }
@media (max-width:380px) {
  .home-footer .footer-contact-form { grid-template-columns:minmax(0,1fr); }
  .home-footer .footer-contact-form .contact-name-row { grid-template-columns:minmax(0,1fr); }
}

/* Footer forms use the website's compact type and spacing scale. */
.home-footer .box-container .box h3 { font-size:2.2rem; padding-bottom:1rem; }
.home-footer .footer-contact .contact-intro,
.home-footer .box-container .feedback-intro { font-size:1.4rem; line-height:1.6; padding:0 0 1rem; }
.home-footer .footer-contact-form label,
.home-footer .feedback-message-label,
.home-footer .feedback-rating legend { font-size:1.3rem; }
.home-footer .footer-contact .contact-details p { font-size:1.25rem; }
.home-footer .footer-contact-form { gap:.8rem 1rem; }
.home-footer .footer-contact-form .contact-name-row { gap:1rem; }
.home-footer .footer-contact-form input:not([type="hidden"]) { font-size:1.4rem; padding:.8rem 1.2rem; }
.home-footer .footer-contact-form textarea,
.home-footer .feedback-card textarea { font-size:1.4rem; padding:1.2rem; min-height:88px; height:88px; border-radius:1.5rem; }
.home-footer .feedback-rating { margin:.6rem 0 1.2rem; }
.home-footer .feedback-rating legend { margin-bottom:.6rem; }
.home-footer .feedback-stars { gap:5px; }
.home-footer .feedback-stars span { font-size:22px; border-radius:8px; }
.home-footer .footer-contact-form .btn,
.home-footer .feedback-card .feedback-submit { font-size:1.4rem; padding:.8rem 2rem; min-height:44px; margin-top:.6rem; }
.home-footer .box-container .feedback-card .feedback-storage-note,
.home-footer .box-container .feedback-card .feedback-status { font-size:1.2rem; }
@media (max-width:600px) {
  .home-footer .footer-contact-form input:not([type="hidden"]),
  .home-footer .footer-contact-form textarea,
  .home-footer .feedback-card textarea { font-size:16px; }
}

/* Spacious footer with the reference's two-column contact section. */
.home-footer .box-container:has(.feedback-card) { grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:40px 6%; }
.home-footer .footer-brand { grid-column:1; grid-row:2; }
.home-footer .feedback-card { grid-column:2; grid-row:2; }
.home-footer .footer-contact { grid-column:1/-1; grid-row:1; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:6%; padding-bottom:36px !important; border-bottom:1px solid #333; }
.home-footer .footer-contact .contact-intro { max-width:440px; margin-bottom:18px; }
.home-footer .footer-contact .contact-details { gap:14px; }
.home-footer .footer-contact .contact-details p { font-size:1.4rem; }
.home-footer .footer-contact-form { display:grid; grid-template-columns:minmax(0,1fr); gap:16px; }
.home-footer .footer-contact-form label { font-size:1.3rem; gap:7px; }
.home-footer .footer-contact-form input:not([type="hidden"]),
.home-footer .footer-contact-form textarea { border:1px solid #555; border-radius:4px; background:#191919; }
.home-footer .footer-contact-form textarea { height:110px; }
.home-footer .footer-contact-form .btn { background:#ff5349; color:#111; border-color:#ff5349; margin:0; }
.home-footer .footer-contact-form .btn:hover { background:#ff756d; }
.home-footer .box-container > .footer-brand:first-child img { width:210px; }
.home-footer .footer-brand > p { max-width:450px; }
.home-footer .footer-quick-links { display:flex; flex-wrap:wrap; gap:8px 24px; }
.home-footer .footer-quick-links h3 { flex-basis:100%; }
.home-footer .feedback-card textarea { height:150px; }
.home-footer .feedback-stars label { flex:1; max-width:64px; }
@media (max-width:600px) {
  .home-footer .box-container:has(.feedback-card) { grid-template-columns:minmax(0,1fr); gap:32px; }
  .home-footer .footer-contact { grid-template-columns:minmax(0,1fr); gap:24px; }
  .home-footer .footer-brand,.home-footer .feedback-card,.home-footer .footer-contact { grid-column:auto; grid-row:auto; }
  .home-footer .box-container > .footer-brand:first-child img { width:170px; }
}

/* Original three-column homepage footer. */
.reference-footer { background:#111; padding:40px 5% 48px; }
.reference-footer .box-container { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.reference-footer .box-container .box { min-width:0; padding:0; }
.reference-footer .box-container .box img { display:block; width:150px; max-width:100%; height:auto; margin-bottom:18px; }
.reference-footer .box-container .box h3 { color:#fff; font-size:22px; font-weight:600; line-height:1.35; padding:16px 0 18px; }
.reference-footer .box-container .box p { color:#aaa; font-size:14px; line-height:1.5; padding:20px 0; text-transform:none; overflow-wrap:anywhere; }
.reference-footer .box-container .box:first-child p { padding:8px 0; }
.reference-footer .box-container .box .links { display:flex; align-items:center; gap:12px; color:#aaa; font-size:14px; line-height:1.5; padding:14px 0; }
.reference-footer .box-container .box .links i { color:#ff5349; padding:0; }
.reference-footer .box-container .box p i { color:#ff5349; padding-right:8px; }
.reference-footer .box-container .box p a { color:inherit; text-transform:none; }
.reference-footer a:hover { color:#ff5349 !important; }
.reference-footer a:focus-visible { outline:2px solid #ff5349; outline-offset:4px; }
@media(max-width:1000px) {
  .reference-footer { padding:32px 5%; }
  .reference-footer .box-container { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .reference-footer .box-container .box:first-child { grid-column:1/-1; }
  .reference-footer .box-container .box h3 { font-size:22px; }
  .reference-footer .box-container .box p,.reference-footer .box-container .box .links { font-size:14px; }
}
@media(max-width:600px) {
  .reference-footer .box-container { grid-template-columns:minmax(0,1fr); gap:24px; }
  .reference-footer .box-container .box img { width:150px; }
}
/* Keep feedback immediately beside the contact information. */
.reference-footer .box-container:has(.feedback-card) { grid-template-columns:minmax(0,1.15fr) minmax(0,.7fr) minmax(0,1fr) minmax(0,1fr); gap:28px; }
.reference-footer .box-container .feedback-card .feedback-intro { font-size:14px; padding:0 0 8px; line-height:1.6; }
@media(max-width:1100px) {
  .reference-footer .box-container:has(.feedback-card) { grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; }
  .reference-footer .box-container .box:first-child { grid-column:auto; }
}
@media(max-width:600px) {
  .reference-footer .box-container:has(.feedback-card) { grid-template-columns:minmax(0,1fr); }
}
/* Match navigation and contact row alignment and spacing. */
.reference-footer .box-container .box .links,
.reference-footer .box-container .reference-contact p {
  display:grid;
  grid-template-columns:18px minmax(0,1fr);
  align-items:center;
  column-gap:12px;
  min-height:48px;
  margin:0;
  padding:12px 0;
  line-height:24px;
}
.reference-footer .box-container .box .links i,
.reference-footer .box-container .reference-contact p i {
  width:18px;
  padding:0;
  text-align:center;
  line-height:24px;
}
.reference-footer .box-container .reference-contact p a { min-width:0; overflow-wrap:anywhere; }
/* Support information fills the space beneath the footer brand. */
.reference-footer .footer-help { margin-top:28px; max-width:320px; }
.reference-footer .box-container .footer-help h3 { font-size:18px; padding:0 0 10px; text-transform:none; }
.reference-footer .box-container .box .footer-help p { padding:0; font-size:14px; line-height:1.8; }
.reference-footer .footer-help-link { display:inline-flex; align-items:center; gap:10px; min-height:44px; margin-top:10px; color:#ff5349; font-size:14px; text-transform:none; }
/* Anchor help to the bottom of the brand column. */
.reference-footer .box-container > .box:first-child { display:flex; flex-direction:column; align-self:stretch; }
.reference-footer .box-container > .box:first-child .footer-help { margin-top:auto; padding-top:28px; }
.help-contact-dialog { position:fixed; inset:0; margin:auto; width:min(480px,calc(100% - 32px)); max-height:calc(100dvh - 32px); overflow-y:auto; padding:32px; border:1px solid #444; border-radius:16px; background:#191919; color:#eee; }
.help-contact-dialog::backdrop { background:rgba(0,0,0,.75); }
.help-contact-dialog * { text-transform:none; }
.help-contact-dialog h2 { font-size:24px; padding-right:28px; }
.help-contact-dialog p { font-size:14px; color:#aaa; line-height:1.6; margin:12px 0 20px; }
.help-contact-dialog form,.help-contact-dialog label { display:grid; gap:8px; }
.help-contact-dialog form { gap:16px; }
.help-contact-dialog label { font-size:14px; }
.help-contact-dialog input:not([type="hidden"]),.help-contact-dialog textarea { width:100%; padding:12px; background:#222; color:#fff; border:1px solid #666; border-radius:8px; font-size:16px; }
.help-contact-dialog textarea { resize:vertical; min-height:110px; }
.help-contact-dialog .btn { justify-self:start; margin:0; }
.help-contact-close { position:absolute; top:12px; right:12px; width:44px; height:44px; background:transparent; color:#eee; font-size:28px; cursor:pointer; }
.help-contact-dialog :focus-visible { outline:2px solid #ff5349; outline-offset:3px; }
.help-contact-dialog .help-contact-note { font-size:12px; margin:0; }