.product-single-page {
    width: 100%;
    background: #ffffff;
}

.product-single-content {
    padding: 70px 20px;
}

.product-single-container {
    width: 100%;
    max-width: 1170px;
    margin: 0 auto;
}

.product-single-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 60px;
    align-items: start;
}

.product-featured-image {
    display: block;
    width: 100%;
    height: auto;
    object-fit: contain;
}

.product-image-placeholder {
    min-height: 350px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 30px;
    background: #f4f4f4;
    color: #666666;
}

.product-categories {
    margin-bottom: 15px;
    color: #666666;
    font-size: 14px;
    font-weight: 600;
    text-transform: uppercase;
}

.product-categories a {
    color: #666666;
    text-decoration: none;
}

.product-title {
    margin: 0 0 25px;
    color: #234d6f;
    font-size: 38px;
    line-height: 1.25;
}

.product-excerpt,
.product-description {
    margin-bottom: 25px;
    color: #444444;
    font-size: 17px;
    line-height: 1.7;
}

.product-cut-sheet {
    margin-top: 30px;
}

.product-cut-sheet-button {
    display: inline-block;
    padding: 14px 26px;
    background: #234d6f;
    color: #ffffff;
    font-size: 16px;
    font-weight: 600;
    line-height: 1;
    text-decoration: none;
}

.product-cut-sheet-button:hover,
.product-cut-sheet-button:focus {
    background: #17384f;
    color: #ffffff;
}

@media screen and (max-width: 768px) {
    .product-single-content {
        padding: 45px 20px;
    }

    .product-single-grid {
        grid-template-columns: 1fr;
        gap: 35px;
    }

    .product-title {
        font-size: 30px;
    }
}

/* News page CSS Start here */

/* ==================================================
   News page banner
   ================================================== */

.brecco-news-banner {
    position: relative !important;
    display: block !important;
    width: 100% !important;

    height: 500px !important;
    min-height: 500px !important;
    max-height: none !important;

    margin: 0 !important;
    padding: 0 !important;

    overflow: hidden !important;

    background-repeat: no-repeat !important;
    background-position: center center !important;
    background-size: cover !important;
}

/* Banner overlay */
.brecco-news-banner::before {
    position: absolute;
    inset: 0;
    z-index: 1;

    display: block;
    content: "";

    background-color: rgba(0, 0, 0, 0.25);
}

/* Inner banner container */
.brecco-news-banner__shell {
    position: relative !important;
    z-index: 2 !important;

    display: flex !important;
    align-items: center !important;

    width: 100% !important;
    height: 500px !important;
    min-height: 500px !important;
    max-height: none !important;
}

/* Banner content */
.brecco-news-banner__content {
    position: relative;
    z-index: 2;

    display: flex;
    align-items: center;

    width: 100%;
    height: 100%;
}

/* Banner heading */
.brecco-news-banner__title {
    position: relative;
    z-index: 3;

    margin: 0 !important;
    color: #ffffff !important;
	font-size: 66px;
}

/* Tablet */
@media screen and (max-width: 1024px) {
    .brecco-news-banner,
    .brecco-news-banner__shell {
        height: 420px !important;
        min-height: 420px !important;
    }
}

/* Mobile */
@media screen and (max-width: 767px) {
    .brecco-news-banner,
    .brecco-news-banner__shell {
        height: 320px !important;
        min-height: 320px !important;
    }
}

/* Center the News banner title */
.brecco-news-banner__content {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 100% !important;
    height: 100% !important;

    text-align: center !important;
}

.brecco-news-banner__title {
    width: 100% !important;
    margin: 0 !important;

    color: #ffffff !important;
    text-align: center !important;
}

/* Display News item titles in uppercase */
.news-page .section--news .product__subtitle {
    text-transform: uppercase !important;
}

/* News page CSS End here */

/* About page CSS start here */

/* ==================================================
   ABOUT PAGE BANNER
   ================================================== */

