/* Custom Styles for Design Replication */
@import url("https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&display=swap");

/**
 * Category Extensions - Custom Styles
 * Styles for FAQ accordion and sub-description sections
 */

/* ===================================
   Category Description Read More/Less
   (WordPress plugin compatible)
   =================================== */
.custom-category-description {
    margin: 20px 0;
    font-size: 14px;
    line-height: 1.8;
    color: #333;
}

.cdfwsp_category_desription_excerpt,
.cdfwsp_category_description_text,
.cdfwsp_category_desription_full {
    margin-bottom: 15px;
}

.cdfwsp_load-more-button,
.cdfwsp_show-less-button {
    color: blue;
    background-color: none;
    border: none;
    background: none;
    font-size: 13px;
    cursor: pointer;
}

.cdfwsp_load-more-button:hover,
.cdfwsp_show-less-button:hover {
    color: blue;
    background-color: none;
    border: none;
    color: blue;
    background: none;
}

.cdfwsp_load-more-button:focus,
.cdfwsp_show-less-button:focus {
    color: blue;
    background-color: none;
    border: none;
    background: none;
    color: blue;
}

/* ===================================
   Category Sub-Description Section
   =================================== */
.category-sub-description-section {
    margin: 40px 0;
    max-width: 100%;
}

.category-sub-description-section h2,
.category-sub-description-section h3,
.category-sub-description-section h4 {
    font-family: inherit;
    color: #3d3d3d;
    font-weight: 700;
    margin-bottom: 20px;
    margin-top: 30px;
    line-height: 1.4;
}

.category-sub-description-section h2 {
    font-size: 28px;
    letter-spacing: 0.03em;
}

.category-sub-description-section h3 {
    font-size: 22px;
    letter-spacing: 0.02em;
}

.category-sub-description-section h4 {
    font-size: 18px;
    letter-spacing: 0.02em;
}

.category-sub-description-section p {
    font-size: 14px;
    line-height: 1.8;
    color: #333;
    margin-bottom: 20px;
    font-family: inherit;
    font-weight: 400;
}

.category-sub-description-section ul,
.category-sub-description-section ol {
    margin: 20px 0;
    padding-left: 25px;
    font-size: 14px;
    line-height: 1.8;
    color: #333;
}

.category-sub-description-section li {
    margin-bottom: 12px;
    line-height: 1.8;
}

.category-sub-description-section strong {
    font-weight: 600;
    color: #3d3d3d;
}

.category-sub-description-section a {
    color: #d2691e;
    text-decoration: none;
}

.category-sub-description-section a:hover {
    text-decoration: underline;
}

/* First heading should have less top margin */
.category-sub-description-section > h2:first-child,
.category-sub-description-section > h3:first-child {
    margin-top: 0;
}

/* ===================================
   Category FAQ Accordion Section
   =================================== */
.category-faq-section {
    margin: 40px 0;
    max-width: 100%;
}

.faq-main-title {
    font-size: 24px;
    font-weight: 700;
    color: #3d3d3d;
    margin-bottom: 30px;
    font-family: inherit;
    letter-spacing: 0.05em;
}

