/*
Theme Name: bds
Description: This is a child theme for Flatsome Theme
Author: UX Themes
Template: flatsome
Version: 3.0
*/
@import url('./assets/css/duan.css');

/*************** ADD CUSTOM CSS HERE.   ***************/
.br-12 {
    border-radius: 12px !important;
}

.nav-line-bottom>li>a:before {
    height: 2px;
}

.banner-header img {
    height: 82px;
    object-fit: cover;
}

.header-bottom .container {
    padding-left: 0;
    padding-right: 0
}

.header-bottom .nav-dropdown {
    padding: 0;
    margin-left: 16px !important;
    border: 1px solid #fff !important;
}

.header-bottom li:not(:first-child) a {
    border-left: 1px solid #eee;
    color: #fff !important;
    padding: 0 20px;
}

.header-bottom .nav-dropdown li a {
    padding-top: 9px !important;
    padding-bottom: 9px !important;
    border-bottom: 1px dashed #bababa !important;
    color: #fff;
    font-size: 13px;
    opacity: 1;
    padding-left: 10px !important;
    padding-right: 10px !important
}

.header-bottom .nav-dropdown li a:hover {
    background: #f07a3e !important;
}

.section-title.section-title-normal {
    border-bottom: none;
}

.section-title.section-title-normal .section-title-main {
    padding-bottom: 0;
    border-bottom: none;
    text-transform: none;
    font-size: 24px;
}

.section-title.section-title-normal a {
    color: #E03C31;
    font-weight: normal;
    font-size: 14px;
}

.prj-card .col-inner {
    border: 1px solid #F2F2F2;
    box-shadow: 0px 4px 6px 0px rgba(44, 44, 44, 0.04);
    border-radius: 4px;
    overflow: hidden;
}

.prj-card-title a {
    font-weight: 700;
    font-size: 16px;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    display: -webkit-box;
    overflow: hidden;
}

.prj-card-price {
    display: flex;
    font-weight: 700;
}

.prj-card-price .prj-card-price-value {
    margin-left: 6px;
    color: #E03C31;
}

.prj-card img {
    width: 100%;
    height: 160px;
    object-fit: cover;
}

.news-container {
    max-width: 100%;
    margin: 20px 0;
}

.news-header {
    background: #f07a3e;
    color: white;
    text-align: center;
    padding: 10px;
    margin-bottom: 0;
    border-top-right-radius: 8px;
    border-top-left-radius: 8px;
}

.news-header h2 {
    margin: 0;
    font-size: 14px;
    font-weight: bold;
    text-transform: uppercase;
    color: #fff;
}

.news-list {
    border: 1px solid #ddd;
    border-top: none;
}

.news-item {
    display: flex;
    padding: 15px;
    border-bottom: 1px dotted #ccc;
    align-items: flex-start;
}

.news-item:last-child {
    border-bottom: none;
}

.news-thumbnail {
    width: 80px;
    height: 60px;
    margin-right: 15px;
    flex-shrink: 0;
}

.news-thumbnail img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 4px;
}

.no-image {
    width: 100%;
    height: 100%;
    background: #f0f0f0;
    border-radius: 4px;
}

.news-content h3 {
    margin: 0;
    font-size: 14px;
    line-height: 1.4;
}

.news-content h3 a {
    color: #333;
    text-decoration: none;
}

.news-content h3 a:hover {
    color: #E03C31;
}

.partner-logos .col-inner .box-image {
    padding: 10px;
}

.partner-logos .col-inner .box-image img {
    height: 100px;
    object-fit: contain;
}

.partner-logos .col-inner {
    border: 1px solid #F2F2F2;
    box-sizing: border-box;
    box-shadow: 0px 4px 6px rgba(44, 44, 44, 0.04);
    border-radius: 4px;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #fff;
}

.ft-title {
    color: #2C2C2C;
    font-weight: 700;
    line-height: 22px;
    font-size: 14px;
    margin-bottom: 12px;
}

.form-lien-he {
    border: 1px solid #f07a3e;
    padding: 20px;
    border-radius: 8px;
    background: #eee;
}