body.page-template-page-about .brecco-about-banner {
    position: relative !important;
    display: block !important;

    width: 100% !important;
    height: 550px !important;
    min-height: 550px !important;
    max-height: none !important;

    margin: 0 !important;
    padding: 0 !important;

    overflow: hidden !important;

    background-repeat: no-repeat !important;
    background-position: center center !important;
    background-size: cover !important;
}

/* Banner overlay */
body.page-template-page-about .brecco-about-banner::before {
    position: absolute !important;
    inset: 0 !important;
    z-index: 1 !important;

    display: block !important;
    content: "" !important;

    background: rgba(0, 30, 90, 0.18) !important;
}

/* Full-width and full-height banner container */
body.page-template-page-about .brecco-about-banner__shell {
    position: relative !important;
    z-index: 2 !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 100% !important;
    height: 550px !important;
    min-height: 550px !important;
    max-width: none !important;

    margin: 0 !important;
    padding: 0 30px !important;
}

/* Center the About heading */
body.page-template-page-about .brecco-about-banner__content {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 100% !important;
    height: 100% !important;

    text-align: center !important;
}

/* About banner title */
body.page-template-page-about .brecco-about-banner__title {
    position: relative !important;
    z-index: 3 !important;

    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;

    color: #ffffff !important;
    text-align: center !important;
}


/* Tablet */
@media screen and (max-width: 1024px) {
    body.page-template-page-about .brecco-about-banner,
    body.page-template-page-about .brecco-about-banner__shell {
        height: 450px !important;
        min-height: 450px !important;
    }
}

/* Mobile */
@media screen and (max-width: 767px) {
    body.page-template-page-about .brecco-about-banner,
    body.page-template-page-about .brecco-about-banner__shell {
        height: 340px !important;
        min-height: 340px !important;
    }
}

.about-page .about-page__side-heading .section__title {
    font-size: 38px !important;
}

@media screen and (max-width* 767px) {
    .about-page .about-page__side-heading .section__title {
        font-size: 28px !important
    }
}

/* Desktop */
.about-page .brecco-about-banner__title {
    font-size: 70px !important;
    line-height: 1.2;
}

/* Tablet */
@media screen and (max-width: 1024px) {
    .about-page .brecco-about-banner__title {
        font-size: 36px !important;
    }
}

/* Mobile */
@media screen and (max-width: 767px) {
    .about-page .brecco-about-banner__title {
        font-size: 30px !important;
    }
}

/* Hide the Brecco Corp side heading on mobile */
@media screen and (max-width: 767px) {
    .about-page .about-page__side-heading {
        display: none !important;
    }
}

/* Prevent horizontal scrolling only on the About page */
body.page-template-page-about {
    max-width: 100%;
    overflow-x: hidden;
}
 
/* About page CSS End here */

/* Contact page main heading */
.contact-page .section--contacts .section__title.section__title-alt {
    font-size: 40px !important;
    line-height: 1.2 !important;
}

/* Tablet */
@media screen and (max-width: 991px) {
    .contact-page .section--contacts .section__title.section__title-alt {
        font-size: 34px !important;
    }
}

/* Mobile */
@media screen and (max-width: 767px) {
    .contact-page .section--contacts .section__title.section__title-alt {
        font-size: 28px !important;
    }
}



/* Conatct Page CSS start here */

/* ==================================================
   Contact page spacing below header
   ================================================== */

.contact-page .section--contacts {
    padding-top: 110px !important;
    padding-bottom: 80px !important;
}

/* Contact heading container */
.contact-page .section--contacts .section__head {
    position: relative !important;
    margin-bottom: 60px !important;
    padding-top: 26px !important;
}

/* Short blue line above the contact heading */
.contact-page .section--contacts .section__head::before {
    position: absolute;
    top: 0;
    left: 0;

    width: 48px;
    height: 4px;

    content: "";
    background-color: #1c3f95;
}

