.elementor-1609 .elementor-element.elementor-element-4c17ef88{--display:flex;}:root{--page-title-display:none;}/* Start custom CSS *//* ==========================================================
   PSYCHOLOGY / COUNSELLING BOOKING FORM
   PREMIUM BLACK + GOLD
   ========================================================== */

.psy-booking-form {
    --gold: #c9a227;
    --gold-light: #e5c75b;
    --gold-dark: #a98316;
    --black: #080808;
    --black-soft: #101010;
    --field: #151515;
    --field-hover: #191919;
    --border: #333333;
    --text: #f2f2f2;
    --muted: #999999;

    width: 100%;
    max-width: 950px;
    margin: 0 auto;
    padding: 42px;

    color: var(--text);

    background:
        linear-gradient(
            145deg,
            #070707 0%,
            #111111 50%,
            #080808 100%
        );

    border: 1px solid rgba(201, 162, 39, 0.30);
    border-radius: 16px;

    box-shadow:
        0 20px 60px rgba(0,0,0,.45),
        inset 0 1px 0 rgba(255,255,255,.025);

    box-sizing: border-box;
}


/* ==========================================================
   HEADER
   ========================================================== */

.psy-form-header {
    position: relative;
    margin-bottom: 34px;
    padding-bottom: 27px;
    text-align: center;

    border-bottom: 1px solid rgba(201,162,39,.22);
}

.psy-form-header:after {
    content: "";
    position: absolute;

    bottom: -1px;
    left: 50%;

    width: 75px;
    height: 2px;

    transform: translateX(-50%);

    background: linear-gradient(
        90deg,
        transparent,
        var(--gold),
        transparent
    );
}

.psy-form-kicker {
    display: inline-block;

    margin-bottom: 10px;

    color: var(--gold) !important;

    font-size: 11px;
    font-weight: 700;
    letter-spacing: 2.5px;
}

.psy-form-header h3 {
    margin: 0 0 10px !important;

    color: #ffffff !important;

    font-size: 34px;
    line-height: 1.2;
    font-weight: 700;
}

.psy-form-header p {
    max-width: 680px;
    margin: 0 auto !important;

    color: #999999 !important;

    font-size: 14px;
    line-height: 1.75;
}


/* ==========================================================
   FORM GRID
   ========================================================== */

.psy-form-grid {
    display: grid;

    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    gap: 20px;
}

.psy-field {
    width: 100%;
}

.psy-full {
    grid-column: 1 / -1;
}


/* ==========================================================
   LABELS
   ========================================================== */

.psy-booking-form .psy-field > label {
    display: block;

    margin: 0 0 8px !important;

    color: #e5e5e5 !important;

    font-size: 14px;
    font-weight: 600;
}

.psy-booking-form .psy-field > label span {
    color: var(--gold) !important;
}


/* ==========================================================
   ALL CF7 FIELDS
   FORCE DARK STYLE
   ========================================================== */

body .psy-booking-form input[type="text"],
body .psy-booking-form input[type="email"],
body .psy-booking-form input[type="tel"],
body .psy-booking-form input[type="number"],
body .psy-booking-form input[type="date"],
body .psy-booking-form input[type="time"],
body .psy-booking-form select,
body .psy-booking-form textarea {

    width: 100% !important;

    color: #ffffff !important;

    background-color: #151515 !important;
    background: #151515 !important;

    border: 1px solid #333333 !important;
    border-radius: 8px !important;

    box-shadow: none !important;

    font-family: inherit !important;
    font-size: 14px !important;

    box-sizing: border-box !important;

    transition:
        border-color .25s ease,
        background .25s ease,
        box-shadow .25s ease;
}


/* Normal fields height */

body .psy-booking-form input[type="text"],
body .psy-booking-form input[type="email"],
body .psy-booking-form input[type="tel"],
body .psy-booking-form input[type="number"],
body .psy-booking-form input[type="date"],
body .psy-booking-form input[type="time"],
body .psy-booking-form select {

    height: 52px !important;

    padding: 0 15px !important;
}