#footer a {
    font-size: 14px;
}

.icon.viber img {
    width: 2.5em;
    height: auto;
}

.icon.zalo img {
    width: 20px;
}

.icon.viber {
    border: none;
}

.social-icons #icon-zalo {
    background-color: #015fe6 !important;
    border: none;
}

.footer-wrapper input,
.footer-wrapper textarea {
    margin-bottom: 6px;
    border-radius: 8px;
    box-shadow: none;
}

.footer-wrapper .wpcf7-submit {
    font-weight: 700;
    text-transform: capitalize;
}

/* ==================================================================== */
.page-header-wrapper .page-title-inner {
    flex-direction: column-reverse;
    align-items: start;
    justify-content: start !important;
}

.page-header-wrapper .title-content {
    margin-left: 0;
}

.page-header-wrapper .page-breadcrumbs {
    text-transform: none;
    font-weight: 300;
    font-size: 15px;
}

.page-header-wrapper .page-breadcrumbs a {
    color: #2c3e50;
    font-weight: 600;
}

/* style Ký gửi nhà đất */
.real-estate-form {
    max-width: 600px;
    margin: 0 auto;
    padding: 20px;
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}

.real-estate-form__title {
    text-align: center;
    color: #2c3e50;
    margin-bottom: 30px;
    font-size: 24px;
    font-weight: bold;
}

.real-estate-form__field {
    font-weight: 600;
    color: #34495e;
}

.real-estate-form__field input[type="text"],
.real-estate-form__field input[type="tel"],
.real-estate-form__field input[type="email"],
.real-estate-form__field input[type="number"],
.real-estate-form__field select,
.real-estate-form__field textarea {
    width: 100%;
    border: 1px solid #ddd;
    box-shadow: none;
    border-radius: 4px;
    font-size: 14px;
    margin-top: 5px;
    box-sizing: border-box;
    transition: border-color 0.3s ease;
}

.real-estate-form__field input:focus,
.real-estate-form__field select:focus,
.real-estate-form__field textarea:focus {
    outline: none;
    border-color: #3498db;
}

.real-estate-form__field textarea {
    min-height: 80px;
    resize: vertical;
}

.real-estate-image {
    margin-top: 5px;
    padding: 8px;
    border: 1px dashed #ddd;
    border-radius: 4px;
    width: 100%;
    box-sizing: border-box;
}
.real-estate-image input{
    margin: 0;
    text-transform: none;
}
.real-estate-form__file-note {
    color: #7f8c8d;
    font-size: 12px;
    display: block;
    margin-top: 5px;
}

.real-estate-form__image-preview {
    margin-bottom: 15px;
    padding: 15px;
    background: #f8f9fa;
    border-radius: 4px;
    border: 1px solid #e9ecef;
}

.real-estate-form__preview-title {
    margin: 0 0 15px 0;
    color: #495057;
    font-size: 14px;
    font-weight: 600;
}

.real-estate-form__preview-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
    gap: 10px;
}

.real-estate-form__preview-item {
    position: relative;
    background: #fff;
    border-radius: 4px;
    overflow: hidden;
    border: 1px solid #dee2e6;
}

.real-estate-form__preview-image {
    width: 100%;
    height: 80px;
    object-fit: cover;
    display: block;
}

.real-estate-form__preview-name {
    padding: 8px;
    font-size: 11px;
    color: #6c757d;
    text-align: center;
    word-break: break-all;
    line-height: 1.2;
}

.real-estate-form__preview-remove {
    margin: 0;
    position: absolute;
    top: 5px;
    right: 5px;
    background: rgba(220, 53, 69, 0.8);
    color: white;
    border: none;
    border-radius: 50%;
    width: 20px;
    height: 20px;
    font-size: 12px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.2s ease;
}

.real-estate-form__preview-remove:hover {
    background: rgba(220, 53, 69, 1);
}

.real-estate-form__submit {
    background: #2c3d50 !important;
    color: white !important;
    border: none !important;
    border-radius: 4px !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    text-transform: none !important;
}