/* Contact page heading */
.contact-page .section--contacts .section__title.section__title-alt {
    margin: 0 !important;
    font-size: 40px !important;
    line-height: 1.2 !important;
}

/* Contact page: remove the extra blue line we added */
.contact-page .section--contacts .section__head::before {
    display: none !important;
    content: none !important;
}

/* Add more space between the menu/header and page content */
.contact-page .section--contacts {
    padding-top: 160px !important;
}

/* Preserve spacing between heading and form area */
.contact-page .section--contacts .section__head {
    margin-bottom: 60px !important;
}


/* ==================================================
   Contact Form 7 fields
   ================================================== */

/* Make the form use the full available right column */
.contact-page .contact-form,
.contact-page .contact-form .wpcf7,
.contact-page .contact-form form {
    width: 100% !important;
    max-width: none !important;
}

/* First Name and Last Name row */
.contact-page .contact-form .form__cols {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 24px !important;
    width: 100% !important;
}

/* Make each column fill its grid space */
.contact-page .contact-form .form__col {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
}

/* Space between form rows */
.contact-page .contact-form .form__row {
    width: 100% !important;
    margin-bottom: 25px !important;
}

/* Field wrapper generated by Contact Form 7 */
.contact-page .contact-form .wpcf7-form-control-wrap {
    display: block !important;
    width: 100% !important;
}

/* Labels */
.contact-page .contact-form .form__label {
    display: block !important;
    margin-bottom: 9px !important;
    color: #222222 !important;
    font-size: 15px !important;
    font-weight: 600 !important;
}

/* Text and email fields */
.contact-page .contact-form input[type="text"],
.contact-page .contact-form input[type="email"],
.contact-page .contact-form input[type="tel"] {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    height: 52px !important;
    min-height: 52px !important;

    margin: 0 !important;
    padding: 12px 16px !important;

    color: #222222 !important;
    font-family: inherit !important;
    font-size: 16px !important;
    line-height: 1.4 !important;

    background-color: #ffffff !important;
    border: 1px solid #b8b8b8 !important;
    border-radius: 0 !important;
    box-shadow: none !important;

    box-sizing: border-box !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
}

/* Message textarea */
.contact-page .contact-form textarea {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    min-height: 190px !important;

    margin: 0 !important;
    padding: 14px 16px !important;

    color: #222222 !important;
    font-family: inherit !important;
    font-size: 16px !important;
    line-height: 1.5 !important;

    background-color: #ffffff !important;
    border: 1px solid #b8b8b8 !important;
    border-radius: 0 !important;
    box-shadow: none !important;

    box-sizing: border-box !important;
    resize: vertical !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
}

/* Field focus */
.contact-page .contact-form input[type="text"]:focus,
.contact-page .contact-form input[type="email"]:focus,
.contact-page .contact-form input[type="tel"]:focus,
.contact-page .contact-form textarea:focus {
    border-color: #1c3f95 !important;
    outline: 2px solid rgba(28, 63, 149, 0.15) !important;
    outline-offset: 0 !important;
} 

/* First Name and Last Name in one horizontal row */
.contact-page .contact-form .name-fields-row {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 24px !important;

    width: 100% !important;
    max-width: none !important;

    margin: 0 0 25px !important;
    padding: 0 !important;

    clear: both !important;
}

/* Each name field occupies one equal column */
.contact-page .contact-form .name-fields-row .name-field {
    display: block !important;

    width: 100% !important;
    max-width: none !important;

    margin: 0 !important;
    padding: 0 !important;

    float: none !important;
}

/* Contact Form 7 generated wrappers */
.contact-page
.contact-form
.name-fields-row
.wpcf7-form-control-wrap {
    display: block !important;
    width: 100% !important;
}

/* First and Last Name inputs */
.contact-page .contact-form .name-fields-row input {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    height: 52px !important;

    box-sizing: border-box !important;
} 

@media screen and (max-width: 767px) {
    .contact-page .contact-form .name-fields-row {
        grid-template-columns: 1fr !important;
        gap: 20px !important;
    }
}