.faq-accordion {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.faq-accordion-item {
    border: none;
    background: transparent;
}

.faq-accordion-header {
    background: #f5f5f5;
    padding: 20px 25px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-radius: 4px;
    transition: background-color 0.3s ease;
    font-size: 14px;
    font-weight: 600;
    color: #3d3d3d;
    font-family: inherit;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

.faq-accordion-header:hover {
    background: #ececec;
}

.faq-accordion-header.active {
    background: #e8e8e8;
}

.faq-number {
    font-weight: 700;
    margin-right: 8px;
}

.faq-question-text {
    flex: 1;
    line-height: 1.5;
}

.faq-toggle-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform 0.3s ease;
    color: #666;
    margin-left: 15px;
}

.faq-accordion-header.active .faq-toggle-icon {
    transform: rotate(180deg);
}

.faq-accordion-content {
    max-height: 0;
    overflow: hidden;
    transition:
        max-height 0.4s ease,
        padding 0.4s ease;
    background: #fff;
}

.faq-accordion-content.active {
    max-height: 2000px;
    padding: 20px 25px 25px;
}

.faq-answer-inner {
    font-size: 14px;
    line-height: 1.8;
    color: #333;
    font-family: inherit;
}

.faq-answer-inner p {
    margin-bottom: 15px;
}

.faq-answer-inner ul {
    margin: 15px 0;
    padding-left: 20px;
}

.faq-answer-inner li {
    margin-bottom: 8px;
    line-height: 1.6;
}

.faq-answer-inner strong {
    color: #d2691e;
    font-weight: 600;
}

/* ===================================
   Responsive Styles
   =================================== */
@media (max-width: 768px) {
    .faq-accordion-header {
        padding: 15px 18px;
        font-size: 13px;
    }

    .faq-accordion-content.active {
        padding: 15px 18px 20px;
    }

    .category-sub-description-section h2 {
        font-size: 24px;
    }

    .category-sub-description-section h3 {
        font-size: 20px;
    }
}

/* ===================================
   Footer - Need Help Section
   (Matching WordPress Design - Exact Values)
   =================================== */
.footer-container.need-help {
    background-color: #000;
    color: #fff;
    padding: 20px 0;
    margin: 0;
}

.footer-container.need-help .container {
    text-align: center !important;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 15px;
}

.footer-container.need-help h6 {
    color: #fff !important;
    font-family: "Objektiv-Mk2", sans-serif !important;
    font-size: 13px !important;
    text-transform: none;
    margin: 0;
    padding: 15px 0 10px 0;
    text-align: center;
    letter-spacing: 0;
}

.footer-help-links a {
    color: #fff !important;
    font-family: "Objektiv-Mk2", sans-serif !important;
    font-size: 11px !important;
    font-weight: 500;
    padding: 5px 0;
    text-decoration: none;
    text-align: left;
    transition: opacity 0.3s ease;
    line-height: 16px;
    margin: 0;
}

.footer-help-links a:hover {
    opacity: 0.7;
    text-decoration: none;
}

.footer-help-links a i.fa {
    font-size: 15px !important;
    margin-right: 8px;
    width: 16px;
    text-align: center;
    color: #fff;
}

.our-clients {
    text-align: center;
    padding: 0;
    margin: 0;
}

.our-clients img {
    max-width: 470px;
    max-height: 20px;
    height: auto;
    display: inline-block;
    opacity: 0.9;
}

/* Mobile Responsive */
@media (max-width: 768px) {
    .footer-container.need-help {
        padding: 5px 5px;
    }

    .footer-container.need-help h6 {
        padding: 15px 0 5px;
    }

    .footer-help-links a {
        font-size: 11px !important;
    }

    .footer-help-links a i.fa {
        margin-right: 5px !important;
        font-size: 15px !important;
    }

    .footer-container.site-info {
        padding: 15px 0;
    }

    .our-clients {
        text-align: center;
    }

    .our-clients img {
        max-width: 100%;
    }
}

.need-help {
    color: #fff;
}

.need-help,
.site-info,
.footer-container .mobile-center {
    text-align: center;
}

.our_clients {
    width: 100%;
}

.need-help h6 {
    margin: 0;
    padding: 0;
}

.need-help h6,
.need-help a {
    text-transform: none;
    color: #fff;
    font-size: 13px;
    font-weight: 500;
}

.need-help a {
    font-size: 11px;
    margin: 0 15px;
    font-weight: 500;
}

.need-help a i {
    margin-right: 5px;
}

/* Links inside the navbar */
.navbar a {
    float: left;
    font-size: 12px;
    color: #fff;
    text-align: center;
    padding: 14px 16px;
    text-decoration: none;
}

.footer-container.site-info {
    padding: 0px 0 12px;
}

.bottom-footer {
    padding-top: 5px !important;
}

.need-help h6 {
    margin: 0 0 5px;
}

.middle-footer1 {
    border-top: 1px solid #000 !important;
    padding: 0;
}

.page-footer .bottom-footer small.copyright {
    text-align: center;
}

.page-footer .bottom-footer small.copyright {
    margin-bottom: 10px !important;
}

.middle-header {
    background-color: #000;
    color: #fff;
}

header.page-header
    .header-area:not(.header7)
    .navigation
    .nav-main-menu
    > li
    > a {
    padding: 10px 10px;
}

.middle-header .align-items-center {
    margin-left: 15px;
}

.pe-7s-user::before {
    color: #fff !important;
    font-weight: bold;
}

.page-footer .middle-footer ul.menu li {
    line-height: 25px;
}

footer.page-footer .middle-footer a {
    color: #ffffff !important;
    font-size: 11px;
}

.footer.content ul.list-icon li {
    padding-left: 0px;
    position: relative;
    margin-bottom: 0px;
    font-size: 11px;
}

.page-footer .bottom-footer .copyright span {
    font-size: 11px;
}

.footer-menu {
    font-size: 11px;
}

.header-area .minicart-wrapper .action.showcart::before {
    color: #fff !important;
    font-weight: bold;
}

@media (max-width: 991px) {
    .menu-content a {
        color: #fff !important;
    }

    .menu-content .active a {
        color: #000 !important;
    }

    header.page-header
        .header-area:not(.header7)
        .navigation
        .nav-main-menu
        > li
        > a {
        padding: 10px 10px;
        color: #000 !important;
    }
}

@media (min-width: 992px) {
    .page-title-wrapper {
        padding: 5px 0 5px;
    }

    .page-header {
        border-bottom: none !important;
    }

    .nav-main-menu .level0 {
        color: white !important;
    }
}

.header-area.search-visible
    .search-form
    .block-search
    .block-content
    .form.minisearch {
    border: none !important;
}

.header-area .minicart-wrapper .action.showcart > .counter.qty {
    color: #fff;
    background-color: #fff !important;
}

/* ===================================
   Theme Style Overrides
   (Custom values for navigation, layout, and menu)
   =================================== */

/* Override navigation padding for tablet and larger screens */
@media (min-width: 768px), print {
    .nav-main-menu {
        padding: 0 5px !important;
    }
}

/* Override column width for desktop screens */
@media (min-width: 1200px) {
    .col-des-7 {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 62.333% !important;
        flex: 0 0 62.333% !important;
        max-width: 62.333% !important;
    }
}

/* Override menu content margin for desktop screens */
@media (min-width: 1200px), print {
    .page-header .middle-header .menu-content {
        margin-left: 0px !important;
    }
}

/* Remove background and border color on owl-nav hover */
.owl-carousel .owl-nav > div:not(.disabled):hover {
    background: none !important;
    background-color: transparent !important;
    border-color: transparent !important;
    box-shadow: none !important;
}

.mgs-owl-carousel.owl-carousel .owl-nav > div {
    border: none !important;

    @media (min-width: 768px) {
        .desktop-only {
            display: block !important;
        }

        .mobile-only {
            display: none !important;
        }
    }
}

/* Feature In Section Styling */
.featured-logo-section {
    margin: 30px 0 20px;
}

.featured-logo-heading {
    text-align: center;
    color: rgb(51, 51, 51);
    text-transform: none;
    font-family: Montserrat, sans-serif;
    font-size: 18px;
    font-style: normal;
    font-weight: 500;
    letter-spacing: normal;
    line-height: 21.6px;
}

.featured-logo-heading:before,
.featured-logo-heading:after {
    content: "";
    flex: 1;
    border-bottom: 1px solid #ddd;
    /* Subtle line */
    margin: 0 15px;
}

.featured-logo-heading span {
    padding: 0 10px;
    background: #fff;
    /* Ensures text sits on background if needed */
}

.associate-businesses .item {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 60px;
    /* Reduced height */
}

.associate-businesses img.ass-busi {
    max-width: 120px;
    /* Limit width */
    max-height: 40px;
    /* Limit height */
    width: auto !important;
    filter: grayscale(100%);
    /* Mono by default */
    opacity: 0.7;
    /* Slightly faded */
    transition: all 0.3s ease;
}

.associate-businesses img.ass-busi:hover {
    filter: grayscale(0%);
    opacity: 1;
}

.bottom-pagination .pages .pagination .item.current a {
    color: white !important;
}

.bottom-pagination .pages .pagination .item a:hover {
    color: white !important;
}

.top-wishlist a span.counter.qty,
.action.primary,
.action-primary,
.action.primary:hover,
.action-primary:hover,
.minicart-wrapper .action.showcart .counter.qty {
    background-color: #000000 !important;
    border-color: #000000 !important;
    color: #fff !important;
}

/* Checkout Buttons */
.mgs-checkout-step-sidebar
    .discount-code
    .form-discount
    .actions-toolbar
    .primary
    .action-apply {
    color: #fff !important;
}

.payment-option.discount-code
    form.form.form-discount
    .actions-toolbar
    .primary
    .action-apply:hover {
    color: #fff;
    border: 1px solid #000 !important;
    background-color: #000 !important;
}

.action.primary.checkout {
    background-color: green !important;
    border-color: green !important;
    font-weight: 700;
}

/* Desktop-specific Checkout Tweaks */
@media (min-width: 992px) {
    .checkout-container .opc-block-summary .items-in-cart > .title strong {
        font-size: 1rem;
    }

    .onestepcheckout-index-index
        .mgs-checkout-step-sidebar
        .order-summary
        .step-title {
        margin-bottom: 0px;
    }

    .product-item .product-item-name {
        font-size: 13px !important;
    }

    .post-list.modern .post-info {
        flex: 0 0 60% !important;
        max-width: 60% !important;
        width: 60% !important;
    }

    .post-list .post-image {
        -ms-flex: 0 0 40% !important;
        flex: 0 0 40% !important;
        width: 40% !important;
    }
}

.social-link.margin-top15 {
    margin-top: 15px !important;
}

/* Social Icons Mapping (IcoFont to FontAwesome for Contact Page) */
.social-links {
    list-style: none;
    padding: 0;
    margin: 15px 0;
    display: flex;
    gap: 15px;
}

.social-links li {
    display: inline-block;
}

.social-links a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    background: #f5f5f5;
    border-radius: 50%;
    color: #333;
    transition: all 0.3s ease;
    text-decoration: none;
}

.social-links a:hover {
    background: #000;
    color: #fff;
}

.theme-footer-icon {
    font-family: "FontAwesome";
    font-style: normal;
    font-size: 18px;
}

.icofont-facebook:before {
    content: "\f09a";
}

.icofont-twitter:before {
    content: "\f099";
}

.icofont-google-plus:before {
    content: "\f0d5";
}

.icofont-pinterest:before {
    content: "\f0d2";
}

.icofont-instagram:before {
    content: "\f16d";
}

/* Force Social Link spacing override if needed */
.social-link.margin-top15 {
    margin-top: 20px !important;
}

/* TikTok Icon Override (SVG for compatibility) */
.icofont-tiktok:before {
    content: "" !important;
    display: inline-block;
    width: 16px;
    height: 16px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath fill='%23333' d='M448 209.91a210.06 210.06 0 0 1-122.77-39.25V349.38A162.55 162.55 0 1 1 185 188.31V278.2a74.62 74.62 0 1 0 52.23 71.18V0l88 0a121.18 121.18 0 0 0 1.86 22.17h0A122.18 122.18 0 0 0 381 102.39a121.43 121.43 0 0 0 67 20.14z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    vertical-align: middle;
}

/* Hover state for TikTok - change SVG fill to white */
.social-links a:hover .icofont-tiktok:before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath fill='%23fff' d='M448 209.91a210.06 210.06 0 0 1-122.77-39.25V349.38A162.55 162.55 0 1 1 185 188.31V278.2a74.62 74.62 0 1 0 52.23 71.18V0l88 0a121.18 121.18 0 0 0 1.86 22.17h0A122.18 122.18 0 0 0 381 102.39a121.43 121.43 0 0 0 67 20.14z'/%3E%3C/svg%3E");
}

.social-links a:hover {
    background: #000;
    color: #fff !important;
}

/* ===================================
   Design Replication - Header & Typography
   =================================== */

html,
body,
.page-wrapper,
p,
h1,
h2,
h3,
h4,
h5,
h6,
.navigation,
.page-header,
.page-footer,
.action,
button,
input,
select,
textarea {
    font-family: "Montserrat", sans-serif !important;
}

