:root {
    --hc-bg: #f4f7f5;
    --hc-surface: #ffffff;
    --hc-ink: #18332b;
    --hc-muted: #6b7e77;
    --hc-line: #dfe8e4;
    --hc-brand: #176b52;
    --hc-brand-dark: #0e4938;
    --hc-accent: #e7b85c;
    --hc-radius: 18px;
    --hc-shadow: 0 18px 48px rgba(20, 63, 50, 0.09);
}

body.hc-partner-app-page {
    margin: 0;
    background: var(--hc-bg);
    color: var(--hc-ink);
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Tahoma, Arial, sans-serif;
}

.hc-partner-app-page *,
.hc-partner-app-page *::before,
.hc-partner-app-page *::after {
    box-sizing: border-box;
}

.hc-partner-app-page #wpadminbar,
.hc-partner-app-page > header,
.hc-partner-app-page > footer {
    display: none !important;
}

.hc-brand {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    color: var(--hc-ink);
    font-size: 19px;
    font-weight: 800;
    text-decoration: none;
}

.hc-brand-mark {
    display: inline-grid;
    width: 42px;
    height: 42px;
    place-items: center;
    border-radius: 14px;
    background: var(--hc-brand);
    color: #fff;
    font-size: 22px;
    box-shadow: 0 8px 20px rgba(23, 107, 82, 0.2);
}

.hc-auth-shell {
    min-height: 100vh;
    display: grid;
    place-items: center;
    padding: 28px;
    background:
        radial-gradient(circle at 15% 15%, rgba(231, 184, 92, 0.22), transparent 28%),
        radial-gradient(circle at 85% 80%, rgba(23, 107, 82, 0.16), transparent 30%),
        var(--hc-bg);
}

.hc-auth-card {
    width: min(100%, 460px);
    padding: 40px;
    border: 1px solid rgba(255, 255, 255, 0.8);
    border-radius: 26px;
    background: rgba(255, 255, 255, 0.94);
    box-shadow: var(--hc-shadow);
}

.hc-auth-copy {
    margin: 36px 0 26px;
}

.hc-auth-header { display: flex; align-items: center; justify-content: space-between; gap: 14px; }

.hc-eyebrow {
    margin: 0 0 7px;
    color: var(--hc-brand);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.hc-auth-card h1,
.hc-topbar h1,
.hc-panel h2,
.hc-empty-state h2 {
    margin: 0;
    color: var(--hc-ink);
    line-height: 1.3;
}

.hc-auth-copy p:last-child,
.hc-empty-state p {
    color: var(--hc-muted);
    line-height: 1.8;
}

.hc-login-form label {
    display: block;
    margin-bottom: 7px;
    color: var(--hc-ink);
    font-weight: 700;
}

.hc-login-form input[type="text"],
.hc-login-form input[type="password"] {
    width: 100%;
    min-height: 48px;
    padding: 10px 14px;
    border: 1px solid var(--hc-line);
    border-radius: 12px;
    background: #fff;
    color: var(--hc-ink);
    font-size: 16px;
}

.hc-login-form input:focus {
    border-color: var(--hc-brand);
    box-shadow: 0 0 0 3px rgba(23, 107, 82, 0.12);
    outline: 0;
}

.hc-login-form .login-remember label {
    display: flex;
    align-items: center;
    gap: 8px;
    color: var(--hc-muted);
    font-weight: 500;
}

.hc-login-form .button-primary,
.hc-primary-link {
    width: 100%;
    min-height: 50px;
    display: inline-grid;
    place-items: center;
    border: 0;
    border-radius: 12px;
    background: var(--hc-brand);
    color: #fff;
    cursor: pointer;
    font-size: 16px;
    font-weight: 800;
    text-decoration: none;
}

.hc-login-form .button-primary:hover,
.hc-primary-link:hover {
    background: var(--hc-brand-dark);
    color: #fff;
}

.hc-login-error {
    margin: 0 0 18px;
    padding: 12px 14px;
    border: 1px solid #efc4c4;
    border-radius: 11px;
    background: #fff2f2;
    color: #8d2424;
    line-height: 1.6;
}

.hc-forgot-link {
    display: inline-block;
    margin-top: 18px;
    color: var(--hc-brand);
    font-weight: 700;
    text-decoration: none;
}

.hc-app {
    min-height: 100vh;
    display: grid;
    grid-template-columns: 270px minmax(0, 1fr);
    direction: inherit;
}

body.hc-partner-app-page.hc-direction-ltr,
body.hc-partner-app-page .hc-app[data-direction="ltr"] { direction: ltr !important; }
body.hc-partner-app-page.hc-direction-rtl,
body.hc-partner-app-page .hc-app[data-direction="rtl"] { direction: rtl !important; }

.hc-sidebar {
    position: sticky;
    top: 0;
    height: 100vh;
    display: flex;
    flex-direction: column;
    padding: 24px 18px;
    background: #102e25;
    color: #fff;
    overflow-y: auto;
}

.hc-brand-sidebar {
    color: #fff;
    padding: 0 8px;
}

.hc-organization-switcher {
    display: grid;
    gap: 4px;
    margin: 28px 0 18px;
    padding: 14px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.06);
}

.hc-organization-switcher span {
    color: rgba(255, 255, 255, 0.62);
    font-size: 11px;
}

.hc-organization-switcher select {
    width: 100%;
    min-height: 38px;
    padding: 7px 9px;
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 9px;
    background: #173f33;
    color: #fff;
    font: inherit;
}

.hc-nav {
    display: grid;
    gap: 5px;
}

.hc-nav a,
.hc-logout {
    display: flex;
    align-items: center;
    gap: 11px;
    padding: 11px 13px;
    border-radius: 11px;
    color: rgba(255, 255, 255, 0.72);
    font-weight: 650;
    text-decoration: none;
}

.hc-nav a:hover,
.hc-nav a.is-active {
    background: rgba(255, 255, 255, 0.1);
    color: #fff;
}

.hc-nav a span {
    width: 23px;
    text-align: center;
    color: var(--hc-accent);
    font-size: 18px;
}

.hc-logout {
    margin-top: auto;
    border-top: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 0;
}

.hc-main {
    min-width: 0;
    padding: 30px 34px 48px;
}

.hc-topbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 28px;
}

.hc-topbar-actions {
    display: flex;
    align-items: center;
    gap: 12px;
}

.hc-language-switcher,
.hc-language-tabs {
    display: inline-flex;
    gap: 4px;
    padding: 4px;
    border: 1px solid var(--hc-line);
    border-radius: 12px;
    background: #fff;
}

.hc-language-switcher a,
.hc-language-tabs button {
    padding: 7px 11px;
    border: 0;
    border-radius: 8px;
    background: transparent;
    color: var(--hc-muted);
    cursor: pointer;
    font: inherit;
    font-size: 13px;
    font-weight: 750;
    text-decoration: none;
}

.hc-language-switcher a.is-active,
.hc-language-tabs button.is-active {
    background: #eaf5f1;
    color: var(--hc-brand);
}

.hc-topbar h1 {
    font-size: clamp(24px, 3vw, 34px);
}

.hc-user-chip {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 10px;
    border: 1px solid var(--hc-line);
    border-radius: 14px;
    background: var(--hc-surface);
}

.hc-user-chip img {
    border-radius: 12px;
}

.hc-user-chip span {
    display: grid;
}

.hc-user-chip small {
    color: var(--hc-muted);
}

.hc-menu-button {
    display: none;
    width: 44px;
    height: 44px;
    border: 1px solid var(--hc-line);
    border-radius: 12px;
    background: #fff;
    color: var(--hc-ink);
    font-size: 20px;
}

.hc-status-banner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 22px;
    padding: 16px 18px;
    border: 1px solid rgba(23, 107, 82, 0.18);
    border-radius: var(--hc-radius);
    background: #eaf5f1;
}

.hc-status-banner > div {
    display: flex;
    align-items: center;
    gap: 9px;
}

.hc-status-banner > div span:last-child {
    color: var(--hc-muted);
}

.hc-status-dot {
    width: 9px;
    height: 9px;
    border-radius: 999px;
    background: #20a36f;
    box-shadow: 0 0 0 5px rgba(32, 163, 111, 0.12);
}

.hc-status-banner button,
.hc-quick-actions button {
    min-height: 42px;
    padding: 9px 14px;
    border: 1px solid var(--hc-line);
    border-radius: 11px;
    background: #fff;
    color: var(--hc-ink);
    font-weight: 750;
}

.hc-button {
    min-height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 9px 15px;
    border: 1px solid var(--hc-line);
    border-radius: 11px;
    background: #fff;
    color: var(--hc-ink);
    font-weight: 750;
    text-decoration: none;
}

.hc-button-primary {
    border-color: var(--hc-brand);
    background: var(--hc-brand);
    color: #fff;
}