/* Match First/Last Name labels with all other form labels */
.contact-page .contact-form .nam*-fields-row .form__label {
    dis*lay: block !important;
    margin:*0 0 8px !important;
    padding: 0*!important;

    color: inherit !i*portant;
    font-family: inherit *important;
    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.3 !important;
}

/* Remove extra spacing around each name field */
.contact-page .contact-form .name-fields-row .name-field {
    margin: 0 !important;
    padding: 0 !important;
}

/* Remove unexpected paragraph margins */
.contact-page .contact-form .name-fields-row .name-field p {
    margin: 0 !important;
    padding: 0 !important;
}

/* Keep the CF7 input wrapper close to its label */
.contact-page .contact-form .name-fields-row .form__controls,
.contact-page .contact-form .name-fields-row .wpcf7-form-control-wrap {
   display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Keep inputs aligned */
.contact-page .contact-form .name-fields-row input {
    display: block !important;
    width: 100% !important;
    height: 52px !important;
    margin: 0 !important;
    box-sizing: border-box !important; 
}

/* Increase all Contact page form label sizes */
body .contact-page .wpcf7-form .form__label,
body .contact-page .wpcf7-form .name-field-label,
body .contact-page .wpcf7-form label {
    margin: 0 0 6px !important;
    padding: 0 !important;

    color: #444444 !important;
    font-family: inherit !important;
    font-size: 16px !important;
    font-style: normal !important;
    font-weight: 450 !important;
    line-height: 1.3 !important;
    text-transform: none !important;
}

@media screen and (max-width: 767px) {
    body .contact-page .wpcf7-form .form__label,
    body .contact-page .wpcf7-form .name-field-label,
    body .contact-page .wpcf7-form label {
        font-size: 16px !important;
    }
}

/* Contact Form 7 submit button: Craft-style appearance */
body .contact-page .wpcf7-form input[type="submit"],
body .contact-page .wpcf7-form .wpcf7-submit,
body .contact-page .wpcf7-form button[type="submit"] {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: auto !important;
    min-width: 125px !important;
    height: 48px !important;
    min-height: 48px !important;

    margin: 0 !important;
    padding: 12px 28px !important;

    color: #ffffff !important;
    font-family: inherit !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    letter-spacing: 0.04em !important;
    text-align: center !important;
    text-transform: uppercase !important;

    background-color: #1c3f95 !important;
    border: 2px solid #1c3f95 !important;
    border-radius: 0 !important;
    box-shadow: none !important;

    cursor: pointer !important;
    appearance: none !important;

    transition:
        color 0.25s ease,
        background-color 0.25s ease,
        border-color 0.25s ease !important;
}

/* Hover and keyboard-focus state */
body .contact-page .wpcf7-form input[type="submit"]:hover,
body .contact-page .wpcf7-form input[type="submit"]:focus,
body .contact-page .wpcf7-form .wpcf7-submit:hover,
body .contact-page .wpcf7-form .wpcf7-submit:focus,
body .contact-page .wpcf7-form button[type="submit"]:hover,
body .contact-page .wpcf7-form button[type="submit"]:focus {
    color: #1c3f95 !important;
    background-color: #ffffff !important;
    border-color: #1c3f95 !important;
    outline: none !important;
}

/* Optional pressed state */
body .contact-page .wpcf7-form input[type="submit"]:active,
body .contact-page .wpcf7-form .wpcf7-submit:active,
body .contact-page .wpcf7-form button[type="submit"]:active {
    color: #ffffff !important;
    background-color: #152f70 !important;
    border-color: #152f70 !important;
}

body .contact-page .wpcf7-form .form__actions {
    margin-top: 25px !important;
}

/* Contact form button spacing */
body .contact-page .wpcf7-form .form__actions {
    margin-top: 12px !important;
    padding-top: 0 !important;
}

/* Remove extra paragraph spacing around the CF7 button */
body .contact-page .wpcf7-form .form__actions p {
    margin: 0 !important;
    padding: 0 !important;
}

/* Wider and slightly shorter Submit button */
body .contact-page .wpcf7-form input[type="submit"],
body .contact-page .wpcf7-form .wpcf7-submit,
body .contact-page .wpcf7-form button[type="submit"] {
    width: 175px !important;
    min-width: 175px !important;

    height: 42px !important;
    min-height: 42px !important;

    margin: 0 !important;
    padding: 8px 30px !important;

    color: #ffffff !important;
    background-color: #1c3f95 !important;
    border: 2px solid #1c3f95 !important;

    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    text-transform: uppercase !important;

    box-sizing: border-box !important;
}

/* Craft-style hover */
body .contact-page .wpcf7-form input[type="submit"]:hover,
body .contact-page .wpcf7-form input[type="submit"]:focus,
body .contact-page .wpcf7-form .wpcf7-submit:hover,
body .contact-page .wpcf7-form .wpcf7-submit:focus,
body .contact-page .wpcf7-form button[type="submit"]:hover,
body .contact-page .wpcf7-form button[type="submit"]:focus {
    color: #1c3f95 !important;
    background-color: #ffffff !important;
    border-color: #1c3f95 !important;
}

/* Message field spacing */
body .contact-page .wpcf7-form .contact-message-row {
    display: block !important;
    width: 100% !important;
    margin: 0 0 20px !important;
    padding: 0 !important;
}

/* Remove spacing below the textarea and its wrappers */
body .contact-page .wpcf7-form .contact-message-row .form__controls,
body .contact-page .wpcf7-form .contact-message-row .wpcf7-form-control-wrap,
body .contact-page .wpcf7-form .contact-message-row textarea {
    margin-bottom: 0 !important;
}

/* Submit row directly below Message */
body .contact-page .wpcf7-form .contact-submit-row {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1 !important; 
}

/* Remove CF7-generated paragraph spacing */
body .contact-page .wpcf7-form .contact-submit-row p {
    margin: 0 !important;
    padding: 0 !important;
}

/* Remove line-break spacing */
body .contact-page .wpcf7-form .contact-submit-row br {
    display: none !important;
}

/* Keep button dimensions */
body .contact-page .wpcf7-form .contact-submit-row .wpcf7-submit {
    width: 175px !important;
    min-width: 175px !important;
    height: 42px !important;
    min-height: 42px !important;
    margin: 0 !important;
    padding: 8px 30px !important;
}


/* Contact Page CSS End */ 


/* =============================================
Search results: CSS Start
============================================= */
 
.search-results-page .search-products-grid {
display: grid !important;
grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
column-gap: 30px !important;
row-gap: 50px !important;
width: 100% !important;
margin: 0 !important;
padding: 0 !important;
}
 
/* Individual product card */
.search-results-page .search-product-card {
display: flex !important;
flex-direction: column !important;
width: 100% !important;
min-width: 0 !important;
margin: 0 !important;
padding: 0 0 25px !important;
background: #ffffff !important;
box-sizing: border-box !important;
}
 
/* Product image link */
.search-results-page .search-product-image-link {
display: block !important;
width: 100% !important;
margin: 0 0 20px !important;
}
 
/* Equal-height image area */
.search-results-page .search-product-image {
display: flex !important;
align-items: center !important;
justify-content: center !important;
width: 100% !important;
height: 260px !important;
padding: 20px !important;
overflow: hidden !important;
background-color: #ffffff !important;
box-sizing: border-box !important;
}
 
/* Product image */
.search-results-page .search-product-image img {
display: block !important;
width: 100% !important;
max-width: 100% !important;
height: 100% !important;
margin: 0 auto !important;
object-fit: contain !important;
}
 
/* Product content below image */
.search-results-page .search-product-content {
display: flex !important;
flex: 1 1 auto !important;
flex-direction: column !important;
width: 100% !important;
box-sizing: border-box !important;
}

/* Product title */
.search-results-page .search-product-title {
display: block !important;
visibility: visible !important;
margin: 0 0 12px !important;
font-size: 18px !important;
font-weight: 600 !important;
line-height: 1.35 !important;
opacity: 1 !important;
}
.search-results-page .search-product-title a {
text-decoration: none !important;
}

/* Product title hover */ 
.search-results-page .search-product-title a:hover,
.search-results-page .search-product-title a:focus {
    text-decoration: underline !important;
    text-decoration-color: #1c3f95 !important;
    text-decoration-thickness: 1.5px !important;
    text-underline-offset: 4px !important;
}
 
/* Product description */
.search-results-page .search-product-description {
margin: 0 0 15px !important;
 
color: #444444 !important;
font-size: 15px !important;
line-height: 1.6 !important;
}
 
.search-results-page .search-product-description p {
margin: 0 !important;
}
 
/* View Details link */
.search-results-page .search-product-link {
display: inline-block !important;
align-self: flex-start !important;
 
margin-top: auto !important;
 
color: #1c3f95 !important;
font-size: 14px !important;
font-weight: 700 !important;
text-decoration: none !important;
text-transform: uppercase !important;
}
 
.search-results-page .search-product-link:hover {
text-decoration: underline !important;
}


/* Two products per row on tablets */
@media screen and (max-width: 1024px) {
    .search-results-page .search-products-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .search-results-page .search-product-image {
        height: 240px !important;
    }
}

/* One product per row on mobile */
@media screen and (max-width: 767px) {
    .search-results-page .search-products-grid {
        grid-template-columns: 1fr !important;
        row-gap: 35px !important;
    }

    .search-results-page .search-product-image {
        height: 280px !important;
    }
}

/* Final search product grid override */
.search-results-page .search-products-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 40px 30px !important;
    width: 100% !important;
}

