/* Shared StayNest application shell — mirrors the soft, rounded public home UI. */
:root{--sn-teal:#16a31a;--sn-teal-dark:#0b6b26;--sn-coral:#2e7bdc;--sn-navy:#092653;--sn-lime:#69c51c;--sn-ink:#10214a;--sn-muted:#667085;--sn-line:#e3eadf;--sn-canvas:#fbfdf9;--sn-card:#fff;--sn-radius:18px;--teal:#16a31a;--teal-dark:#0b6b26;--coral:#2e7bdc}
body{background:var(--sn-canvas)!important;color:var(--sn-ink);font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif!important}
h1,h2,h3,h4,h5,.page-heading{font-family:Poppins,Inter,sans-serif!important;letter-spacing:-.03em;color:var(--sn-ink)!important}
footer h1,footer h2,footer h3,footer h4,footer h5,.footer-grid h4{color:#fff!important}
.card,.card-stat,form.card{border:1px solid var(--sn-line)!important;border-radius:var(--sn-radius)!important;box-shadow:0 8px 30px rgba(19,42,37,.055)!important;background:var(--sn-card)!important}
.btn-primary,.btn-teal{background:var(--sn-teal)!important;border-color:var(--sn-teal)!important;border-radius:999px!important;padding:.58rem 1rem!important;font-weight:700!important}.btn-primary:hover,.btn-teal:hover{background:var(--sn-teal-dark)!important}.btn-coral{background:var(--sn-navy)!important;border-color:var(--sn-navy)!important}
.btn-outline-secondary{border-radius:999px!important;border-color:var(--sn-line)!important;color:var(--sn-ink)!important}.btn-coral{border-radius:999px!important;text-decoration:none!important;padding:.65rem 1.15rem!important;font-weight:700!important}
.form-control,.form-select{min-height:44px;border:1px solid #dfe6e4!important;border-radius:12px!important;padding:.65rem .8rem!important;box-shadow:none!important}.form-control:focus,.form-select:focus{border-color:var(--sn-teal)!important;box-shadow:0 0 0 3px rgba(13,119,101,.12)!important}
.table{border-collapse:separate!important;border-spacing:0 8px!important}.table th{border:0!important;color:var(--sn-muted)!important;font-size:.73rem!important;letter-spacing:.07em!important}.table td{background:#fff!important;border-top:1px solid var(--sn-line)!important;border-bottom:1px solid var(--sn-line)!important;padding:.9rem!important}.table td:first-child{border-left:1px solid var(--sn-line)!important;border-radius:12px 0 0 12px}.table td:last-child{border-right:1px solid var(--sn-line)!important;border-radius:0 12px 12px 0}.table a{color:var(--sn-teal);font-weight:700;text-decoration:none}
.badge{border-radius:999px!important;padding:.42rem .65rem!important}.page-content,.host-main{max-width:1440px}.host-sidebar,#sidebar{box-shadow:8px 0 28px rgba(11,57,48,.06)}
@media(max-width:768px){.page-content,.host-main{padding:1rem!important}}

/* Public stay cards: image-led, even-height cards with a clean content rail. */
.section{padding:52px 48px 64px!important}
.grid{gap:32px!important;align-items:stretch}
.grid .card{border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;overflow:visible!important;cursor:pointer;transition:transform .22s ease}
.grid .card:hover{transform:translateY(-4px)}
.grid .card-photo{border-radius:18px!important;aspect-ratio:4/3;box-shadow:0 8px 24px rgba(9,38,83,.10);transition:box-shadow .22s ease,transform .22s ease}
.grid .card:hover .card-photo{box-shadow:0 14px 30px rgba(9,38,83,.16)}
.grid .card-body{padding:13px 2px 0!important;background:transparent!important}
.grid .card-title{font-family:Poppins,Inter,sans-serif;font-size:15px;font-weight:700;line-height:1.25;color:var(--sn-navy)}
.grid .card-sub{font-size:13px;line-height:1.45;margin-top:5px;color:#77808d}
.grid .card-price{font-size:14px;line-height:1.4;margin-top:7px;color:var(--sn-navy);font-weight:700}
.grid .rating{color:var(--sn-navy);font-weight:600}.grid .rating svg{color:var(--sn-lime)!important}
.grid .badge{top:12px;left:12px;padding:6px 11px;color:var(--sn-navy);font-size:11px;box-shadow:0 3px 10px rgba(9,38,83,.14)}
.grid .heart{top:12px;right:12px;width:34px;height:34px;background:rgba(9,38,83,.62);backdrop-filter:blur(4px)}
.host-banner{margin-top:8px!important;background:linear-gradient(90deg,var(--sn-teal-dark),var(--sn-teal),#79a184)!important;box-shadow:0 12px 32px rgba(9,38,83,.10)}
.host-banner h2,.host-banner p{color:#fff!important}
@media(max-width:1100px){.grid{grid-template-columns:repeat(2,1fr)!important}}
@media(max-width:600px){.section{padding:36px 20px 48px!important}.grid{grid-template-columns:1fr!important;gap:28px!important}.host-banner{margin:0 20px 40px!important;padding:32px 26px!important;display:block!important}.host-banner .btn-coral{display:inline-block;margin-top:18px}}