/* ==========================================================
   TEXTAREA
   ========================================================== */

body .psy-booking-form textarea {

    min-height: 135px !important;

    padding: 14px 15px !important;

    resize: vertical;
}


/* ==========================================================
   PLACEHOLDER
   ========================================================== */

.psy-booking-form input::placeholder,
.psy-booking-form textarea::placeholder {

    color: #707070 !important;

    opacity: 1 !important;
}


/* ==========================================================
   SELECT DROPDOWNS
   ========================================================== */

body .psy-booking-form select {

    color: #ffffff !important;

    background-color: #151515 !important;

    cursor: pointer;

    padding-right: 42px !important;

    -webkit-appearance: none;
    appearance: none;

    background-image:
        linear-gradient(
            45deg,
            transparent 50%,
            #c9a227 50%
        ),
        linear-gradient(
            135deg,
            #c9a227 50%,
            transparent 50%
        ) !important;

    background-position:
        calc(100% - 18px) 23px,
        calc(100% - 13px) 23px !important;

    background-size:
        5px 5px,
        5px 5px !important;

    background-repeat: no-repeat !important;
}

.psy-booking-form select option {
    color: #ffffff !important;
    background: #151515 !important;
}


/* ==========================================================
   FOCUS EFFECT
   ========================================================== */

body .psy-booking-form input:focus,
body .psy-booking-form select:focus,
body .psy-booking-form textarea:focus {

    color: #ffffff !important;

    background: #191919 !important;

    border-color: var(--gold) !important;

    outline: none !important;

    box-shadow:
        0 0 0 3px rgba(201,162,39,.10) !important;
}


/* ==========================================================
   CHROME AUTOFILL FIX
   ========================================================== */

.psy-booking-form input:-webkit-autofill,
.psy-booking-form input:-webkit-autofill:hover,
.psy-booking-form input:-webkit-autofill:focus,
.psy-booking-form textarea:-webkit-autofill {

    -webkit-text-fill-color: #ffffff !important;

    -webkit-box-shadow:
        0 0 0 1000px #151515 inset !important;

    box-shadow:
        0 0 0 1000px #151515 inset !important;

    caret-color: #ffffff !important;
}


/* ==========================================================
   COUNSELLING AREA CHECKBOXES
   ========================================================== */

.psy-booking-form .wpcf7-checkbox {
    display: flex;

    flex-wrap: wrap;

    gap: 10px;
}

.psy-booking-form .wpcf7-list-item {
    margin: 0 !important;
}

.psy-booking-form
.wpcf7-checkbox
.wpcf7-list-item label {

    display: inline-flex;

    align-items: center;

    gap: 8px;

    padding: 10px 14px;

    color: #d6d6d6 !important;

    background: #121212 !important;

    border: 1px solid #303030;

    border-radius: 7px;

    cursor: pointer;

    font-size: 13px;

    transition: all .2s ease;
}

.psy-booking-form
.wpcf7-checkbox
.wpcf7-list-item label:hover {

    color: var(--gold-light) !important;

    border-color: rgba(201,162,39,.65);

    background: #17150f !important;
}


/* Actual checkbox */

.psy-booking-form input[type="checkbox"] {

    width: 16px !important;
    height: 16px !important;

    min-width: 16px;

    accent-color: var(--gold);

    cursor: pointer;
}


/* ==========================================================
   PRIVACY / CONSENT BOX
   ========================================================== */

.psy-privacy-box {

    margin-top: 30px;

    padding: 20px;

    color: #bbbbbb;

    background:
        linear-gradient(
            90deg,
            rgba(201,162,39,.09),
            rgba(201,162,39,.025)
        ) !important;

    border: 1px solid rgba(201,162,39,.25);

    border-left: 3px solid var(--gold);

    border-radius: 8px;
}

.psy-privacy-title {

    margin-bottom: 7px;

    color: var(--gold-light) !important;

    font-size: 15px;

    font-weight: 700;
}