/* Each product must occupy one grid column */
.search-results-page .search-products-grid > .search-product-card,
.search-results-page .search-products-grid > article {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 0 !important;
    float: none !important;
    clear: none !important;
}

/* Tablet */
@media screen and (max-width: 1024px) {
    .search-results-page .search-products-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

/* Mobile */
@media screen and (max-width: 767px) {
    .search-results-page .search-products-grid {
        grid-template-columns: 1fr !important;
    }
}

/* Align all product images in search results */
.search-results-page .search-products-grid > article {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
}



/* Keep content aligned below each image */
.search-results-page .search-product-content,
.search-results-page .search-result-content {
    display: flex !important;
    flex: 1 1 auto !important;
    flex-direction: column !important;

    width: 100% !important;
    margin: 0 !important;
}


.search-results-page .search-results-summary {
    margin: 0 0 30px !important;
    color: #1c3f95 !important;
    font-size: 40px !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
}

@media screen and (max-width: 767px) {
    .search-results-page .search-results-summary {
        font-size: 28px !important;
    }
}

/* Add space below the site menu/header */
.search-results-page .search-results-section {
    padding-top: 160px !important;
    padding-bottom: 80px !important;
}

/* Complete search-results message */
.search-results-page .search-results-summary {
    margin: 0 0 45px !important;
    color: #000000 !important;
    font-size: 42px !important;
    font-weight: 400 !important;
    line-height: 1.25 !important; 
}

/* Result count and supporting text */
.search-results-page .search-results-summary__count {
    color: #000000 !important;
}

/* Searched keyword */
.search-results-page .search-results-summary__keyword {
    color: #1c3f95 !important;
}

/* Responsive spacing and font size */
@media screen and (max-width: 760px) {
    .search-results-page .search-results-section {
        padding-top: 100px !important;
        padding-bottom: 50px !important;
    }

    .search-results-page .search-results-summary {
        margin-bottom: 30px !important;
        font-size: 28px !important;
    }
}

/* Product image box */
.search-results-page .search-product-image,
.search-results-page .search-result-image {
    position: relative !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 100% !important;
    height: 260px !important;
    min-height: 260px !important;

    margin: 0 0 20px !important;
    padding: 20px !important;

    overflow: hidden !important;
    box-sizing: border-box !important;

    background-color: transparent !important;
    border: 1px solid #e1e1dd !important;

    transition: border-color 0.3s ease !important;
}

/* Make image link fill the box */
.search-results-page .search-product-image > a,
.search-results-page .search-result-image > a {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 100% !important;
    height: 100% !important;

    margin: 0 !important;
    padding: 0 !important;

    overflow: hidden !important;
}

/* Default product image */
.search-results-page .search-product-image img,
.search-results-page .search-result-image img {
    display: block !important;

    width: auto !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: 220px !important;

    margin: auto !important;

    object-fit: contain !important;
    transform: scale(1) !important;
    transform-origin: center center !important;

    transition:
        transform 0.35s ease,
        opacity 0.35s ease !important;
}

/* Craft-style image focus on card hover */
.search-results-page .search-product-card:hover .search-product-image img,
.search-results-page .search-product-card:focus-within .search-product-image img,
.search-results-page .search-result-item:hover .search-result-image img,
.search-results-page .search-result-item:focus-within .search-result-image img {
    transform: scale(1.08) !important;
}

/* Slightly stronger border on hover */
.search-results-page .search-product-card:hover .search-product-image,
.search-results-page .search-product-card:focus-within .search-product-image,
.search-results-page .search-result-item:hover .search-result-image,
.search-results-page .search-result-item:focus-within .search-result-image {
    border-color: #c8c8c3 !important;
}

.search-results-page .search-no-results__message {
    font-size: 18px !important;
}

@media (max-width: 767px) {

    .search-results-page,
    .search-results-section,
    .search-results-page .shell {
        margin-left: 0 !important;
        padding-left: 15px !important;
        padding-right: 15px !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }
	
	 .search {
        max-width: 100% !important;
    }
}
 

/* =============================================
Search results: CSS End
============================================= */




/* Preserve existing newsletter widget layout */
.footer .widget-newsletter .form-subscribe {
    width: 100%;
}

/* Remove default CF7 paragraph spacing */
.footer .widget-newsletter .wpcf7-form p {
    margin: 0 !important;
}

/* Keep existing form body and action structure */
.footer .widget-newsletter .footer-mailing-form {
    width: 100%;
}

/* Email field wrapper */
.footer .widget-newsletter .form__controls,
.footer .widget-newsletter .wpcf7-form-control-wrap {
    display: block;
    width: 100%;
}

/* Email field */
.footer .widget-newsletter input[type="email"].field {
    display: block;
    width: 100%;
    box-sizing: border-box;
}

/* Preserve existing Submit-button dimensions */
.footer .widget-newsletter input[type="submit"].form__btn {
    cursor: pointer;
}

/* Prevent the CF7 loading spinner from changing the layout */
.footer .widget-newsletter .wpcf7-spinner {
    position: absolute;
    margin: 0 0 0 8px;
}

/* Validation message */
.footer .widget-newsletter .wpcf7-not-valid-tip {
    margin-top: 5px;
    font-size: 12px;
}

/* Success or failure message */
.footer .widget-newsletter .wpcf7-response-output {
    margin: 10px 0 0 !important;
    padding: 6px 8px !important;
    font-size: 12px;
    line-height: 1.4;
}

/* ==================================================
   Footer mailing-list validation layout
   ================================================== */

/* Keep email field and Submit button aligned horizontally */
.footer .widget-newsletter .wpcf7-form {
    position: relative;
}

.footer .widget-newsletter .footer-mailing-form {
    position: relative;

    display: flex !important;
    align-items: flex-start !important;
    width: 100% !important;
}

/* Email-field section */
.footer .widget-newsletter .footer-mailing-form .form__body {
    flex: 1 1 auto !important;
    width: auto !important;
    margin: 0 !important;
}

/* Remove margins that may push the button */
.footer .widget-newsletter .footer-mailing-form .form__row,
.footer .widget-newsletter .footer-mailing-form .form__controls {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Contact Form 7-generated input wrapper */
.footer .widget-newsletter .wpcf7-form-control-wrap {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
}

/* Email input */
.footer .widget-newsletter input[type="email"].field {
    display: block !important;
    width: 100% !important;
    height: 44px !important;
    margin: 0 !important;
    box-sizing: border-box !important;
}

/* Keep Submit button beside the email input */
.footer .widget-newsletter .footer-mailing-form .form__actions {
    flex: 0 0 auto !important;
    align-self: flex-start !important;

    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Submit button */
.footer .widget-newsletter input[type="submit"].form__btn {
    display: block !important;
    height: 44px !important;
    margin: 0 !important;
}

/* Field-level validation message */
.footer .widget-newsletter .wpcf7-not-valid-tip {
    position: absolute !important;
    top: 48px !important;
    left: 0 !important;
    z-index: 2 !important;

    width: 260px !important;
    margin: 0 !important;
    padding: 0 !important;

    color: #ffffff !important;
    font-size: 12px !important;
    line-height: 1.3 !important;
}

/* Hide the duplicate yellow validation summary */
.footer .widget-newsletter form.invalid .wpcf7-response-output,
.footer .widget-newsletter form.unaccepted .wpcf7-response-output {
    display: none !important;
}

/* Prevent the loading spinner from affecting alignment */
.footer .widget-newsletter .wpcf7-spinner {
    position: absolute !important;
    right: -28px !important;
    margin: 10px 0 0 !important;
}

/* Remove borders from all newsletter form response messages */
.footer .widget-newsletter .wpcf7-response-output {
    border: 0 !important;
    border-width: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;

    margin: 10px 0 0 !important;
    padding: 0 !important;

    color: #ffffff !important;
    font-size: 12px !important;
    line-height: 1.4 !important;
}

/* Remove borders for every CF7 response status */
.footer .widget-newsletter form.sent .wpcf7-response-output,
.footer .widget-newsletter form.invalid .wpcf7-response-output,
.footer .widget-newsletter form.failed .wpcf7-response-output,
.footer .widget-newsletter form.spam .wpcf7-response-output,
.footer .widget-newsletter form.aborted .wpcf7-response-output,
.footer .widget-newsletter form.unaccepted .wpcf7-response-output,
.footer .widget-newsletter form.payment-required .wpcf7-response-output {
    border: 0 !important;
    border-width: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;

    padding: 0 !important;
}



/* Contact page: mobile responsive css start  */
@media screen and (max-width: 767px) {
    .contact-page .section--contacts .section__body {
        display: block !important;
        width: 100% !important;
    }

    .contact-page .section--contacts .section__aside,
    .contact-page .section--contacts .section__content {
        display: block !important;
        width: 100% !important;
        max-width: none !important;
        float: none !important;
    }

    /* Space between contact details and form */
    .contact-page .section--contacts .section__aside {
        margin: 0 0 35px !important;
    }

    /* Make all form fields full width */
    .contact-page .contact-form,
    .contact-page .contact-form .wpcf7,
    .contact-page .contact-form .wpcf7-form,
    .contact-page .contact-form .form__row,
    .contact-page .contact-form .form__controls,
    .contact-page .contact-form .wpcf7-form-control-wrap,
    .contact-page .contact-form input,
    .contact-page .contact-form textarea {
        width: 100% !important;
        max-width: none !important;
        box-sizing: border-box !important;
    }

    /* Stack First Name and Last Name */
    .contact-page .contact-form .name-fields-row,
    .contact-page .contact-form .form__cols {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 20px !important;
    }

    /* Stack office locations */
    .contact-page .section--contacts .offices {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 25px !important;
    }
}

/* Contact page: mobile responsive css end  */



