/* PRE Core v0.17.0 — shared projects, units and client-facing progress */

.project-progress-translations{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.project-progress-translations section{display:grid;gap:.75rem;padding:1rem;border:1px solid var(--line,#ddd);border-radius:14px;background:#fff}.project-progress-upload{display:flex;gap:1rem;align-items:center;padding:1.2rem;border:1px dashed #b8c7ce;border-radius:14px;background:#f8fbfc;cursor:pointer}.project-progress-upload>span{display:grid}.project-progress-upload small{color:#61727d}.project-progress-upload input{margin-left:auto}.catalog-project-updates{margin-top:1.5rem}.catalog-project-updates>.catalog-section-heading{margin:0 0 1rem}.catalog-progress-update-list{display:grid;gap:.7rem}.catalog-progress-update-list article{display:grid;grid-template-columns:auto 1fr auto;gap:1rem;align-items:start;padding:1rem;border:1px solid #dce4e7;border-radius:14px}.catalog-progress-update-list article>span{padding:.35rem .55rem;border-radius:8px;color:#285b78;background:#eaf2f6;font-size:.78rem;font-weight:800;white-space:nowrap}.catalog-progress-update-list h3{margin:0 0 .25rem}.catalog-progress-update-list p{margin:0;color:#60727d}.catalog-progress-update-list small{display:block;margin-top:.45rem;color:#ad5f30;font-weight:750}.catalog-progress-update-list em{display:flex;gap:.3rem;align-items:center;color:#60727d;font-style:normal;font-weight:800}

@media(max-width:900px){.project-progress-translations{grid-template-columns:1fr}.project-progress-upload{align-items:flex-start;flex-wrap:wrap}.project-progress-upload input{width:100%;margin:0}.catalog-progress-update-list article{grid-template-columns:1fr}.catalog-progress-update-list em{justify-self:start}}

.catalog-page {
    display: grid;
    width: 100%;
    max-width: none;
    gap: clamp(16px, 1.4vw, 24px);
}

.app-main.catalog-page {
    width: 100%;
    max-width: none;
    padding: var(--app-gutter, clamp(16px, 2vw, 38px));
}

.catalog-page > *,
.catalog-project-layout > *,
.catalog-unit-layout > *,
.catalog-form-grid > *,
.catalog-translation-grid > * {
    min-width: 0;
}

.catalog-hero,
.catalog-project-hero,
.catalog-unit-hero {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 28px;
    overflow: hidden;
    padding: clamp(25px, 2.2vw, 38px);
    border: 1px solid rgba(204, 149, 83, 0.42);
    border-radius: 26px;
    color: #fff;
    box-shadow: 0 24px 58px rgba(7, 29, 46, 0.16);
}

.catalog-hero::after,
.catalog-project-hero::after,
.catalog-unit-hero::after {
    position: absolute;
    right: -130px;
    bottom: -245px;
    width: 510px;
    height: 510px;
    border: 1px solid rgba(255, 255, 255, 0.13);
    border-radius: 50%;
    content: "";
}

.catalog-hero > *,
.catalog-project-hero > *,
.catalog-unit-hero > * {
    position: relative;
    z-index: 1;
}

.catalog-hero h1,
.catalog-project-hero h1,
.catalog-unit-hero h1,
.catalog-form-intro h1 {
    margin: 5px 0 8px;
    font-family: var(--font-serif);
    font-size: clamp(37px, 3.2vw, 56px);
    line-height: 1.02;
    letter-spacing: -0.035em;
}

.catalog-hero p,
.catalog-project-hero p,
.catalog-unit-hero p {
    max-width: 850px;
    margin: 0;
    color: rgba(255, 255, 255, 0.82);
    font-size: 15px;
    line-height: 1.65;
}

.catalog-hero .eyebrow,
.catalog-project-hero .eyebrow,
.catalog-unit-hero .eyebrow {
    color: #e1ad70;
}

.catalog-hero__actions,
.catalog-project-hero__actions,
.catalog-unit-hero__actions {
    display: flex;
    flex: 0 0 auto;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 10px;
}

.catalog-hero .button--secondary,
.catalog-project-hero .button--secondary,
.catalog-unit-hero .button--secondary {
    border-color: rgba(255, 255, 255, 0.38);
    background: rgba(255, 255, 255, 0.11);
    color: #fff;
}

.catalog-hero .button--primary,
.catalog-project-hero .button--primary,
.catalog-unit-hero .button--primary {
    border-color: #c98a4c;
    background: linear-gradient(135deg, #c98a4c, #9c5d2d);
}

.catalog-hero--ocean,
.catalog-visual--ocean {
    background: radial-gradient(circle at 88% -15%, rgba(90, 134, 176, 0.5), transparent 35%), linear-gradient(135deg, #071927 0%, #0c3049 64%, #194c68 100%);
}

.catalog-visual--caribbean {
    background: radial-gradient(circle at 88% -15%, rgba(54, 170, 170, 0.42), transparent 35%), linear-gradient(135deg, #071d28 0%, #0b4151 60%, #127083 100%);
}

.catalog-visual--sunset {
    background: radial-gradient(circle at 88% -15%, rgba(234, 167, 93, 0.45), transparent 36%), linear-gradient(135deg, #1b1c29 0%, #493049 62%, #8f542e 100%);
}

.catalog-visual--forest {
    background: radial-gradient(circle at 88% -15%, rgba(169, 192, 126, 0.32), transparent 35%), linear-gradient(135deg, #0d2024 0%, #173f3a 60%, #365e43 100%);
}

.catalog-visual--slate {
    background: radial-gradient(circle at 88% -15%, rgba(140, 160, 177, 0.35), transparent 35%), linear-gradient(135deg, #111b25 0%, #2d3f4e 62%, #516474 100%);
}

.catalog-metrics,
.catalog-project-kpis {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
}

.catalog-metrics > a,
.catalog-project-kpis > article {
    display: grid;
    grid-template-columns: 48px 1fr;
    grid-template-rows: auto auto;
    align-items: center;
    gap: 1px 14px;
    min-height: 88px;
    padding: 16px 19px;
    border: 1px solid #d7dfe4;
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.94);
    color: var(--navy-900);
    text-decoration: none;
    box-shadow: 0 10px 25px rgba(7, 29, 46, 0.055);
}

.catalog-metrics > a {
    transition: transform 160ms ease, box-shadow 160ms ease, border-color 160ms ease;
}

.catalog-metrics > a:hover {
    transform: translateY(-2px);
    border-color: #9eb7c7;
    box-shadow: 0 16px 34px rgba(7, 29, 46, 0.1);
}

.catalog-metrics > a > span,
.catalog-project-kpis > article > span {
    display: grid;
    grid-row: 1 / span 2;
    width: 48px;
    height: 48px;
    place-items: center;
    border-radius: 15px;
    background: #e6f0f5;
    color: #285b7b;
}

.catalog-metrics small,
.catalog-project-kpis small {
    color: #66737e;
    font-size: 13px;
    font-weight: 700;
}

.catalog-metrics strong,
.catalog-project-kpis strong {
    overflow-wrap: anywhere;
    font-family: var(--font-serif);
    font-size: 28px;
    line-height: 1.05;
}

.catalog-filter-bar {
    display: grid;
    grid-template-columns: minmax(250px, 1.8fr) repeat(5, minmax(145px, 0.8fr)) repeat(2, minmax(130px, 0.7fr)) auto auto;
    gap: 9px;
    align-items: center;
    padding: 12px;
    border: 1px solid #d7dfe4;
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.94);
}

.catalog-filter-bar input,
.catalog-filter-bar select {
    width: 100%;
    min-width: 0;
    min-height: 46px;
    padding-right: 42px;
    padding-left: var(--field-content-inset, 15px);
    border: 1px solid #ccd7de;
    border-radius: 12px;
    background-color: #fff;
    color: var(--navy-900);
    font-size: 14px;
}

.catalog-search-field {
    position: relative;
    display: flex;
    align-items: center;
}

.catalog-search-field > .icon {
    position: absolute;
    z-index: 1;
    left: 14px;
    color: #6f808d;
    pointer-events: none;
}

.catalog-search-field input {
    padding-left: 43px;
}

.catalog-filter-bar input:focus,
.catalog-filter-bar select:focus {
    outline: 3px solid rgba(90, 134, 176, 0.16);
    border-color: #5a86b0;
}

.catalog-section-heading {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 24px;
    padding: 8px 3px 0;
}

.catalog-section-heading h2 {
    margin: 3px 0 4px;
    font-family: var(--font-serif);
    font-size: clamp(28px, 2.1vw, 38px);
    color: var(--navy-900);
}

.catalog-section-heading p {
    margin: 0;
    color: #68747d;
    font-size: 14px;
    line-height: 1.55;
}

.catalog-section-heading > strong {
    padding: 8px 13px;
    border-radius: 999px;
    background: #e8f0f5;
    color: #295b7a;
    font-size: 13px;
    white-space: nowrap;
}

.catalog-project-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 330px), 1fr));
    gap: clamp(14px, 1.35vw, 22px);
}

.catalog-project-card {
    display: grid;
    grid-template-rows: 165px 1fr;
    overflow: hidden;
    border: 1px solid #d7dfe4;
    border-radius: 22px;
    background: #fffdfa;
    box-shadow: 0 14px 35px rgba(7, 29, 46, 0.07);
    transition: transform 180ms ease, box-shadow 180ms ease;
}

.catalog-project-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 20px 42px rgba(7, 29, 46, 0.12);
}

.catalog-project-card__visual {
    position: relative;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    overflow: hidden;
    padding: 18px;
    color: #fff;
    text-decoration: none;
}

.catalog-project-card__visual::after {
    position: absolute;
    right: -25px;
    bottom: -62px;
    width: 180px;
    height: 180px;
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: 50%;
    content: "";
}

.catalog-project-card__visual > span {
    display: grid;
    width: 40px;
    height: 40px;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, 0.3);
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.1);
    font-size: 13px;
    font-weight: 800;
}