.psy-privacy-box p {

    margin: 0 0 13px !important;

    color: #929292 !important;

    font-size: 13px;

    line-height: 1.65;
}

.psy-privacy-box label {

    display: flex;

    align-items: flex-start;

    gap: 9px;

    color: #c8c8c8 !important;

    font-size: 13px;

    line-height: 1.6;
}


/* ==========================================================
   SUBMIT BUTTON
   ========================================================== */

.psy-submit-row {

    margin-top: 28px;

    text-align: center;
}

body .psy-booking-form input[type="submit"] {

    width: auto !important;

    min-width: 240px;

    padding: 15px 35px !important;

    color: #080808 !important;

    background:
        linear-gradient(
            135deg,
            #e5c75b 0%,
            #c9a227 50%,
            #a98316 100%
        ) !important;

    border: 1px solid #d7b642 !important;

    border-radius: 7px !important;

    font-size: 15px !important;

    font-weight: 700 !important;

    letter-spacing: .2px;

    cursor: pointer;

    box-shadow:
        0 8px 25px rgba(201,162,39,.18) !important;

    transition: all .25s ease;
}

body .psy-booking-form input[type="submit"]:hover {

    transform: translateY(-2px);

    filter: brightness(1.08);

    box-shadow:
        0 12px 30px rgba(201,162,39,.30) !important;
}


/* ==========================================================
   BOTTOM NOTE
   ========================================================== */

.psy-form-note {

    margin-top: 20px;

    padding-top: 17px;

    color: #777777 !important;

    border-top: 1px solid #252525;

    font-size: 12px;

    line-height: 1.65;

    text-align: center;
}

.psy-form-note strong {
    color: var(--gold-light) !important;
}


/* ==========================================================
   CF7 VALIDATION
   ========================================================== */

.psy-booking-form .wpcf7-not-valid-tip {

    margin-top: 6px;

    color: #ff7474 !important;

    font-size: 12px;
}

.psy-booking-form .wpcf7-response-output {

    margin: 22px 0 0 !important;

    padding: 14px 16px !important;

    color: #eeeeee !important;

    background: #111111 !important;

    border-radius: 7px !important;
}


/* ==========================================================
   TABLET
   ========================================================== */

@media (max-width: 768px) {

    .psy-booking-form {

        padding: 30px 22px;

    }

    .psy-form-grid {

        grid-template-columns: 1fr;

    }

    .psy-full {

        grid-column: auto;

    }

    .psy-form-header h3 {

        font-size: 29px;

    }

}


/* ==========================================================
   MOBILE
   ========================================================== */

@media (max-width: 480px) {

    .psy-booking-form {

        padding: 25px 16px;

        border-radius: 10px;

    }

    .psy-form-header h3 {

        font-size: 25px;

    }

    .psy-form-header p {

        font-size: 13px;

    }

    .psy-booking-form .wpcf7-checkbox {

        flex-direction: column;

    }

    .psy-booking-form
    .wpcf7-checkbox
    .wpcf7-list-item label {

        width: 100%;

        box-sizing: border-box;

    }

    body .psy-booking-form input[type="submit"] {

        width: 100% !important;

        min-width: 0;

    }

}

/* ==========================================
   FORCE ALL FORM LABELS / CAPTIONS WHITE
   ========================================== */

.psy-booking-form label,
.psy-booking-form .psy-field > label,
.psy-booking-form .wpcf7-list-item-label,
.psy-booking-form .wpcf7-acceptance label,
.psy-booking-form .wpcf7-checkbox label {
    color: #ffffff !important;
}

/* Required * stays gold */
.psy-booking-form .psy-field > label span {
    color: #c9a227 !important;
}

/* Checkbox text white */
.psy-booking-form .wpcf7-checkbox .wpcf7-list-item-label {
    color: #ffffff !important;
}

/* Consent text white */
.psy-booking-form .wpcf7-acceptance .wpcf7-list-item-label {
    color: #ffffff !important;
}

/* Privacy heading gold */
.psy-booking-form .psy-privacy-title {
    color: #e5c75b !important;
}/* End custom CSS */