.real-estate-form__submit:hover {
    background: #c0392b !important;
}

/* Required field indicator */
.real-estate-form__field:after {
    content: "";
}

.real-estate-form__field:has([required]):after,
.real-estate-form__field:has([name*="*"]):after {
    content: " *";
    color: #e74c3c;
}

/* Responsive */
@media (max-width: 768px) {
    .real-estate-form {
        margin: 10px;
        padding: 15px;
    }

    .real-estate-form__title {
        font-size: 20px;
    }

    .real-estate-form__preview-grid {
        grid-template-columns: repeat(auto-fill, minmax(100px, 1fr));
        gap: 8px;
    }

    .real-estate-form__preview-image {
        height: 60px;
    }
}

.rank-math-breadcrumb {
    font-size: 14px;
}

.rank-math-breadcrumb a {
    color: #2c3d50;
    font-weight: 600;
}

.rank-math-breadcrumb a:hover {
    text-decoration: underline;
}

.blog-archive #post-list .post-item .col-inner {
    border-bottom: 1px solid #eee;
    padding-bottom: 30px;
}

.widget_media_image img {
    width: 100%;
}

.widget_media_image a+a {
    display: block;
    margin-top: 10px;
}

@media only screen and (max-width: 48em) {

    /*************** ADD MOBILE ONLY CSS HERE  ***************/
    #masthead {
        box-shadow: rgba(149, 157, 165, 0.2) 0px 8px 24px;
    }

    .title-1202102675 {
        max-width: 100% !important;
    }
	.consultation-form{
    flex-direction: column;
}

}

.wkd-most-viewed li {
    display: flex;
}

.wkd-most-viewed li+li {
    border-top: 1px solid #eff1f5;
    padding: 15px 0;
    margin-bottom: 0;
}

.wkd-most-viewed li a {
    font-size: 14px;
    line-height: 1.4;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
}

.wkd-number {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 12px;
    font-size: 12px;
    width: 24px;
    height: 24px;
    background: #ffeceb;
    border-radius: 100px;
    margin: 0 10px 0 0;
    font-weight: 400;
    line-height: 22px;
    color: #961b12;
}

#secondary aside {
    border: 1px solid #eff1f5;
    border-radius: 8px;
    padding: 10px;
}

#secondary .is-divider {
    max-width: 100%;
    height: 1px;
}

.widget-title {
    text-transform: none;
}

.image_365199703 img {
    border-radius: 12px;
}