.catalog-project-card__visual > div {
    display: flex;
    gap: 6px;
}

.catalog-project-card__visual small {
    padding: 5px 8px;
    border-radius: 999px;
    background: rgba(7, 23, 37, 0.46);
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

.catalog-project-card__visual > .icon {
    position: absolute;
    right: 26px;
    bottom: 18px;
    width: 64px;
    height: 64px;
    opacity: 0.2;
}

.catalog-project-card__body {
    display: flex;
    flex-direction: column;
    padding: 24px;
}

.catalog-card-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
}

.catalog-card-badges > span,
.catalog-status {
    display: inline-flex;
    align-items: center;
    min-height: 27px;
    padding: 4px 9px;
    border-radius: 999px;
    background: #edf1f3;
    color: #53616b;
    font-size: 12px;
    font-weight: 800;
}

.catalog-status--available,
.catalog-status--active {
    background: #e3f4ec;
    color: #19704f;
}

.catalog-status--discussion,
.catalog-status--almost_full,
.catalog-status--upcoming {
    background: #fff0df;
    color: #9b5723;
}

.catalog-status--reserved,
.catalog-status--blocked {
    background: #f4e9f4;
    color: #784878;
}

.catalog-status--sold,
.catalog-status--sold_out,
.catalog-status--archived,
.catalog-status--inactive,
.catalog-status--unavailable {
    background: #eceff1;
    color: #5b646b;
}

.catalog-project-card h3 {
    margin: 18px 0 10px;
    font-family: var(--font-serif);
    font-size: 25px;
    line-height: 1.12;
}

.catalog-project-card h3 a {
    color: var(--navy-900);
    text-decoration: none;
}

.catalog-location {
    display: flex;
    align-items: center;
    gap: 7px;
    margin: 0;
    color: #506471;
    font-size: 13px;
    font-weight: 700;
}

.catalog-card-description {
    display: -webkit-box;
    overflow: hidden;
    min-height: 66px;
    margin: 14px 0;
    color: #66747d;
    font-size: 13px;
    line-height: 1.65;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}

.catalog-progress > span {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 7px;
}