.hc-button-primary:hover { background: var(--hc-brand-dark); color: #fff; }

.hc-page-heading { margin-bottom: 20px; }
.hc-page-heading h2 { margin: 0; font-size: clamp(25px, 3vw, 34px); }
.hc-page-heading p:last-child, .hc-panel-heading p, .hc-muted { color: var(--hc-muted); }
.hc-editor { display: grid; gap: 18px; }
.hc-alert { margin-bottom: 18px; padding: 13px 16px; border-radius: 12px; font-weight: 700; }
.hc-alert-success { border: 1px solid #b9e1cf; background: #e9f7f1; color: #116044; }
.hc-alert-error { border: 1px solid #efc4c4; background: #fff2f2; color: #8d2424; }
.hc-language-tabs { margin-bottom: 18px; }
.hc-language-panel { display: none; }
.hc-language-panel.is-active { display: block; }
.hc-field-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
.hc-field { display: grid; align-content: start; gap: 7px; color: var(--hc-ink); font-weight: 700; }
.hc-field-wide { grid-column: 1 / -1; }
.hc-field input, .hc-field textarea, .hc-field select {
    width: 100%; min-height: 45px; padding: 10px 12px; border: 1px solid var(--hc-line); border-radius: 10px;
    background: #fff; color: var(--hc-ink); font: inherit; font-weight: 400;
}
.hc-field textarea { resize: vertical; line-height: 1.6; }
.hc-field input:focus, .hc-field textarea:focus, .hc-field select:focus { border-color: var(--hc-brand); box-shadow: 0 0 0 3px rgba(23,107,82,.1); outline: 0; }
.hc-form-actions { display: flex; justify-content: flex-end; }
.hc-form-actions .hc-button { min-width: 170px; }
.hc-rooms-layout { display: grid; grid-template-columns: minmax(260px,.7fr) minmax(0,1.3fr); gap: 18px; align-items: start; }
.hc-room-list { display: grid; gap: 10px; }
.hc-room-list article { display: flex; justify-content: space-between; gap: 12px; padding: 14px; border: 1px solid var(--hc-line); border-radius: 12px; }
.hc-room-list article > div { display: grid; gap: 4px; }
.hc-room-list small { color: var(--hc-muted); }
.hc-room-list a { color: var(--hc-brand); font-weight: 750; }
.hc-room-fields { margin-top: 18px; }
.hc-checkbox { grid-template-columns: auto 1fr; align-items: center; align-self: end; min-height: 45px; }
.hc-checkbox input { width: 20px; min-height: 20px; }
.hc-table-wrap { width: 100%; overflow-x: auto; }
.hc-table { width: 100%; border-collapse: collapse; white-space: nowrap; }
.hc-table th, .hc-table td { padding: 11px 10px; border-bottom: 1px solid var(--hc-line); text-align: start; }
.hc-table th { color: var(--hc-muted); font-size: 12px; }
.hc-badge { display: inline-flex; padding: 4px 9px; border-radius: 999px; font-size: 12px; font-weight: 800; }
.hc-badge.is-open { background: #e2f5eb; color: #116044; }
.hc-badge.is-closed { background: #fff0ed; color: #9a3528; }
.hc-rates-layout { grid-template-columns: minmax(300px,.75fr) minmax(0,1.25fr); align-items: start; }
.hc-module-section { margin-top: 28px; }
.hc-section-title { display: flex; align-items: center; justify-content: space-between; margin-bottom: 12px; }
.hc-section-title h2 { margin: 0; color: var(--hc-ink); font-size: 23px; }
.hc-split-layout { display: grid; grid-template-columns: minmax(280px,.75fr) minmax(0,1.25fr); gap: 18px; align-items: start; }
.hc-entity-list { display: grid; gap: 10px; }
.hc-entity-list article { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 14px; border: 1px solid var(--hc-line); border-radius: 12px; }
.hc-entity-list article > div { display: grid; gap: 4px; min-width: 0; }
.hc-entity-list strong { overflow-wrap: anywhere; }
.hc-entity-list small { color: var(--hc-muted); }
.hc-entity-actions { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; justify-content: flex-end; }
.hc-entity-actions form { margin: 0; }
.hc-link-button { padding: 0; border: 0; background: none; color: var(--hc-brand); font: inherit; cursor: pointer; text-decoration: underline; }
.hc-link-button:hover { color: var(--hc-brand-dark); }
.hc-filter-bar { display: flex; flex-wrap: wrap; gap: 12px; align-items: flex-end; margin-bottom: 18px; padding: 16px; border: 1px solid var(--hc-line); border-radius: var(--hc-radius); background: var(--hc-surface); }
.hc-filter-bar .hc-field { min-width: 180px; margin: 0; }
.hc-filter-actions { display: flex; gap: 8px; align-items: center; }
.hc-pagination { display: flex; gap: 12px; align-items: center; justify-content: center; margin-top: 18px; color: var(--hc-muted); }
.hc-permission-groups { display: grid; gap: 8px; margin: 0 0 18px; padding: 14px; border: 1px solid var(--hc-line); border-radius: 12px; }
.hc-permission-groups legend { padding: 0 6px; color: var(--hc-muted); font-size: 13px; }
.hc-permission-groups .hc-field { margin: 0; }
.hc-public-shell { width: min(1180px,calc(100% - 32px)); min-height: 100vh; margin: 0 auto; padding: 24px 0 60px; }
.hc-public-header { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-bottom: 28px; }
.hc-public-hero { margin-bottom: 28px; padding: clamp(24px,5vw,48px); border-radius: 26px; background: #102e25; color: #fff; }
.hc-public-hero h1 { margin: 0 0 24px; color: #fff; font-size: clamp(28px,5vw,48px); }
.hc-search-form { display: grid; grid-template-columns: 1fr 1.4fr repeat(3,1fr) auto; gap: 12px; align-items: end; }
.hc-search-form .hc-field { color: #fff; }
.hc-search-form .hc-button { min-height: 45px; }
.hc-search-results { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }
.hc-result-card { display: grid; gap: 18px; }
.hc-result-card h3 { margin: 0; font-size: 24px; }
.hc-result-card form { display: grid; gap: 14px; }
.hc-result-price { display: block; color: var(--hc-brand); font-size: 22px; }
.hc-addon-options { display: grid; gap: 8px; margin: 0; padding: 12px; border: 1px solid var(--hc-line); border-radius: 12px; }
.hc-addon-options label { display: flex; align-items: center; gap: 8px; color: var(--hc-muted); }
.hc-checkout-grid { display: grid; grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr); gap: 18px; align-items: start; max-width: 920px; margin: 60px auto; }
.hc-public-confirmation { max-width: 680px; margin: 80px auto; text-align: center; }
.hc-finance-metrics { grid-template-columns: repeat(3,minmax(0,1fr)); }

.hc-status-banner button:disabled,
.hc-quick-actions button:disabled {
    cursor: not-allowed;
    opacity: .7;
}

.hc-metric-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
    margin-bottom: 18px;
}

.hc-metric-grid article,
.hc-panel,
.hc-empty-state {
    border: 1px solid var(--hc-line);
    border-radius: var(--hc-radius);
    background: var(--hc-surface);
    box-shadow: 0 8px 26px rgba(20, 63, 50, 0.04);
}

.hc-metric-grid article {
    display: grid;
    gap: 7px;
    padding: 20px;
}

.hc-metric-grid span,
.hc-metric-grid small,
.hc-quick-actions p,
.hc-checklist small {
    color: var(--hc-muted);
}

.hc-metric-grid strong {
    font-size: 28px;
}

.hc-content-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.5fr) minmax(280px, .7fr);
    gap: 18px;
}

.hc-panel {
    padding: 22px;
}

.hc-panel-heading {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 20px;
}

.hc-panel-heading > span {
    align-self: center;
    padding: 5px 9px;
    border-radius: 999px;
    background: #eef4f1;
    color: var(--hc-brand);
    font-weight: 800;
}

.hc-checklist {
    display: grid;
    gap: 16px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.hc-checklist li {
    display: flex;
    align-items: flex-start;
    gap: 12px;
}

.hc-checklist li > span {
    flex: 0 0 34px;
    display: grid;
    height: 34px;
    place-items: center;
    border-radius: 11px;
    background: #edf1ef;
    color: var(--hc-muted);
    font-weight: 800;
}

.hc-checklist li.is-complete > span {
    background: #dff2e9;
    color: var(--hc-brand);
}

.hc-checklist li > div {
    display: grid;
    gap: 3px;
}

.hc-quick-actions {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.hc-quick-actions .hc-panel-heading {
    margin-bottom: 7px;
}

.hc-quick-actions button {
    display: flex;
    align-items: center;
    gap: 9px;
    text-align: right;
}

.hc-quick-actions button span {
    color: var(--hc-brand);
    font-size: 19px;
}

.hc-empty-state {
    max-width: 660px;
    margin: 80px auto;
    padding: 54px 36px;
    text-align: center;
}

.hc-empty-icon {
    display: grid;
    width: 62px;
    height: 62px;
    margin: 0 auto 18px;
    place-items: center;
    border-radius: 20px;
    background: #eaf5f1;
    color: var(--hc-brand);
    font-size: 28px;
}

.hc-inline-actions {
    display: flex;
    align-items: center;
    gap: 12px;
}

.hc-inline-form {
    display: inline;
    margin: 0;
}

.hc-link-button {
    padding: 0;
    border: 0;
    background: transparent;
    color: #a43a3a;
    font: inherit;
    font-weight: 700;
    cursor: pointer;
}

.hc-media-fields {
    display: grid;
    gap: 16px;
    margin-top: 20px;
    padding-top: 20px;
    border-top: 1px solid var(--hc-border);
}

.hc-current-image img {
    width: min(100%, 320px);
    max-height: 200px;
    border-radius: 14px;
    object-fit: cover;
}

.hc-gallery-editor {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(100px, 1fr));
    gap: 10px;
}

.hc-gallery-editor label { display: grid; gap: 6px; font-size: 12px; }
.hc-gallery-editor img { width: 100%; height: 82px; border-radius: 10px; object-fit: cover; }
.hc-amenity-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
.hc-result-image { width: 100%; height: 210px; border-radius: 14px; object-fit: cover; }
.hc-pagination { display: flex; align-items: center; justify-content: center; gap: 14px; margin-top: 24px; }

.hc-detail-breadcrumb { margin: 10px 0 22px; }
.hc-detail-breadcrumb a { color: var(--hc-brand); font-weight: 800; text-decoration: none; }
.hc-detail-hero { padding: 34px; border-radius: 24px; background: linear-gradient(135deg,#e9f5f0,#fff8e9); }
.hc-detail-hero h1 { margin: 0 0 10px; color: var(--hc-ink); font-size: clamp(32px,5vw,58px); }
.hc-detail-lead, .hc-richtext { color: var(--hc-muted); line-height: 1.85; }
.hc-detail-gallery { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; margin: 20px 0; }
.hc-detail-gallery img { width: 100%; height: 190px; border-radius: 15px; object-fit: cover; }
.hc-detail-gallery img:first-child { grid-column: span 2; grid-row: span 2; height: 390px; }
.hc-detail-layout { display: grid; grid-template-columns: minmax(0,1.65fr) minmax(300px,.75fr); align-items: start; gap: 22px; margin-top: 24px; }
.hc-detail-content { display: grid; gap: 18px; }
.hc-detail-booking { position: sticky; top: 24px; display: grid; gap: 18px; }
.hc-detail-booking form { display: grid; gap: 13px; }
.hc-spec-list, .hc-amenity-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px 22px; margin: 16px 0 0; padding: 0; list-style: none; }
.hc-spec-list li, .hc-amenity-list li { padding: 10px 12px; border-radius: 10px; background: var(--hc-bg); }
.hc-result-actions { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; }
.hc-embedded-search, .hc-embedded-results, .hc-embedded-detail { box-sizing: border-box; color: var(--hc-ink); font-family: -apple-system,BlinkMacSystemFont,"Segoe UI",Tahoma,Arial,sans-serif; }
.hc-embedded-search *, .hc-embedded-results *, .hc-embedded-detail * { box-sizing: border-box; }
.hc-embedded-search, .hc-embedded-results { padding: 22px; border: 1px solid var(--hc-line); border-radius: var(--hc-radius); background: var(--hc-surface); }
.hc-embedded-search h2, .hc-embedded-results h2, .hc-embedded-detail h2 { margin-top: 0; color: var(--hc-ink); }
.hc-embedded-detail { display: grid; gap: 14px; max-width: 760px; }
.hc-cancellation-box { margin-top: 22px; padding-top: 20px; border-top: 1px solid var(--hc-line); text-align: initial; }
.hc-cancellation-box form { display: grid; gap: 12px; }
.hc-cancellation-box textarea { width: 100%; }
.hc-badge-warning { background: #fff4d8; color: #8a5a00; }
.hc-stat-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin-bottom:18px; }
.hc-stat { display:grid; gap:8px; padding:20px; border:1px solid var(--hc-line); border-radius:var(--hc-radius); background:var(--hc-surface); }
.hc-stat strong { color:var(--hc-ink); font-size:28px; }
.hc-card-list { display:grid; gap:12px; }
.hc-list-card { display:flex; justify-content:space-between; gap:20px; padding:16px; border:1px solid var(--hc-line); border-radius:14px; }
.hc-list-card p { white-space:normal; }
.hc-list-card > div:last-child { display:grid; align-content:start; gap:8px; text-align:end; }
.hc-review { padding:18px 0; border-top:1px solid var(--hc-line); }
.hc-review:first-of-type { border-top:0; }
.hc-review details { margin-top:12px; }
.hc-review details form { display:grid; gap:10px; margin-top:10px; }

@media print {
    .hc-public-header, .hc-no-print, .hc-button { display: none !important; }
    .hc-public-shell { max-width: none; margin: 0; padding: 0; }
    .hc-public-confirmation { box-shadow: none; border: 1px solid #ddd; }
}

@media (max-width: 1050px) {
    .hc-metric-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 820px) {
    .hc-stat-grid { grid-template-columns:1fr; }
    .hc-list-card { display:grid; }
    .hc-app {
        display: block;
    }

    .hc-sidebar {
        position: fixed;
        z-index: 9999;
        inset: 0 0 0 auto;
        width: min(86vw, 300px);
        transform: translateX(110%);
        transition: transform .2s ease;
        box-shadow: -18px 0 45px rgba(0, 0, 0, .18);
    }

    .hc-app.is-menu-open .hc-sidebar {
        transform: translateX(0);
    }

    .hc-main {
        padding: 22px 18px 36px;
    }

    .hc-menu-button {
        display: inline-grid;
        place-items: center;
    }

    .hc-content-grid {
        grid-template-columns: 1fr;
    }

    .hc-rooms-layout, .hc-split-layout { grid-template-columns: 1fr; }
    .hc-search-form { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .hc-search-results, .hc-checkout-grid, .hc-detail-layout { grid-template-columns: 1fr; }
    .hc-detail-booking { position: static; }
    .hc-detail-gallery { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .hc-detail-gallery img, .hc-detail-gallery img:first-child { grid-column: auto; grid-row: auto; height: 190px; }

    [data-direction="ltr"] .hc-sidebar { inset: 0 auto 0 0; transform: translateX(-110%); }
}

@media (max-width: 580px) {
    .hc-auth-card {
        padding: 28px 22px;
    }

    .hc-topbar {
        align-items: flex-start;
    }

    .hc-user-chip span {
        display: none;
    }

    .hc-topbar-actions { align-items: flex-end; flex-direction: column-reverse; }
    .hc-language-switcher a { padding: 6px 8px; }
    .hc-field-grid { grid-template-columns: 1fr; }
    .hc-field-wide { grid-column: auto; }
    .hc-public-header { align-items: flex-start; }
    .hc-search-form { grid-template-columns: 1fr; }
    .hc-spec-list, .hc-amenity-list { grid-template-columns: 1fr; }

    .hc-status-banner,
    .hc-status-banner > div {
        align-items: flex-start;
        flex-direction: column;
    }

    .hc-metric-grid {
        grid-template-columns: 1fr;
    }
}

/* 0.18 dashboard shell: calm workspace, clear hierarchy, mobile-first navigation. */
:root {
    --hc-bg: #f5f7f4;
    --hc-surface: #fff;
    --hc-ink: #102d25;
    --hc-muted: #667a73;
    --hc-line: #dfe7e3;
    --hc-border: #dfe7e3;
    --hc-brand: #0f7658;
    --hc-brand-dark: #09543f;
    --hc-accent: #d9ad53;
    --hc-radius: 16px;
    --hc-shadow: 0 16px 42px rgba(16,45,37,.07);
}

.hc-skip-link { position:fixed; z-index:10050; inset-block-start:10px; inset-inline-start:10px; padding:10px 14px; border-radius:10px; background:#fff; color:var(--hc-brand-dark); transform:translateY(-150%); }
.hc-skip-link:focus { transform:translateY(0); }
.hc-app { grid-template-columns:264px minmax(0,1fr); background:var(--hc-bg); }
.hc-sidebar { padding:20px 14px; background:linear-gradient(180deg,#12382d 0%,#0c2b23 100%); scrollbar-width:thin; }
.hc-sidebar-head { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:0 6px; }
.hc-brand-sidebar { min-width:0; padding:0; }
.hc-brand-sidebar > span:last-child { display:grid; min-width:0; }
.hc-brand-sidebar strong { font-size:18px; }
.hc-brand-sidebar small { color:rgba(255,255,255,.58); font-size:11px; font-weight:600; }
.hc-brand-sidebar .hc-brand-mark { width:40px; height:40px; border-radius:13px; background:#168363; box-shadow:none; }
.hc-sidebar-close { display:none; width:40px; height:40px; place-items:center; padding:9px; border:0; border-radius:11px; background:rgba(255,255,255,.08); color:#fff; }
.hc-sidebar-close svg,.hc-menu-button svg,.hc-nav-icon svg,.hc-mobile-nav svg { width:22px; height:22px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.hc-organization-switcher { margin:24px 0 20px; padding:13px 14px; border-color:rgba(255,255,255,.1); background:rgba(255,255,255,.055); }
.hc-organization-switcher strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:14px; }
.hc-nav-heading { margin:3px 12px 8px; color:rgba(255,255,255,.42); font-size:10px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.hc-nav { gap:3px; }
.hc-nav a,.hc-logout { min-height:44px; gap:12px; padding:10px 12px; border:1px solid transparent; border-radius:12px; color:rgba(255,255,255,.7); font-size:14px; transition:background .15s ease,color .15s ease,border-color .15s ease; }
.hc-nav a:hover { background:rgba(255,255,255,.07); color:#fff; }
.hc-nav a.is-active { border-color:rgba(255,255,255,.1); background:rgba(255,255,255,.115); color:#fff; box-shadow:inset 3px 0 0 var(--hc-accent); }
[dir="rtl"] .hc-nav a.is-active { box-shadow:inset -3px 0 0 var(--hc-accent); }
.hc-nav a span { width:auto; font-size:inherit; }
.hc-nav-icon { display:grid; flex:0 0 22px; place-items:center; color:#e5bc67; }
.hc-nav-label { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.hc-logout { margin-top:22px; padding-top:14px; border-top-color:rgba(255,255,255,.1); color:rgba(255,255,255,.65); }
.hc-main { width:100%; max-width:1560px; margin:0 auto; padding:0 clamp(24px,3vw,46px) 52px; }
.hc-topbar { position:sticky; z-index:50; top:0; min-height:92px; margin:0 calc(clamp(24px,3vw,46px) * -1) 30px; padding:17px clamp(24px,3vw,46px); border-bottom:1px solid rgba(217,227,222,.85); background:rgba(245,247,244,.9); backdrop-filter:blur(14px); }
.hc-topbar-title { display:flex; align-items:center; gap:13px; min-width:0; }
.hc-topbar-title > div { min-width:0; }
.hc-topbar h1 { overflow:hidden; margin:0; text-overflow:ellipsis; white-space:nowrap; font-size:clamp(24px,2.6vw,32px); letter-spacing:-.025em; }
[dir="rtl"] .hc-topbar h1 { letter-spacing:0; }
.hc-topbar .hc-eyebrow { margin-bottom:2px; color:var(--hc-muted); font-size:11px; text-transform:none; }
.hc-topbar-actions { flex:0 0 auto; }
.hc-language-switcher { border-color:#d9e3de; border-radius:999px; box-shadow:0 4px 14px rgba(16,45,37,.035); }
.hc-language-switcher a { min-width:44px; text-align:center; border-radius:999px; }
.hc-user-chip { min-height:50px; padding:5px 9px; border-color:#d9e3de; border-radius:15px; box-shadow:0 4px 14px rgba(16,45,37,.035); }
.hc-user-chip img { width:38px; height:38px; border-radius:11px; }
.hc-page-heading { display:flex; align-items:end; justify-content:space-between; gap:20px; margin-bottom:22px; }
.hc-page-heading h2 { font-size:clamp(25px,3vw,36px); letter-spacing:-.025em; }
[dir="rtl"] .hc-page-heading h2 { letter-spacing:0; }
.hc-page-heading p:last-child { max-width:720px; margin-bottom:0; line-height:1.7; }
.hc-panel,.hc-metric-grid article,.hc-empty-state { border-color:#e0e7e3; box-shadow:0 9px 28px rgba(16,45,37,.045); }
.hc-panel { padding:clamp(18px,2.2vw,28px); }
.hc-metric-grid { gap:14px; }
.hc-metric-grid article { position:relative; min-height:148px; padding:22px; overflow:hidden; }
.hc-metric-grid article::after { content:""; position:absolute; inset-block-end:-24px; inset-inline-end:-20px; width:80px; height:80px; border-radius:50%; background:rgba(15,118,88,.055); }
.hc-metric-grid strong { color:var(--hc-ink); font-size:30px; }
.hc-button,.hc-status-banner button,.hc-quick-actions button { border-color:#d7e2dd; transition:transform .12s ease,box-shadow .12s ease,background .12s ease; }
.hc-button:hover,.hc-status-banner button:hover,.hc-quick-actions button:hover { transform:translateY(-1px); box-shadow:0 7px 16px rgba(16,45,37,.08); }
.hc-button-primary { border-color:var(--hc-brand); box-shadow:0 8px 18px rgba(15,118,88,.16); }
.hc-field input,.hc-field textarea,.hc-field select { min-height:47px; border-color:#d8e2dd; border-radius:12px; }
.hc-field input:focus,.hc-field textarea:focus,.hc-field select:focus { box-shadow:0 0 0 4px rgba(15,118,88,.1); }
.hc-alert { border-radius:13px; }
.hc-sidebar-overlay,.hc-mobile-nav { display:none; }
.hc-partner-app-page :focus-visible { outline:3px solid rgba(217,173,83,.8); outline-offset:3px; }

@media (max-width: 920px) {
    body.hc-menu-open { overflow:hidden; }
    .hc-app { display:block; }
    .hc-sidebar { position:fixed; z-index:10002; inset-block:0; inset-inline-start:0; width:min(88vw,310px); height:100dvh; padding:18px 14px 28px; transform:translateX(110%); visibility:hidden; transition:transform .22s ease,visibility .22s; box-shadow:0 0 55px rgba(0,0,0,.3); }
    [data-direction="ltr"] .hc-sidebar { inset:0 auto 0 0; transform:translateX(-110%); }
    .hc-app.is-menu-open .hc-sidebar { transform:translateX(0); visibility:visible; }
    .hc-sidebar-close { display:grid; }
    .hc-sidebar-overlay { position:fixed; z-index:10001; inset:0; width:100%; height:100%; border:0; background:rgba(8,30,24,.5); opacity:0; visibility:hidden; transition:opacity .2s ease,visibility .2s; }
    .hc-app.is-menu-open .hc-sidebar-overlay { display:block; opacity:1; visibility:visible; }
    .hc-main { max-width:none; padding:0 18px 108px; }
    .hc-topbar { min-height:76px; margin:0 -18px 24px; padding:12px 18px; }
    .hc-menu-button { display:grid; flex:0 0 44px; place-items:center; padding:10px; }
    .hc-user-chip { display:none; }
    .hc-topbar h1 { font-size:24px; }
    .hc-mobile-nav { position:fixed; z-index:1000; inset-inline:12px; inset-block-end:max(10px,env(safe-area-inset-bottom)); display:grid; grid-auto-flow:column; grid-auto-columns:1fr; min-height:66px; padding:6px; border:1px solid rgba(215,226,221,.95); border-radius:20px; background:rgba(255,255,255,.96); box-shadow:0 16px 45px rgba(12,43,35,.2); backdrop-filter:blur(16px); }
    .hc-mobile-nav a,.hc-mobile-nav button { display:grid; min-width:0; place-items:center; align-content:center; gap:3px; padding:5px 3px; border:0; border-radius:14px; background:transparent; color:var(--hc-muted); text-decoration:none; }
    .hc-mobile-nav span { display:grid; place-items:center; }
    .hc-mobile-nav svg { width:21px; height:21px; }
    .hc-mobile-nav small { width:100%; overflow:hidden; text-align:center; text-overflow:ellipsis; white-space:nowrap; font-size:10px; font-weight:750; }
    .hc-mobile-nav .is-active { background:#eaf5f1; color:var(--hc-brand-dark); }
    .hc-page-heading { display:block; }
    .hc-metric-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .hc-metric-grid article { min-height:130px; }
}

@media (max-width: 560px) {
    .hc-main { padding-inline:12px; }
    .hc-topbar { margin-inline:-12px; padding-inline:12px; }
    .hc-topbar-actions { flex-direction:row; align-items:center; }
    .hc-language-switcher a { min-width:36px; padding:6px 7px; font-size:11px; }
    .hc-topbar .hc-eyebrow { max-width:42vw; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
    .hc-topbar h1 { max-width:48vw; font-size:21px; }
    .hc-panel { padding:18px 15px; border-radius:15px; }
    .hc-metric-grid { grid-template-columns:1fr 1fr; gap:10px; }
    .hc-metric-grid article { min-height:118px; padding:16px; }
    .hc-metric-grid strong { font-size:25px; }
    .hc-content-grid { gap:12px; }
    .hc-status-banner { padding:15px; }
}

@media (prefers-reduced-motion: reduce) {
    .hc-partner-app-page * { scroll-behavior:auto !important; transition:none !important; }
}

/* 0.19 rates workspace: range editor plus readable inventory schedule. */
.hc-rate-summary { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin-bottom:18px; }
.hc-rate-summary article { display:grid; gap:8px; min-height:105px; padding:18px 20px; border:1px solid var(--hc-line); border-radius:15px; background:var(--hc-surface); box-shadow:0 8px 22px rgba(16,45,37,.035); }
.hc-rate-summary span { color:var(--hc-muted); font-size:12px; font-weight:750; }
.hc-rate-summary strong { align-self:end; color:var(--hc-ink); font-size:24px; }
.hc-rates-workspace { display:grid; grid-template-columns:minmax(320px,390px) minmax(0,1fr); align-items:start; gap:18px; }
[dir="rtl"] .hc-rates-workspace { grid-template-columns:minmax(0,1fr) minmax(320px,390px); }
[dir="rtl"] .hc-rate-editor { grid-column:2; }
[dir="rtl"] .hc-inventory-panel { grid-column:1; grid-row:1; }
.hc-rate-editor { position:sticky; top:110px; }
.hc-panel-heading > div { min-width:0; }
.hc-panel-heading p { margin:6px 0 0; color:var(--hc-muted); font-size:13px; line-height:1.6; }
.hc-quick-ranges { display:grid; gap:8px; margin:20px 0; }
.hc-quick-ranges > span { color:var(--hc-muted); font-size:11px; font-weight:800; }
.hc-quick-ranges > div { display:grid; grid-template-columns:repeat(3,1fr); gap:7px; }
.hc-quick-ranges button { min-height:38px; padding:7px; border:1px solid #d8e3de; border-radius:10px; background:#f8faf9; color:var(--hc-brand-dark); font:inherit; font-size:12px; font-weight:800; cursor:pointer; }
.hc-quick-ranges button:hover { border-color:#9ecbbb; background:#edf7f3; }
.hc-field-with-suffix { display:flex; align-items:stretch; }
.hc-field-with-suffix input { min-width:0; border-start-end-radius:0; border-end-end-radius:0; }
.hc-field-with-suffix b { display:grid; min-width:58px; place-items:center; padding:0 10px; border:1px solid #d8e2dd; border-inline-start:0; border-start-end-radius:12px; border-end-end-radius:12px; background:#f4f7f5; color:var(--hc-muted); font-size:12px; }
[dir="rtl"] .hc-field-with-suffix input { border-radius:0 12px 12px 0; }
[dir="rtl"] .hc-field-with-suffix b { border-width:1px 0 1px 1px; border-radius:12px 0 0 12px; }
.hc-sale-toggle { display:flex; align-items:center; justify-content:space-between; gap:18px; margin-top:18px; padding:14px; border:1px solid #e0e7e3; border-radius:12px; background:#f8faf9; cursor:pointer; }
.hc-sale-toggle > span { display:grid; gap:4px; }
.hc-sale-toggle strong { color:var(--hc-ink); font-size:13px; }
.hc-sale-toggle small { color:var(--hc-muted); font-size:11px; line-height:1.55; }
.hc-sale-toggle input { width:20px; height:20px; accent-color:var(--hc-brand); }
.hc-range-summary { min-height:38px; margin-top:12px; padding:9px 12px; border-radius:10px; background:#eaf5f1; color:var(--hc-brand-dark); text-align:center; font-size:12px; font-weight:850; }
.hc-rate-editor .hc-form-actions { margin-top:12px; }
.hc-rate-editor .hc-form-actions .hc-button { width:100%; justify-content:center; }
.hc-inventory-panel { min-width:0; padding-inline:0; overflow:hidden; }
.hc-inventory-panel > .hc-panel-heading,.hc-inline-empty { padding-inline:clamp(18px,2.2vw,28px); }
.hc-inventory-panel .hc-table-wrap { max-height:660px; overflow:auto; border-top:1px solid var(--hc-line); }
.hc-inventory-table { min-width:720px; }
.hc-inventory-table thead { position:sticky; z-index:2; top:0; background:#f5f8f6; }
.hc-inventory-table th { padding-block:13px; color:var(--hc-muted); font-size:11px; }
.hc-inventory-table td { padding-block:15px; vertical-align:middle; }
.hc-inventory-table time { font-weight:750; white-space:nowrap; }
.hc-inventory-table td > small { color:var(--hc-muted); }
.hc-calendar-workspace { grid-template-columns:minmax(300px,350px) minmax(0,1fr); }
[dir="rtl"] .hc-calendar-workspace { grid-template-columns:minmax(0,1fr) minmax(300px,350px); }
.hc-visual-calendar > .hc-panel-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:18px; }
.hc-calendar-room-filter { min-width:210px; }
.hc-calendar-room-filter label { display:grid; gap:7px; color:var(--hc-muted); font-size:11px; font-weight:800; }
.hc-calendar-room-filter select { min-height:43px; padding:0 12px; border:1px solid var(--hc-line); border-radius:11px; background:#fff; color:var(--hc-ink); }
.hc-calendar-weekdays,.hc-calendar-grid { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:8px; padding-inline:clamp(18px,2.2vw,28px); }
.hc-calendar-weekdays { margin-top:20px; padding-block:10px; border-block:1px solid var(--hc-line); color:var(--hc-muted); font-size:11px; font-weight:850; text-align:center; }
.hc-calendar-grid { padding-block:16px 24px; }
.hc-calendar-day { min-height:118px; display:flex; flex-direction:column; justify-content:space-between; gap:8px; padding:11px; border:1px solid var(--hc-line); border-radius:14px; background:#fff; color:var(--hc-ink); text-align:start; cursor:pointer; transition:.18s ease; }
.hc-calendar-day:hover,.hc-calendar-day:focus-visible { transform:translateY(-2px); border-color:#d4a94d; box-shadow:0 10px 22px rgba(16,45,37,.1); }
.hc-calendar-day.is-open { background:linear-gradient(180deg,#fff 0%,#f2fbf7 100%); border-color:#cfe9dd; }
.hc-calendar-day.is-closed { background:#fff6f3; border-color:#f0d5cc; }
.hc-calendar-day.is-unset { background:#f8faf9; color:var(--hc-muted); }
.hc-calendar-date { display:flex; align-items:baseline; justify-content:space-between; gap:6px; }
.hc-calendar-date b { font-size:19px; }
.hc-calendar-date small,.hc-calendar-day em { color:var(--hc-muted); font-size:10px; font-style:normal; }
.hc-calendar-day strong { font-size:13px; }
.hc-calendar-day strong small { font-size:9px; color:var(--hc-muted); }
.hc-stock-value { display:flex; justify-content:space-between; gap:12px; min-width:130px; font-size:12px; }
.hc-stock-value small { color:var(--hc-muted); }
.hc-stock-meter { display:block; width:100%; height:5px; margin-top:7px; overflow:hidden; border-radius:999px; background:#e7ece9; }
.hc-stock-meter i { display:block; height:100%; border-radius:inherit; background:var(--hc-brand); }

@media (max-width: 1100px) {
    .hc-rates-workspace,[dir="rtl"] .hc-rates-workspace { grid-template-columns:1fr; }
    [dir="rtl"] .hc-rate-editor,[dir="rtl"] .hc-inventory-panel { grid-column:auto; grid-row:auto; }
    .hc-rate-editor { position:static; }
}
@media(max-width:700px){
    .hc-visual-calendar > .hc-panel-heading { align-items:stretch; flex-direction:column; }
    .hc-calendar-room-filter { min-width:0; }
    .hc-calendar-weekdays,.hc-calendar-grid { gap:4px; padding-inline:4px; }
    .hc-calendar-day { min-height:88px; padding:7px 5px; border-radius:10px; }
    .hc-calendar-date b { font-size:15px; }
    .hc-calendar-date small { display:none; }
    .hc-calendar-day strong { font-size:10px; }
    .hc-calendar-day em { max-width:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
}

@media (max-width: 700px) {
    .hc-rate-summary { grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
    .hc-rate-summary article { min-height:92px; padding:14px; }
    .hc-rate-summary strong { font-size:20px; }
    .hc-inventory-panel { padding:16px 12px; overflow:visible; }
    .hc-inventory-panel > .hc-panel-heading,.hc-inline-empty { padding-inline:3px; }
    .hc-inventory-panel .hc-table-wrap { max-height:none; overflow:visible; border:0; }
    .hc-inventory-table { min-width:0; }
    .hc-inventory-table thead { display:none; }
    .hc-inventory-table tbody { display:grid; gap:10px; }
    .hc-inventory-table tr { display:grid; grid-template-columns:1fr 1fr; gap:12px 16px; padding:15px; border:1px solid var(--hc-line); border-radius:13px; background:#fff; }
    .hc-inventory-table td { display:grid; gap:5px; padding:0; border:0; text-align:start; white-space:normal; }
    .hc-inventory-table td::before { content:attr(data-label); color:var(--hc-muted); font-size:10px; font-weight:800; }
    .hc-inventory-table td:first-child { grid-column:1/-1; padding-bottom:10px; border-bottom:1px solid #edf1ef; }
    .hc-inventory-table td:last-child { align-content:start; justify-items:start; }
    .hc-stock-value { min-width:0; }
}

/* 0.20 booking workspace: scannable cards, focused filters, safe detail view. */
.hc-booking-metrics { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-bottom:16px; }
.hc-booking-metrics article { display:flex; align-items:center; justify-content:space-between; gap:20px; min-height:86px; padding:17px 20px; border:1px solid var(--hc-line); border-radius:15px; background:#fff; box-shadow:0 8px 22px rgba(16,45,37,.035); }
.hc-booking-metrics span { color:var(--hc-muted); font-size:12px; font-weight:750; }
.hc-booking-metrics strong { color:var(--hc-ink); font-size:26px; }
.hc-booking-metrics .is-attention strong { color:#a96816; }
.hc-booking-status-tabs { display:flex; gap:7px; margin-bottom:16px; padding-bottom:3px; overflow-x:auto; scrollbar-width:thin; }
.hc-booking-status-tabs a { display:flex; flex:0 0 auto; align-items:center; gap:8px; min-height:39px; padding:8px 12px; border:1px solid var(--hc-line); border-radius:999px; background:#fff; color:var(--hc-muted); text-decoration:none; font-size:12px; font-weight:800; }
.hc-booking-status-tabs a:hover,.hc-booking-status-tabs a.is-active { border-color:#a6cfc0; background:#eaf5f1; color:var(--hc-brand-dark); }
.hc-booking-status-tabs b { display:grid; min-width:22px; height:22px; place-items:center; padding:0 5px; border-radius:999px; background:rgba(16,45,37,.07); font-size:10px; }
.hc-booking-filters { margin-bottom:22px; padding:20px; }
.hc-booking-filter-grid { display:grid; grid-template-columns:minmax(220px,1.5fr) repeat(4,minmax(135px,.75fr)); gap:11px; }
.hc-booking-filters .hc-field { margin:0; }
.hc-booking-filters .hc-filter-actions { justify-content:flex-end; margin-top:14px; }
.hc-booking-results-head { display:flex; align-items:center; justify-content:space-between; gap:18px; margin-bottom:12px; }
.hc-booking-results-head h2 { margin:0; color:var(--hc-ink); font-size:20px; }
.hc-booking-results-head span { color:var(--hc-muted); font-size:12px; font-weight:750; }
.hc-booking-list { display:grid; gap:11px; }
.hc-booking-card { overflow:hidden; border:1px solid var(--hc-line); border-radius:16px; background:#fff; box-shadow:0 8px 25px rgba(16,45,37,.035); transition:border-color .15s ease,box-shadow .15s ease; }
.hc-booking-card:hover { border-color:#bed7ce; box-shadow:0 13px 30px rgba(16,45,37,.065); }
.hc-booking-card-head { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:15px 18px; border-bottom:1px solid #edf1ef; }
.hc-booking-card-head > div { display:flex; align-items:center; gap:9px; min-width:0; }
.hc-booking-card-head a { color:var(--hc-ink); text-decoration:none; font-size:15px; font-weight:900; }
.hc-service-pill { padding:4px 8px; border-radius:999px; background:#f1f5f3; color:var(--hc-muted); font-size:10px; font-weight:800; }
.hc-booking-status { display:inline-flex; flex:0 0 auto; align-items:center; gap:6px; padding:6px 10px; border-radius:999px; font-size:11px; font-weight:850; }
.hc-booking-status::before { content:""; width:7px; height:7px; border-radius:50%; background:currentColor; }
.hc-booking-status.is-confirmed { background:#e2f5eb; color:#116044; }
.hc-booking-status.is-pending { background:#fff7dc; color:#8b6810; }
.hc-booking-status.is-review { background:#fff0d8; color:#9a5c08; }
.hc-booking-status.is-refunded { background:#e9f0ff; color:#315c9b; }
.hc-booking-status.is-cancelled,.hc-booking-status.is-expired { background:#f8ecea; color:#91483f; }
.hc-booking-status.is-neutral { background:#eef2f0; color:#596b65; }
.hc-card-alert,.hc-booking-alert { padding:8px 18px; background:#fff6e7; color:#8b5b17; font-size:11px; font-weight:800; }
.hc-booking-card-body { display:grid; grid-template-columns:1.2fr 1.2fr .8fr; gap:22px; padding:17px 18px; }
.hc-booking-card-body > div { display:grid; align-content:start; gap:4px; min-width:0; }
.hc-booking-card-body span { color:var(--hc-muted); font-size:10px; font-weight:800; }
.hc-booking-card-body strong { overflow-wrap:anywhere; color:var(--hc-ink); font-size:13px; }
.hc-booking-card-body small { overflow:hidden; color:var(--hc-muted); text-overflow:ellipsis; font-size:11px; }
.hc-booking-card-foot { display:flex; justify-content:flex-end; padding:0 18px 15px; }
.hc-booking-card-foot .hc-button { min-height:36px; padding:7px 11px; font-size:11px; }
.hc-booking-empty { min-height:230px; place-content:center; text-align:center; }
.hc-back-link { display:inline-flex; align-items:center; margin:4px 0 18px; color:var(--hc-brand); text-decoration:none; font-size:13px; font-weight:850; }
.hc-booking-hero { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-bottom:16px; padding:25px 28px; border:1px solid #dbe7e2; border-radius:20px; background:linear-gradient(135deg,#eaf5f1,#fff); box-shadow:var(--hc-shadow); }
.hc-booking-hero h2 { display:inline-block; margin:2px 10px 4px 0; color:var(--hc-ink); font-size:clamp(26px,4vw,39px); }
[dir="rtl"] .hc-booking-hero h2 { margin:2px 0 4px 10px; }
.hc-booking-hero .hc-booking-status { vertical-align:middle; }
.hc-booking-total { display:grid; flex:0 0 auto; gap:4px; text-align:end; }
.hc-booking-total span { color:var(--hc-muted); font-size:11px; font-weight:800; }
.hc-booking-total strong { color:var(--hc-brand-dark); font-size:25px; }
.hc-booking-alert { margin:-3px 0 16px; border:1px solid #f0d7ad; border-radius:12px; }
.hc-booking-detail-grid { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(290px,.7fr); align-items:start; gap:16px; }
.hc-booking-detail-main,.hc-booking-detail-side { display:grid; gap:16px; }
.hc-booking-detail-side { position:sticky; top:110px; }
.hc-detail-section { padding:21px; }
.hc-detail-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0; margin:0; }
.hc-detail-list > div { padding:13px 0; border-bottom:1px solid #edf1ef; }
.hc-detail-list > div:nth-last-child(-n+2) { border-bottom:0; }
.hc-detail-list dt,.hc-payment-list dt { margin-bottom:5px; color:var(--hc-muted); font-size:10px; font-weight:800; }
.hc-detail-list dd,.hc-payment-list dd { margin:0; color:var(--hc-ink); font-size:13px; font-weight:800; }
.hc-booked-items { display:grid; gap:9px; }
.hc-booked-items article { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:13px; border:1px solid var(--hc-line); border-radius:12px; }
.hc-booked-items article > div { display:flex; align-items:center; gap:11px; min-width:0; }
.hc-booked-items article > span { flex:0 0 auto; color:var(--hc-ink); font-size:12px; font-weight:850; }
.hc-booked-items article div > div { display:grid; gap:3px; min-width:0; }
.hc-booked-items small { color:var(--hc-muted); font-size:10px; }
.hc-service-mark { display:grid; flex:0 0 38px; width:38px; height:38px; place-items:center; border-radius:11px; background:#eaf5f1; color:var(--hc-brand); }
.hc-customer-card { display:grid; gap:7px; }
.hc-customer-card strong { margin-bottom:4px; color:var(--hc-ink); font-size:17px; }
.hc-customer-card a { overflow-wrap:anywhere; color:var(--hc-brand); text-decoration:none; font-size:12px; }
.hc-payment-list { display:grid; gap:0; margin:0; }
.hc-payment-list > div { display:flex; align-items:center; justify-content:space-between; gap:15px; padding:10px 0; border-bottom:1px solid #edf1ef; }
.hc-payment-list dt { margin:0; }
.hc-payment-list .is-total { margin-top:3px; padding-top:14px; border-bottom:0; }
.hc-payment-list .is-total dt,.hc-payment-list .is-total dd { color:var(--hc-ink); font-size:15px; }
.hc-payment-dates { display:grid; gap:8px; margin-top:14px; padding-top:14px; border-top:1px solid var(--hc-line); }
.hc-payment-dates p { display:grid; gap:3px; margin:0; }
.hc-payment-dates span { color:var(--hc-muted); font-size:10px; font-weight:800; }
.hc-payment-dates strong { color:var(--hc-ink); font-size:11px; }

@media (max-width: 1100px) {
    .hc-booking-filter-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .hc-booking-filter-grid .hc-field:first-child { grid-column:1/-1; }
    .hc-booking-detail-grid { grid-template-columns:1fr; }
    .hc-booking-detail-side { position:static; grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (max-width: 700px) {
    .hc-booking-metrics { grid-template-columns:1fr; gap:8px; }
    .hc-booking-metrics article { min-height:66px; padding:13px 15px; }
    .hc-booking-metrics strong { font-size:22px; }
    .hc-booking-filter-grid { grid-template-columns:1fr; }
    .hc-booking-filter-grid .hc-field:first-child { grid-column:auto; }
    .hc-booking-filters .hc-filter-actions { display:grid; grid-template-columns:1fr 1fr; }
    .hc-booking-filters .hc-filter-actions .hc-button { justify-content:center; min-width:0; }
    .hc-booking-card-head { align-items:flex-start; padding:14px; }
    .hc-booking-card-head > div { align-items:flex-start; flex-direction:column; }
    .hc-booking-card-body { grid-template-columns:1fr; gap:13px; padding:14px; }
    .hc-booking-card-body > div { padding-bottom:12px; border-bottom:1px solid #edf1ef; }
    .hc-booking-card-body > div:last-child { padding-bottom:0; border-bottom:0; }
    .hc-booking-card-foot { padding:0 14px 14px; }
    .hc-booking-card-foot .hc-button { width:100%; justify-content:center; }
    .hc-booking-hero { align-items:flex-start; flex-direction:column; padding:20px; }
    .hc-booking-total { width:100%; padding-top:14px; border-top:1px solid #dbe7e2; text-align:start; }
    .hc-booking-detail-side { grid-template-columns:1fr; }
    .hc-detail-list { grid-template-columns:1fr; }
    .hc-detail-list > div:nth-last-child(2) { border-bottom:1px solid #edf1ef; }
}

/* 0.21 car-rental workspace and onboarding. */
.hc-car-summary { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:11px; margin-bottom:14px; }
.hc-car-summary article { display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:78px; padding:16px 18px; border:1px solid var(--hc-line); border-radius:14px; background:#fff; box-shadow:0 7px 20px rgba(16,45,37,.035); }
.hc-car-summary span { color:var(--hc-muted); font-size:12px; font-weight:750; }
.hc-car-summary strong { color:var(--hc-ink); font-size:25px; }
.hc-car-jump-nav { position:sticky; z-index:10; top:93px; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin-bottom:25px; padding:8px; border:1px solid var(--hc-line); border-radius:16px; background:rgba(255,255,255,.94); box-shadow:0 10px 28px rgba(16,45,37,.07); backdrop-filter:blur(12px); }
.hc-car-jump-nav a { display:flex; align-items:center; justify-content:center; gap:8px; min-height:44px; padding:8px 12px; border-radius:11px; color:var(--hc-muted); text-align:center; text-decoration:none; font-size:12px; font-weight:800; }
.hc-car-jump-nav a:hover,.hc-car-jump-nav a:focus-visible { background:#eaf5f1; color:var(--hc-brand-dark); }
.hc-car-jump-nav a > span { display:grid; flex:0 0 24px; width:24px; height:24px; place-items:center; border-radius:50%; background:#edf3f0; color:var(--hc-brand); font-size:10px; }
.hc-car-jump-nav small { color:#9a7425; font-size:9px; }
.hc-car-module { scroll-margin-top:165px; margin-top:0; margin-bottom:34px; }
.hc-car-module .hc-section-title > div { display:flex; align-items:flex-start; gap:12px; }
.hc-car-module .hc-section-title > div > span { display:grid; flex:0 0 34px; width:34px; height:34px; place-items:center; border-radius:11px; background:#eaf5f1; color:var(--hc-brand); font-size:12px; font-weight:900; }
.hc-car-module .hc-section-title h2 { font-size:21px; }
.hc-car-module .hc-section-title h2 small { display:inline-flex; margin-inline-start:6px; padding:3px 7px; border-radius:999px; background:#fff5dd; color:#8c6914; vertical-align:middle; font-size:9px; }
.hc-car-module .hc-section-title p { margin:4px 0 0; color:var(--hc-muted); font-size:12px; }
.hc-car-module .hc-split-layout { grid-template-columns:minmax(280px,.8fr) minmax(0,1.2fr); }
.hc-car-form { border-top:4px solid #d9ece5; }
.hc-car-form .hc-panel-heading > a { color:var(--hc-brand); font-size:12px; font-weight:800; }
.hc-entity-empty { display:grid; min-height:180px; place-items:center; place-content:center; gap:10px; padding:22px; text-align:center; }
.hc-entity-empty > span { display:grid; width:48px; height:48px; place-items:center; border-radius:15px; background:#edf6f2; color:var(--hc-brand); font-size:22px; }
.hc-entity-empty strong { max-width:330px; color:var(--hc-muted); font-size:12px; line-height:1.7; }
.hc-entity-empty a { color:var(--hc-brand); font-size:12px; font-weight:850; }
.hc-mini-status { justify-self:start; width:max-content; margin-top:3px; padding:3px 7px; border-radius:999px; font-size:9px; font-weight:850; }
.hc-mini-status.is-active { background:#e2f5eb; color:#116044; }
.hc-mini-status.is-draft { background:#f0f2f1; color:#687871; }
.hc-dependency-note { display:flex; align-items:center; gap:16px; min-height:180px; border-style:dashed; background:#fbfcfb; }
.hc-dependency-note > span { display:grid; flex:0 0 42px; width:42px; height:42px; place-items:center; border-radius:13px; background:#edf3f0; color:var(--hc-brand); font-weight:900; }
.hc-dependency-note > div { display:grid; gap:13px; }
.hc-dependency-note strong { color:var(--hc-muted); font-size:13px; line-height:1.6; }
.hc-dependency-note .hc-button { width:max-content; }
.hc-car-overview-metrics small { line-height:1.5; }

@media (max-width: 920px) {
    .hc-car-jump-nav { top:77px; }
    .hc-car-module { scroll-margin-top:150px; }
}

@media (max-width: 700px) {
    .hc-car-summary { grid-template-columns:repeat(3,minmax(0,1fr)); gap:7px; }
    .hc-car-summary article { display:grid; min-height:80px; align-content:space-between; padding:12px; }
    .hc-car-summary span { font-size:10px; }
    .hc-car-summary strong { font-size:21px; }
    .hc-car-jump-nav { gap:4px; padding:5px; border-radius:13px; }
    .hc-car-jump-nav a { display:grid; min-height:50px; gap:3px; padding:6px 3px; font-size:10px; }
    .hc-car-jump-nav a > span { display:none; }
    .hc-car-module .hc-split-layout { grid-template-columns:1fr; }
    .hc-car-module .hc-section-title p { line-height:1.55; }
    .hc-entity-list article { align-items:flex-start; flex-direction:column; }
    .hc-entity-list .hc-inline-actions { width:100%; justify-content:flex-start; padding-top:9px; border-top:1px solid #edf1ef; }
    .hc-car-overview-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

/* 0.22 shared interface states, bilingual forms, and accessibility. */
.hc-app .hc-alert { position:relative; min-height:52px; padding:13px 52px; border:1px solid transparent; line-height:1.65; }
.hc-app .hc-alert::before { position:absolute; inset-block-start:50%; inset-inline-start:14px; display:grid; width:26px; height:26px; place-items:center; transform:translateY(-50%); border-radius:50%; font-size:14px; font-weight:900; }
.hc-app .hc-alert-success::before { content:"✓"; background:#d7f2e7; color:#0d694d; }
.hc-app .hc-alert-error::before { content:"!"; background:#fde2e2; color:#9b2929; }
.hc-app .hc-alert-success { border-color:#b9e1cf; background:#e9f7f1; color:#116044; }
.hc-app .hc-alert-error { border-color:#efc4c4; background:#fff2f2; color:#8d2424; }
.hc-app .hc-alert-dismiss { position:absolute; inset-block-start:50%; inset-inline-end:12px; width:32px; height:32px; padding:0; transform:translateY(-50%); border:0; border-radius:9px; background:transparent; color:currentColor; cursor:pointer; font:inherit; font-size:22px; line-height:1; opacity:.65; }
.hc-app .hc-alert-dismiss:hover { background:rgba(0,0,0,.06); opacity:1; }
.hc-app .hc-alert:focus { outline:0; box-shadow:0 0 0 4px rgba(15,118,88,.12); }
.hc-form-error { grid-column:1/-1; margin:0 0 18px; padding:13px 15px; border:1px solid #efb9b9; border-radius:12px; background:#fff2f2; color:#8d2424; font-size:13px; font-weight:750; line-height:1.65; }
.hc-form-error:focus { outline:3px solid rgba(184,51,51,.22); outline-offset:2px; }
.hc-field.has-error > span:first-child { color:#a72d2d; }
.hc-field.has-error input,.hc-field.has-error select,.hc-field.has-error textarea,[aria-invalid="true"] { border-color:#c64242 !important; background:#fffafa; box-shadow:0 0 0 3px rgba(198,66,66,.1) !important; }
.hc-editor[aria-busy="true"],.hc-rate-editor[aria-busy="true"] { cursor:progress; }
.hc-button.is-loading { position:relative; gap:9px; cursor:wait; opacity:.82; }
.hc-button.is-loading::before { content:""; width:15px; height:15px; border:2px solid rgba(255,255,255,.48); border-block-start-color:#fff; border-radius:50%; animation:hc-spin .7s linear infinite; }
@keyframes hc-spin { to { transform:rotate(360deg); } }
.hc-language-tabs [role="tab"] { min-height:38px; }
.hc-language-tabs [role="tab"][aria-selected="true"] { background:#eaf5f1; color:var(--hc-brand); box-shadow:inset 0 0 0 1px rgba(23,107,82,.08); }
.hc-language-tabs [role="tab"]:focus-visible { outline:3px solid rgba(217,173,83,.65); outline-offset:2px; }
.hc-language-panel[hidden] { display:none !important; }
.hc-table-wrap[role="region"]:focus { outline:3px solid rgba(23,107,82,.18); outline-offset:2px; }
.hc-table-empty td { padding:32px 18px !important; color:var(--hc-muted); text-align:center; font-weight:700; }
.hc-inline-empty { min-height:150px; display:grid; place-items:center; align-content:center; padding-block:30px; color:var(--hc-muted); text-align:center; }
.hc-inline-empty::before { content:"—"; display:grid; width:40px; height:40px; margin-bottom:8px; place-items:center; border-radius:12px; background:#eef4f1; color:var(--hc-brand); font-weight:900; }
.hc-permission-groups { min-width:0; margin:20px 0 0; padding:18px; border:1px solid var(--hc-line); border-radius:14px; }
.hc-permission-groups legend { padding-inline:8px; color:var(--hc-ink); font-size:13px; font-weight:850; }
.hc-field input[type="email"],.hc-field input[type="tel"],.hc-field input[type="url"],.hc-field input[type="number"],.hc-field input[type="date"],.hc-field input[type="time"],.hc-field input[type="search"] { direction:ltr; text-align:start; }
.hc-language-panel[dir="rtl"] input:not([type="email"]):not([type="tel"]):not([type="url"]):not([type="number"]):not([type="date"]):not([type="time"]),.hc-language-panel[dir="rtl"] textarea { text-align:right; }
.hc-language-panel[dir="ltr"] input,.hc-language-panel[dir="ltr"] textarea { text-align:left; }
.hc-module-section,.hc-editor[id],.hc-car-module { scroll-margin-top:112px; }

@media (max-width:700px) {
    .hc-language-tabs { display:flex; max-width:100%; overflow-x:auto; scrollbar-width:thin; }
    .hc-language-tabs button { flex:0 0 auto; }
    .hc-app .hc-form-actions { position:sticky; z-index:8; inset-block-end:80px; padding:10px; border:1px solid rgba(215,226,221,.95); border-radius:14px; background:rgba(255,255,255,.94); box-shadow:0 10px 28px rgba(16,45,37,.12); backdrop-filter:blur(12px); }
    .hc-app .hc-form-actions .hc-button { width:100%; justify-content:center; }
}

@media (prefers-reduced-motion:reduce) {
    .hc-button.is-loading::before { animation-duration:1.5s; }
}

/* 0.23 public customer booking journey. */
.hc-public-booking-page { background:#f4f7f5; color:var(--hc-ink); }
.hc-public-booking-page .hc-public-shell { isolation:isolate; }
.hc-public-shell { width:min(1240px,calc(100% - 40px)); padding-top:18px; }
.hc-public-header { min-height:66px; margin-bottom:14px; padding:10px 14px; border:1px solid rgba(215,226,221,.9); border-radius:18px; background:rgba(255,255,255,.92); box-shadow:0 9px 30px rgba(16,45,37,.06); backdrop-filter:blur(14px); }
.hc-public-header .hc-brand { text-decoration:none; }
.hc-public-header .hc-language-switcher { margin:0; }
.hc-public-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); max-width:720px; margin:0 auto 18px; padding:7px; border:1px solid var(--hc-line); border-radius:16px; background:#fff; box-shadow:0 8px 24px rgba(16,45,37,.04); }
.hc-public-steps > span { position:relative; display:flex; min-height:42px; align-items:center; justify-content:center; gap:8px; border-radius:11px; color:var(--hc-muted); font-size:12px; font-weight:800; }
.hc-public-steps > span:not(:last-child)::after { content:""; position:absolute; inset-inline-end:-5px; width:10px; height:1px; background:var(--hc-line); }
.hc-public-steps b { display:grid; width:24px; height:24px; place-items:center; border:1px solid var(--hc-line); border-radius:50%; background:#fff; font-size:11px; }
.hc-public-steps .is-current { background:#eaf5f1; color:var(--hc-brand); }
.hc-public-steps .is-current b { border-color:var(--hc-brand); background:var(--hc-brand); color:#fff; }
.hc-public-steps .is-complete { color:#28775f; }
.hc-public-steps .is-complete b { border-color:#c8e8dc; background:#dff3eb; color:#176b52; }
.hc-public-hero { position:relative; overflow:hidden; padding:clamp(30px,5vw,58px); border:1px solid rgba(255,255,255,.08); border-radius:30px; background:radial-gradient(circle at 12% 16%,rgba(217,173,83,.22),transparent 27%),linear-gradient(135deg,#0b392d 0%,#155a46 62%,#1e7057 100%); box-shadow:0 22px 60px rgba(11,57,45,.16); }
.hc-public-hero::after { content:""; position:absolute; inset-block-start:-130px; inset-inline-end:-110px; width:330px; height:330px; border:1px solid rgba(255,255,255,.1); border-radius:50%; box-shadow:0 0 0 45px rgba(255,255,255,.025),0 0 0 90px rgba(255,255,255,.018); pointer-events:none; }
.hc-public-hero > * { position:relative; z-index:1; }
.hc-public-hero .hc-eyebrow { margin:0 0 9px; color:#e9c979; }
.hc-public-hero h1 { max-width:760px; margin-bottom:10px; line-height:1.16; }
.hc-public-hero > p:not(.hc-eyebrow) { max-width:720px; margin:0 0 26px; color:rgba(255,255,255,.78); font-size:15px; line-height:1.75; }
.hc-public-hero .hc-search-form { grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; padding:17px; border:1px solid rgba(255,255,255,.2); border-radius:20px; background:rgba(255,255,255,.97); box-shadow:0 18px 42px rgba(3,30,23,.18); }
.hc-public-hero .hc-search-form .hc-field { min-width:0; color:var(--hc-ink); }
.hc-public-hero .hc-search-form .hc-field > span { font-size:11px; }
.hc-public-hero .hc-search-form input,.hc-public-hero .hc-search-form select { background:#f8faf9; }
.hc-public-hero .hc-search-form .hc-button { align-self:end; min-height:46px; }
.hc-results-section { margin-top:34px; }
.hc-results-heading { display:flex; align-items:end; justify-content:space-between; gap:18px; margin-bottom:16px; }
.hc-results-heading h2 { margin:0; color:var(--hc-ink); font-size:clamp(25px,3vw,36px); }
.hc-results-heading p { margin:7px 0 0; color:var(--hc-muted); }
.hc-results-heading > span { flex:0 0 auto; padding:7px 11px; border-radius:999px; background:#e5f3ed; color:var(--hc-brand); font-size:12px; font-weight:850; }
.hc-search-results { grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.hc-result-card { overflow:hidden; gap:0; padding:0; border-radius:20px; transition:transform .18s ease,box-shadow .18s ease; }
.hc-result-card:hover { transform:translateY(-3px); box-shadow:0 16px 36px rgba(16,45,37,.1); }
.hc-result-card .hc-result-image { height:220px; border-radius:0; }
.hc-result-card > div:not(.hc-result-price-wrap),.hc-result-card > h3,.hc-result-card > p { margin-inline:20px; }
.hc-result-card > h3 { margin-top:20px; font-size:21px; line-height:1.35; }
.hc-result-card > p { margin-top:7px; margin-bottom:0; color:var(--hc-muted); line-height:1.65; }
.hc-result-card > form { margin-top:18px; padding:18px 20px 20px; border-top:1px solid var(--hc-line); background:#fbfcfb; }
.hc-result-card .hc-addon-options { background:#fff; }
.hc-result-price-wrap { display:flex; align-items:end; justify-content:space-between; gap:12px; }
.hc-result-price-wrap > span { color:var(--hc-muted); font-size:11px; font-weight:750; }
.hc-result-price-wrap .hc-result-price { font-size:23px; line-height:1; }
.hc-result-actions { margin:18px 20px 20px; }
.hc-result-actions p { margin:0; color:var(--hc-muted); font-size:12px; }
.hc-public-empty { grid-column:1/-1; display:grid; min-height:240px; place-items:center; align-content:center; gap:12px; text-align:center; }
.hc-public-empty::before { content:"⌕"; display:grid; width:58px; height:58px; place-items:center; border-radius:18px; background:#eaf5f1; color:var(--hc-brand); font-size:28px; }
.hc-public-empty p { max-width:480px; margin:0; color:var(--hc-muted); }
.hc-public-page-detail .hc-detail-breadcrumb { margin-block:4px 15px; }
.hc-detail-hero { position:relative; overflow:hidden; padding:clamp(30px,5vw,56px); border:1px solid #d9e9e2; border-radius:28px; background:radial-gradient(circle at 90% 20%,rgba(217,173,83,.22),transparent 27%),linear-gradient(135deg,#e3f3ed,#fffaf0); }
.hc-detail-hero::after { content:""; position:absolute; inset-block-end:-70px; inset-inline-end:7%; width:190px; height:190px; border:1px solid rgba(23,107,82,.08); border-radius:50%; }
.hc-detail-hero > div { position:relative; z-index:1; max-width:850px; }
.hc-detail-hero p:not(.hc-eyebrow):not(.hc-detail-lead) { color:#527067; font-weight:700; }
.hc-detail-lead { max-width:720px; margin-bottom:0; font-size:15px; }
.hc-detail-gallery { gap:12px; }
.hc-detail-gallery img { border-radius:18px; box-shadow:0 8px 24px rgba(16,45,37,.08); }
.hc-detail-content > .hc-panel { padding:28px; border-radius:20px; }
.hc-detail-content h2,.hc-detail-booking h2 { margin-top:0; color:var(--hc-ink); }
.hc-detail-booking { top:18px; overflow:hidden; padding:25px; border-top:5px solid var(--hc-brand); border-radius:22px; box-shadow:0 18px 44px rgba(16,45,37,.1); }
.hc-detail-date-form { grid-template-columns:repeat(2,minmax(0,1fr)); }
.hc-detail-date-form .hc-field:nth-of-type(3),.hc-detail-date-form .hc-button { grid-column:1/-1; }
.hc-availability-state { margin:0; padding:14px; border-radius:13px; line-height:1.6; }
.hc-public-quote-form { padding-top:17px; border-top:1px solid var(--hc-line); }
.hc-detail-price-box { display:grid; gap:5px; padding:16px; border:1px solid #cfe5dc; border-radius:14px; background:#eff8f4; }
.hc-detail-price-box > span { color:var(--hc-muted); font-size:11px; font-weight:800; }
.hc-detail-price-box .hc-result-price { font-size:27px; }
.hc-detail-price-box small { color:var(--hc-muted); line-height:1.5; }
.hc-public-checkout-form { display:grid; gap:15px; }
.hc-public-checkout-form h2 { margin:0 0 4px; }
.hc-checkout-grid { max-width:1000px; margin:34px auto; grid-template-columns:minmax(280px,.78fr) minmax(0,1.22fr); }
.hc-checkout-grid > .hc-panel { padding:28px; border-radius:21px; }
.hc-checkout-grid > .hc-panel:first-child { position:sticky; top:18px; border-top:5px solid #d9ad53; }
.hc-public-confirmation { padding:clamp(30px,6vw,58px); border-radius:24px; }
.hc-public-confirmation h1 { color:var(--hc-ink); }
.hc-public-page-manage .hc-public-confirmation,.hc-public-page-confirmation .hc-public-confirmation { margin-top:34px; }
.hc-embedded-search,.hc-embedded-results { border-radius:20px; box-shadow:0 12px 36px rgba(16,45,37,.07); }
.hc-embedded-search .hc-search-form { grid-template-columns:repeat(3,minmax(0,1fr)); }

@media (max-width:1050px) {
    .hc-search-results { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .hc-public-hero .hc-search-form { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .hc-public-hero .hc-search-form .hc-button { grid-column:1/-1; }
}

@media (max-width:820px) {
    .hc-public-shell { width:min(100% - 24px,720px); }
    .hc-detail-layout,.hc-checkout-grid { grid-template-columns:1fr; }
    .hc-detail-booking,.hc-checkout-grid > .hc-panel:first-child { position:static; }
    .hc-public-header { min-height:58px; }
}

@media (max-width:620px) {
    .hc-public-shell { width:min(100% - 18px,560px); padding-top:9px; }
    .hc-public-header { padding:8px 10px; border-radius:14px; }
    .hc-public-header .hc-brand span:last-child { max-width:145px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
    .hc-public-steps { margin-bottom:12px; padding:5px; }
    .hc-public-steps > span { min-height:38px; gap:5px; font-size:10px; }
    .hc-public-steps b { width:21px; height:21px; font-size:9px; }
    .hc-public-hero { padding:27px 16px 16px; border-radius:22px; }
    .hc-public-hero .hc-search-form,.hc-embedded-search .hc-search-form { grid-template-columns:1fr; padding:13px; }
    .hc-public-hero .hc-search-form .hc-button { grid-column:auto; width:100%; }
    .hc-results-heading { align-items:start; flex-direction:column; gap:9px; }
    .hc-search-results { grid-template-columns:1fr; }
    .hc-result-card .hc-result-image { height:205px; }
    .hc-detail-gallery { grid-template-columns:1fr 1fr; }
    .hc-detail-gallery img,.hc-detail-gallery img:first-child { grid-column:auto; grid-row:auto; height:145px; }
    .hc-detail-date-form { grid-template-columns:1fr; }
    .hc-detail-date-form .hc-field:nth-of-type(3),.hc-detail-date-form .hc-button { grid-column:auto; }
    .hc-spec-list,.hc-amenity-list { grid-template-columns:1fr; }
    .hc-checkout-grid > .hc-panel,.hc-detail-content > .hc-panel,.hc-detail-booking { padding:20px; }
}

@media (prefers-reduced-motion:reduce) {
    .hc-result-card { transition:none; }
}

/* 0.25 partner inventory refresh: clearer hotel, room, booking, and preview workflows. */
.hc-preview-button { display:inline-flex; align-items:center; gap:7px; min-height:42px; padding:8px 14px; border:1px solid #cda54f; border-radius:999px; background:#fff8e8; color:#6f5010; text-decoration:none; font-size:12px; font-weight:850; box-shadow:0 5px 16px rgba(112,80,16,.08); }
.hc-preview-button:hover,.hc-preview-button:focus { border-color:#b48b34; background:#fff2d2; color:#533b0a; }
.hc-heading-preview { flex:0 0 auto; gap:7px; border-color:#bbd8cd; background:#eef8f4; color:var(--hc-brand-dark); }
.hc-property-summary,.hc-room-summary { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin-bottom:16px; }
.hc-property-summary article,.hc-room-summary > div { display:grid; gap:6px; min-height:78px; align-content:center; padding:15px 17px; border:1px solid var(--hc-line); border-radius:14px; background:#fff; box-shadow:0 7px 20px rgba(16,45,37,.035); }
.hc-property-summary span,.hc-room-summary span { color:var(--hc-muted); font-size:11px; font-weight:800; }
.hc-property-summary strong,.hc-room-summary strong { color:var(--hc-ink); font-size:21px; }
.hc-status-text { display:inline-flex; width:max-content; align-items:center; gap:7px; font-size:13px !important; }
.hc-status-text::before { content:""; width:8px; height:8px; border-radius:50%; background:#c39230; }
.hc-status-text.is-active::before { background:#24a773; }
.hc-property-editor { grid-template-columns:minmax(0,1.35fr) minmax(320px,.75fr); align-items:start; }
.hc-property-editor > section:first-of-type { grid-column:1; grid-row:1 / span 2; }
.hc-property-editor > section:nth-of-type(2) { grid-column:2; grid-row:1; }
.hc-property-editor > .hc-media-fields { grid-column:2; grid-row:2; margin:0; padding:22px; border:1px solid var(--hc-line); border-radius:var(--hc-radius); background:#fff; box-shadow:0 9px 28px rgba(16,45,37,.045); }
.hc-property-editor > .hc-form-actions { grid-column:1/-1; position:sticky; z-index:12; bottom:14px; padding:11px; border:1px solid rgba(214,226,220,.96); border-radius:15px; background:rgba(255,255,255,.94); box-shadow:0 12px 34px rgba(16,45,37,.13); backdrop-filter:blur(12px); }
.hc-room-summary { grid-template-columns:repeat(3,minmax(0,1fr)); }
.hc-rooms-layout { grid-template-columns:minmax(360px,.92fr) minmax(0,1.08fr); }
.hc-room-inventory-panel { min-width:0; }
.hc-room-list { gap:12px; }
.hc-room-list .hc-room-card { display:grid; grid-template-columns:72px minmax(0,1fr); gap:13px; padding:13px; border-color:#dce7e2; border-radius:15px; background:#fff; transition:border-color .15s ease,box-shadow .15s ease; }
.hc-room-list .hc-room-card:hover { border-color:#b7d4c9; box-shadow:0 10px 26px rgba(16,45,37,.07); }
.hc-room-card-visual { display:grid !important; width:72px; height:72px; place-items:center; overflow:hidden; border-radius:12px; background:linear-gradient(135deg,#e6f3ee,#f8f2e4); color:var(--hc-brand); }
.hc-room-card-visual img { width:100%; height:100%; object-fit:cover; }
.hc-room-card-visual svg { width:27px; height:27px; fill:none; stroke:currentColor; stroke-width:1.7; }
.hc-room-card-copy { display:grid; align-content:center; gap:8px; min-width:0; }
.hc-room-card-title { display:flex !important; align-items:center; justify-content:space-between; gap:9px; }
.hc-room-card-title strong { overflow:hidden; color:var(--hc-ink); text-overflow:ellipsis; white-space:nowrap; font-size:14px; }
.hc-room-status { flex:0 0 auto; padding:4px 8px; border-radius:999px; background:#f2f4f3; color:var(--hc-muted); font-size:9px; font-weight:850; }
.hc-room-status.is-active { background:#e1f4eb; color:#116044; }
.hc-room-status.is-archived { background:#f8ecea; color:#91483f; }
.hc-room-card-meta { display:flex !important; flex-wrap:wrap; gap:5px 11px; color:var(--hc-muted); font-size:10px; }
.hc-room-card-meta b { color:var(--hc-ink); }
.hc-room-card-actions { grid-column:1/-1; display:flex !important; align-items:center; gap:8px; padding-top:10px; border-top:1px solid #edf1ef; }
.hc-room-card-actions a,.hc-room-card-actions button { display:inline-flex; min-height:32px; align-items:center; padding:5px 9px; border-radius:9px; text-decoration:none; font-size:10px; font-weight:850; }
.hc-room-preview-link { border:1px solid #bedbce; background:#edf8f3; color:var(--hc-brand-dark) !important; }
.hc-room-edit-link { border:1px solid var(--hc-line); background:#fff; color:var(--hc-ink) !important; }
.hc-room-card-actions .hc-inline-form { margin-inline-start:auto; }
.hc-room-card-actions .hc-link-button { color:#9a463d; text-decoration:none; }
.hc-booking-filter-disclosure { margin-bottom:20px; }
.hc-booking-filter-disclosure > summary { display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:58px; padding:12px 17px; border:1px solid var(--hc-line); border-radius:14px; background:#fff; color:var(--hc-ink); cursor:pointer; box-shadow:0 7px 20px rgba(16,45,37,.035); list-style:none; }
.hc-booking-filter-disclosure > summary::-webkit-details-marker { display:none; }
.hc-booking-filter-disclosure > summary span { display:grid; gap:3px; }
.hc-booking-filter-disclosure > summary b { font-size:13px; }
.hc-booking-filter-disclosure > summary small { color:var(--hc-muted); font-size:10px; }
.hc-booking-filter-disclosure > summary i { font-style:normal; transition:transform .15s ease; }
.hc-booking-filter-disclosure[open] > summary i { transform:rotate(180deg); }
.hc-booking-filter-disclosure .hc-booking-filters { margin:9px 0 0; border-radius:14px; box-shadow:none; }
.hc-booking-card { border-inline-start:4px solid #cbd9d4; }
.hc-booking-card:has(.is-confirmed) { border-inline-start-color:#38a678; }
.hc-booking-card:has(.is-pending),.hc-booking-card:has(.is-review) { border-inline-start-color:#d9ad53; }

@media (max-width:1100px) {
    .hc-property-editor { grid-template-columns:1fr; }
    .hc-property-editor > section:first-of-type,.hc-property-editor > section:nth-of-type(2),.hc-property-editor > .hc-media-fields { grid-column:auto; grid-row:auto; }
    .hc-property-editor > .hc-form-actions { grid-column:auto; }
    .hc-rooms-layout { grid-template-columns:1fr; }
}

@media (max-width:700px) {
    .hc-property-summary { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .hc-room-summary { grid-template-columns:repeat(3,minmax(0,1fr)); }
    .hc-property-summary article,.hc-room-summary > div { min-height:70px; padding:12px; }
    .hc-property-summary strong,.hc-room-summary strong { font-size:18px; }
    .hc-heading-preview { width:100%; margin-top:14px; }
}

@media (max-width:560px) {
    .hc-preview-button { width:39px; min-width:39px; height:39px; min-height:39px; justify-content:center; padding:0; }
    .hc-preview-button span:last-child { position:absolute; width:1px; height:1px; padding:0; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
    .hc-room-summary { gap:7px; }
    .hc-room-summary > div { text-align:center; }
    .hc-room-card-title { align-items:flex-start; flex-direction:column; }
}

/* 0.27 compact utility header, account settings, and instant day controls. */
.hc-topbar { min-height:68px; margin-bottom:20px; padding-block:9px; background:rgba(245,247,244,.74); backdrop-filter:blur(16px); }
.hc-topbar h1 { font-size:clamp(18px,1.8vw,23px); letter-spacing:-.015em; }
.hc-page-heading { margin-bottom:16px; }
.hc-page-heading h2 { font-size:clamp(23px,2.3vw,30px); letter-spacing:-.02em; }
.hc-page-heading p:last-child { font-size:14px; line-height:1.55; }
.hc-utility-bar { display:flex; align-items:center; gap:5px; padding:5px; border:1px solid rgba(207,221,214,.82); border-radius:16px; background:rgba(255,255,255,.52); box-shadow:0 8px 24px rgba(16,45,37,.045); backdrop-filter:blur(16px); }
.hc-utility-action { display:flex; align-items:center; gap:7px; min-height:40px; padding:8px 11px; border:0; border-radius:11px; background:transparent; color:var(--hc-muted); font:inherit; font-size:12px; font-weight:800; text-decoration:none; cursor:pointer; }
.hc-utility-action:hover,.hc-utility-action.is-active { background:rgba(255,255,255,.92); color:var(--hc-brand-dark); }
.hc-utility-action.is-preview { color:#80580d; }
.hc-utility-action svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.hc-utility-language { position:relative; }
.hc-utility-language summary { list-style:none; }
.hc-utility-language summary::-webkit-details-marker { display:none; }
.hc-utility-language-menu { position:absolute; z-index:80; inset-block-start:calc(100% + 9px); inset-inline-start:0; display:grid; min-width:145px; padding:6px; border:1px solid var(--hc-line); border-radius:13px; background:#fff; box-shadow:0 16px 35px rgba(16,45,37,.14); }
.hc-utility-language-menu a { padding:9px 11px; border-radius:9px; color:var(--hc-muted); font-size:12px; font-weight:800; text-decoration:none; }
.hc-utility-language-menu a:hover,.hc-utility-language-menu a.is-active { background:#eaf5f1; color:var(--hc-brand-dark); }
.hc-account-layout { display:grid; grid-template-columns:minmax(220px,.5fr) minmax(0,1.5fr); gap:18px; align-items:start; max-width:980px; }
.hc-account-identity { display:flex; align-items:center; gap:15px; }
.hc-account-identity img { border-radius:20px; }
.hc-account-identity div { display:grid; gap:4px; min-width:0; }
.hc-account-identity strong,.hc-account-identity span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.hc-account-identity span,.hc-account-identity small { color:var(--hc-muted); font-size:12px; }
.hc-calendar-day { min-height:134px; gap:5px; padding:8px; cursor:default; }
.hc-calendar-day-main { display:flex; flex:1; flex-direction:column; justify-content:space-between; gap:7px; width:100%; padding:3px; border:0; background:transparent; color:inherit; text-align:inherit; cursor:pointer; }
.hc-calendar-toggle { margin:0; }
.hc-calendar-toggle button { width:100%; min-height:27px; padding:4px 6px; border:0; border-radius:8px; font:inherit; font-size:9px; font-weight:850; cursor:pointer; }
.hc-calendar-toggle .is-close-action { background:#fff0ec; color:#9a3e2f; }
.hc-calendar-toggle .is-open-action { background:#e1f4e9; color:#146044; }

@media(max-width:920px){
    .hc-topbar { min-height:64px; }
    .hc-utility-action span { position:absolute; width:1px; height:1px; padding:0; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
    .hc-utility-action { width:38px; min-width:38px; justify-content:center; padding:7px; }
    .hc-utility-language-menu a { position:static; width:auto; height:auto; overflow:visible; clip:auto; white-space:nowrap; }
    .hc-account-layout { grid-template-columns:1fr; }
}
@media(max-width:700px){
    .hc-calendar-day { min-height:112px; padding:6px 4px; }
    .hc-calendar-toggle button { min-height:25px; font-size:8px; }
}
@media(max-width:560px){
    .hc-topbar-title h1 { max-width:32vw; font-size:17px; }
    .hc-utility-bar { gap:2px; padding:3px; border-radius:13px; }
}

/* v0.28: one visible page title, dependable native selects, currency control. */
.hc-topbar{min-height:58px;padding-block:7px}.hc-topbar-title{flex:0 0 auto}
.hc-sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.hc-main select{appearance:auto!important;-webkit-appearance:menulist!important;pointer-events:auto!important;position:relative!important;z-index:2!important;cursor:pointer!important;opacity:1!important}
.hc-main select:not(:disabled){background-color:#fff!important;color:var(--hc-ink)!important}
.hc-main .nice-select,.hc-main .select2-container,.hc-main .chosen-container,.hc-main .selectric-wrapper,.hc-public-shell .nice-select,.hc-public-shell .select2-container,.hc-public-shell .chosen-container,.hc-public-shell .selectric-wrapper{display:none!important}
.hc-public-shell select,.hc-partner-app select{display:block!important;visibility:visible!important;pointer-events:auto!important;-webkit-appearance:menulist!important;appearance:auto!important;opacity:1!important}
.hc-public-tools{display:flex;justify-content:flex-end;margin:0 0 12px;padding:0;background:transparent;border:0;box-shadow:none}
.hc-public-tools .hc-public-switchers{display:flex;align-items:center;gap:8px;padding:5px;border:1px solid rgba(215,226,221,.86);border-radius:14px;background:rgba(255,255,255,.74);backdrop-filter:blur(10px)}
@media(max-width:600px){.hc-public-tools{margin-bottom:8px}.hc-public-shell input[type=date]{min-width:0!important;max-width:100%;width:100%;font-size:16px}.hc-search-form>*{min-width:0}}
.hc-main select:disabled{cursor:not-allowed!important;opacity:.58!important}
.hc-public-switchers{display:flex;align-items:center;gap:10px}.hc-currency-switcher{margin:0}.hc-currency-switcher select{min-width:78px;height:42px;border:1px solid var(--hc-border);border-radius:12px;background:#fff;padding:0 12px;color:var(--hc-ink);font-weight:800;cursor:pointer}
.hc-currency-badge{display:inline-flex;align-items:center;justify-content:center;min-width:58px;height:40px;padding:0 12px;border:1px solid var(--hc-border);border-radius:12px;background:#fff;color:var(--hc-ink);font-weight:850}

/* v0.30: responsive search controls and richer public result cards. */
.hc-public-shell,.hc-public-shell *{box-sizing:border-box}
.hc-public-hero,.hc-public-hero .hc-search-form,.hc-public-hero .hc-search-form>*{min-width:0;max-width:100%}
.hc-public-hero .hc-field,.hc-public-hero .hc-field :is(input,select){min-width:0!important;max-width:100%!important;width:100%!important}
.hc-search-results{grid-template-columns:repeat(auto-fit,minmax(min(100%,440px),1fr));gap:24px}
.hc-result-card{display:flex;min-width:0;flex-direction:column;overflow:hidden;padding:0!important;border-radius:24px!important;background:#fff}
.hc-result-media{position:relative;display:block;overflow:hidden;aspect-ratio:16/9;background:linear-gradient(135deg,#dcebe5,#f3ead7);text-decoration:none}
.hc-result-card .hc-result-image{width:100%;height:100%;border-radius:0;object-fit:cover;transition:transform .35s ease}
.hc-result-card:hover .hc-result-image{transform:scale(1.025)}
.hc-result-image-placeholder{display:grid;width:100%;height:100%;place-items:center;background:radial-gradient(circle at 15% 20%,rgba(217,173,83,.32),transparent 35%),linear-gradient(135deg,#e4f1ec,#f8f2e7);color:#176b52}
.hc-result-image-placeholder svg{width:78px;height:78px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;opacity:.75}
.hc-result-service-badge{position:absolute;inset-block-start:16px;inset-inline-end:16px;display:inline-flex;align-items:center;min-height:31px;padding:6px 12px;border-radius:999px;background:rgba(255,255,255,.92);color:#17483a;font-size:11px;font-weight:850;box-shadow:0 7px 20px rgba(16,45,37,.12);backdrop-filter:blur(8px)}
.hc-result-card-body{display:flex;flex:1;flex-direction:column;padding:22px!important;margin:0!important}
.hc-result-card-copy{display:grid;gap:7px;margin:0!important}
.hc-result-card-copy .hc-eyebrow{margin:0;color:#17785c;font-size:11px}
.hc-result-card-copy h3{margin:0!important;font-size:clamp(22px,2vw,28px);line-height:1.3}
.hc-result-card-copy h3 a{color:#102d25;text-decoration:none}
.hc-result-card-copy h3 a:hover{color:#17785c}
.hc-result-rating{min-height:20px;color:#d6a91d;font-size:17px;letter-spacing:2px}
.hc-result-location,.hc-result-specs,.hc-result-description{margin:0!important;color:#60776f!important;line-height:1.65}
.hc-result-location{display:flex;flex-wrap:wrap;align-items:center;gap:7px;font-size:13px;font-weight:750}
.hc-result-location>span:first-child{color:#17785c;font-size:18px}
.hc-result-specs{font-size:12px;font-weight:800}
.hc-result-description{display:-webkit-box;margin-top:3px!important;overflow:hidden;font-size:13px;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.hc-result-amenities{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 0;padding:13px;list-style:none;border-radius:14px;background:#f2f5f3}
.hc-result-amenities li{display:flex;align-items:center;gap:5px;color:#52665f;font-size:11px;font-weight:750}
.hc-result-amenities li span,.hc-result-assurance span{display:inline-grid;width:17px;height:17px;place-items:center;border:1px solid #7ca08f;border-radius:50%;color:#176b52;font-size:10px;font-weight:900}
.hc-result-assurance{display:flex;align-items:center;gap:7px;margin:14px 0 0!important;color:#315f50!important;font-size:12px;font-weight:800}
.hc-result-addons{margin-top:14px;border:1px solid #dce8e3;border-radius:13px;background:#fff}
.hc-result-addons summary{padding:11px 13px;color:#17483a;cursor:pointer;font-size:12px;font-weight:850}
.hc-result-addons .hc-addon-options{margin:0 10px 10px;border:0;background:#f7faf8}
.hc-result-card-footer{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-top:auto;padding-top:20px}
.hc-result-card-footer .hc-result-price-wrap{display:grid;gap:5px;min-width:max-content}
.hc-result-card-footer .hc-result-price-wrap>span{color:#71847d;font-size:10px;font-weight:800}
.hc-result-card-footer .hc-result-price{font-size:24px;white-space:nowrap}
.hc-result-actions{display:flex;align-items:center;justify-content:flex-end;gap:9px;margin:0!important}
.hc-result-actions .hc-button{min-height:43px;padding:10px 14px;font-size:11px;white-space:nowrap}
.hc-result-hidden-form{display:none!important}

@media(max-width:620px){
    .hc-public-hero{max-width:100%;overflow:hidden;padding-inline:12px}
    .hc-public-hero .hc-search-form{width:100%;max-width:100%;overflow:hidden;padding:12px}
    .hc-public-hero .hc-search-form>*{width:100%;min-inline-size:0!important;max-inline-size:100%!important}
    .hc-public-hero .hc-field{display:block;overflow:hidden;width:100%;min-inline-size:0!important}
    .hc-public-hero .hc-field :is(input,select){display:block;inline-size:100%!important;min-inline-size:0!important;max-inline-size:100%!important;-webkit-min-logical-width:0!important}
    .hc-public-hero input[type=date]{appearance:none!important;-webkit-appearance:none!important;overflow:hidden;padding-inline:12px!important;font-size:16px!important}
    .hc-result-card{border-radius:19px!important}
    .hc-result-media{aspect-ratio:4/3}
    .hc-result-card-body{padding:17px!important}
    .hc-result-card-footer{align-items:stretch;flex-direction:column}
    .hc-result-card-footer .hc-result-price-wrap{display:flex;align-items:end;justify-content:space-between}
    .hc-result-actions{display:grid;grid-template-columns:.8fr 1.2fr}
    .hc-result-actions .hc-button{width:100%;white-space:normal}
}

/* v0.31: align the customer search with the site's white page design. */
.hc-public-hero{padding:20px 0 26px;border:0;border-bottom:1px solid #e3eae6;border-radius:0;background:#fff;box-shadow:none;color:#102d25}
.hc-public-hero::after{display:none}
.hc-public-hero .hc-eyebrow{color:#17785c}
.hc-public-hero h1{max-width:none;margin:0 0 7px;color:#102d25;font-size:clamp(24px,2.5vw,33px);line-height:1.3}
.hc-public-hero>p:not(.hc-eyebrow){max-width:750px;margin:0 0 18px;color:#667b73;font-size:13px;line-height:1.6}
.hc-public-hero .hc-search-form{padding:15px;border:1px solid #dfe9e4;border-radius:18px;background:#fff;box-shadow:0 8px 25px rgba(16,45,37,.045)}
.hc-public-hero .hc-search-form input,.hc-public-hero .hc-search-form select{background:#fff}
.hc-search-results{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.hc-result-media{height:230px;aspect-ratio:auto}
.hc-result-card .hc-result-image{height:100%}
.hc-result-room-option{margin:0!important;color:#627a70!important;font-size:12px;font-weight:700}
.hc-public-empty{grid-column:1/-1;display:flex;min-height:0;align-items:center;justify-content:space-between;gap:18px;padding:20px 22px;border:1px solid #e0ebe5;border-radius:18px;background:#f8fbf9;text-align:start;box-shadow:none}
.hc-public-empty::before{display:none}
.hc-public-empty-icon{display:grid;width:48px;height:48px;flex:0 0 48px;place-items:center;border-radius:14px;background:#eaf5f0;color:#176b52}
.hc-public-empty-icon svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
.hc-public-empty>div{flex:1;min-width:0}
.hc-public-empty h3{margin:0 0 4px;color:#183a2e;font-size:18px}
.hc-public-empty p{max-width:none;margin:0;color:#688078;font-size:12px;line-height:1.6}
.hc-public-empty .hc-button{flex:0 0 auto;white-space:nowrap}
@media(max-width:760px){
    .hc-search-results{grid-template-columns:1fr}
    .hc-result-media{height:205px}
    .hc-public-empty{align-items:flex-start;flex-wrap:wrap;padding:17px}
    .hc-public-empty .hc-button{margin-inline-start:66px}
}
@media(max-width:620px){
    .hc-public-hero{padding:12px 0 20px;overflow:visible}
    .hc-public-hero .hc-search-form{padding:12px}
}

/* v0.32: transparent search, property-led results, and room availability. */
.hc-public-hero{background:transparent!important;border:0!important;box-shadow:none!important}
.hc-public-hero .hc-search-form{background:transparent!important;border-color:#dbe6e1;box-shadow:none}
.hc-public-hero .hc-search-form .hc-field{color:#1b392f}
.hc-search-results{grid-template-columns:repeat(2,minmax(0,1fr))}
.hc-search-results>.hc-result-card:only-child{grid-column:1/-1;display:grid;grid-template-columns:minmax(260px,41%) minmax(0,1fr);max-width:100%}
.hc-search-results>.hc-result-card:only-child .hc-result-media{height:100%;min-height:330px}
.hc-result-card{border:1px solid #dfe9e4!important;box-shadow:0 12px 35px rgba(16,45,37,.075)!important}
.hc-result-card-body{padding:24px!important}
.hc-stock-note{display:inline-flex;align-self:start;margin:8px 0 0!important;padding:7px 11px;border-radius:9px;background:#fff6e5;color:#80510c!important;font-size:12px;font-weight:800}
.hc-result-card-copy h3{font-size:clamp(20px,2vw,27px)}
.hc-hotel-page{width:min(1240px,calc(100% - 40px));padding:22px 0 70px;color:#18382d}
.hc-hotel-page h1,.hc-hotel-page h2,.hc-hotel-page h3{color:#18382d}
.hc-hotel-back{margin-bottom:19px}.hc-hotel-back a{color:#176b52;text-decoration:none;font-size:13px;font-weight:800}
.hc-hotel-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:20px}
.hc-hotel-heading .hc-eyebrow{margin:0 0 6px;color:#17785c;font-size:12px}
.hc-hotel-heading h1{margin:0;font-size:clamp(28px,3vw,42px);line-height:1.2}
.hc-hotel-place{margin:8px 0 0;color:#61796f;font-size:14px}.hc-hotel-place span{color:#c79a25}
.hc-hotel-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:150px;gap:9px;overflow:hidden;margin:0 0 28px;border-radius:20px;background:#eff5f1}
.hc-hotel-gallery img{width:100%;height:100%;object-fit:cover}.hc-hotel-gallery img:first-child{grid-column:span 2;grid-row:span 2}
.hc-hotel-gallery.is-single{display:block;height:min(46vw,430px)}.hc-hotel-gallery.is-single img{width:100%;height:100%}
.hc-hotel-overview{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(240px,1fr);gap:22px;margin-bottom:38px}
.hc-hotel-overview section,.hc-hotel-bottom section{padding:23px;border:1px solid #e1eae5;border-radius:18px;background:#fff}
.hc-hotel-overview h2,.hc-hotel-bottom h2{margin:0 0 12px;font-size:19px}.hc-hotel-overview p,.hc-hotel-bottom p{margin:0;color:#61796f;line-height:1.8}
.hc-hotel-facilities{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}.hc-hotel-facilities li{padding:6px 10px;border-radius:8px;background:#f0f5f2;color:#315e4c;font-size:12px}
.hc-hotel-section-heading{margin-bottom:17px}.hc-hotel-section-heading .hc-eyebrow{margin:0 0 4px;color:#17785c}.hc-hotel-section-heading h2{margin:0;font-size:clamp(23px,2.2vw,31px)}.hc-hotel-section-heading p:last-child{margin:6px 0 0;color:#667d73;font-size:13px}
.hc-hotel-datebar{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;align-items:end;gap:12px;margin-bottom:19px;padding:16px;border:1px solid #dfe9e4;border-radius:17px;background:#f9fbfa}
.hc-hotel-datebar .hc-field{min-width:0}.hc-hotel-datebar input{width:100%;min-width:0;max-width:100%}.hc-hotel-datebar .hc-button{height:46px}
.hc-hotel-room-list{display:grid;gap:14px}.hc-hotel-room{display:grid;grid-template-columns:190px minmax(0,1fr) 180px;gap:19px;align-items:stretch;overflow:hidden;min-height:195px;padding:13px;border:1px solid #dfe9e4;border-radius:18px;background:#fff;box-shadow:0 7px 27px rgba(16,45,37,.045)}
.hc-hotel-room-photo{overflow:hidden;min-height:168px;border-radius:12px;background:#eef4f0}.hc-hotel-room-photo img{width:100%;height:100%;object-fit:cover}.hc-hotel-room-photo>span{display:grid;height:100%;place-items:center;color:#6e9785;font-size:55px}
.hc-hotel-room-main{min-width:0;padding:7px 0}.hc-hotel-room-title{display:flex;flex-wrap:wrap;align-items:center;gap:9px}.hc-hotel-room-title h3{margin:0;font-size:20px}.hc-room-status{padding:5px 9px;border-radius:999px;background:#e8f6ef;color:#176b52;font-size:11px;font-weight:850}.hc-hotel-room.is-unavailable .hc-room-status{background:#f2f3f2;color:#7d8782}
.hc-hotel-room-description{display:-webkit-box;overflow:hidden;margin:10px 0;color:#63796f;font-size:13px;line-height:1.6;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.hc-hotel-room-specs{display:flex;flex-wrap:wrap;gap:7px;margin:12px 0 0;padding:0;list-style:none}.hc-hotel-room-specs li{padding:5px 8px;border-radius:7px;background:#f3f6f4;color:#536d61;font-size:11px;font-weight:750}
.hc-hotel-room-booking{display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:5px;padding-block:9px;padding-inline-start:16px;border-inline-start:1px solid #e4ece7;text-align:center}.hc-hotel-room-booking span,.hc-hotel-room-booking small{color:#647c70;font-size:11px}.hc-hotel-room-booking strong{color:#176b52;font-size:21px;white-space:nowrap}.hc-hotel-room-booking .hc-button{width:100%;margin-top:10px}.hc-hotel-room-unavailable{color:#7d8782!important;font-size:15px!important}.hc-hotel-room-booking a:not(.hc-button){color:#176b52;font-size:12px}
.hc-hotel-no-rooms{padding:20px;border:1px solid #e3ebe6;border-radius:12px}.hc-hotel-bottom{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:35px}.hc-hotel-bottom section:only-child{grid-column:1/-1}
.hc-hotel-reviews{margin-top:34px}.hc-hotel-reviews h2{font-size:21px}.hc-hotel-review{margin-top:12px;padding:18px;border:1px solid #e2eae6;border-radius:14px;background:#fff}.hc-hotel-review strong{color:#9b761d}.hc-hotel-review p{color:#536c60;line-height:1.7}.hc-hotel-review small{color:#718479}.hc-hotel-review details{margin-top:12px}.hc-hotel-review summary{color:#176b52;cursor:pointer;font-size:12px}.hc-hotel-review form{display:grid;gap:10px;margin-top:10px}
@media(max-width:900px){.hc-hotel-room{grid-template-columns:145px minmax(0,1fr);gap:13px}.hc-hotel-room-booking{grid-column:1/-1;flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:12px 0 0;border-inline-start:0;border-top:1px solid #e4ece7;text-align:start}.hc-hotel-room-booking .hc-button{width:auto;margin:0}.hc-hotel-overview{grid-template-columns:1fr}}
@media(max-width:760px){.hc-search-results{grid-template-columns:1fr}.hc-search-results>.hc-result-card:only-child{display:flex}.hc-search-results>.hc-result-card:only-child .hc-result-media{height:210px;min-height:0}.hc-hotel-page{width:min(100% - 24px,720px)}.hc-hotel-gallery{grid-auto-rows:105px}.hc-hotel-datebar{grid-template-columns:repeat(2,minmax(0,1fr))}.hc-hotel-datebar .hc-button{grid-column:1/-1}.hc-hotel-heading{align-items:start;flex-direction:column}.hc-hotel-bottom{grid-template-columns:1fr}}
@media(max-width:540px){.hc-hotel-gallery{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:110px}.hc-hotel-gallery img:first-child{grid-column:span 2;grid-row:span 2}.hc-hotel-room{grid-template-columns:1fr;padding:10px}.hc-hotel-room-photo{height:180px}.hc-hotel-room-main{padding:2px 5px}.hc-hotel-room-booking{padding:12px 5px 3px}.hc-hotel-room-booking .hc-button{width:100%}.hc-hotel-datebar{grid-template-columns:1fr}.hc-hotel-datebar .hc-button{grid-column:auto}.hc-hotel-page input[type=date]{min-width:0;max-width:100%;width:100%}}

/* v0.33: service-aware search and compact, content-led result rows. */
.hc-public-hero .hc-search-form{display:block;padding:16px 18px;background:transparent!important}
.hc-public-hero .hc-search-form [hidden]{display:none!important}
.hc-service-picker{display:flex;gap:8px;min-width:0;margin:0 0 15px;padding:0;border:0}
.hc-service-picker label{position:relative;cursor:pointer}
.hc-service-picker input{position:absolute;inset:0;opacity:0;cursor:pointer}
.hc-service-picker span{display:inline-flex;min-height:39px;align-items:center;padding:8px 18px;border:1px solid #d8e5df;border-radius:11px;background:#fff;color:#49675b;font-size:13px;font-weight:800;transition:background .18s,border-color .18s,color .18s}
.hc-service-picker input:checked+span{border-color:#176b52;background:#176b52;color:#fff}
.hc-service-picker input:focus-visible+span{outline:3px solid #d9ad53;outline-offset:2px}
.hc-search-primary{display:grid;grid-template-columns:minmax(180px,1.25fr) repeat(2,minmax(145px,1fr)) minmax(130px,.7fr);gap:12px;align-items:end;min-width:0}
.hc-public-hero .hc-search-primary .hc-button{width:100%;min-height:47px}
.hc-search-filters{margin-top:13px;border-top:1px solid #e3ebe6;padding-top:10px}
.hc-search-filters summary{width:max-content;color:#176b52;cursor:pointer;font-size:12px;font-weight:800}
.hc-search-filter-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:12px}
.hc-search-context{margin:10px 0 0!important;color:#72857b!important;font-size:11px!important}
.hc-search-results{grid-template-columns:minmax(0,1fr);gap:16px}
.hc-search-results>.hc-result-card,.hc-search-results>.hc-result-card:only-child{display:grid;grid-column:auto;grid-template-columns:minmax(220px,29%) minmax(0,1fr);max-width:none;min-height:265px;height:auto}
.hc-search-results .hc-result-media,.hc-search-results>.hc-result-card:only-child .hc-result-media{height:100%;min-height:265px;max-height:350px;aspect-ratio:auto}
.hc-search-results .hc-result-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hc-result-card-body{min-width:0;min-height:265px;padding:20px 24px!important}
.hc-result-card-copy{gap:5px}
.hc-result-card-copy h3{font-size:clamp(20px,2vw,26px)}
.hc-result-rating{min-height:0;font-size:13px;line-height:1}
.hc-result-amenities{margin-top:10px;padding:8px 10px;background:#f5f8f6}
.hc-result-assurance{margin:8px 0 0!important;font-size:11px}
.hc-result-card-footer{align-items:center;margin-top:12px;padding-top:12px;border-top:1px solid #e8eeea}
.hc-result-actions .hc-button{min-height:42px;padding-inline:20px;font-size:12px}
.hc-stock-note{display:flex;align-items:center;gap:10px;max-width:max-content;margin:6px 0 0!important;padding:7px 12px;border:1px solid #f5d9ba;border-radius:11px;background:#fff5eb;color:#884212!important;line-height:1.35}
.hc-stock-note-icon{display:grid;width:30px;height:30px;flex:0 0 30px;place-items:center;border-radius:9px;background:#ef7b35;color:#fff;font-size:16px}
.hc-stock-note strong,.hc-stock-note small{display:block}.hc-stock-note strong{font-size:12px}.hc-stock-note small{margin-top:2px;color:#9d6542;font-size:10px;font-weight:650}
.hc-checkout-grid>.hc-checkout-summary:first-child{border-top:1px solid #dfe9e4}
.hc-checkout-summary h1{margin:0 0 6px;font-size:clamp(23px,2vw,29px);line-height:1.3}
.hc-checkout-service{margin:0 0 16px;color:#587367;font-size:13px;font-weight:700}
.hc-checkout-summary .hc-booking-summary{display:grid;gap:0;margin:0;padding:0;border:0;background:transparent}
.hc-checkout-summary .hc-booking-summary p{display:flex;justify-content:space-between;gap:14px;margin:0;padding:11px 0;border-bottom:1px solid #e8eeea;color:#425d51;font-size:12px}
.hc-checkout-summary .hc-booking-summary span{font-weight:700;text-align:end}
.hc-checkout-summary .hc-booking-summary .hc-checkout-total{align-items:center;border-bottom:0;color:#176b52;font-size:16px}
.hc-checkout-summary .hc-booking-summary .hc-checkout-total strong:last-child{font-size:21px;white-space:nowrap}
.hc-checkout-expiry{margin:10px 0 0!important;color:#6b8075;font-size:11px}
@media(max-width:760px){
    .hc-search-primary{grid-template-columns:repeat(2,minmax(0,1fr))}
    .hc-search-primary .hc-field[data-hc-service-field]{grid-column:1/-1}
    .hc-search-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .hc-search-results>.hc-result-card,.hc-search-results>.hc-result-card:only-child{grid-template-columns:210px minmax(0,1fr)}
    .hc-search-results .hc-result-media,.hc-search-results>.hc-result-card:only-child .hc-result-media{height:100%;min-height:230px;max-height:none}
}
@media(max-width:620px){
    .hc-public-hero .hc-search-form{padding:12px!important;overflow:visible}
    .hc-search-primary,.hc-search-filter-grid{grid-template-columns:1fr}
    .hc-search-primary .hc-field[data-hc-service-field]{grid-column:auto}
    .hc-search-results>.hc-result-card,.hc-search-results>.hc-result-card:only-child{display:flex;flex-direction:column;min-height:0}
    .hc-search-results .hc-result-media,.hc-search-results>.hc-result-card:only-child .hc-result-media{height:190px;min-height:190px;max-height:190px}
    .hc-result-card-body{min-height:0;padding:16px!important}
    .hc-result-card-footer{align-items:stretch;flex-direction:column}
    .hc-result-actions{display:block}.hc-result-actions .hc-button{width:100%}
}

/* v0.34: richer booking summary, room gallery and vehicle detail. */
.hc-public-page-detail{width:min(1380px,calc(100% - 40px))}.hc-public-page-detail .hc-detail-layout{grid-template-columns:minmax(0,1.7fr) minmax(340px,.8fr)}
.hc-room-gallery{margin-top:12px}.hc-room-gallery summary{width:max-content;color:#176b52;cursor:pointer;font-size:12px;font-weight:800}.hc-room-gallery>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:10px}.hc-room-gallery a{display:block;overflow:hidden;height:85px;border-radius:9px}.hc-room-gallery img{width:100%;height:100%;object-fit:cover}
.hc-car-quick-specs{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 0;padding:0;list-style:none}.hc-car-quick-specs li{display:inline-flex;align-items:center;gap:6px;padding:6px 9px;border-radius:9px;background:#f1f7f4;color:#315e50;font-size:11px;font-weight:750}.hc-car-quick-specs svg,.hc-car-facts svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.hc-car-hero{padding:28px 34px;background:#fff;border-color:#dfe9e4}.hc-car-hero::after{display:none}.hc-car-hero h1{font-size:clamp(27px,3vw,42px)}
.hc-car-detail-facts{padding:24px!important}.hc-car-detail-facts h2{margin:0 0 16px}.hc-car-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.hc-car-facts>div{display:grid;grid-template-columns:32px 1fr;column-gap:8px;align-items:center;min-width:0;padding:14px;border:1px solid #e1ebe5;border-radius:13px;background:#f8fbf9}.hc-car-facts svg{grid-row:span 2;width:27px;height:27px;color:#176b52}.hc-car-facts small{color:#6b8074;font-size:11px}.hc-car-facts strong{color:#18392d;font-size:14px;overflow-wrap:anywhere}
.hc-car-addon-cards{display:grid;gap:8px;padding:0;border:0}.hc-car-addon-cards legend{padding:0 0 7px;color:#1b392f;font-weight:800}.hc-car-addon-cards label{display:flex;gap:10px;padding:10px;border:1px solid #dfe9e4;border-radius:12px;background:#fff;cursor:pointer}.hc-car-addon-cards input{flex:0 0 auto}.hc-addon-symbol{display:grid;width:27px;height:27px;flex:0 0 27px;place-items:center;border-radius:8px;background:#eaf5ef;color:#176b52;font-weight:900}.hc-car-addon-cards strong,.hc-car-addon-cards small{display:block}.hc-car-addon-cards strong{color:#18392d;font-size:12px}.hc-car-addon-cards small{margin-top:3px;color:#71847a;font-size:11px}
.hc-checkout-product{display:grid;gap:3px;margin:14px 0;padding:15px;border:1px solid #deebe4;border-radius:14px;background:#f4f9f6}.hc-checkout-product span,.hc-checkout-product small{color:#607a6d;font-size:11px}.hc-checkout-product strong{color:#18392d;font-size:19px}.hc-checkout-extras{display:grid;gap:5px;padding:11px 0;border-bottom:1px solid #e8eeea;color:#425d51;font-size:12px}.hc-checkout-extras span{padding-inline-start:9px;color:#667d70}.hc-checkout-timer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:16px;padding:11px 13px;border-radius:12px;background:#fff5e9;color:#825015;font-size:12px;font-weight:750}.hc-checkout-timer strong{font-variant-numeric:tabular-nums;font-size:20px}.hc-checkout-timer.is-expired{background:#fff0ee;color:#9b3e34}.hc-release-quote-form{margin-top:13px}.hc-release-quote-form button{padding:0;border:0;background:none;color:#176b52;cursor:pointer;text-decoration:underline;font:inherit;font-size:12px;font-weight:800}
@media(max-width:900px){.hc-public-page-detail{width:min(100% - 24px,720px)}.hc-public-page-detail .hc-detail-layout{grid-template-columns:1fr}}
@media(max-width:700px){.hc-car-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.hc-room-gallery>div{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:430px){.hc-car-facts{grid-template-columns:1fr 1fr}.hc-car-facts>div{padding:10px}.hc-car-facts strong{font-size:12px}}

/* v0.35: one coherent car decision page, with inventory kept behind the scenes. */
.hc-car-page{width:min(1200px,calc(100% - 40px));padding-top:22px;padding-bottom:56px;color:#19382e}
.hc-car-page-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.hc-car-page-top>a{color:#176b52;font-size:13px;font-weight:800;text-decoration:none}.hc-car-page-top .hc-currency-switcher{margin:0}
.hc-car-page-heading{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(180px,.55fr);align-items:center;min-height:220px;overflow:hidden;border:1px solid #dce9e2;border-radius:23px;background:#f4f8f5}
.hc-car-page-heading-copy{padding:clamp(22px,3vw,38px)}.hc-car-category{display:inline-flex;padding:6px 12px;border-radius:999px;background:#e2efe8;color:#176b52;font-size:11px;font-weight:800}.hc-car-page-heading h1{margin:12px 0 7px;color:#173a2d;font-size:clamp(29px,3.3vw,44px);line-height:1.2}.hc-car-page-heading p{display:flex;align-items:center;gap:7px;margin:0 0 12px;color:#536b5d;font-size:14px}.hc-car-page-heading small{display:block;color:#73867a;font-size:12px;line-height:1.7}.hc-car-icon{display:inline-block;flex:0 0 auto;width:22px;height:22px;vertical-align:middle}.hc-car-page-photo{height:100%;min-height:220px}.hc-car-page-photo img{display:block;width:100%;height:100%;max-height:330px;object-fit:cover}.hc-car-page-art{display:grid;height:100%;min-height:220px;place-items:center;background:linear-gradient(135deg,#e9f1eb,#f9f8f2)}.hc-car-page-art svg{width:min(70%,220px);fill:none;stroke:#678f78;stroke-width:2.3;stroke-linecap:round;stroke-linejoin:round}.hc-car-page-thumbs{display:flex;gap:8px;margin-top:10px;overflow:auto}.hc-car-page-thumbs img{width:110px;height:72px;flex:0 0 110px;border-radius:10px;object-fit:cover}
.hc-car-page-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(330px,370px);align-items:start;gap:20px;margin-top:20px}.hc-car-page-main{display:grid;gap:16px}.hc-car-page-section,.hc-car-page-notes,.hc-car-reservation{border:1px solid #e0e9e3;border-radius:20px;background:#fff;box-shadow:0 10px 30px rgba(19,57,42,.045)}.hc-car-page-section{padding:24px}.hc-car-section-head{display:flex;align-items:center;gap:10px;margin-bottom:18px}.hc-car-section-head>span{display:grid;width:37px;height:37px;place-items:center;border-radius:11px;background:#e9f4ec;color:#176b52}.hc-car-section-head h2,.hc-car-page-section h2{margin:0;color:#173a2d;font-size:21px}.hc-car-spec-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.hc-car-spec-grid>div{display:grid;grid-template-columns:30px 1fr;grid-template-rows:auto auto;column-gap:8px;align-items:center;min-height:74px;padding:12px;border:1px solid #e5eee7;border-radius:13px;background:#fafcfb}.hc-car-spec-grid .hc-car-icon{grid-row:1/3;width:26px;height:26px;color:#176b52}.hc-car-spec-grid span{color:#718378;font-size:11px}.hc-car-spec-grid strong{color:#183c2d;font-size:14px}.hc-car-feature-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:13px}.hc-car-feature-row span{display:inline-flex;align-items:center;gap:5px;padding:7px 10px;border-radius:999px;background:#ecf5ef;color:#416654;font-size:12px;font-weight:700}.hc-car-feature-row .hc-car-icon{width:17px;height:17px}
.hc-car-page-notes{padding:0 22px}.hc-car-page-notes summary{padding:16px 0;color:#176b52;cursor:pointer;font-size:13px;font-weight:800}.hc-car-page-notes[open]{padding-bottom:17px}.hc-car-page-notes .hc-richtext{font-size:13px}.hc-car-location p{margin:4px 0 13px;color:#4d6659;line-height:1.7}.hc-car-location small{color:#7a8a80}.hc-car-location a{color:#176b52;text-decoration:none}
.hc-car-reservation{position:sticky;top:18px;overflow:hidden;padding:22px}.hc-car-reservation-head>span{color:#c18d30;font-size:11px;font-weight:850}.hc-car-reservation h2{margin:4px 0 6px;color:#19392c;font-size:23px}.hc-car-reservation-head p{margin:0 0 18px;color:#75877b;font-size:12px;line-height:1.6}.hc-car-date-form{display:grid;grid-template-columns:1fr 1fr;gap:8px}.hc-car-date-form .hc-field{min-width:0}.hc-car-date-form .hc-field span{font-size:12px}.hc-car-date-form input[type=date]{width:100%;min-width:0;max-width:100%;font-size:13px}.hc-car-date-form .hc-button{grid-column:1/-1;margin-top:5px}.hc-car-availability{display:flex;align-items:center;gap:7px;margin:17px 0;padding:10px 12px;border-radius:11px;background:#eaf7ef;color:#176b52;font-size:12px;font-weight:800}.hc-car-availability.is-unavailable{background:#fff4ed;color:#9c4d29}.hc-car-availability .hc-car-icon{width:19px;height:19px}.hc-car-quote-form{display:grid;gap:13px}.hc-car-extra-list{display:grid;gap:7px;margin:0;padding:0;border:0}.hc-car-extra-list legend{margin-bottom:9px;color:#19392c;font-size:13px;font-weight:800}.hc-car-extra-list label{display:flex;align-items:center;gap:10px;padding:10px;border:1px solid #e2ebe4;border-radius:11px;cursor:pointer}.hc-car-extra-list label:has(input:checked){border-color:#78b79c;background:#f3faf5}.hc-car-extra-list label span{display:grid;gap:2px}.hc-car-extra-list label strong{font-size:12px}.hc-car-extra-list label small{color:#74857a;font-size:11px}.hc-car-total{display:grid;gap:3px;padding-top:14px;border-top:1px solid #e5ede7}.hc-car-total span,.hc-car-total small{color:#75877a;font-size:11px}.hc-car-total strong{color:#176b52;font-size:27px}.hc-car-quote-form>.hc-button{width:100%}
@media(max-width:900px){.hc-car-page{width:min(100% - 24px,720px)}.hc-car-page-layout{grid-template-columns:1fr}.hc-car-reservation{position:static;order:-1}.hc-car-spec-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.hc-car-page{width:calc(100% - 20px);padding-top:12px}.hc-car-page-heading{grid-template-columns:1fr}.hc-car-page-heading-copy{padding:22px}.hc-car-page-photo,.hc-car-page-art{min-height:150px;max-height:190px}.hc-car-page-section{padding:17px}.hc-car-spec-grid{gap:7px}.hc-car-spec-grid>div{padding:9px;min-height:68px}.hc-car-spec-grid strong{font-size:12px}.hc-car-reservation{padding:18px}.hc-car-date-form{grid-template-columns:1fr}}

/* Room photos stay in a keyboard-accessible in-page viewer. */
.hc-room-gallery{margin-top:12px}.hc-room-gallery-trigger{padding:0;border:0;background:none;color:#176b52;cursor:pointer;font:inherit;font-size:12px;font-weight:800;text-decoration:underline}.hc-room-gallery>div{display:flex;gap:6px;margin-top:8px;overflow:auto}.hc-room-gallery>div button{flex:0 0 76px;width:76px;height:58px;padding:0;overflow:hidden;border:0;border-radius:8px;background:#edf2ee;cursor:pointer}.hc-room-gallery>div img{display:block;width:100%;height:100%;object-fit:cover}.hc-gallery-dialog{width:min(880px,calc(100% - 20px));max-height:calc(100vh - 32px);padding:12px;border:0;border-radius:17px;background:#14241d;color:#fff;box-shadow:0 30px 80px #0007}.hc-gallery-dialog::backdrop{background:rgba(5,20,12,.78)}.hc-gallery-close{display:block;margin-inline-start:auto;border:0;background:none;color:#fff;cursor:pointer;font-size:30px;line-height:1}.hc-gallery-stage{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:7px}.hc-gallery-stage img{display:block;width:100%;max-height:calc(100vh - 150px);object-fit:contain}.hc-gallery-stage button{height:44px;border:0;border-radius:50%;background:#ffffff20;color:#fff;cursor:pointer;font-size:30px}.hc-gallery-dialog p{text-align:center;font-variant-numeric:tabular-nums;font-size:12px}
.hc-hotel-room-photo button{display:block;width:100%;height:100%;padding:0;border:0;background:transparent;cursor:zoom-in}.hc-hotel-room-photo button:focus-visible,.hc-room-gallery button:focus-visible{outline:3px solid #176b52;outline-offset:2px}
.hc-gallery-dialog [data-hc-gallery-caption]{direction:ltr}
.hc-amenity-grid .hc-amenity-icon{width:21px;height:21px;flex:0 0 21px;color:#16805f}.hc-amenity-grid .hc-checkbox span{display:flex;align-items:center;gap:8px}
.hc-business-model-panel{display:grid;gap:18px}.hc-business-model-current{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:14px;padding:18px;border:1px solid #dce9e2;border-radius:16px;background:linear-gradient(135deg,#f2f9f5,#fffaf0)}.hc-business-model-current span{color:#72857a;font-size:12px}.hc-business-model-current strong{color:#173a2d;font-size:18px}.hc-business-model-current b{padding:7px 11px;border-radius:999px;background:#176b52;color:#fff;font-size:13px}.hc-business-request-state{margin:0;padding:10px 13px;border-radius:11px;background:#fff5df;color:#7b5517;font-size:12px;font-weight:800}.hc-business-request-state.is-approved{background:#e8f6ed;color:#176b52}.hc-business-request-state.is-rejected{background:#fff0ee;color:#963c32}@media(max-width:620px){.hc-business-model-current{grid-template-columns:1fr}.hc-business-model-current b{width:max-content}}
