/* Property Details page – additions to the theme's project-details design */

.ul-property-details-status {
    display: inline-block;
    background-color: var(--ul-primary);
    color: var(--white);
    font-size: 12px;
    font-weight: 500;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    padding: 5px 12px;
    border-radius: 4px;
    margin-bottom: 10px;
}

.ul-property-details-price-label {
    display: block;
    color: #8795A6;
    font-size: 12px;
    letter-spacing: 2px;
    text-transform: uppercase;
    margin-bottom: 4px;
}

.ul-property-details-lists {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px clamp(20px, 2.1vw, 40px);
    margin: clamp(15px, 1.31vw, 25px) 0;
}

.ul-property-details-lists h4 {
    font-size: clamp(16px, 0.95vw, 18px);
    font-weight: 600;
    margin-bottom: 10px;
}

.ul-property-details-lists ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.ul-property-details-lists li {
    position: relative;
    padding-left: 18px;
    margin-bottom: 6px;
}

.ul-property-details-lists li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.65em;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background-color: var(--ul-primary);
}

.ul-property-details-disclaimer {
    font-size: 13px;
    font-style: italic;
    color: #8795A6;
}

.ul-property-details-sidebar-descr {
    font-size: 14px;
    margin-bottom: 20px;
}

.ul-property-details-similar {
    margin-top: clamp(50px, 5.26vw, 100px);
}

.ul-property-details-similar .ul-property-results-heading {
    padding-bottom: clamp(18px, 1.31vw, 25px);
    margin-bottom: clamp(20px, 1.84vw, 35px);
    border-bottom: 1px solid #D5DEEA;
}

@media screen and (max-width: 575px) {
    .ul-property-details-lists {
        grid-template-columns: 1fr;
    }
}

.ul-property-details-back {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    height: 36px;
    padding: 0 14px;
    margin-bottom: clamp(20px, 1.58vw, 30px);
    background-color: var(--white);
    border: 1px solid #D5DEEA;
    border-radius: 6px;
    color: #6B7A8C;
    font-size: 13px;
    transition: 0.3s ease;
}

.ul-property-details-back i {
    font-size: 11px;
    line-height: 1;
}

.ul-property-details-back:hover {
    border-color: var(--ul-primary);
    color: var(--ul-primary);
}

/* ---------- square corners (matches the Properties page) ---------- */
.ul-property-details-page .ul-property-details-back,
.ul-property-details-page .ul-property-details-status,
.ul-property-details-page .ul-project-details-action .icon,
.ul-property-details-page .ul-project-details-img-slider,
.ul-property-details-page .ul-project-details-img-slider .swiper-slide,
.ul-property-details-page .ul-project-details-img-slider img,
.ul-property-details-page .ul-project-details-img-slider-thumb .swiper-slide,
.ul-property-details-page .ul-project-details-img-slider-thumb img,
.ul-property-details-page .ul-slider-nav button,
.ul-property-details-page .ul-project-details-overview-infos,
.ul-property-details-page .ul-project-details-overview-info .icon,
.ul-property-details-page .ul-project-details-sidebar,
.ul-property-details-page .ul-project-details-owner-contact-form input,
.ul-property-details-page .ul-project-details-owner-contact-form textarea,
.ul-property-details-page .ul-project-details-sidebar .ul-btn,
.ul-property-details-page .ul-project,
.ul-property-details-page .ul-project-img,
.ul-property-details-page .ul-project-img img,
.ul-property-details-page .ul-project-tag {
    border-radius: 0;
}

/* ---------- Property Enquiry form (Contact Form 7) in the sidebar ---------- */
.ul-project-details-owner-contact-form .form-group {
    margin: 0;
}

.ul-project-details-owner-contact-form .wpcf7-form-control-wrap {
    display: block;
}

.ul-property-details-page .ul-project-details-owner-contact-form input,
.ul-property-details-page .ul-project-details-owner-contact-form textarea {
    border-radius: 0;
    border-color: #E3E8EF;
    background-color: var(--white);
    transition: border-color 0.25s ease;
}

.ul-property-details-page .ul-project-details-owner-contact-form input:focus,
.ul-property-details-page .ul-project-details-owner-contact-form textarea:focus {
    outline: none;
    border-color: var(--ul-primary);
}

/* reference ID: read-only, filled in for this property */
.ul-project-details-owner-contact-form .form-group--ref label {
    display: block;
    margin-bottom: 6px;
    color: #6B7A8C;
    font-size: 12px;
    letter-spacing: 1.5px;
    text-transform: uppercase;
}

.ul-property-details-page .ul-project-details-owner-contact-form input[readonly] {
    background-color: #FBF8EF;
    border-color: rgba(210, 163, 35, 0.4);
    color: var(--ul-secondary);
    font-weight: 600;
    letter-spacing: 1px;
    cursor: default;
}