/* ===================================
   Design Replication - Footer
   =================================== */

/* Footer Headings (Plate Types, Contact Info, etc.) */
.footer-container h4,
.footer-container h6,
.footer-container .block-title strong,
.footer-container h2,
.footer-container h3 {
    color: #ffffff !important;
    font-family: "Montserrat", sans-serif !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    text-transform: none !important;
    letter-spacing: normal !important;
    line-height: 18.2px !important;
}

/* Footer Links - Ultra Specific */
.footer-container a,
.footer-container li a,
.footer-menu li a,
.footer-container .widget_nav_menu li a,
.footer-container .widget_nav_menu ul.menu li a,
.block-footer-links .item a,
.footer-links .item a {
    color: #d3d3d3 !important;
    /* Light Grey */
    font-family: "Montserrat", sans-serif !important;
    font-size: 11px !important;
    font-weight: 500 !important;
    line-height: 18.7px !important;
    text-decoration: none !important;
    transition: color 0.3s ease;
}

/* Need Help Section & Icons */
.footer-container .need-help,
.footer-container .contact-info {
    color: #ffffff !important;
}

.footer-container i,
.footer-container .fa {
    color: #ffffff !important;
    font-size: 15px !important;
}

/* Contact Details (Address, Phone) */
.footer-container p,
.footer-container .contact-details {
    color: #ffffff !important;
    font-size: 11px !important;
    line-height: 18.7px !important;
    font-weight: 300 !important;
}

/* Newsletter Section (if present) */
.block.newsletter .field .control:before {
    color: #333 !important;
}

.block.newsletter input {
    border-radius: 4px !important;
    border: none !important;
    padding: 10px 15px !important;
}

/* Bottom Copyright Bar */
.bottom-footer {
    background-color: #000 !important;
    padding: 20px 0 !important;
}

.bottom-footer .copyright span {
    color: #fff !important;
    font-size: 13px !important;
}

.post-read-more .action.primary {
    padding: 10px;
}

.h2 {
    box-sizing: border-box;
    color: rgb(51, 51, 51);
    font-family: Montserrat, sans-serif;
    font-size: 28px;
    font-style: normal;
    font-weight: 700;
    hyphens: none;
    letter-spacing: 1px;
    line-height: 33.6px;
    margin-bottom: 15px;
    margin-left: 0px;
    margin-right: 0px;
    margin-top: 20px;
    overflow-wrap: break-word;
    text-align: left;
}

/* ===================================
   Design Replication - FAQ Section
   =================================== */

.footer-faq {
    max-width: 900px;
    margin: 50px auto;
    padding: 0 15px;
}

.footer-faq h2 {
    text-align: center !important;
    font-family: "Montserrat", sans-serif !important;
    font-weight: 700 !important;
    font-size: 24px !important;
    color: #333 !important;
    text-transform: none !important;
    /* "Frequently Asked Questions" */
    margin-bottom: 30px !important;
    letter-spacing: normal !important;
}

.faq-item {
    border-bottom: 1px solid #e0e0e0;
}

.faq-question {
    background: none !important;
    border: none !important;
    width: 100%;
    text-align: left;
    padding: 20px 0 !important;
    font-family: "Montserrat", sans-serif !important;
    font-weight: 700 !important;
    font-size: 14px !important;
    color: #333 !important;
    text-transform: uppercase !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    cursor: pointer;
    margin: 0 !important;
    letter-spacing: 0.5px !important;
}

.faq-question:focus {
    outline: none !important;
    box-shadow: none !important;
}

.faq-question::after {
    content: "+";
    font-size: 22px;
    font-weight: 700;
    color: #333;
    line-height: 1;
}

.faq-question.active::after {
    content: "-";
}

.faq-answer {
    padding: 0 0 20px;
    font-family: "Montserrat", sans-serif !important;
    font-size: 14px !important;
    color: #555 !important;
    line-height: 1.6 !important;
}

.faq-answer p {
    margin: 0;
    font-family: "Montserrat", sans-serif !important;
}

.number-plate-content h2,
.number-plate-content h3 {
    text-align: left;
    color: rgb(51, 51, 51);
    font-family: Montserrat, sans-serif;
    font-size: 28px;
    font-style: normal;
    font-weight: 700;
    hyphens: none;
    letter-spacing: 1px;
    line-height: 33.6px;
    margin-bottom: 15px;
}

.number-plate-content h3 {
    color: rgb(51, 51, 51);
    font-family: Montserrat, sans-serif !important;
    font-size: 20px !important;
    font-style: normal;
    font-weight: 700;
    hyphens: none;
    letter-spacing: 1px;
    line-height: 22px;
    margin-bottom: 20px;
}

.number-plate-content ul,
.number-plate-content ol {
    text-align: left;
    font-family: Montserrat, sans-serif;
    font-size: 16px;
    font-style: normal;
    font-weight: 500;
    hyphens: none;
    letter-spacing: normal;
    line-height: 27.2px;
    color: rgb(51, 51, 51);
}

.number-plate-content ul {
    list-style: disc;
}

.number-plate-content p {
    text-align: left;
    color: rgb(51, 51, 51);
    font-family: Montserrat, sans-serif;
    font-size: 16px;
    font-style: normal;
    font-weight: 500;
    hyphens: none;
    letter-spacing: normal;
    line-height: 27.2px;
    margin-bottom: 24px;
}

.home-section6 h2,
.home-section5 h2,
.home-section4 h2,
.home-section3 h2,
.home-section2 h2,
.home-section1 h2 {
    color: rgb(51, 51, 51);
    font-family: Montserrat, sans-serif;
    font-size: 28px;
    font-style: normal;
    font-weight: 700;
    hyphens: none;
    letter-spacing: 1px;
    line-height: 33.6px;
    margin-bottom: 15px;
    margin-left: 0px;
    margin-right: 0px;
    margin-top: 20px;
}

.home-section1 h1,
.home-section5 h1,
.home-section6 h1,
.home-section3 h1,
.home-section2 h1 {
    color: rgb(51, 51, 51);
    font-family: Montserrat, sans-serif;
    font-size: 35px;
    font-style: normal;
    font-weight: 700;
    hyphens: none;
    letter-spacing: 3px;
    line-height: 38.5px;
    margin-bottom: 20px;
}

.right-content .search-form {
    padding-bottom: 0px !important;
    padding-top: 0px !important;
}

.home-section2 figcaption {
    color: rgb(0, 0, 0);
    font-family: Montserrat, sans-serif;
    font-size: 16px;
    font-style: normal;
    font-weight: 500;
    hyphens: none;
    left: 0px;
    letter-spacing: normal;
    line-height: normal;
}

.home-section1 p {
    color: rgb(51, 51, 51);
    font-family: Montserrat, sans-serif;
    font-size: 16px;
    font-style: normal;
    font-weight: 500;
    hyphens: none;
    letter-spacing: normal;
    line-height: 27.2px;
    margin-bottom: 24px;
}

.home-section6 p {
    box-sizing: border-box;
    color: rgb(51, 51, 51);
    font-family: Montserrat, sans-serif;
    font-size: 14.8px;
    font-style: normal;
    font-weight: 500;
    hyphens: none;
    letter-spacing: normal;
    line-height: 21.7667px;
}

.builder-index-index #page-title-wrapper {
    display: none;
}

/* USP Lines */
.usp-lines {
    display: flex;
    justify-content: center;
    gap: 30px;
    padding: 15px 0;
    flex-wrap: wrap;
    background: #fff;
    margin-bottom: 20px;
    border-bottom: 1px solid #eee;
}

.usp-line {
    font-family: "Montserrat", sans-serif;
    text-transform: uppercase;
    width: 25%;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    font-size: 13px;
    font-weight: 700;
    color: #000;
    align-items: center;
    justify-content: center;
    text-align: center;
    background-color: #d5d5d5;
    border-radius: 5px;
    padding: 15px;
    padding-top: 15px;
    padding-bottom: 15px;
    margin: 0 5px;
}

.usp-image {
    margin-right: 10px;
    height: 20px;
    width: auto;
}

