/* =========================================================
   DEMAND CARD
   ========================================================= */
.berovio-single-demand-card {
    margin-top: 16px;
    padding: 22px;
    border: 1px solid #e1e5ea;
    border-radius: 16px;
    background: #ffffff;
    box-shadow: 0 8px 28px rgba(0,0,0,.035);
}

.berovio-single-demand-kicker {
    margin-bottom: 7px;
    color: #858b93;
    font-size: 10px;
    font-weight: 750;
    letter-spacing: .08em;
}

.berovio-single-demand-card h2 {
    margin: 0;
    color: #111111;
    font-size: 18px;
    line-height: 1.25;
}

.berovio-single-demand-intro p {
    margin: 8px 0 16px;
    color: #626a73;
    font-size: 12px;
    line-height: 1.55;
}

.berovio-single-demand-toggle,
.berovio-single-demand-submit {
    width: 100%;
    min-height: 44px;
    border: 0;
    border-radius: 9px;
    background: #0064f8;
    color: #ffffff;
    font-size: 13px;
    font-weight: 750;
    cursor: pointer;
}

.berovio-single-demand-toggle {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 14px;
}

.berovio-single-demand-toggle span:last-child {
    font-size: 20px;
    line-height: 1;
}

.berovio-single-demand-form-wrap {
    margin-top: 20px;
    padding-top: 18px;
    border-top: 1px solid #edf0f3;
}

.berovio-single-demand-form {
    display: grid;
    gap: 13px;
}

.berovio-demand-field {
    display: grid;
    gap: 6px;
}

/* Native hidden must always win over the component display rule. */
.berovio-demand-field[hidden] {
    display: none !important;
}

.berovio-demand-field label {
    color: #30363d;
    font-size: 11px;
    font-weight: 700;
}

.berovio-demand-field input,
.berovio-demand-field select,
.berovio-demand-field textarea {
    width: 100%;
    min-height: 42px;
    padding: 10px 11px;
    border: 1px solid #dfe4ea;
    border-radius: 8px;
    background: #ffffff;
    color: #111111;
    font-size: 12px;
    outline: none;
}

.berovio-demand-field textarea {
    min-height: 108px;
    resize: vertical;
}

.berovio-demand-field input:focus,
.berovio-demand-field select:focus,
.berovio-demand-field textarea:focus {
    border-color: #8ab8ff;
    box-shadow: 0 0 0 3px rgba(0,100,248,.08);
}

.berovio-demand-field select:disabled,
.berovio-demand-field input:disabled {
    background: #f5f7f9;
    color: #9aa2ab;
}

.berovio-demand-price-row {
    position: relative;
}

.berovio-demand-price-row input {
    padding-right: 30px;
}

.berovio-demand-price-row span {
    position: absolute;
    top: 50%;
    right: 12px;
    transform: translateY(-50%);
    color: #858b93;
    font-size: 12px;
    pointer-events: none;
}

.berovio-demand-agreement {
    justify-self: start;
    padding: 7px 11px;
    border: 1px solid #dfe4ea;
    border-radius: 7px;
    background: #ffffff;
    color: #626a73;
    font-size: 11px;
    font-weight: 700;
    cursor: pointer;
}

.berovio-demand-agreement.is-active {
    border-color: #0064f8;
    background: #f3f7ff;
    color: #0064f8;
}

.berovio-demand-notice {
    padding: 13px;
    border: 1px solid #e5e9ee;
    border-radius: 9px;
    background: #f8fafc;
    color: #626a73;
    font-size: 11px;
    line-height: 1.55;
}

.berovio-demand-notice strong {
    color: #30363d;
}

.berovio-demand-notice p {
    margin: 5px 0 0;
}

.berovio-demand-form-message {
    padding: 10px 12px;
    border: 1px solid #f0c5c5;
    border-radius: 8px;
    background: #fff7f7;
    color: #a12a2a;
    font-size: 11px;
    line-height: 1.45;
}

@media (max-width: 600px) {
    .berovio-single-demand-card {
        padding: 18px;
    }
}


