/* Scoped to existing Material3 palette; no framework or global layout replacement. */
.lodging{color:var(--on-surface,#f4ede2);font:inherit;padding:16px;box-sizing:border-box;max-width:880px;margin-inline:auto;overflow-wrap:anywhere}
.lodging h2{font-size:1.35rem;margin-block:0 16px}.lodging h3{font-size:1.12rem;margin-block:0 10px}
.lodging-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-block:18px}
.lodging-form label{display:flex;flex-direction:column;gap:6px;min-width:0}
.lodging-form .lodging-date{grid-column:1/-1}
.lodging input,.lodging select{box-sizing:border-box;min-height:48px;width:100%;min-width:0;border:1px solid var(--outline,#a89b86);border-radius:12px;padding:10px;background:var(--surface-c,#252527);color:inherit;font:inherit;color-scheme:dark}
.lodging input:focus-visible,.lodging select:focus-visible,.lodging button:focus-visible,.lodging a:focus-visible{outline:3px solid var(--primary,#d6ba82);outline-offset:3px}
.lodging input[type=date]{direction:ltr}.lodging-wide{grid-column:1/-1}
.lodging .btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:10px 16px;border-radius:24px;box-sizing:border-box;font:inherit;max-width:100%;text-align:center;text-decoration:none;white-space:normal;cursor:pointer}
.lodging .filled{background:var(--primary,#d6ba82);color:var(--on-primary,#251d10);border:0}.lodging .outlined{border:1px solid var(--outline,#a89b86);background:transparent;color:inherit}
.lodging button:disabled{opacity:.55;cursor:default}.lodging .hint,.lodging small{color:var(--on-surface-var,#c9c1b5);font-size:.86rem;line-height:1.5}
.lodging-status{padding:14px;border-radius:12px;background:var(--surface-c-low,#202022);line-height:1.5}
.lodging-card{border:1px solid var(--outline-var,#514a3f);border-radius:18px;overflow:hidden;margin-block:16px;background:var(--surface-c-low,#202022)}
.lodging-card-body{padding:16px}.lodging-photo{display:block;width:100%;height:200px;object-fit:cover}.lodging-room-photo{width:120px;max-width:100%;height:90px;object-fit:cover;border-radius:10px}
.lodging-price{margin-block:14px 4px}.lodging-offer{padding-block:12px;border-block-start:1px solid var(--outline-var,#514a3f)}.lodging-offers{margin-block:14px}
.lodging-card .btn{margin-block:10px;width:100%}.lodging-context{line-height:1.5}
@media(min-width:700px){.lodging-photo{height:260px}}