@media (max-width: 768px) {
    .usp-lines {
        flex-direction: column;
        align-items: center;
        gap: 10px;
    }
}

#builder-title {
    color: rgb(1, 1, 1) !important;
    font-family: "Francois One", sans-serif !important;
    font-size: 20px !important;
    font-style: normal !important;
    font-weight: 700 !important;
    line-height: 22px !important;
}

#uilder-menu-internal .menuitem p {
    color: rgb(1, 1, 1);
    font-family: Montserrat, sans-serif !important;
    font-size: 15px !important;
    font-style: normal;
    font-weight: 500;
    letter-spacing: normal;
    line-height: 24px !important;
}

#maincontent
    #builder-menu
    #builder-menu-internal
    #builder-reg
    .entries
    input[type="text"] {
    color: #333;
    background-color: #fff !important;
}

.builder-index-index select {
    background-color: #fff !important;
}

body.builder-index-index #builder-actions .button {
    border-color: #eee !important;
    color: #fff !important;
}

body.builder-index-index #builder-actions .button:hover,
#maincontent
    #builder-menu
    #builder-menu-internal
    .vertical.menu
    .builder-menu-content
    button:hover {
    color: #000 !important;
}

div#builder-actions
    .row
    .column
    .row
    .column:first-child
    > div
    > div:first-child {
    color: #fff;
    font-size: 16px !important;
    font-weight: 600;
}

div#builder-actions .row:first-child {
    font-size: 14px !important;
    color: #fff;
    font-weight: 600 !important;
}

div#builder-actions .row .column .row .price {
    display: flex;
    gap: 7px;
    font-size: 18px !important;
}

#add-to-basket:hover {
    transform: initial;
    color: #000 !important;
    background: #dbaf00 !important;
    border: 2px solid #dbaf00 !important;
}

#maincontent #builder-menu #builder-menu-internal li p {
    font-size: 13px;
    margin: 10px 0 20px;
    color: rgb(1, 1, 1);
    font-family: Montserrat, sans-serif;
    font-size: 15px;
    font-style: normal;
    font-weight: 500;
    letter-spacing: normal;
    line-height: 24px;
}

.faq-answer p {
    margin: 0;
    color: rgb(0, 0, 0);
    font-family: Montserrat, sans-serif;
    font-size: 15px;
    font-style: normal;
    font-weight: 500;
    letter-spacing: normal;
    line-height: 24px;
}

.more-text li {
    font-size: 15px;
}

.car_number03 ul,
.car_number03 ol {
    list-style-type: revert-layer !important;
    margin: revert-layer !important;
    padding-left: revert !important;
    font-weight: 500;
}

p {
    font-weight: 500;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-weight: 700;
}

@media screen and (max-width: 767px) {
    .home-section1 h1,
    .home-section2 h1,
    .home-section3 h1,
    .home-section5 h1,
    .home-section6 h1 {
        font-size: 18px;
        line-height: 30px;
    }

    .home-section1 p {
        font-size: 14px;
    }

    .footer-container h2,
    .footer-container h3,
    .footer-container h4,
    .footer-container h6,
    .footer-container .block-title strong {
        text-align: center;
        font-size: 18px !important;
    }

    .page-footer .middle-footer ul.menu li {
        line-height: 25px;
        text-align: center;
    }
}

@media screen and (max-width: 767px) {
    .scroll-pane footer {
        width: 85% !important;
    }
}

@media screen and (max-width: 767px) {
    .number-plate-content h2,
    .number-plate-content h3 {
        font-size: 20px;
        text-align: center;
        font-weight: 700;
    }

    .cms-page-view h2 {
        font-size: 20px !important;
        text-align: center;
    }

    .cms-page-view h3 {
        font-size: 18px !important;
        text-align: center;
    }

    .about-us-points {
        margin-left: 15px !important;
        padding-right: 15px;
    }
}

.cms-page-view h2 {
    color: rgb(51, 51, 51);
    font-family: Montserrat, sans-serif;
    font-size: 28px;
    font-style: normal;
    font-weight: 700;
    letter-spacing: 1px;
    line-height: 33.6px;
    margin-bottom: 15px;
}

.cms-page-view h3 {
    color: rgb(51, 51, 51);
    font-family: Montserrat, sans-serif;
    font-size: 20px;
    font-style: normal;
    font-weight: 700;
    letter-spacing: 1px;
    line-height: 33.6px;
    margin-bottom: 15px;
}

.cms-page-view p {
    font-family: Montserrat, sans-serif !important;
    font-size: 16px;
    font-style: normal;
    font-weight: 500;
    letter-spacing: normal;
    line-height: 27.2px;
    margin-bottom: 24px;
    color: rgb(51, 51, 51);
}

/* ===================================
   Blog Post Card UI
   =================================== */
.blog-list {
    display: flex;
    flex-wrap: wrap;
    margin: 0 -15px;
}

.blog-post-card {
    background: #fff;
    border: 1px solid #e1e1e1;
    margin-bottom: 30px;
    width: 100%;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.05);
    transition:
        transform 0.3s ease,
        box-shadow 0.3s ease;
    display: flex;
    flex-direction: column;
}

.blog-post-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
}

.post-details {
    padding: 25px;
    flex: 1;
    display: flex;
    flex-direction: column;
}

.post-category {
    margin-bottom: 12px;
}

.post-category a,
.post-category span {
    text-decoration: underline;
    color: #333;
    font-weight: 600;
    font-size: 13px;
    text-transform: capitalize;
}

.post-title {
    margin: 0 0 15px;
    font-size: 20px;
    line-height: 1.4;
    font-weight: 700;
}

.post-title a {
    color: #1a1a1a;
    text-decoration: none;
    transition: color 0.3s ease;
}

.post-title a:hover {
    color: #d2691e;
}

.post-short-description {
    color: #555;
    font-size: 15px;
    line-height: 1.6;
    margin-bottom: 25px;
    flex: 1;
    /* Pushes meta to bottom */
}

.post-meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 13px;
    color: #888;
    border-top: 1px solid #eee;
    padding-top: 20px;
    margin-top: auto;
}

.post-author {
    display: flex;
    align-items: center;
}

/* Simulate ENP Logo Circle */
.post-author .author-name::before {
    content: "ENP";
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #000;
    color: #fff;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    font-size: 10px;
    font-weight: 800;
    margin-right: 10px;
    font-family: sans-serif;
    vertical-align: middle;
}

.author-label {
    display: none;
    /* Hide 'By' text if we use the logo style */
}

.author-name {
    font-weight: 600;
    color: #333;
    display: flex;
    align-items: center;
}

.post-date {
    display: flex;
    align-items: center;
}

.post-date i {
    margin-right: 6px;
    font-size: 14px;
}

/* Responsive Grid */
@media (max-width: 767px) {
    .blog-post-card {
        margin-left: 0;
        margin-right: 0;
    }
}

@media (min-width: 768px) {
    .blog-post-card {
        width: calc(50% - 30px);
        margin-left: 15px;
        margin-right: 15px;
    }
}

.toolbar.toolbar-blog-posts {
    width: 100%;
}

/* ===================================
   Blog Modern List - Matching Reference Design
   =================================== */

/* Main Blog List Container */
.post-list.modern {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 30px !important;
    margin: 0 !important;
}

/* Individual Post Card */
.post-list.modern .post-item.post-holder {
    width: calc(50% - 15px) !important;
    float: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    box-sizing: border-box;
}

/* Post Container - Stack Vertically */
.post-list.modern .post-container {
    display: flex !important;
    flex-direction: column !important;
}

/* Post Image - Full Width, No Cover, No Animation */
.post-list.modern .post-image {
    flex: none !important;
    width: 100% !important;
    order: 0;
    margin-bottom: 15px;
}

.post-list.modern .post-image .image-wrap {
    padding-bottom: 0 !important;
    height: auto !important;
    position: relative;
    overflow: hidden;
}

.post-list.modern .post-image .image-wrap img {
    position: static !important;
    width: 100% !important;
    height: auto !important;
    object-fit: contain !important;
    display: block;
    transition: none !important;
    transform: none !important;
}