.catalog-progress small {
    color: #6a7780;
    font-size: 12px;
    font-weight: 700;
}

.catalog-progress strong {
    font-size: 13px;
}

.catalog-progress > i {
    display: block;
    overflow: hidden;
    height: 6px;
    border-radius: 999px;
    background: #e5ebee;
}

.catalog-progress > i > b {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, #2c6383, #c68042);
}

.catalog-project-card__stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin: 20px 0 24px;
}

.catalog-project-card__stats > span {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 76px;
    padding: 12px;
    border-radius: 12px;
    background: #f2f5f6;
}

.catalog-project-card__stats strong {
    overflow-wrap: anywhere;
    color: var(--navy-900);
    font-size: 14px;
}

.catalog-project-card__stats small {
    margin-top: 6px;
    line-height: 1.4;
    color: #75818a;
    font-size: 11px;
}

.catalog-project-card footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px 16px;
    margin-top: auto;
    padding-top: 20px;
    border-top: 1px solid #e5e8e8;
    font-size: 12px;
    font-weight: 700;
}

.catalog-project-card footer > span,
.catalog-project-card footer > a {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-height: 28px;
}

.catalog-project-card footer > span { color: #687781; }
.catalog-project-card footer > a { color: #275e80; text-decoration: none; }

/* Public actions share the same dimensions and 8px radius as the Share control.
   Keep these rules in the external stylesheet allowed by Content-Security-Policy. */
.catalog-public-actions {
    display: flex;
    align-items: stretch;
    flex-wrap: wrap;
    gap: 12px;
    max-width: 100%;
    min-width: 0;
}

.catalog-public-actions .button,
.catalog-public-actions .pa-share-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: auto;
    height: auto;
    min-width: 0;
    min-height: 44px;
    padding: 10px 12px;
    border-radius: 8px;
    font-family: var(--font-sans);
    font-size: 13px;
    font-weight: 700;
    line-height: 1.35;
    text-align: center;
    text-decoration: none;
    white-space: normal;
}

.catalog-project-card__body > .catalog-public-actions {
    margin-top: 20px;
}

.catalog-project-card .catalog-public-actions > *,
.catalog-unit-card .catalog-public-actions > * {
    flex: 1 1 calc(50% - 6px);
}

.catalog-public-actions .catalog-public-unavailable:disabled {
    opacity: 1;
    cursor: default;
    background: #f3f5f6;
    color: #64727b;
    border-color: #dce2e6;
}

.catalog-unit-card .catalog-unit-card__detail {
    display: flex;
    flex: 1;
    flex-direction: column;
    min-width: 0;
    padding: 0;
    color: inherit;
    text-decoration: none;
}

.catalog-unit-card .catalog-public-actions {
    margin: 20px 0 0;
    padding-top: 20px;
    border-top: 1px solid #e4e8e9;
}

.catalog-table-actions .catalog-public-actions span {
    position: static;
    width: auto;
    height: auto;
    overflow: visible;
    clip: auto;
}

.catalog-table-actions .catalog-public-actions {
    flex-basis: 100%;
}

.catalog-project-hero__actions .catalog-public-actions,
.catalog-unit-hero__actions .catalog-public-actions {
    justify-content: inherit;
}

@media (max-width: 760px) {
    .catalog-real-unit-table td:has(> .catalog-public-actions),
    .catalog-unit-table td:has(.catalog-public-actions) {
        grid-column: 1 / -1;
        display: flex;
        flex-direction: column;
        align-items: stretch;
        gap: 12px;
    }

    .catalog-public-actions {
        width: 100%;
    }

    .catalog-public-actions > .button,
    .catalog-public-actions > .pa-share-button {
        flex: 1 1 auto;
    }
}

.catalog-unit-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr));
    gap: 20px;
}

.catalog-unit-card {
    display: flex;
    min-height: 245px;
    flex-direction: column;
    padding: 22px;
    border: 1px solid #d4dde2;
    border-radius: 18px;
    background: #fff;
    color: var(--navy-900);
    text-decoration: none;
    box-shadow: 0 10px 25px rgba(7, 29, 46, 0.055);
    transition: transform 160ms ease, border-color 160ms ease, box-shadow 160ms ease;
}

.catalog-unit-card:hover {
    transform: translateY(-2px);
    border-color: #8daec1;
    box-shadow: 0 17px 35px rgba(7, 29, 46, 0.105);
}

.catalog-unit-card header,
.catalog-unit-card footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px;
}

.catalog-unit-card__code {
    padding: 7px 9px;
    border-radius: 9px;
    background: var(--navy-900);
    color: #fff;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 0.025em;
}

.catalog-unit-card__detail > div {
    margin: 20px 0;
}

.catalog-unit-card__detail > div small {
    color: #66747d;
    font-size: 12px;
    font-weight: 700;
}

.catalog-unit-card h3 {
    margin: 4px 0;
    font-family: var(--font-serif);
    font-size: 23px;
}

.catalog-unit-card p {
    margin: 0;
    color: #6b7982;
    font-size: 13px;
}

.catalog-unit-card dl {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin: 0 0 22px;
}

.catalog-unit-card dl > div {
    padding: 10px;
    border-radius: 10px;
    background: #f1f5f6;
}