/* Recruitment Form Styles - BEM Methodology */
.recruitment-form {
    max-width: 800px;
    margin: 0 auto;
    background: #ffffff;
    border-radius: 12px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
    overflow: hidden;
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

.recruitment-form__header {
    background: linear-gradient(356deg, #2c3d50 0%, #f07a3e 100%);
    padding: 2rem;
    text-align: center;
    color: white;
}

.recruitment-form__title {
    margin: 0 0 0.5rem 0;
    font-size: 1.75rem;
    font-weight: 600;
    letter-spacing: -0.02em;
    color: #fff;
}

.recruitment-form__subtitle {
    margin: 0;
    opacity: 0.9;
    font-size: 0.95rem;
}

.recruitment-form__body {
    padding: 2rem;
}

.recruitment-form__row {
    display: flex;
    gap: 1rem;
}

.recruitment-form__row--half .recruitment-form__field {
    flex: 1;
}

.recruitment-form__field {
    display: flex;
    flex-direction: column;
    flex: 1;
}

.recruitment-form__field--checkbox {
    flex-direction: row;
    align-items: flex-start;
}

.recruitment-form__label {
    color: #374151;
    font-weight: 500;
    margin-bottom: 0.5rem;
    font-size: 0.875rem;
    letter-spacing: 0.01em;
}

.recruitment-form .recruitment-form__input,
.recruitment-form .recruitment-form__select,
.recruitment-form .recruitment-form__textarea {
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    font-size: 0.95rem;
    transition: all 0.2s ease;
    background: #fafafa;
    box-shadow: none;
}

.recruitment-form__input:focus,
.recruitment-form__select:focus,
.recruitment-form__textarea:focus {
    outline: none;
    border-color: #667eea;
    background: #ffffff;
    box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1);
}

.recruitment-form__textarea {
    resize: vertical;
    min-height: 100px;
    font-family: inherit;
}

.recruitment-form__select {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3e%3c/svg%3e");
    background-position: right 0.75rem center;
    background-repeat: no-repeat;
    background-size: 1.25rem;
    padding-right: 2.5rem;
    cursor: pointer;
}

.recruitment-form__checkbox {
    width: 15px;
    height: 15px;
    accent-color: #667eea;
    cursor: pointer;
    margin: 0;
}

.recruitment-form__checkbox-label {
    font-size: 0.875rem;
    color: #6b7280;
    line-height: 1.4;
    cursor: pointer;
}

.recruitment-form__checkbox-label a {
    color: #667eea;
    text-decoration: none;
}

.recruitment-form__checkbox-label a:hover {
    text-decoration: underline;
}

.recruitment-form__footer {
    margin-top: 2rem;
    text-align: center;
}

.recruitment-form .recruitment-form__submit {
    background: #2c3d50;
    color: white;
    border: none;
    border-radius: 8px;
    font-size: 1rem;
    font-weight: 500;
    transition: all 0.2s ease;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    min-width: 200px;
}

.recruitment-form .recruitment-form__submit:hover {
    transform: translateY(-1px);
    box-shadow: 0 8px 25px rgba(102, 126, 234, 0.3);
}

.recruitment-form__submit:active {
    transform: translateY(0);
}

/* Responsive Design */
@media (max-width: 768px) {
    .recruitment-form {
        border-radius: 8px;
    }

    .recruitment-form__header {
        padding: 1.5rem;
    }

    .recruitment-form__title {
        font-size: 1.5rem;
    }

    .recruitment-form__body {
        padding: 1.5rem;
    }

    .recruitment-form__row--half {
        flex-direction: column;
        gap: 0;
    }
}

/* Contact Form 7 Error Styles */

.wpcf7-not-valid {
    border-color: #ef4444 !important;
    background-color: #fef2f2 !important;
}

.wpcf7-validation-errors {
    background: #fef2f2;
    border: 1px solid #fca5a5;
    border-radius: 6px;
    padding: 1rem;
    margin: 1rem 0;
    color: #dc2626;
    font-size: 0.875rem;
}

.wpcf7-mail-sent-ok {
    background: #f0fdf4;
    border: 1px solid #86efac;
    border-radius: 6px;
    padding: 1rem;
    margin: 1rem 0;
    color: #166534;
    font-size: 0.875rem;
}

.recruitment-form span.wpcf7-list-item {
    margin-right: 0;
}

.archive-taxonomy-loai-bds .wkd-most-viewed li a {
    font-weight: bold;
}

.title-1202102675 .section-title {
    border-bottom: 0.5px solid #000;
    padding-bottom: 10px;
}

/* ================================== */

.listing-header {
    margin-bottom: 30px;
    border-bottom: 2px solid #ddd;
    padding-bottom: 15px;
}

.page-title {
    font-size: 28px;
    font-weight: bold;
    color: #333;
    margin: 0 0 10px 0;
}

.breadcrumb {
    color: #666;
    font-size: 14px;
}

.breadcrumb a {
    color: #007cba;
    text-decoration: none;
}

.properties-container {
    display: flex;
    flex-direction: column;
}

.property-item {
    overflow: hidden;
    border-bottom: 1px dotted #ccc;
    padding-bottom: 15px;
    margin-bottom: 15px;
}

.property-content {
    display: flex;
    align-items: flex-start;
    padding: 0;
}

.property-image {
    position: relative;
    flex-shrink: 0;
    width: 30%;
    height: auto;
}

.property-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 12px;
}