.post-list.modern .post-image .image-wrap .bg-img {
    position: static !important;
    display: block !important;
    width: 100% !important;
    height: auto !important;
    min-height: 200px;
    background-size: contain !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
}

/* Disable all hover animations */
.post-list.modern .post-item:hover .post-image img,
.post-list.modern .image-container:hover .animation-type-zoom,
.post-list.modern .post-image:hover .image-wrap img {
    transform: none !important;
}

/* Category Badge on Image */
.post-list.modern .post-image .post-category {
    position: absolute;
    left: 0;
    bottom: 10px;
    z-index: 2;
}

.post-list.modern .post-image .post-category a {
    background: #000 !important;
    color: #fff !important;
    font-size: 10px;
    padding: 4px 8px;
    text-transform: uppercase;
}

/* Post Info Section */
.post-list.modern .post-info {
    flex: none !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    order: 1;
}

/* Post Title */
.post-list.modern .post-info .post-title-wrap h3 {
    margin: 0 0 8px 0;
}

.post-list.modern .post-info .post-title-wrap h3 a {
    font-size: 16px !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
    color: #333 !important;
    text-decoration: none;
}

.post-list.modern .post-info .post-title-wrap h3 a:hover {
    color: #000 !important;
}

/* Post Meta (Author, Date, Read Time) - All in One Line with Icons */
.post-list.modern .post-info .post-data-wrap {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 5px !important;
    font-size: 12px !important;
    color: #666 !important;
    margin-bottom: 8px;
    font-family: "Montserrat", sans-serif;
}

/* Author with Icon */
.post-list.modern .post-info .post-data-wrap .post-author {
    display: inline-flex;
    align-items: center;
}

.post-list.modern .post-info .post-data-wrap .post-author::before {
    content: "\f007";
    font-family: "FontAwesome";
    margin-right: 5px;
    color: #888;
    font-size: 11px;
}

.post-list.modern .post-info .post-data-wrap .post-author a,
.post-list.modern .post-info .post-data-wrap a {
    color: #333 !important;
    font-weight: 600 !important;
    text-decoration: none;
    font-size: 12px !important;
}

/* Date with Icon */
.post-list.modern .post-info .post-data-wrap .post-date {
    display: inline-flex !important;
    align-items: center !important;
    color: #666 !important;
    font-size: 12px !important;
    float: none !important;
}

.post-list.modern .post-info .post-data-wrap .post-date::before {
    content: "\f073";
    font-family: "FontAwesome";
    margin-right: 5px;
    color: #888;
    font-size: 11px;
}

/* Read Time with Icon */
.post-list.modern .post-info .post-data-wrap .reading-time {
    display: inline-flex;
    align-items: center;
    color: #666;
    font-size: 12px;
}

.post-list.modern .post-info .post-data-wrap .reading-time::before {
    content: "\f017";
    font-family: "FontAwesome";
    margin-right: 5px;
    color: #888;
    font-size: 11px;
}

/* Separator between meta items */
.post-list.modern .post-info .post-data-wrap > span:not(:last-child)::after,
.post-list.modern .post-info .post-data-wrap .post-author::after,
.post-list.modern .post-info .post-data-wrap .post-date::after {
    content: "•";
    margin-left: 8px;
    color: #ccc;
}

/* Post Description */
.post-list.modern .post-description {
    font-size: 13px !important;
    line-height: 1.6 !important;
    color: #555 !important;
    margin-top: 8px;
}

/* Hide Read More Button */
.post-list.modern .post-read-more {
    display: none !important;
}

/* Mobile Responsive */
@media (max-width: 768px) {
    .post-list.modern .post-item.post-holder {
        width: 100% !important;
    }

    .post-list.modern .post-info .post-title-wrap h3 a {
        font-size: 15px !important;
    }

    .post-list.modern .post-info .post-data-wrap {
        font-size: 11px !important;
    }
}

.post-author-name {
    padding-left: 5px;
}

.widget.block-archive .archive-item-link {
    font-weight: 600;
    font-size: 12px !important;
}

.blog-page .page-main {
    padding-left: 15px !important;
    padding-right: 15px !important;
}

/* ===================================
   Single Blog Post View Page
   =================================== */

/* Page Title - Show prominently at top */
/* Ultra-specific selectors to override display:none */
.blog-post-view .page-title-wrapper,
.blog-post-view .page-title-wrapper.layout_type2,
.blog-post-view .layout_type2.page-title-wrapper,
body.blog-post-view .page-title-wrapper,
body.blog-page.blog-post-view .page-title-wrapper,
.blog-post-view .page-top .page-title-wrapper,
.blog-post-view .page-main > .page-title-wrapper {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    height: auto !important;
    overflow: visible !important;
    margin-bottom: 20px !important;
}

.blog-post-view .page-title-wrapper .page-title,
.blog-post-view .page-title-wrapper.layout_type2 .page-title,
.blog-post-view h1.page-title,
body.blog-post-view .page-title-wrapper .page-title {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    font-size: 26px !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
    color: #333 !important;
    margin: 0 0 15px 0 !important;
    font-family: "Montserrat", sans-serif !important;
}

/* Also target the title in page.top for blog post view */
.blog-post-view .page-top .page-title-wrapper,
.blog-post-view #page-title-heading,
.blog-post-view .blog-post-title,
body.blog-post-view .page-top .page-title-wrapper {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
}

.blog-post-view .page-top .page-title,
body.blog-post-view .page-top .page-title {
    font-size: 26px !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
    color: #333 !important;
    margin: 0 0 15px 0 !important;
    font-family: "Montserrat", sans-serif !important;
}

/* NEW: Post Title Inside post-view div */
.blog-post-view .post-view.post-view-modern .post-title-main {
    font-size: 24px !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
    color: #333 !important;
    margin: 0 0 20px 0 !important;
    font-family: "Montserrat", sans-serif !important;
    display: block !important;
}

/* Hide the page-title-wrapper since we moved the title */
.blog-post-view .page-title-wrapper {
    display: none !important;
}

/* Category Badge */
.blog-post-view .post-category {
    margin-bottom: 15px;
}

.blog-post-view .post-category a {
    background: #000 !important;
    color: #fff !important;
    font-size: 11px !important;
    padding: 5px 12px !important;
    text-transform: uppercase;
    font-weight: 600;
    display: inline-block;
}

/* Post Meta Section - Author, Date, Read Time in One Line */
.blog-post-view .post-data-wrap {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 15px !important;
    font-size: 13px !important;
    color: #666 !important;
    margin-bottom: 20px !important;
    padding-bottom: 20px;
    border-bottom: 1px solid #eee;
    font-family: "Montserrat", sans-serif;
}

/* Author with Icon */
.blog-post-view .post-data-wrap .post-author,
.blog-post-view .post-data-wrap > span:first-child {
    display: inline-flex !important;
    align-items: center !important;
}

.blog-post-view .post-data-wrap .post-author::before {
    content: "\f007";
    font-family: "FontAwesome";
    margin-right: 8px;
    color: #888;
    font-size: 14px;
}

.blog-post-view .post-data-wrap a {
    color: #333 !important;
    font-weight: 600 !important;
    text-decoration: none;
    font-size: 13px !important;
}

.blog-post-view .post-data-wrap a:hover {
    color: #000 !important;
}

/* Date with Icon */
.blog-post-view .post-data-wrap .post-date {
    display: inline-flex !important;
    align-items: center !important;
    color: #666 !important;
    font-size: 13px !important;
}

.blog-post-view .post-data-wrap .post-date::before {
    content: "\f073";
    font-family: "FontAwesome";
    margin-right: 8px;
    color: #888;
    font-size: 14px;
}

/* Read Time with Icon */
.blog-post-view .post-data-wrap .reading-time,
.blog-post-view .post-data-wrap .post-views {
    display: inline-flex !important;
    align-items: center !important;
    color: #666 !important;
    font-size: 13px !important;
}

.blog-post-view .post-data-wrap .reading-time::before {
    content: "\f017";
    font-family: "FontAwesome";
    margin-right: 8px;
    color: #888;
    font-size: 14px;
}

/* Post Featured Image */
.blog-post-view .post-featured-image {
    margin-bottom: 25px;
}