/* Demand form — same custom dropdown treatment as the listing form. */
.berovio-single-demand-toggle { display:block; text-align:center; }
.berovio-demand-native-select { position:absolute!important; width:1px!important; height:1px!important; margin:-1px!important; padding:0!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }
.berovio-demand-custom-select { position:relative; width:100%; }
.berovio-demand-custom-select-trigger { position:relative; display:flex; align-items:center; justify-content:space-between; width:100%; height:42px; padding:0 11px; box-sizing:border-box; border:1px solid #dfe4ea; border-radius:8px; background:#fff; color:#111; font-family:inherit; font-size:12px; font-weight:400; text-align:left; cursor:pointer; transition:border-color .2s ease,box-shadow .2s ease; }
.berovio-demand-custom-select-trigger:hover { border-color:#c9cfd6; }
.berovio-demand-custom-select.is-open .berovio-demand-custom-select-trigger,.berovio-demand-custom-select-trigger:focus-visible { outline:none; border-color:#0064f8; box-shadow:0 0 0 3px rgba(0,100,248,.08); }
.berovio-demand-custom-select-value { min-width:0; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
.berovio-demand-custom-select-arrow { flex:0 0 auto; margin-left:12px; color:#777; font-size:17px; line-height:1; transform:translateY(-1px); transition:transform .2s ease,color .2s ease; }
.berovio-demand-custom-select.is-open .berovio-demand-custom-select-arrow { color:#0064f8; transform:rotate(180deg) translateY(1px); }
.berovio-demand-custom-select.is-disabled .berovio-demand-custom-select-trigger { background:#f7f7f7; color:#a1a1a1; cursor:not-allowed; border-color:#e3e3e3; box-shadow:none; }
.berovio-demand-custom-select.is-disabled .berovio-demand-custom-select-arrow { color:#b0b0b0; }
.berovio-demand-custom-select-menu { position:absolute; left:0; right:0; top:calc(100% + 6px); z-index:100; max-height:280px; padding:6px; box-sizing:border-box; overflow-y:auto; border:1px solid #e1e4e8; border-radius:10px; background:#fff; box-shadow:0 12px 30px rgba(0,0,0,.10); opacity:0; visibility:hidden; transform:translateY(-5px); transition:opacity .15s ease,visibility .15s ease,transform .15s ease; }
.berovio-demand-custom-select.is-open .berovio-demand-custom-select-menu { opacity:1; visibility:visible; transform:translateY(0); }
.berovio-demand-custom-select-option { display:flex; align-items:center; justify-content:space-between; width:100%; min-height:38px; padding:8px 10px; box-sizing:border-box; border:0; border-radius:7px; background:transparent; color:#333; font-family:inherit; font-size:12px; text-align:left; cursor:pointer; }
.berovio-demand-custom-select-option:hover,.berovio-demand-custom-select-option.is-selected { background:#f3f7ff; color:#0064f8; }
.berovio-demand-custom-select-option.is-selected { font-weight:600; }
.berovio-demand-custom-select-check { flex:0 0 auto; margin-left:12px; color:#0064f8; font-size:13px; opacity:0; }
.berovio-demand-custom-select-option.is-selected .berovio-demand-custom-select-check { opacity:1; }
.berovio-demand-custom-select-menu::-webkit-scrollbar { width:6px; }
.berovio-demand-custom-select-menu::-webkit-scrollbar-track { background:transparent; }
.berovio-demand-custom-select-menu::-webkit-scrollbar-thumb { background:#d5d5d5; border-radius:10px; }
.berovio-demand-price-row input[type="number"]::-webkit-inner-spin-button,.berovio-demand-price-row input[type="number"]::-webkit-outer-spin-button { -webkit-appearance:none; margin:0; }
.berovio-demand-price-row input[type="number"] { -moz-appearance:textfield; appearance:textfield; }



/* =========================================================
   DEMAND CARD — gentle visual emphasis
   ========================================================= */
.berovio-single-demand-card {
    position: relative;
    border-color: #dbe8fb;
    background: #f8fbff;
    box-shadow: 0 8px 28px rgba(0, 100, 248, .045);
    overflow: hidden;
}

.berovio-single-demand-card::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 3px;
    background: #0064f8;
    opacity: .72;
}

.berovio-single-demand-kicker {
    color: #6d7f96;
}

.berovio-single-demand-card h2 {
    color: #101418;
}

.berovio-single-demand-intro p {
    color: #5f6c7a;
}

.berovio-single-demand-form-wrap {
    border-top-color: #e4edf8;
}

@media (max-width: 600px) {
    .berovio-single-demand-card {
        border-color: #dbe8fb;
        background: #f8fbff;
        box-shadow: 0 6px 22px rgba(0, 100, 248, .04);
    }
}

/* =========================================================
   DEMAND CARD — second-side green Berovio accent
   ========================================================= */
.berovio-single-demand-card::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    width: 3px;
    background: #009668;
    opacity: .62;
    pointer-events: none;
}


/* Shared demand-field details. */
.berovio-demand-required {
    color: #d62f2f;
    font-weight: 800;
}

.berovio-demand-type-field {
    margin-bottom: 12px;
}

/* Demand type selector */
.berovio-demand-type-field { gap:8px; margin-bottom:12px; }
.berovio-demand-checkbox-label { display:inline-flex; align-items:center; gap:10px; min-height:42px; margin:0; padding:8px 13px 8px 10px; box-sizing:border-box; border:1px solid #dfe4ea; border-radius:10px; background:#fff; color:#20252b; font-size:12px; font-weight:700; line-height:1.2; cursor:pointer; transition:border-color .15s ease, background .15s ease, box-shadow .15s ease; }
.berovio-demand-checkbox-label:hover { border-color:#c9d1da; background:#fcfdff; }
.berovio-demand-checkbox-label:has(input:checked) { border-color:#cbdcf7; background:#f7faff; box-shadow:0 2px 8px rgba(0,100,248,.06); }
.berovio-demand-checkbox-label input { position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0; }
.berovio-demand-switch { position:relative; display:inline-flex; align-items:center; width:42px; height:24px; flex:0 0 42px; box-sizing:border-box; border-radius:999px; background:#cfd5dd; box-shadow:inset 0 0 0 1px rgba(17,24,39,.08); transition:background .16s ease, box-shadow .16s ease; }
.berovio-demand-switch-thumb { position:absolute; top:3px; left:3px; width:18px; height:18px; border-radius:50%; background:#fff; box-shadow:0 1px 3px rgba(17,24,39,.24); transition:transform .16s ease; }
.berovio-demand-checkbox-label input:checked + .berovio-demand-switch { background:#0064f8; box-shadow:inset 0 0 0 1px rgba(0,100,248,.12); }
.berovio-demand-checkbox-label input:checked + .berovio-demand-switch .berovio-demand-switch-thumb { transform:translateX(18px); }
.berovio-demand-checkbox-label input:focus-visible + .berovio-demand-switch { outline:2px solid #8ab8ff; outline-offset:2px; }
.berovio-demand-switch-text { display:inline-block; white-space:nowrap; }
.berovio-demand-type-field .berovio-demand-field-hint { margin:2px 0 0; color:#6b7480; font-size:11px; font-weight:400; line-height:1.45; }
.berovio-single-demand-form.is-vehicle-demand .berovio-demand-type-field { margin-bottom:2px; }
.berovio-single-demand-form.is-vehicle-demand > .berovio-demand-field:has(#berovio-demand-category),
.berovio-single-demand-form.is-vehicle-demand > .berovio-demand-field:has(#berovio-demand-subcategory) { display:none !important; }

.berovio-demand-error {
    display: block;
    margin-top: 1px;
    color: #c62828;
    font-size: 10px;
    font-weight: 600;
    line-height: 1.35;
}

.berovio-demand-field.is-invalid input,
.berovio-demand-field.is-invalid select,
.berovio-demand-field.is-invalid textarea,
.berovio-demand-field.is-invalid .berovio-demand-custom-select-trigger {
    border-color: #d96a6a;
    box-shadow: 0 0 0 3px rgba(214, 47, 47, .08);
}

.berovio-demand-field.is-invalid .berovio-demand-custom-select-trigger:focus-visible {
    border-color: #c62828;
    box-shadow: 0 0 0 3px rgba(214, 47, 47, .10);
}


/* =========================================================
   ARCHIVE DEMAND CARD
   ========================================================= */
.berovio-archive-demand-card {
    margin: 22px 0 24px;
    padding: 22px 24px;
    border: 1px solid #e1e5ea;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 6px 22px rgba(0,0,0,.025);
}

.berovio-archive-demand-card .berovio-single-demand-intro {
    display: grid;
    grid-template-columns: minmax(0,1fr) auto;
    grid-template-areas:
        "kicker kicker"
        "heading action"
        "text action";
    column-gap: 28px;
    align-items: center;
}

.berovio-archive-demand-card .berovio-single-demand-kicker { grid-area: kicker; }
.berovio-archive-demand-card h2 { grid-area: heading; max-width: 780px; font-size: 19px; }
.berovio-archive-demand-card .berovio-single-demand-intro p { grid-area: text; margin-bottom: 0; }
.berovio-archive-demand-card .berovio-single-demand-toggle {
    grid-area: action;
    width: 170px;
    min-height: 42px;
    padding: 0 18px;
}

.berovio-archive-demand-card .berovio-single-demand-form-wrap {
    margin-top: 22px;
    padding-top: 22px;
}

.berovio-archive-demand-card .berovio-single-demand-form {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 16px;
    row-gap: 14px;
}

.berovio-archive-demand-card .berovio-demand-type-field,
.berovio-archive-demand-card .berovio-demand-field:has(#berovio-demand-description),
.berovio-archive-demand-card .berovio-demand-notice,
.berovio-archive-demand-card .berovio-demand-form-message,
.berovio-archive-demand-card .berovio-single-demand-submit {
    grid-column: 1 / -1;
}

.berovio-archive-demand-card .berovio-demand-type-field { margin-bottom: 2px; }
.berovio-archive-demand-card .berovio-demand-field { align-content: start; }
.berovio-archive-demand-card .berovio-demand-field:has(#berovio-demand-price) { padding-top: 8px; gap: 3px; }
.berovio-archive-demand-card .berovio-single-demand-submit { margin-top: 2px; }

@media (max-width: 760px) {
    .berovio-archive-demand-card {
        margin: 18px 0 22px;
        padding: 18px;
        border-radius: 12px;
    }

    .berovio-archive-demand-card .berovio-single-demand-intro {
        grid-template-columns: 1fr;
        grid-template-areas:
            "kicker"
            "heading"
            "text"
            "action";
        gap: 0;
    }

    .berovio-archive-demand-card .berovio-single-demand-toggle {
        width: 100%;
        margin-top: 14px;
    }

    .berovio-archive-demand-card .berovio-single-demand-form {
        grid-template-columns: 1fr;
    }

    .berovio-archive-demand-card .berovio-demand-type-field,
    .berovio-archive-demand-card .berovio-demand-field:has(#berovio-demand-description),
    .berovio-archive-demand-card .berovio-demand-notice,
    .berovio-archive-demand-card .berovio-demand-form-message,
    .berovio-archive-demand-card .berovio-single-demand-submit {
        grid-column: auto;
    }
}


/* Search directly inside long brand/model dropdowns. */
.berovio-demand-custom-select[data-searchable="1"] .berovio-demand-custom-select-menu {
    padding: 0;
    overflow: hidden;
}

.berovio-demand-custom-select-search {
    position: sticky;
    top: 0;
    z-index: 2;
    padding: 8px;
    border-bottom: 1px solid #edf0f3;
    background: #fff;
}

.berovio-demand-custom-select-search input {
    display: block;
    width: 100%;
    height: 36px;
    padding: 0 10px;
    box-sizing: border-box;
    border: 1px solid #dfe4ea;
    border-radius: 7px;
    background: #fff;
    color: #20242a;
    font: inherit;
    font-size: 12px;
    outline: none;
}

.berovio-demand-custom-select-search input:focus {
    border-color: #0064f8;
    box-shadow: 0 0 0 3px rgba(0,100,248,.08);
}

.berovio-demand-custom-select-options {
    max-height: 230px;
    padding: 6px;
    overflow-y: auto;
    overscroll-behavior: contain;
}

.berovio-demand-custom-select-option[hidden] {
    display: none !important;
}

.berovio-demand-privacy{margin:0;padding:11px 13px;border-left:3px solid #009668;background:#f6fbf9;color:#52645e;font-size:11px;line-height:1.55;overflow-wrap:anywhere}
.berovio-archive-demand-card .berovio-demand-privacy{grid-column:1/-1}
@media(max-width:760px){.berovio-archive-demand-card .berovio-demand-privacy{grid-column:auto}}

/* Match the payment CTA and keep demand checkout usable at narrow widths. */
.berovio-single-demand-submit { min-height: 50px; white-space: normal; line-height: 1.4; }
.berovio-demand-field { min-width: 0; }
.berovio-demand-notice { overflow-wrap: anywhere; }
@media (max-width: 760px) { .berovio-single-demand-submit { width: 100%; box-sizing: border-box; } }