.vip-badge {
    position: absolute;
    top: 10px;
    left: 10px;
    background: #e74c3c;
    color: white;
    padding: 4px 8px;
    border-radius: 4px;
    font-size: 12px;
    font-weight: bold;
}

.property-details {
    padding: 0 20px;
    flex: 1;
}

.vip-icon {
    background: #e74c3c;
    color: white;
    padding: 2px 6px;
    border-radius: 3px;
    font-size: 11px;
    font-weight: bold;
}

.title-link {
    color: #2c3d50;
    font-size: 16px;
    font-weight: 700;
}

.title-link:hover {
    color: #c0392b;
}

.property-description {
    color: #555;
    line-height: 1.6;
    font-size: 14px;
}

.property-meta {
    display: flex;
    gap: 30px;
    flex-wrap: wrap;
    font-size: 14px;
    padding-top: 5px;
    margin-top: 5px;
}

.meta-item {
    display: flex;
    align-items: center;
    gap: 5px;
}

.meta-label {
    color: #777;
    font-weight: normal;
}

.meta-value {
    font-weight: bold;
}

.price-value {
    color: #e74c3c;
}

.area-value {
    color: #f39c12;
}

.location-value {
    color: #3498db;
}

#header .slider.slider-nav-circle.slider-nav-large.slider-nav-light {
    width: 750px;
}

@media only screen and (max-width: 48em) {
    .property-content {
        flex-direction: column;
    }

    .property-image {
        width: 100%;
        height: auto;
    }

    .property-details {
        padding: 15px 0;
    }

    .property-meta {
        gap: 10px;
    }
}

.single .post-thumbnail {
    margin-bottom: 15px;
}

/* ============================================================== */
.consultation-form {
    display: flex;
    gap: 10px;
}
.consultation-form-collum .consultation-form{
    flex-direction: column;
}
.consultation-field {
    position: relative;
}

.consultation-field img {
    width: 18px;
    height: auto;
    position: absolute;
    left: 10px;
    top: 50%;
    transform: translateY(-50%);
    z-index: 100;
    padding-bottom: 1em;
}

.consultation-field input {
    padding-left: 34px;
    box-shadow: none;
    border: 1px solid #000;
    height: 45px;
}

.consultation-submit {
    text-align: center;
    margin-top: 20px;
}

.consultation-submit input {
    margin: 0;
    background: #fd8e3f;
    font-weight: 600;
    border-radius: 6px;
}

/* ============================================================ */
.archive-mbct {
    padding-bottom: 0;
}

.archive-taxonomy-loai-bds .post-thumbnail {
    margin-bottom: 15px;
}

.featured-news-container {
    display: flex;
    gap: 30px;
    max-width: 100%;
    margin: 20px 0;
}

.featured-post {
    flex: 1;
    max-width: 60%;
}

.featured-image {
    margin-bottom: 15px;
}

.featured-image img {
    width: 100%;
    height: auto;
    border-radius: 8px;
}

.featured-content h2 {
    font-size: 28px;
    line-height: 1.3;
    margin: 0 0 10px 0;
    color: #333;
}

.featured-content h2 a {
    text-decoration: none;
    color: inherit;
}

.featured-content h2 a:hover {
    color: #0066cc;
}

.post-meta {
    color: #666;
    font-size: 14px;
}

.post-time:before {
    content: "🕐 ";
}

.sidebar-posts {
    flex: 1;
    max-width: 40%;
}

.sidebar-post {
    padding: 15px 0;
    border-bottom: 1px solid #eee;
}

.sidebar-post:last-child {
    border-bottom: none;
}

.sidebar-post h3 {
    margin: 0;
    font-size: 16px;
    line-height: 1.4;
}

.sidebar-post h3 a {
    text-decoration: none;
    color: #333;
}

.sidebar-post h3 a:hover {
    color: #0066cc;
}

/* Responsive */
@media (max-width: 768px) {
    .featured-news-container {
        flex-direction: column;
        gap: 20px;
    }

    .featured-post,
    .sidebar-posts {
        max-width: 100%;
    }

    .featured-content h2 {
        font-size: 22px;
    }
}