.blog-post-view .post-featured-image img {
    width: 100%;
    height: auto;
    display: block;
}

/* Post Content/Description */
.blog-post-view .post-description {
    font-size: 16px;
    line-height: 1.7;
    color: #444;
    margin-bottom: 30px;
}

.blog-post-view .post-description p {
    margin-bottom: 20px;
}

/* Mobile Responsive */
@media (max-width: 768px) {
    .blog-post-view .page-title-wrapper .page-title {
        font-size: 22px !important;
    }

    .blog-post-view .post-data-wrap {
        gap: 10px !important;
        font-size: 12px !important;
    }

    .blog-post-view .post-data-wrap a {
        font-size: 12px !important;
    }
}

.blog-post-view .post-description p {
    font-size: 1.2rem !important;
    line-height: 1.7;
}

/* ===================================
   Navigation Submenu Fix - Prevent Left Cut-off
   =================================== */

/* Fix full-width megamenu positioning - align to left edge instead of centering */
.nav-item.level0.mega-menu-fullwidth > .dropdown-menu {
    left: 0 !important;
    transform: translateY(20px) !important;
    /* Keep vertical spacing, remove horizontal translateX(-50%) */
    max-width: 100vw !important;
}

/* Also target the mega-menu-content inside */
.nav-item.level0.mega-menu-fullwidth .mega-menu-content {
    left: 0 !important;
    transform: none !important;
}

/* Regular dropdown menus (non-fullwidth) should stay relative to their parent */
.nav-item.level0:not(.mega-menu-fullwidth) > .dropdown-menu {
    left: 0 !important;
    transform: translateY(20px) !important;
}

/* Ensure parent containers don't clip the menu */
@media (min-width: 768px) {
    .header-area,
    .page-header,
    .nav-sections,
    .header-area .navigation,
    ul.nav-main-menu {
        overflow: visible !important;
    }

    /* Make nav container position relative for proper dropdown positioning */
    .nav-item.level0 {
        position: relative !important;
    }

    /* Full-width megamenu should be positioned relative to the header/viewport */
    .nav-item.level0.mega-menu-fullwidth {
        position: static !important;
    }

    .nav-item.level0.mega-menu-fullwidth > .dropdown-menu {
        left: 0 !important;
        right: 0 !important;
        width: 100% !important;
        transform: none !important;
    }
}

@media (min-width: 768px), print {
    .page-main {
        width: 97%;
    }
}

/* ===================================
   Product Page Styles (Migrated from banner.css)
   =================================== */

/* Trustpilot Review Styles */
.custom-trustpilot-summary {
    margin-bottom: 10px;
    font-size: 13px;
    line-height: 1.4;
    text-align: left;
}

.trustpilot-rating {
    display: flex;
    align-items: center;
    gap: 5px;
    margin-bottom: 5px;
}

.trustpilot-percent {
    color: #333;
    font-weight: 600;
}

.stars-result {
    display: inline-block;
    color: #ffb80c;
    font-size: 16px;
    position: relative;
    width: 80px;
    height: 18px;
    line-height: 18px;
    white-space: nowrap;
}

.stars-result::before {
    content: "★★★★★";
    color: #e0e0e0;
    position: absolute;
    left: 0;
    top: 0;
}

.stars-result > span {
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    overflow: hidden;
}

.stars-result > span::before {
    content: "★★★★★";
    color: #ffb80c;
    position: absolute;
    left: 0;
    top: 0;
}

.trustpilot-count {
    color: #666;
}

.trustpilot-snippet {
    font-style: italic;
    color: #333;
    margin-bottom: 5px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    font-size: 12px;
}

.trustpilot-snippet.expanded {
    -webkit-line-clamp: unset;
    line-clamp: unset;
    display: block;
}

.trustpilot-readmore {
    color: #999;
    text-decoration: none;
    font-size: 12px;
}

.trustpilot-readmore:hover {
    text-decoration: underline;
}

/* Product Action Buttons */
.product-buttons-wrapper {
    display: flex;
    flex-direction: row;
    gap: 10px;
    margin-top: 10px;
    width: 100%;
}

.btn-view-product,
.btn-personalise {
    display: block;
    width: 50%;
    padding: 10px 5px;
    text-align: center;
    font-size: 13px;
    font-weight: 500;
    text-decoration: none;
    border-radius: 6px;
    transition: all 0.3s ease;
    box-sizing: border-box;
    background-color: #000;
    color: #fff !important;
    border: 1px solid #000;
    white-space: nowrap;
}

.btn-view-product:hover,
.btn-personalise:hover {
    background-color: #333;
    border-color: #333;
    color: #fff !important;
}

/* Custom Sale Price Styles */
.custom-price-w3ctrl {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    width: 100%;
    margin-bottom: 5px;
    margin-top: 5px;
}

.sale-label {
    color: #ef4444;
    font-weight: 700;
    font-size: 11px;
    text-transform: uppercase;
    white-space: nowrap;
}

.custom-price-w3ctrl .price-container {
    display: flex;
    gap: 8px;
    align-items: baseline;
}

.custom-price-w3ctrl .old-price {
    text-decoration: line-through;
    color: #999;
    font-size: 13px;
    font-weight: 400;
}

.custom-price-w3ctrl .old-price .price {
    color: #999 !important;
}

.custom-price-w3ctrl .new-price {
    color: #ef4444;
    font-weight: 700;
    font-size: 16px;
}

/* Ad Banner Styles */
.w3ctrl-promo-banner-item {
    margin-bottom: 15px;
}

.promo-banner-container {
    position: relative;
    overflow: hidden;
    width: 100%;
}

.w3ctrl-promo-banner-item .promo-banner-link {
    display: block;
    width: 100%;
    line-height: 0;
}

.w3ctrl-promo-banner-item .w3ctrl-promo-img {
    width: 100% !important;
    height: auto !important;
    display: block;
    transition: transform 0.3s ease;
    max-width: 100%;
    position: inherit !important;
}

.w3ctrl-promo-banner-item:hover .w3ctrl-promo-img {
    transform: scale(1.02);
}

/* --- PRODUCT TABS STYLING MATCHING REFERENCE (ROBUST FLEXBOX FIX) --- */

/* Main Container */
body .product.data.items {
    border: none;
    margin-bottom: 30px;
    font-family: "Montserrat", sans-serif;
    clear: both;
    display: flex !important;
    flex-wrap: wrap !important;
    border-bottom: 1px solid #e1e1e1;
}

/* Tab Titles (All Forced to Top via Order) */
body .product.data.items > .item.title {
    order: 1 !important;
    flex: 1 0 auto !important;
    /* Grow to fill space, but don't shrink too much */
    width: auto !important;
    height: 50px;
    margin: 0 !important;
    border: 1px solid #e1e1e1;
    border-right: none;
    border-bottom: none;
    /* Container has border, or active title covers it */
    background: #f9f9f9;
    border-radius: 0 !important;
    /* FORCE SQUARE CORNERS */
    float: none !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
}

/* Rightmost border fix */
body .product.data.items > .item.title:last-of-type,
body .product.data.items > .item.title:nth-last-of-type(2) {
    /* Covers potential hidden last-child issues */
    border-right: 1px solid #e1e1e1;
}

/* Tab Switch (The Link) */
body .product.data.items > .item.title > .switch {
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    padding: 0 20px;
    font-size: 13px !important;
    font-weight: 500 !important;
    color: #333 !important;
    text-transform: capitalize;
    text-decoration: none !important;
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    /* Ensure no pill shape on link */
    line-height: normal !important;
}

/* Hover State */
body .product.data.items > .item.title:hover {
    background: #f0f0f0;
}

/* Active State */
body .product.data.items > .item.title.active {
    background: #ffffff !important;
    border-bottom: 1px solid #ffffff !important;
    /* Merge with content */
    margin-bottom: -1px !important;
    /* Overlap container border */
    z-index: 5;
    order: 1 !important;
}

body .product.data.items > .item.title.active > .switch {
    color: #000 !important;
    font-weight: 700 !important;
}

