/* ===== Buzcom additions on top of the HTML template ===== */

/* homepage content wrapper coming from the page editor */
.buzcom-homepage-content > p:empty, .buzcom-homepage-content > div:empty { display: none; }
.buzcom-homepage-content > p { margin: 0; }

/* blog slider: keep the design ratio whatever the uploaded image size */
.single-blog-area-one .bottom-details .thumbnail img { width: 100%; aspect-ratio: 413 / 306; object-fit: cover; }

/* header: cart icon (inner pages) */
.header-transparent .action-area { display: flex; align-items: center; gap: 0; }
.buzcom-header-icon { position: relative; color: #fff; font-size: 20px; margin-right: 22px; display: inline-flex; }
.buzcom-header-icon:hover { color: #fff; opacity: .8; }
.buzcom-header-icon .buzcom-count {
    position: absolute; top: -8px; right: -12px; min-width: 18px; height: 18px; padding: 0 4px;
    border-radius: 9px; background: #fff; color: #20282D; font-size: 11px; line-height: 18px; text-align: center; font-weight: 700;
}

/* third-level dropdown (menu with 3 levels) */
.nav-area ul li.main-nav .submenu li.buzcom-sub-dropdown { position: relative; }
.nav-area ul li.main-nav .submenu li.buzcom-sub-dropdown > .buzcom-third-level {
    left: 100%; top: 0; min-width: 220px;
}
.nav-area ul li.main-nav .submenu li.buzcom-sub-dropdown:hover > .buzcom-third-level {
    opacity: 1; visibility: visible; transform: none; display: block;
}

/* hero language links */
.banner-seven-swiper-wrapper .language-area a { color: inherit; }

/* inner pages: automatic page title (V2 light banner) */
.buzcom-page-title { background-size: cover; background-position: center; }
.buzcom-page-title .title-area-left .title { margin-bottom: 10px; }
.buzcom-breadcrumb { list-style: none; padding: 0; margin: 0; display: flex; justify-content: center; flex-wrap: wrap; gap: 10px; position: relative; z-index: 5; }
.buzcom-breadcrumb li, .buzcom-breadcrumb li a { color: #5D666F; font-size: 16px; margin: 0; }
.buzcom-breadcrumb li.sep i { font-size: 11px; }
.buzcom-breadcrumb li.active { color: #20282D; font-weight: 600; }
.buzcom-inner-content { min-height: 200px; }
.buzcom-inner-content .section { padding: 100px 0; }

/* appointment form messages */
.buzcom-form-message { margin-bottom: 15px; font-size: 15px; }
.buzcom-form-message.success { color: #1a7f37; }
.buzcom-form-message.error { color: #d1242f; }
.button-loading { opacity: .7; pointer-events: none; }

/* newsletter form in the dark box */
.cta-main-area-wrapper-one .right-area form { width: 100%; }

/* footer bottom menu */
.copyright-h-2-wrapper .right ul { display: flex; flex-wrap: wrap; gap: 20px; margin: 0; padding: 0; list-style: none; }
.copyright-h-2-wrapper .right ul li { margin: 0; }

/* footer widget columns (custom menu list) */
.footer-two-single-wized .wized-2-body ul { padding-left: 0; list-style: none; }

/* off-canvas: social icons spacing */
.side-bar .social-wrapper-two a { margin-right: 8px; }

/* ===== Legacy shop/blog pages rendered inside the Buzcom design =====
   The template uses html{font-size:10px}; legacy Bootstrap components are rem based. */
.buzcom-inner-content .btn { font-size: 15px; line-height: 1.4; padding: 12px 28px; border-radius: 6px; font-weight: 600; }
.buzcom-inner-content .btn-sm { font-size: 14px; padding: 8px 18px; }
.buzcom-inner-content .btn-xs { font-size: 13px; padding: 6px 12px; }
.buzcom-inner-content .btn-fill-out,
.buzcom-inner-content .btn-dark { background: #20282D; border: 1px solid #20282D; color: #fff; }
.buzcom-inner-content .btn-fill-out:hover,
.buzcom-inner-content .btn-dark:hover { background: #fff; color: #20282D; }
.buzcom-inner-content .btn-fill-line,
.buzcom-inner-content .btn-line-fill { background: transparent; border: 1px solid #20282D; color: #20282D; }
.buzcom-inner-content .btn-fill-line:hover,
.buzcom-inner-content .btn-line-fill:hover { background: #20282D; color: #fff; }
.buzcom-inner-content .form-control,
.buzcom-inner-content .form-select,
.buzcom-inner-content select,
.buzcom-inner-content textarea { font-size: 15px; padding: 10px 15px; min-height: 46px; }
.buzcom-inner-content .form-label,
.buzcom-inner-content label { font-size: 15px; }
.buzcom-inner-content .dropdown-menu { font-size: 15px; }
.buzcom-inner-content .badge { font-size: 12px; }
.buzcom-inner-content .table { font-size: 15px; }


/* ===== Buzcom V2: inner pages ===== */
/* white rounded logo box (V2 design) */
header .logo.logo-boxed img, .rightndt-logo.logo-boxed img { width: 170px; max-height: none !important; background: #fff; padding: 10px; border-radius: 0 0 25px 25px; }
.rightndt-logo img { max-height: 80px; }
.buzcom-header-icon.dark { color: #20282D; }
.buzcom-header-icon.dark:hover { color: #20282D; }
.buzcom-header-icon.dark .buzcom-count { background: #20282D; color: #fff; }
.header-top-one-wrapper .top-nav { margin: 0; }

/* pagination (gallery) */
.buzcom-pagination { display: flex; flex-wrap: wrap; gap: 10px; justify-content: center; max-width: none; margin-top: 50px; }
.buzcom-pagination a { display: inline-flex; align-items: center; justify-content: center; min-width: 50px; height: 50px; padding: 0 12px; border: 1px solid #EBEBEB; border-radius: 15px; color: #1C2539; font-weight: 700; }
.buzcom-pagination a.active, .buzcom-pagination a:hover { background: var(--color-primary); border-color: var(--color-primary); color: #fff; }

/* gallery grid: same square look whatever the uploaded image size */
.gallery-area-main-wrapper-4 .single-gallery .thumbnail img { width: 100%; aspect-ratio: 1 / 1; object-fit: cover; }

/* team social icons are links */
.team-social-one [data-href] { cursor: pointer; }

/* forms (contact / enquiry) */
.contact-form-p .form__content input[type=checkbox] { width: auto; height: auto; margin-right: 6px; }
.contact-form-p .form__content label a { text-decoration: underline; }
.contact-form-p .buzcom-form-message { margin-top: 10px; }
.cta-inner-content-inner-page form { display: flex; }

/* search overlay form */
.search-input-area form.input-div { position: relative; }

/* inner pages header: keep every menu label on one line */
.header-one .nav-area ul li.main-nav > a { white-space: nowrap; }
.header-one .nav-area > ul > li.main-nav.has-dropdown { margin-right: 18px; } /* room for the dropdown arrow */
@media only screen and (min-width: 1200px) and (max-width: 1599px) {
    .header-one .nav-area { margin-right: 30px; }
    .header-one .nav-area > ul { gap: 28px !important; }
}

/* ---------- Book a Meeting popup ---------- */
.buzcom-contact-popup { z-index: 100000; }
.modal-backdrop { z-index: 99999; }
.modal-backdrop.show { opacity: .65 !important; }
.buzcom-contact-popup .modal-dialog { max-width: 520px; }
.buzcom-contact-popup .modal-content { border: 0; border-radius: 15px; padding: 10px; position: relative; }
.buzcom-contact-popup .contact-form-p { padding: 30px; box-shadow: none; border: 0; }
.buzcom-contact-popup .contact-form-p .title { margin-bottom: 15px; padding-right: 40px; }
.buzcom-contact-popup .buzcom-popup-desc { margin-bottom: 20px; }
.buzcom-contact-popup .buzcom-popup-close { position: absolute; top: 14px; right: 18px; width: 36px; height: 36px; padding: 0; z-index: 2; background: none; border: 0; font-size: 32px; line-height: 1; color: #555; }
.buzcom-contact-popup .buzcom-popup-close:hover { color: var(--color-primary, #20282D); }

/* ---------- Captcha in Buzcom forms ---------- */
.buzcom-captcha { margin-bottom: 20px; }
.buzcom-captcha-label { display: block; margin-bottom: 8px; font-size: 15px; }

/* ---------- Enquiry / job enquiry forms ---------- */
.buzcom-enquiry-form select.buzcom-select { width: 100%; height: 55px; border-radius: 6px; border: 1px solid #EBEBEB; padding: 0 15px; margin-bottom: 20px; color: #5D666F; background-color: #fff; }
.buzcom-enquiry-form .buzcom-file-field,
.buzcom-enquiry-form .buzcom-date-field { margin-bottom: 20px; }
.buzcom-enquiry-form .buzcom-file-field label,
.buzcom-enquiry-form .buzcom-date-field label { display: block; margin-bottom: 8px; font-size: 15px; color: #1C2539; }
.buzcom-enquiry-form .buzcom-file-field input[type=file] { width: 100%; height: auto; padding: 12px 15px; border: 1px dashed #c7c7c7; border-radius: 6px; background: #fafafa; margin-bottom: 6px; }
.buzcom-enquiry-form .buzcom-file-field small { display: block; color: #74787C; font-size: 13px; }
.buzcom-enquiry-form .buzcom-date-field input[type=date] { margin-bottom: 0; }

/* ---------- Contact details (office / business enquiry) ---------- */
.buzcom-contact-details { padding-top: 80px; }
.buzcom-contact-details .buzcom-cd-block { margin-bottom: 40px; }
.buzcom-contact-details .buzcom-cd-heading { font-size: 20px; font-weight: 500; margin-bottom: 15px; }
.buzcom-contact-details .buzcom-cd-plain { padding-left: 15%; }
.buzcom-contact-details .buzcom-cd-plain p { margin-bottom: 4px; font-size: 18px; line-height: 1.5; color: #1C2539; }
.buzcom-contact-details .buzcom-cd-licence { color: #e30000; font-weight: 700; }
.buzcom-contact-details a { color: inherit; }
.buzcom-contact-details a:hover { color: var(--color-primary, #1f8fd5); }
.buzcom-contact-details .buzcom-cd-card { display: flex; align-items: center; gap: 18px; padding-left: 15%; }
.buzcom-contact-details .buzcom-cd-logo { flex: 0 0 110px; padding-right: 18px; }
.buzcom-contact-details .buzcom-cd-logo img { max-width: 100%; height: auto; }
.buzcom-contact-details .buzcom-cd-card-body { border-left: 2px solid #333; padding-left: 14px; }
.buzcom-contact-details .buzcom-cd-card-body p { margin-bottom: 1px; font-size: 14px; line-height: 1.4; color: #1C2539; }
.buzcom-contact-details .buzcom-cd-greeting { color: #e30000 !important; font-style: italic; font-weight: 700; font-family: Georgia, serif; }
.buzcom-contact-details .buzcom-cd-person { font-weight: 700; text-transform: uppercase; }
.buzcom-contact-details .buzcom-cd-person span { color: #1a9ad6; font-weight: 600; }
.buzcom-contact-details .buzcom-cd-company { color: #1a9ad6 !important; font-weight: 700; }
.buzcom-contact-details .buzcom-cd-card-emails { padding-left: 15%; margin-top: 15px; font-size: 18px; font-weight: 700; color: #111; }
.buzcom-contact-details .buzcom-cd-form { border: 1px solid #dedede; border-radius: 10px; box-shadow: 0 4px 12px rgba(0, 0, 0, .06); background: #fff; }
@media only screen and (max-width: 991px) {
    .buzcom-contact-details .buzcom-cd-plain,
    .buzcom-contact-details .buzcom-cd-card,
    .buzcom-contact-details .buzcom-cd-card-emails { padding-left: 0; }
    .buzcom-contact-details .buzcom-cd-plain p { font-size: 16px; }
}
@media only screen and (max-width: 575px) {
    .buzcom-contact-details .buzcom-cd-card { flex-direction: column; align-items: flex-start; }
    .buzcom-contact-details .buzcom-cd-card-body { border-left: 0; padding-left: 0; }
}