.catalog-unit-card dt { color: #73808a; font-size: 10px; font-weight: 700; }
.catalog-unit-card dd { margin: 2px 0 0; font-size: 13px; font-weight: 900; }

.catalog-unit-card footer {
    margin-top: auto;
    padding-top: 20px;
    border-top: 1px solid #e4e9ea;
}

.catalog-unit-card footer strong { font-family: var(--font-serif); font-size: 21px; }
.catalog-unit-card footer span { display: inline-flex; align-items: center; gap: 4px; color: #2c6585; font-size: 12px; font-weight: 800; }

.catalog-back-link {
    display: inline-flex;
    width: max-content;
    align-items: center;
    gap: 8px;
    color: #2b6383;
    font-size: 14px;
    font-weight: 800;
    text-decoration: none;
}

.catalog-back-link .icon { transform: rotate(180deg); }

.catalog-project-hero,
.catalog-unit-hero {
    align-items: flex-end;
}

.catalog-project-hero__copy { flex: 1 1 620px; }
.catalog-project-hero .catalog-card-badges,
.catalog-unit-hero .catalog-card-badges { margin-bottom: 16px; }
.catalog-project-hero .catalog-card-badges > span,
.catalog-unit-hero .catalog-card-badges > span { border: 1px solid rgba(255,255,255,.17); background: rgba(7,23,37,.44); color: #fff; }

.catalog-progress--hero { max-width: 520px; margin-top: 20px; }
.catalog-progress--hero small,
.catalog-progress--hero strong { color: #fff; }
.catalog-progress--hero > i { background: rgba(255, 255, 255, 0.2); }
.catalog-progress--hero > i > b { background: linear-gradient(90deg, #f1c58f, #c47837); }

.catalog-project-layout,
.catalog-unit-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.65fr) minmax(320px, 0.85fr);
    gap: 18px;
    align-items: start;
}

.catalog-project-story,
.catalog-unit-layout > .content-panel,
.catalog-project-aside > .content-panel,
.catalog-unit-aside > .content-panel,
.catalog-conditions {
    padding: clamp(22px, 2vw, 32px);
    border-radius: 20px;
}

.catalog-project-story h2,
.catalog-unit-layout h2 {
    margin: 7px 0 12px;
    font-family: var(--font-serif);
    font-size: clamp(27px, 2vw, 37px);
}

.catalog-project-story > p,
.catalog-conditions > p {
    color: #586872;
    font-size: 14px;
    line-height: 1.8;
}

.catalog-project-aside,
.catalog-unit-aside {
    display: grid;
    gap: 16px;
}

.catalog-detail-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1px;
    overflow: hidden;
    margin: 24px 0 0;
    border: 1px solid #dde3e5;
    border-radius: 14px;
    background: #dde3e5;
}

.catalog-detail-list > div {
    min-height: 76px;
    padding: 14px;
    background: #fff;
}

.catalog-detail-list dt { color: #73808a; font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: .045em; }
.catalog-detail-list dd { margin: 5px 0 0; color: var(--navy-900); font-size: 14px; font-weight: 800; overflow-wrap: anywhere; }

.catalog-payment-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    margin-top: 14px;
}

.catalog-payment-grid article {
    min-height: 82px;
    padding: 14px;
    border-radius: 13px;
    background: #f0f4f5;
}

.catalog-payment-grid strong { display: block; color: var(--navy-900); font-family: var(--font-serif); font-size: 20px; }
.catalog-payment-grid small { display: block; margin-top: 3px; color: #697680; font-size: 11px; line-height: 1.3; }

.catalog-contact-list {
    display: grid;
    gap: 10px;
    margin: 15px 0 0;
}

.catalog-contact-list > div {
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr);
    gap: 10px;
    align-items: center;
}

.catalog-contact-list > div > .icon {
    width: 38px;
    height: 38px;
    padding: 9px;
    border-radius: 11px;
    background: #e7f0f5;
    color: #2d6484;
}

.catalog-contact-list small,
.catalog-contact-list strong { display: block; }
.catalog-contact-list small { color: #75818a; font-size: 11px; }
.catalog-contact-list strong { margin-top: 2px; font-size: 13px; overflow-wrap: anywhere; }

.catalog-unit-hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
}

.catalog-unit-hero__price {
    display: flex;
    flex-direction: column;
    min-width: 220px;
    padding: 18px 22px;
    border: 1px solid rgba(255,255,255,.22);
    border-radius: 17px;
    background: rgba(7, 23, 37, 0.32);
}

.catalog-unit-hero__price small { color: rgba(255,255,255,.7); font-size: 12px; font-weight: 700; }
.catalog-unit-hero__price strong { margin: 4px 0; font-family: var(--font-serif); font-size: 31px; }
.catalog-unit-hero__price span { color: #e5b67c; font-size: 12px; font-weight: 800; }

.catalog-spec-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 8px;
    margin: 22px 0;
}

.catalog-spec-grid article {
    min-height: 110px;
    padding: 13px;
    border-radius: 14px;
    background: #eff4f5;
}

.catalog-spec-grid article > span {
    display: grid;
    width: 34px;
    height: 34px;
    place-items: center;
    margin-bottom: 10px;
    border-radius: 10px;
    background: #dcebf1;
    color: #2b6383;
}

.catalog-spec-grid strong,
.catalog-spec-grid small { display: block; }
.catalog-spec-grid strong { color: var(--navy-900); font-size: 16px; }
.catalog-spec-grid small { margin-top: 2px; color: #6d7b84; font-size: 11px; line-height: 1.3; }

.catalog-features {
    margin-top: 20px;
    padding: 16px;
    border-left: 4px solid #bf7b3b;
    border-radius: 0 12px 12px 0;
    background: #fbf3e8;
}

.catalog-features strong { color: var(--navy-900); font-size: 13px; }
.catalog-features p { margin: 5px 0 0; color: #64717a; font-size: 13px; line-height: 1.55; }

.catalog-linked-project {
    display: grid;
    grid-template-columns: 64px minmax(0, 1fr) 20px;
    gap: 12px;
    align-items: center;
    color: var(--navy-900);
    text-decoration: none;
}

.catalog-linked-project__visual {
    display: grid;
    width: 64px;
    height: 64px;
    place-items: center;
    border-radius: 16px;
    color: #fff;
}

.catalog-linked-project small,
.catalog-linked-project strong,
.catalog-linked-project span > span { display: block; }
.catalog-linked-project small { color: #72808a; font-size: 11px; }
.catalog-linked-project strong { margin: 3px 0; font-size: 15px; }
.catalog-linked-project span > span { color: #6b7881; font-size: 12px; }
.catalog-linked-project > .icon { color: #386b88; }

.catalog-unit-commercial-card > strong { margin-top: 14px; }
.catalog-unit-commercial-card > p { margin: 11px 0 0; color: #66747e; font-size: 13px; }

.catalog-form-page { max-width: none; }
.catalog-form-intro { padding: clamp(24px, 2.2vw, 38px); }
.catalog-form-intro h1 { color: var(--navy-900); }
.catalog-form-intro p { max-width: 840px; font-size: 14px; line-height: 1.65; }
.catalog-admin-form { display: grid; gap: 18px; }

.catalog-form-section {
    min-inline-size: 0;
    margin: 0;
    padding: 23px 25px 26px;
    border-radius: 20px;
}

.catalog-form-section legend {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 0 8px;
    color: var(--navy-900);
    font-family: var(--font-serif);
    font-size: 23px;
    font-weight: 800;
}

.catalog-form-section legend > span {
    display: grid;
    width: 29px;
    height: 29px;
    place-items: center;
    border-radius: 9px;
    background: var(--navy-900);
    color: #fff;
    font-family: var(--font-sans);
    font-size: 12px;
}

.catalog-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 17px 20px;
    padding-top: 13px;
}

.catalog-form-grid--payment { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.catalog-form-grid--numbers { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.catalog-form-grid__wide { grid-column: 1 / -1; }

.catalog-form-section .field {
    display: grid;
    gap: 7px;
    margin: 0;
}

.catalog-form-section .field > span {
    color: var(--navy-900);
    font-size: 13px;
    font-weight: 800;
}

.catalog-form-section .field input,
.catalog-form-section .field select,
.catalog-form-section .field textarea {
    width: 100%;
    min-height: 48px;
    padding: 12px var(--field-content-inset, 15px);
    border: 1px solid #cbd6dc;
    border-radius: 12px;
    background-color: #fff;
    color: var(--navy-900);
    font-size: 14px;
}

.catalog-form-section .field select { padding-right: 44px; }
.catalog-form-section .field textarea { min-height: 96px; resize: vertical; line-height: 1.55; }
.catalog-form-section .field input:focus,
.catalog-form-section .field select:focus,
.catalog-form-section .field textarea:focus { outline: 3px solid rgba(90,134,176,.16); border-color: #5a86b0; }

.catalog-form-choice { align-self: end; }
.catalog-form-choice > span { min-height: 48px; font-size: 13px; }

.catalog-translation-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 13px;
    padding-top: 13px;
}

.catalog-translation-grid > section {
    display: grid;
    gap: 14px;
    padding: 17px;
    border: 1px solid #d9dfe1;
    border-radius: 15px;
    background: #fafaf9;
}

.catalog-translation-grid header { display: flex; align-items: center; gap: 9px; }
.catalog-translation-grid header > span { padding: 5px 7px; border-radius: 7px; background: var(--navy-900); color: #fff; font-size: 10px; font-weight: 900; }
.catalog-translation-grid header strong { font-size: 13px; }

.catalog-form-actions {
    position: sticky;
    z-index: 4;
    bottom: 12px;
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    padding: 13px;
    border: 1px solid rgba(204, 214, 220, 0.95);
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.94);
    box-shadow: 0 15px 36px rgba(7,29,46,.11);
    backdrop-filter: blur(12px);
}

@media (max-width: 1540px) {
    .catalog-filter-bar {
        grid-template-columns: minmax(250px, 1.7fr) repeat(4, minmax(145px, 0.8fr));
    }
    .catalog-filter-bar > *:nth-last-child(-n + 5) { min-width: 0; }
    .catalog-form-grid--payment,
    .catalog-form-grid--numbers { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 1180px) {
    .catalog-filter-bar { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .catalog-search-field { grid-column: 1 / -1; }
    .catalog-project-layout,
    .catalog-unit-layout { grid-template-columns: 1fr; }
    .catalog-project-aside,
    .catalog-unit-aside { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .catalog-unit-hero { grid-template-columns: minmax(0, 1fr) auto; }
    .catalog-unit-hero__actions { grid-column: 1 / -1; justify-content: flex-start; }
    .catalog-translation-grid { grid-template-columns: 1fr; }
}

@media (max-width: 880px) {
    .catalog-hero,
    .catalog-project-hero,
    .catalog-unit-hero { align-items: flex-start; flex-direction: column; }
    .catalog-unit-hero { display: flex; }
    .catalog-hero__actions,
    .catalog-project-hero__actions,
    .catalog-unit-hero__actions { width: 100%; justify-content: flex-start; }
    .catalog-metrics,
    .catalog-project-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .catalog-filter-bar { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .catalog-search-field { grid-column: 1 / -1; }
    .catalog-project-aside,
    .catalog-unit-aside { grid-template-columns: 1fr; }
    .catalog-spec-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .catalog-form-grid,
    .catalog-form-grid--payment,
    .catalog-form-grid--numbers { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 600px) {
    .app-main.catalog-page { padding: 14px; }
    .catalog-page { gap: 14px; }
    .catalog-hero,
    .catalog-project-hero,
    .catalog-unit-hero { padding: 23px 20px; border-radius: 20px; }
    .catalog-hero h1,
    .catalog-project-hero h1,
    .catalog-unit-hero h1,
    .catalog-form-intro h1 { font-size: clamp(32px, 10vw, 43px); }
    .catalog-hero__actions .button,
    .catalog-project-hero__actions .button,
    .catalog-unit-hero__actions .button { width: 100%; }
    .catalog-metrics,
    .catalog-project-kpis { grid-template-columns: 1fr 1fr; gap: 8px; }
    .catalog-metrics > a,
    .catalog-project-kpis > article { grid-template-columns: 38px 1fr; min-height: 74px; padding: 11px; gap: 1px 9px; border-radius: 14px; }
    .catalog-metrics > a > span,
    .catalog-project-kpis > article > span { width: 38px; height: 38px; border-radius: 11px; }
    .catalog-metrics strong,
    .catalog-project-kpis strong { font-size: 22px; }
    .catalog-metrics small,
    .catalog-project-kpis small { font-size: 11px; }
    .catalog-filter-bar { grid-template-columns: 1fr; padding: 10px; }
    .catalog-search-field { grid-column: auto; }
    .catalog-filter-bar .button { width: 100%; }
    .catalog-section-heading { align-items: flex-start; flex-direction: column; gap: 8px; }
    .catalog-project-grid,
    .catalog-unit-grid { grid-template-columns: 1fr; }
    .catalog-project-card { grid-template-rows: 145px 1fr; }
    .catalog-project-card__stats { grid-template-columns: 1fr 1fr; }
    .catalog-project-card__stats > span:last-child { grid-column: 1 / -1; }
    .catalog-project-card footer { align-items: flex-start; flex-direction: column; }
    .catalog-unit-hero__price { width: 100%; min-width: 0; }
    .catalog-spec-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .catalog-detail-list { grid-template-columns: 1fr; }
    .catalog-payment-grid { grid-template-columns: 1fr 1fr; }
    .catalog-form-section { padding: 19px 15px 21px; }
    .catalog-form-section legend { font-size: 19px; }
    .catalog-form-grid,
    .catalog-form-grid--payment,
    .catalog-form-grid--numbers { grid-template-columns: 1fr; }
    .catalog-form-grid__wide { grid-column: auto; }
    .catalog-form-actions { bottom: 7px; }
    .catalog-form-actions .button { flex: 1 1 50%; }
}

/* V0.14 · catalogue table and controlled imports */
.catalog-section-heading__tools,.catalog-view-switcher,.catalog-price-workspace__header,.catalog-price-workspace__actions,.catalog-table-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.catalog-section-heading__tools{justify-content:flex-end}.catalog-view-switcher{padding:4px;border:1px solid var(--line,#d7dfe2);border-radius:14px;background:#fff}.catalog-view-switcher a{display:flex;align-items:center;gap:7px;padding:9px 12px;border-radius:10px;color:var(--navy,#0b3049);font-weight:750;text-decoration:none}.catalog-view-switcher a.is-active{background:#0d314a;color:#fff}.catalog-price-workspace{padding:0;overflow:hidden}.catalog-price-workspace__header{justify-content:space-between;padding:22px 24px;border-bottom:1px solid var(--line,#d7dfe2)}.catalog-price-workspace__header h3{margin:4px 0;font-size:24px}.catalog-price-workspace__header p{margin:0;max-width:760px}.catalog-price-review-count{padding:8px 12px;border-radius:999px;background:#fff1e7;color:#9b4e1c;font-weight:800}.catalog-price-feedback{min-height:0;padding:0 24px}.catalog-price-feedback.is-success,.catalog-price-feedback.is-error{margin:14px 24px 0;padding:11px 14px;border-radius:12px}.catalog-price-feedback.is-success{background:#e8f6ef;color:#176b4c}.catalog-price-feedback.is-error{background:#fff0f0;color:#9a2d2d}.catalog-unit-table-shell{width:100%;overflow:auto}.catalog-unit-table{width:max(100%,1800px);border-collapse:separate;border-spacing:0;font-size:14px}.catalog-unit-table th{position:sticky;top:0;z-index:2;padding:13px 12px;background:#0d314a;color:#fff;text-align:left;white-space:nowrap}.catalog-unit-table td{padding:12px;border-bottom:1px solid #e4e8e9;vertical-align:middle;background:#fff}.catalog-unit-table tr.is-pending-review td{background:#fffbf4}.catalog-unit-table tr.is-price-dirty td{background:#eef7fb}.catalog-table-unit-link{font-weight:850;color:#0d4e72}.catalog-table-note{max-width:240px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.catalog-quick-price-form{display:flex;align-items:stretch;min-width:190px}.catalog-quick-price-form input{width:135px;min-height:42px;padding:9px 12px;border:1px solid #cbd7dc;border-radius:10px 0 0 10px;font-size:15px}.catalog-quick-price-form button,.catalog-table-actions button,.catalog-table-actions a{display:flex;align-items:center;justify-content:center;gap:6px;min-height:42px;padding:8px 10px;border:1px solid #bdcbd1;background:#fff;color:#0d314a;font-weight:800;text-decoration:none;cursor:pointer}.catalog-quick-price-form button{border-left:0;border-radius:0 10px 10px 0}.catalog-quick-price-form button span,.catalog-table-actions span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.catalog-quick-price-form button:disabled{opacity:.38;cursor:not-allowed}.catalog-price-variation,.catalog-price-change-meta,.catalog-price-review-state{display:block;margin-top:3px;font-size:12px}.catalog-price-variation.is-up{color:#a4541f}.catalog-price-variation.is-down{color:#16825a}.catalog-price-review-state.is-pending{color:#a4541f;font-weight:800}.catalog-source-link{display:inline-flex;align-items:center;gap:6px}.catalog-source-missing{color:#8b959b}.catalog-import-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(430px,1.35fr);gap:18px}.catalog-import-panel{padding:24px}.catalog-import-drop{display:grid;gap:14px}.catalog-import-results{min-height:320px}.catalog-import-table{width:100%;border-collapse:collapse}.catalog-import-table th,.catalog-import-table td{padding:11px;border-bottom:1px solid #e4e8e9;text-align:left}.catalog-import-table th{font-size:13px;text-transform:uppercase;color:#5d6a71}.catalog-import-row--update{background:#fff8ef}.catalog-import-row--unmatched,.catalog-import-row--invalid{background:#fff0f0}.catalog-import-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:16px 0}.catalog-import-summary>div{padding:13px;border:1px solid #dde3e5;border-radius:14px}.catalog-import-summary strong{display:block;font-size:24px;color:#0d314a}.catalog-import-history{margin-top:18px}.catalog-import-history table{width:100%;border-collapse:collapse}.catalog-import-history th,.catalog-import-history td{padding:11px;border-bottom:1px solid #e4e8e9;text-align:left}
@media(max-width:1050px){.catalog-import-layout{grid-template-columns:1fr}.catalog-price-workspace__header{align-items:flex-start;flex-direction:column}}@media(max-width:700px){.catalog-section-heading__tools{align-items:flex-start;justify-content:flex-start;flex-direction:column}.catalog-view-switcher{width:100%}.catalog-view-switcher a{flex:1;justify-content:center}.catalog-unit-table{width:100%;min-width:0}.catalog-unit-table thead{display:none}.catalog-unit-table,.catalog-unit-table tbody,.catalog-unit-table tr,.catalog-unit-table td{display:block}.catalog-unit-table tr{margin:12px;border:1px solid #d9e0e2;border-radius:16px;overflow:hidden}.catalog-unit-table td{display:grid;grid-template-columns:minmax(115px,42%) 1fr;gap:12px;padding:10px 13px}.catalog-unit-table td::before{content:attr(data-label);font-weight:800;color:#55646c}.catalog-quick-price-form{min-width:0}.catalog-import-summary{grid-template-columns:1fr 1fr}}
.catalog-listing-kind{display:block;width:max-content;margin-top:5px;padding:3px 7px;border-radius:999px;background:#f4e7dc;color:#8b461e;font-size:12px;font-weight:800;line-height:1.2}

/* V0.16 · real project dossiers */
.catalog-project-card__visual>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.catalog-project-card__visual>img~*{position:relative;z-index:2}.catalog-project-card__visual:has(>img)::before{position:absolute;inset:0;z-index:1;background:linear-gradient(145deg,rgba(4,22,35,.42),rgba(4,22,35,.08) 48%,rgba(4,22,35,.5));content:""}.catalog-project-hero--photo{min-height:clamp(390px,34vw,560px);align-items:flex-end}.catalog-project-hero__image,.catalog-project-hero__shade{position:absolute!important;inset:0;width:100%;height:100%}.catalog-project-hero__image{z-index:0!important;object-fit:cover}.catalog-project-hero__shade{z-index:0!important;background:linear-gradient(90deg,rgba(4,21,34,.9) 0%,rgba(4,21,34,.64) 46%,rgba(4,21,34,.18) 75%),linear-gradient(0deg,rgba(4,21,34,.72),transparent 58%)}.catalog-project-hero--photo .catalog-project-hero__copy{max-width:820px}.catalog-project-hero--photo .catalog-project-hero__actions{max-width:540px}.catalog-project-hero--photo .catalog-card-badges>span{border-color:rgba(255,255,255,.3);background:rgba(4,25,40,.58);color:#fff;backdrop-filter:blur(8px)}
.catalog-real-highlights{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}.catalog-real-highlights article{display:grid;grid-template-columns:42px minmax(0,1fr);grid-template-rows:auto auto;gap:2px 11px;align-items:center;min-height:94px;padding:15px;border:1px solid #d7dfe4;border-radius:17px;background:#fff;box-shadow:0 10px 24px rgba(7,29,46,.045)}.catalog-real-highlights article>span{display:grid;grid-row:1/span 2;width:42px;height:42px;place-items:center;border-radius:13px;background:#e8f1f5;color:#245a78}.catalog-real-highlights small{color:#6a777f;font-size:12px;font-weight:750}.catalog-real-highlights strong{overflow-wrap:anywhere;color:#0a304a;font-size:15px;line-height:1.25}
.catalog-real-gallery{padding:24px;overflow:hidden}.catalog-real-gallery>.catalog-section-heading{margin:0 0 18px}.catalog-real-gallery__grid{display:grid;grid-template-columns:minmax(0,1.65fr) repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(190px,1fr));gap:10px;min-height:520px}.catalog-real-gallery figure{position:relative;overflow:hidden;margin:0;border-radius:17px;background:#102f43}.catalog-real-gallery figure.is-featured{grid-row:1/span 2}.catalog-real-gallery img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}.catalog-real-gallery figure:hover img{transform:scale(1.025)}.catalog-real-gallery figcaption{position:absolute;right:0;bottom:0;left:0;display:flex;align-items:flex-end;justify-content:space-between;gap:12px;padding:38px 16px 14px;background:linear-gradient(transparent,rgba(3,20,32,.82));color:#fff}.catalog-real-gallery figcaption span{font-weight:850}.catalog-real-gallery figcaption small{font-size:12px;text-transform:uppercase;letter-spacing:.06em}
.catalog-source-panel{display:grid;gap:10px}.catalog-source-panel h3,.catalog-source-panel p{margin:0}.catalog-source-panel p{color:#61717b;line-height:1.55}.catalog-source-panel>small{display:flex;align-items:center;gap:7px;padding:10px 12px;border-radius:11px;background:#f1f5f6;color:#52646e;overflow-wrap:anywhere}.catalog-source-panel .button{width:100%;margin-top:3px}.catalog-real-amenities{padding:24px}.catalog-real-amenities>.catalog-section-heading{margin:0 0 16px}.catalog-real-amenities>div{display:flex;flex-wrap:wrap;gap:9px}.catalog-real-amenities>div>span{display:inline-flex;align-items:center;gap:8px;padding:10px 13px;border:1px solid #d8e1e4;border-radius:999px;background:#f7fafb;color:#153d55;font-size:14px;font-weight:750}.catalog-real-amenities>div>span .icon{color:#a96230}
.catalog-real-unit-heading>div:last-child{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:wrap}.catalog-real-unit-table-shell{padding:0;overflow:auto}.catalog-real-unit-table{width:100%;min-width:1280px;border-collapse:separate;border-spacing:0}.catalog-real-unit-table th{position:sticky;top:0;z-index:2;padding:13px 11px;background:#0d314a;color:#fff;font-size:12px;text-align:left;text-transform:uppercase;letter-spacing:.045em;white-space:nowrap}.catalog-real-unit-table td{padding:12px 11px;border-bottom:1px solid #e2e8ea;background:#fff;color:#314853;vertical-align:middle;white-space:nowrap}.catalog-real-unit-table tbody tr:hover td{background:#f5fafc}.catalog-real-unit-table td:first-child a{display:grid;gap:3px;color:#0d4e72;text-decoration:none}.catalog-real-unit-table td small{display:block;margin-top:3px;color:#718089;font-size:12px}.catalog-real-unit-table .catalog-status{font-size:11px}
@media(max-width:1450px){.catalog-real-highlights{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:980px){.catalog-project-hero--photo{min-height:470px}.catalog-project-hero__shade{background:linear-gradient(0deg,rgba(4,21,34,.94),rgba(4,21,34,.2) 85%)}.catalog-real-gallery__grid{grid-template-columns:1.4fr 1fr;grid-template-rows:repeat(3,minmax(175px,1fr));min-height:680px}.catalog-real-gallery figure.is-featured{grid-row:1/span 3}.catalog-real-highlights{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.catalog-real-gallery{padding:14px}.catalog-real-gallery__grid{display:flex;overflow:auto;min-height:0;scroll-snap-type:x mandatory}.catalog-real-gallery figure,.catalog-real-gallery figure.is-featured{flex:0 0 86%;height:260px;scroll-snap-align:start}.catalog-real-highlights{grid-template-columns:1fr 1fr;gap:8px}.catalog-real-highlights article{grid-template-columns:36px minmax(0,1fr);min-height:82px;padding:11px}.catalog-real-highlights article>span{width:36px;height:36px}.catalog-real-unit-table{display:block;min-width:0}.catalog-real-unit-table thead{display:none}.catalog-real-unit-table tbody{display:grid;gap:10px;padding:10px}.catalog-real-unit-table tr{display:grid;grid-template-columns:1fr 1fr;border:1px solid #dbe3e6;border-radius:15px;overflow:hidden}.catalog-real-unit-table td{display:grid;gap:2px;padding:10px 12px;white-space:normal}.catalog-real-unit-table td::before{content:attr(data-label);color:#64757e;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.catalog-real-unit-table td:first-child{grid-column:1/-1;background:#eef5f8}.catalog-real-unit-table td:nth-last-child(-n+2){background:#fbf7f2}.catalog-real-unit-heading>div:last-child{align-items:flex-start;justify-content:flex-start}.catalog-real-unit-heading .button{width:100%}}
@media(max-width:520px){.catalog-real-highlights{grid-template-columns:1fr}.catalog-real-gallery figure,.catalog-real-gallery figure.is-featured{flex-basis:92%;height:230px}.catalog-real-unit-table tr{grid-template-columns:1fr}.catalog-real-unit-table td:first-child{grid-column:auto}}

/* V0.17 · public-home feature switches */
.catalog-feature-toggle {
    margin: 0;
}

.catalog-feature-toggle button {
    display: flex;
    align-items: center;
    gap: 11px;
    min-height: 48px;
    padding: 7px 12px;
    border: 1px solid rgba(255, 255, 255, .3);
    border-radius: 13px;
    background: rgba(4, 25, 40, .64);
    color: #fff;
    text-align: left;
    cursor: pointer;
    backdrop-filter: blur(9px);
}

.catalog-feature-toggle button > span:last-child {
    display: grid;
    gap: 1px;
}

.catalog-feature-toggle button strong {
    font-size: 13px;
}

.catalog-feature-toggle button small {
    color: rgba(255, 255, 255, .72);
    font-size: 11px;
}

.catalog-feature-toggle__track,
.catalog-feature-choice > i {
    position: relative;
    flex: 0 0 auto;
    width: 43px;
    height: 24px;
    border-radius: 999px;
    background: #73828a;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .2);
    transition: background-color .2s ease;
}

.catalog-feature-toggle__track i,
.catalog-feature-choice > i::after {
    position: absolute;
    top: 3px;
    left: 3px;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 2px 6px rgba(4, 22, 35, .24);
    content: "";
    transition: transform .2s ease;
}

.catalog-feature-toggle.is-active .catalog-feature-toggle__track,
.catalog-feature-choice input:checked + i {
    background: #bd6b38;
}

.catalog-feature-toggle.is-active .catalog-feature-toggle__track i,
.catalog-feature-choice input:checked + i::after {
    transform: translateX(19px);
}

.catalog-feature-toggle--card {
    margin-top: 20px;
    padding-top: 20px;
    border-top: 1px solid #e2e7e8;
}

.catalog-feature-toggle--card button {
    width: 100%;
    border-color: #d6dfe2;
    background: #f4f7f8;
    color: #14384e;
}

.catalog-feature-toggle--card button small {
    color: #65767f;
}

.catalog-feature-toggle--card.is-active button {
    border-color: #dfb08d;
    background: #fff7f0;
}

.catalog-feature-choice {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    min-height: 63px;
    padding: 10px 14px;
    border: 1px solid #cbd6dc;
    border-radius: 13px;
    background: #fff;
    cursor: pointer;
}

.catalog-feature-choice > span {
    display: grid;
    gap: 2px;
}

.catalog-feature-choice strong {
    color: var(--navy-900);
    font-size: 14px;
}

.catalog-feature-choice small {
    color: #63747d;
    font-size: 12px;
    line-height: 1.35;
}

.catalog-feature-choice input {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
}

.catalog-feature-choice:focus-within {
    outline: 3px solid rgba(90, 134, 176, .18);
    outline-offset: 2px;
}

@media (max-width: 600px) {
    .catalog-feature-toggle,
    .catalog-feature-toggle button {
        width: 100%;
    }
}

/* The catalogue filters fit their container independently of the sidebar width. */
.catalog-page .catalog-filter-bar { display:flex; flex-wrap:wrap; gap:12px; padding:16px; }
.catalog-page .catalog-filter-bar > :not([type="hidden"]) { flex:1 1 155px; min-width:0; max-width:100%; }
.catalog-page .catalog-filter-bar .catalog-search-field { flex:2 1 260px; }
.catalog-page .catalog-filter-bar [name="unit_type"] { flex-basis:210px; }
.catalog-page .catalog-filter-bar [name="price_max"] { flex-basis:135px; }
.catalog-page .catalog-filter-bar .button { flex:0 1 auto; padding-inline:18px; }
.catalog-page .catalog-metrics { grid-template-columns:repeat(3,minmax(0,1fr)); }
@media(max-width:640px) {
    .catalog-page .catalog-filter-bar > :not([type="hidden"]),
    .catalog-page .catalog-filter-bar .catalog-search-field { flex-basis:100%; }
    .catalog-page .catalog-filter-bar .button { flex:1 1 120px; }
    .catalog-page .catalog-metrics { grid-template-columns:1fr; }
}