/* Tab Content (Forced to Bottom via Order) */
body .product.data.items > .item.content {
    order: 2 !important;
    width: 100% !important;
    float: none !important;
    margin: 0 !important;
    /* KILL THE NEGATIVE MARGIN */
    margin-left: 0 !important;
    border: 1px solid #e1e1e1;
    border-top: none;
    /* Active tab covers the line */
    background: #fff;
    padding: 30px;
    box-sizing: border-box;
    display: none;
    /* Default hidden */
    color: #444;
    line-height: 1.6;
    font-size: 14px;
}

/* Active Content Visibility */
body .product.data.items > .item.content.active,
body .product.data.items > .item.content[aria-hidden="false"] {
    display: block !important;
    margin-top: -1px !important;
    /* Ensure overlap connection */
}

/* Content Typography */
body .product.data.items > .item.content p {
    margin-bottom: 15px;
}

/* 
   Mobile Responsive: Stack them 
   On mobile, we usually want Accordion behavior (Title, Content, Title, Content).
   To achieve this without JS changes, we remove the ORDER property so they flow naturally.
*/
@media (max-width: 767px) {
    body .product.data.items {
        display: block !important;
        border-bottom: none;
    }

    body .product.data.items > .item.title {
        order: unset !important;
        /* Reset order to allow natural stacking */
        width: 100% !important;
        border-right: 1px solid #e1e1e1;
        margin-bottom: 0 !important;
        border-bottom: 1px solid #e1e1e1;
        /* Add bottom border for stacked mode */
        background: #f9f9f9;
        height: auto;
        min-height: 45px;
    }

    body .product.data.items > .item.title.active {
        border-bottom: 1px solid #e1e1e1 !important;
        /* Keep border in accordion mode */
        margin-bottom: 0 !important;
    }

    body .product.data.items > .item.content {
        order: unset !important;
        /* Reset order */
        border-top: none;
        padding: 20px;
    }

    /* Adjust switch padding for mobile */
    body .product.data.items > .item.title > .switch {
        justify-content: flex-start;
        /* Left align on mobile */
        padding: 15px;
    }
}

.related-categories-block .title {
    text-align: center;
    padding-bottom: 30px;
    text-align: center;
    font-size: 17px;
    text-transform: none;
    font-weight: 500;
    letter-spacing: normal;
    color: rgb(51, 51, 51);
    font-family: Montserrat, sans-serif;
    font-size: 17px;
    font-style: normal;
}

.item.category-item {
    background: #f2f2f2;
    color: #000;
    border-color: #f2f2f2;
    text-transform: capitalize;
    font-weight: 400;
    padding: 12px 5px;
    font-size: 11px;
    border-radius: 5px;
    text-align: center;
}

/* --- BUILD PLATE BUTTON STYLING --- */
.btn-build-plate {
    display: inline-block;
    background: #000;
    color: #fff !important;
    padding: 10px 20px;
    text-transform: uppercase;
    font-weight: 600;
    font-size: 13px;
    border: 1px solid #000;
    border-radius: 0;
    text-align: center;
    line-height: normal;
    text-decoration: none !important;
    min-width: 140px;
}

.btn-build-plate:hover {
    background: #fff;
    color: #000 !important;
    border-color: #000;
}

/* Ensure it looks good in grid */
.product-item-actions .btn-build-plate {
    width: 100%;
    margin-top: 10px;
}

.action.primary.tocart.btn-build-plate {
    padding: 12px 34px;
}

.block-static-block.widget,
.block-cms-link.widget {
    margin-bottom: 10px !important;
}

.block-search input::placeholder {
    color: #818181 !important;
}

.top-wishlist .wishlist-icon::before {
    color: #fff !important;
    font-weight: 700 !important;
}

.login-container form.form.form-login .actions-toolbar .secondary {
    margin-top: 0;
    background: #000;
    border-radius: 40px;
    color: #fff !important;
    padding: 7px;
    padding-left: 15px;
    padding-right: 15px;
}

.actions-toolbar .secondary a.action {
    margin-top: 0px !important;
}

.remind span {
    color: #fff;
    font-family: "Objektiv-Mk2", sans-serif;
    font-size: 14px;
    font-style: normal;
    font-weight: 600;
    letter-spacing: normal;
    line-height: 24px;
    text-align: center;
}

.customer-account-login footer.page-footer,
.customer-account-create footer.page-footer,
.multishipping-checkout-login footer.page-footer {
    margin-top: 0px !important;
}

#featured-logos-carousel .owl-carousel .owl-item img {
    width: inherit !important;
}

.action.remind {
    background-color: #000 !important;
}