/* submit + WhatsApp buttons: full width, square */
.ul-property-details-page .ul-project-details-owner-contact-form .wpcf7-submit {
    width: 100%;
    height: clamp(45px, 2.94vw, 56px);
    margin-bottom: 0;
    background-color: var(--ul-primary);
    border: 1px solid var(--ul-primary);
    color: var(--white);
    font-weight: 500;
    cursor: pointer;
    transition: 0.3s ease;
}

.ul-property-details-page .ul-project-details-owner-contact-form .wpcf7-submit:hover {
    background-color: var(--ul-secondary);
    border-color: var(--ul-secondary);
}

.ul-project-details-owner-contact-form .wpcf7-spinner {
    display: block;
    margin: 10px auto 0;
}

.ul-project-details-wa-btn {
    width: 100%;
    gap: 10px;
    background-color: #25D366;
    border-color: #25D366;
    color: var(--white);
}

.ul-project-details-wa-btn:hover {
    background-color: #1EBE5A;
    border-color: #1EBE5A;
    color: var(--white);
}

/* validation + response messages */
.ul-project-details-owner-contact-form .wpcf7-not-valid-tip {
    margin: -14px 0 14px;
    font-size: 12px;
}

.ul-project-details-owner-contact-form input.wpcf7-not-valid,
.ul-project-details-owner-contact-form textarea.wpcf7-not-valid {
    border-color: #dc3232;
}

.ul-project-details-sidebar .wpcf7 form .wpcf7-response-output {
    margin: 14px 0 0;
    padding: 10px 14px;
    font-size: 13px;
    border-radius: 0;
}

/* ---------- math captcha (DS CF7 Math Captcha) ---------- */
.form-group--captcha .captcha-label {
    display: block;
    margin-bottom: 8px;
    color: #6B7A8C;
    font-size: 12px !important;
    font-weight: 500;
    letter-spacing: 1.5px;
    text-transform: uppercase;
}

.form-group--captcha .dscf7-captcha-container {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px 14px;
}

.form-group--captcha .dscf7-question-container .dscf7_lt {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.form-group--captcha .dscf7_question_text {
    color: var(--ul-black);
    font-size: 14px;
}

.form-group--captcha .dscf7_svg {
    display: block;
    height: 46px;
    width: auto;
    border: 1px solid #E3E8EF;
}

.form-group--captcha .dscf7_refresh_captcha {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border: 1px solid #E3E8EF;
    background-color: var(--white);
    transition: border-color 0.25s ease;
}

.form-group--captcha .dscf7_refresh_captcha:hover {
    border-color: var(--ul-primary);
}

.form-group--captcha .dscf7_captcha_icon {
    width: 18px;
    height: 18px;
    opacity: 0.6;
}

.form-group--captcha .dscf7-answer-container {
    flex: 1 1 140px;
    min-width: 120px;
}

.form-group--captcha .dscf7-answer-container input.dscf7_answer {
    width: 100%;
    margin-bottom: 0;
}

/* math captcha: refresh button sits beside the image (plugin pins it on top of the image) */
.form-group--captcha .dscf7-captcha-container {
    width: 100%;
    max-width: 420px;
    padding: 12px;
    background-color: var(--white);
    border: 1px solid #E3E8EF;
    border-radius: 0;
}

.form-group--captcha .dscf7-captcha-container .dscf7-question-container {
    width: 100%;
}

.form-group--captcha .dscf7-captcha-container span.dscf7_lt {
    display: flex;
    align-items: center;
    gap: 10px;
    position: static;
    font-size: 15px;
}

.form-group--captcha .dscf7-captcha-container .dscf7_question_text {
    padding-right: 0;
    font-size: 15px;
    white-space: nowrap;
}

.form-group--captcha .dscf7-captcha-container .dscf7_svg_wrap {
    margin: 0;
    flex: 0 1 auto;
    min-width: 0;
}

.form-group--captcha .dscf7-captcha-container .dscf7_svg_wrap svg {
    display: block;
    width: 100%;
    max-width: 150px;
    height: 46px;
    padding: 0;
    border: 1px solid #E3E8EF;
    border-radius: 0;
}

.form-group--captcha .dscf7-captcha-container span.dscf7_lt .dscf7_refresh_captcha {
    position: static;
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    margin-left: auto;
}

.form-group--captcha .dscf7-captcha-container span.dscf7_lt .dscf7_refresh_captcha img {
    width: 18px;
    height: 18px;
}

.form-group--captcha .dscf7-captcha-container .dscf7-answer-container {
    width: 100%;
    flex: 1 1 100%;
}

.form-group--captcha .dscf7-captcha-container span.wpcf7-form-control-wrap input {
    height: 46px;
    margin-top: 10px;
    padding: 0 14px;
    border-radius: 0;
    border: 1px solid #E3E8EF;
    background-color: var(--white);
}

.form-group--captcha .dscf7-captcha-container span.wpcf7-form-control-wrap input:focus {
    outline: none;
    border-color: var(--ul-primary);
}