.btn.btn-primary:hover,
.action.primary:hover,
.action-primary:hover,
.btn.btn-primary._hover,
.action.primary._hover,
.action-primary._hover,
.btn.btn-primary:focus,
.action.primary:focus,
.action-primary:focus {
    border-color: var(--thim-primary-color, #179000) !important;
    background-color: var(--thim-primary-color, #179000) !important;
    color: #ffffff;
}

.btn-secondary:hover,
.btn-secondary._hover,
.btn-secondary:focus {
    border-color: #222222 !important;
    background-color: #222222 !important;
    color: #ffffff !important;
}

.btn-default:hover,
.btn-default._hover,
.btn-default:focus {
    color: #fff;
    background-color: #222222;
    border-color: #222222;
    color: #fff !important;
}

textarea,
select,
input[type="text"],
input[type="password"],
input[type="url"],
input[type="tel"],
input[type="search"],
input[type="number"],
input[type="datetime"],
input[type="email"] {
    color: var(--thim-mgs-color-body, #000) !important;
}

.page-footer .middle-footer {
    padding: 40px 0 !important;
}

.page-footer .middle-footer ul.menu li {
    margin-bottom: 0px !important;
}

.footer.content ul.list-icon li .icon {
    display: none !important;
}

.enp-whatsapp-chat {
    position: fixed;
    bottom: 0px;
    right: 5px;
    cursor: pointer;
    z-index: 9;
    width: 60px;
    height: 60px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.header-area .minicart-wrapper .action.showcart > .counter.qty {
    color: #000 !important;
}

.top-wishlist .wishlist-count {
    color: #000 !important;
    background-color: #fff !important;
    height: 16px;
    min-width: 16px;
    font-size: 12px;
    line-height: 18px;
}

.btn-view-more {
    color: #fff !important;
}

/* 
 * ==========================================
 * PLATES & INDEX PAGE STYLES
 * Migrated from inline styles
 * ==========================================
 */

/* Generic Wrapper for All Plates Pages */
.plates-cms-page {
    font-family: "Poppins", sans-serif;
    color: #31343b;
}

.plates-cms-page .main-container {
    width: 100%;
    position: relative;
    padding: 0;
}

.plates-cms-page .container {
    max-width: 1170px;
    margin: 0 auto;
    padding-left: 15px;
    padding-right: 15px;
}

.plates-cms-page .row {
    display: flex;
    flex-wrap: wrap;
    margin-right: -15px;
    margin-left: -15px;
}

.plates-cms-page .col-md-12,
.plates-cms-page .col-md-6 {
    position: relative;
    width: 100%;
    padding-right: 15px;
    padding-left: 15px;
}

@media (min-width: 768px) {
    .plates-cms-page .col-md-6 {
        flex: 0 0 50%;
        max-width: 50%;
    }
}

/* Banner */
.plates-cms-page .plates-banner-section {
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    padding: 100px 0;
    margin-bottom: 40px;
    min-height: 400px;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    width: 100vw;
    position: relative;
    left: 50%;
    right: 50%;
    margin-left: -50vw;
    margin-right: -50vw;
}

.plates-cms-page .platestypedetail-banner .inner-banner .banner-caption h2 {
    color: #fff;
    font-size: 36px;
    font-weight: 700;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
    margin: 0;
    text-transform: uppercase;
    text-align: center;
}

/* Content */
.plates-cms-page .plates-banner-detail {
    padding: 50px 0;
}

.plates-cms-page .plate-desc {
    margin-bottom: 40px;
    font-size: 16px;
    line-height: 1.6;
}

.plates-cms-page .plate-desc b {
    font-size: 18px;
    display: block;
    margin-bottom: 10px;
    color: #000;
}

.plates-cms-page .plate-desc p {
    margin-bottom: 20px;
}

.plates-cms-page .custom_desc_tab_content {
    list-style: none;
    padding: 0;
    margin: 0;
}

.plates-cms-page .custom_desc_tab_content li {
    margin-bottom: 60px;
}

.plates-cms-page .custom_desc_tab_content li:nth-child(even) .row {
    flex-direction: row-reverse;
}

.plates-cms-page .plate-item-desc {
    padding: 20px;
    height: 100%;
    display: flex;
    flex-direction: column;
}

.plates-cms-page .plate-item-desc b,
.plates-cms-page .plate-item-desc h3 {
    font-size: 18px;
    margin-bottom: 15px;
    display: block;
    color: #000;
    font-weight: bold;
    margin-top: 0;
}

.plates-cms-page .plate-item-desc p {
    margin-bottom: 20px;
    line-height: 1.6;
    font-size: 15px;
}

.plates-cms-page img {
    max-width: 100%;
    height: auto;
    border-radius: 4px;
}

/* CTAs */
.plates-cms-page .plates-section-two,
.plates-cms-page .plates-section-four {
    padding: 60px 0;
    background-color: #f9f9f9;
    margin-bottom: 40px;
}

.plates-cms-page .plates-section h2 {
    font-size: 32px;
    font-weight: 700;
    margin-bottom: 20px;
    color: #000;
}

.plates-cms-page .plates-section.text-center {
    text-align: center;
}

.plates-cms-page .btn-default {
    background-color: #000;
    color: #fff;
    padding: 2px 40px;
    text-transform: uppercase;
    font-weight: 600;
    letter-spacing: 1px;
    border: none;
    transition: all 0.3s ease;
    display: inline-block;
    margin-top: 10px;
}

.plates-cms-page .btn-default:hover {
    background-color: #333;
    color: #fff;
    text-decoration: none;
}

/* Grid (Reused in Plates Pages) */
.plates-cms-page .plates-section-three {
    padding: 60px 0;
}

.plates-cms-page .plates-section-three small {
    display: block;
    font-size: 16px;
    margin-bottom: 40px;
    color: #666;
}

.plates-cms-page .plates-grid-wrapper {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
}

.plates-cms-page .plate-grid-item {
    transition: transform 0.3s ease;
}

.plates-cms-page .plate-grid-item:hover {
    transform: translateY(-5px);
}

.plates-cms-page .plate-grid-item img {
    width: 100%;
    height: auto;
    display: block;
}

/* Responsive Media Queries for Plates Pages */
@media (max-width: 992px) {
    .plates-cms-page .plates-grid-wrapper {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 768px) {
    .plates-cms-page .plates-grid-wrapper {
        grid-template-columns: repeat(2, 1fr);
    }

    .plates-cms-page .custom_desc_tab_content li:nth-child(even) .row {
        flex-direction: row;
    }

    .plates-cms-page .plates-banner-section {
        padding: 60px 0;
        min-height: 250px;
    }

    .plates-cms-page .platestypedetail-banner .inner-banner .banner-caption h2 {
        font-size: 24px;
    }
}

@media (max-width: 480px) {
    .plates-cms-page .plates-grid-wrapper {
        grid-template-columns: repeat(1, 1fr);
    }
}

/* 
 * Plates Index Page Specific Styles 
 */
.plates-index-wrapper {
    font-family: "Poppins", sans-serif;
    color: #31343b;
    padding: 12px 0;
    max-width: 1200px;
    margin: 0 auto;
}

.plates-index-header {
    text-align: center;
    margin-bottom: 40px;
}

.plates-index-header h1 {
    font-size: 36px;
    font-weight: 700;
    text-transform: uppercase;
    margin-bottom: 10px;
}

.plates-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
    margin-bottom: 50px;
}

.plate-type-card {
    background: #fff;
    border: 1px solid #e1e1e1;
    border-radius: 4px;
    overflow: hidden;
    transition:
        box-shadow 0.3s ease,
        transform 0.3s ease;
    display: flex;
    flex-direction: column;
}

.plate-type-card:hover {
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
    transform: translateY(-5px);
}

.plate-image {
    height: 200px;
    overflow: hidden;
    background-color: #f4f4f4;
}

.plate-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
}

.plate-type-card:hover .plate-image img {
    transform: scale(1.05);
}

.plate-content {
    padding: 25px;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    text-align: center;
}

.plate-content h3 {
    font-size: 18px;
    font-weight: 700;
    margin-bottom: 5px;
    color: #000;
    text-transform: none;
    min-height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.plate-content p {
    font-size: 14px;
    color: #666;
    line-height: 1.5;
    margin-bottom: 20px;
    flex-grow: 1;
}

.btn-view-more {
    display: inline-block;
    background-color: #000;
    color: #fff !important;
    /* Force override as per request */
    padding: 10px 25px;
    font-size: 14px;
    font-weight: 600;
    text-transform: uppercase;
    text-decoration: none;
    border: 1px solid #000;
    transition: all 0.3s ease;
    align-self: center;
    margin-top: auto;
}

.btn-view-more:hover {
    background-color: #179000;
    border-color: #179000;
    color: #fff !important;
    text-decoration: none;
}

/* Load More Button */
.load-more-container {
    text-align: center;
    margin-top: 40px;
}

.btn-load-more {
    background-color: #000;
    color: #fff;
    padding: 15px 50px;
    font-size: 16px;
    font-weight: 700;
    text-transform: uppercase;
    border: none;
    cursor: pointer;
    transition: background-color 0.3s ease;
}

.btn-load-more:hover {
    background-color: #333;
}

@media (max-width: 992px) {
    .plates-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 576px) {
    .plates-grid {
        grid-template-columns: 1fr;
    }
}

.cms-plates-types .breadcrumbs {
    margin: 0 0 10px !important;
}

.scroll-to-top:hover,
.scroll-to-top:focus,
.scroll-to-top:active {
    background-color: var(--thim-primary-color, #179000) !important;
    color: #fff !important;
}

.scroll-to-top {
    bottom: 75px !important;
}

.page-products footer.page-footer {
    margin-top: 0px !important;
}
.promo-banner-container {
    display: block !important;
}

.w3ctrl-builder-seo
{
    text-align: center;
    padding-top: 20px;
}

.w3ctrl-builder-seo .actions-toolbar {
    text-align: center;
    display: flex;
    justify-content: center;
    width: 100%;
}
aside.modal-popup.modal_newsletter_popup.modal-slide._inner-scroll .pop-sletter-title::after {
  background: #000;
  opacity: 0.8 !important;
}
aside.modal-popup.modal_newsletter_popup.modal-slide._inner-scroll .newsletter-popup-content {
  padding-bottom: 10px;
}
aside.modal-popup.modal_newsletter_popup.modal-slide._inner-scroll .newsletter-popup-form form .grpr-checkbox.choice.mgs-gdpr-checkbox label.label {
  font-size: 13px;
}
aside.modal-popup.modal_newsletter_popup.modal-slide._inner-scroll .newsletter-popup-form .grpr-checkbox.choice.mgs-gdpr-checkbox {
  text-align: left;
}
.towishlist .pe-7s-like:hover {
  color: #fff;
}
plates-cms-page .btn-default {
  background-color: #000;
  color: #fff !important;
}
.cms-page-view .breadcrumbs {
  margin: 0 0 10px !important;
}
.cms-page-view .static-top-header {
  padding-bottom: 8px;
}
/* Private Number Plates CMS Page - specific full width override */
.cms-private-number-plates .page-main {
    max-width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

.cms-private-number-plates .columns {
    max-width: 100% !important;
}
.catalog-category-view .page-main {
    max-width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}
.catalog-category-view .columns {
    max-width: 100% !important;
}
.carnumber-index-index .page-main {
    max-width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}
.carnumber-index-index .columns {
    max-width: 100% !important;
}
.platesearch-plate-view .page-main {
    max-width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}
.platesearch-plate-view .columns {
    max-width: 100% !important;
}
.contact-form-content {
  padding: 40px;
}
.plates-wrapper-audi-number-plates .btn-default {
  background-color: #000;
  color: #fff !important;
  padding: 3px 40px !important;
}