/* =========================
   Header / Logo
   ========================= */

.site-logo img {
    max-height: 100px;
    width: auto;
}

.site-logo img {
    transition: max-height 0.3s ease;
}

@media (max-width: 768px) {
    .site-logo img {
        max-height: 60px;
    }
}

/* ===============================
   CART ICON – GREEN HEADER
================================ */

.cart-nav-item {
    margin-left: 14px;
}

.cart-link {
    position: relative;
    display: inline-flex;
    align-items: center;
    text-decoration: none;
}

/* Cart icon */
.cart-icon {
    position: relative;
    font-size: 20px;
    color: #ffffff;
    /* white icon */
    line-height: 1;
    transition: opacity 0.2s ease;
}

.cart-link:hover .cart-icon {
    opacity: 0.85;
}

/* Quantity badge */
.cart-count-badge {
    position: absolute;
    top: -7px;
    right: -10px;

    min-width: 18px;
    height: 18px;
    padding: 0 5px;

    background-color: #ffffff;
    /* white pill */
    color: #1f9f67;
    /* green number (matches header) */

    font-size: 11px;
    font-weight: 700;
    line-height: 18px;
    text-align: center;

    border-radius: 999px;
    box-shadow: 0 0 0 2px #1f9f67;
    /* subtle green ring */
}

/* =====================================================
   BANNER TEXT GRADIENT (WHITE → GREEN)
   ===================================================== */

.banner__section h1,
.banner__section h2,
.banner__section h3,
.banner__section h4,
.banner__section h5,
.banner__section h6 {
    background: linear-gradient(90deg, #ffffff 0%, #23ad75 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    color: transparent;
}

/* Improve contrast */
.banner__section h1,
.banner__section h2 {
    text-shadow: 0 2px 6px rgba(0, 0, 0, 0.25);
}

/* Paragraph text */
.banner__section p {
    color: #ffffff;
    max-width: 520px;
}

/* =====================================================
   BUTTONS
   ===================================================== */

.banner__button {
    margin-top: 30px;
}

.banner__button .cmn--btn {
    margin-right: 15px;
}

/* =====================================================
   ARROWS
   ===================================================== */

.arry__button {
    position: absolute;
    right: 40px;
    top: 50%;
    transform: translateY(-50%);
    z-index: 4;
}

.arry__button button {
    background: rgba(255, 255, 255, 0.2);
    border: none;
    color: #fff;
    width: 45px;
    height: 45px;
    border-radius: 50%;
    margin: 8px 0;
    transition: background 0.3s ease;
}

.arry__button button:hover {
    background: #23ad75;
}

/* =====================================================
   HARD STOP: NEXT SECTION BLEED
   ===================================================== */

.banner__section + section {
    margin-top: 0 !important;
}

section {
    position: relative;
    overflow-x: hidden;
}

/* =====================================================
   RESPONSIVE
   ===================================================== */

@media (max-width: 1200px) {
    .banner__section {
        height: 650px;
    }
}

@media (max-width: 992px) {
    .banner__section {
        height: 600px;
    }

    .banner__content {
        padding-top: 90px;
    }
}

@media (max-width: 768px) {
    .banner__section {
        height: 500px;
    }

    .banner__content {
        padding-top: 70px;
    }

    .banner__section h1,
    .banner__section h2 {
        font-size: 32px;
    }
}

@media (max-width: 480px) {
    .banner__section {
        height: 450px;
    }

    .banner__section h1,
    .banner__section h2 {
        font-size: 26px;
    }
}

/* =====================================================
   BANNER TEXT GRADIENT (WHITE → GREEN)
   ===================================================== */

.banner__section h1,
.banner__section h2,
.banner__section h3,
.banner__section h4,
.banner__section h5,
.banner__section h6 {
    background: linear-gradient(90deg, #ffffff 0%, #23ad75 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    color: transparent;
}

/* Optional shadow for contrast */
.banner__section h1,
.banner__section h2 {
    text-shadow: 0 2px 6px rgba(0, 0, 0, 0.25);
}

/* Paragraph styling */
.banner__section p {
    color: #ffffff;
    max-width: 520px;
}

/* =====================================================
   BUTTONS
   ===================================================== */

.banner__button {
    margin-top: 30px;
}

.banner__button .cmn--btn {
    margin-right: 15px;
}

/* =====================================================
   ARROWS
   ===================================================== */

.arry__button {
    position: absolute;
    right: 40px;
    top: 50%;
    transform: translateY(-50%);
    z-index: 5;
}

.arry__button button {
    background: rgba(255, 255, 255, 0.2);
    border: none;
    color: #fff;
    width: 45px;
    height: 45px;
    border-radius: 50%;
    margin: 8px 0;
    transition: background 0.3s ease;
}

.arry__button button:hover {
    background: #23ad75;
}

.heading-gradient-green-black {
    background: linear-gradient(90deg, #23ad75 0%, #000000 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    color: transparent;
}

/* =====================================================
   TESTIMONIAL THUMBNAIL IMAGE
   ===================================================== */
.details__thumb img {
    height: 260px;
    object-fit: cover;
}

.testi__thumb img {
    max-width: 50px;
    max-height: 50px;
    object-fit: cover;
    border-radius: 50%;
    display: block;
}

.cms-html {
    font-size: 1rem;
    line-height: 1.35;
    text-align: center;
    margin-bottom: 12px;
    min-height: auto; /* remove forced empty area */
}

/* Meta / badges */
.team__meta {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 8px !important;
    margin-top: 10px;
}

.team-role-badge,
.team__meta span {
    display: inline-block;
    max-width: 100%;
    padding: 4px 10px;
    font-size: 0.85rem;
    background: #f5f5f5;
    color: #333;
    border-radius: 20px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Safety */
.team__items img {
    max-width: 100%;
}
/* Highlight Sign In menu item */
.nav-signin > a {
    background: #ffffff;
    color: #23ad75 !important;
    padding: 8px 16px;
    border-radius: 999px;
    font-weight: 600;
    transition: all 0.3s ease;
}

/* Hover effect */
.nav-signin > a:hover {
    background: #1e8f61;
    color: #ffffff !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.partners__grid {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: stretch;
    gap: 40px;
}

.partner__item {
    width: 220px;
    height: 140px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 15px;
}

.partner__item img {
    max-width: 100%;
    max-height: 100px;
    width: auto;
    height: auto;
    object-fit: contain;
    transition: all 0.3s ease;
}

.partner__item img:hover {
    transform: scale(1.05);
}
/* DONATE BUTTON */
.swiper,
.swiper-wrapper,
.swiper-slide {
    height: auto !important;
}
.donate__wrapper .swiper-wrapper {
    align-items: flex-start !important;
}
.donate__wrapper .swiper-slide {
    height: auto !important;
    display: block; /* 👈 remove flex */
}
.donate__thumb {
    width: 100%;
    height: 290px; /* 👈 fixed height */
    overflow: hidden;
    border-radius: 12px;
}

.donate__thumb img {
    width: 100%;
    height: 100%;
    object-position: top;
    object-fit: cover; /* 👈 keeps image nice */
    object-position: top;
    display: block;
}
/* =====================================================
   RESPONSIVE
   ===================================================== */

@media (max-width: 992px) {
    .banner__content {
        padding-top: 90px;
    }
}

@media (max-width: 768px) {
    .banner__section {
        min-height: 500px;
    }

    .banner__content {
        padding-top: 70px;
    }

    .banner__section h1,
    .banner__section h2 {
        font-size: 32px;
    }
}

@media (max-width: 480px) {
    .banner__section {
        min-height: 450px;
    }

    .banner__section h1,
    .banner__section h2 {
        font-size: 26px;
    }
}

@media (max-width: 768px) {
    .team__thumb {
        width: 150px;
        height: 150px;
    }
}

@media (max-width: 480px) {
    .team__thumb {
        width: 120px;
        height: 120px;
    }
}

.project-image-wrapper {
    width: 100%;
    aspect-ratio: 4 / 3;
    /* change to 1/1 or 16/9 if you prefer */
    overflow: hidden;
    border-radius: 8px;
}

.project-image-wrapper img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.service__items .content {
    height: 100%;
    display: flex;
    flex-direction: column;
}

.media-meta {
    word-break: break-word;
    overflow-wrap: anywhere;
}

.media-actions {
    margin-top: auto;
    padding-top: 16px;
    text-align: center;
}

.media-list-item h4 {
    line-height: 1.4;
}

.media-list-item hr {
    border-top: 1px solid #eee;
}

.standard-thumb {
    width: 100%;
    aspect-ratio: 3 / 4;
    /* book-friendly ratio */
    overflow: hidden;
    border-radius: 6px;
    background: #f5f5f5;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Image inside standardized container */
.standard-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    /* fills container without distortion */
}

/* Placeholder icon */
.standard-thumb .thumb-placeholder {
    font-size: 48px;
    color: #999;
}

.section-spacing {
    margin-top: 120px;
    margin: 80px 0;
}

@media (max-width: 768px) {
    .section-spacing {
        margin: 50px 0;
    }
}

.legacy-section .title__content {
    max-width: 100%;
    padding: 0 5%;
}

.legacy-section h1,
.legacy-section h5 {
    color: #ffffff;
    max-width: 100%;
}

.legacy-section .legacy-content {
    max-width: 100%;
    margin-top: 20px;
    font-size: 1.25rem;
    line-height: 1.9;
}

/* Force white text for ALL HTML coming from DB */
.approach-section .approach-content,
.approach-section .approach-content * {
    color: #000 !important;
}

/* approach */
.approach-section .title__content {
    max-width: 100%;
    padding: 0 5%;
    background: none;
}

.approach-section h1,
.approach-section h5 {
    color: #ffffff;
    max-width: 100%;
}

.approach-section .approach-content {
    max-width: 100%;
    margin-top: 20px;
    font-size: 1.25rem;
    line-height: 1.9;
}

/* Force white text for ALL HTML coming from DB */
.approach-section .approach-content,
.approach-section .approach-content * {
    color: #000 !important;
}

@media (max-width: 768px) {
    .section-spacing {
        margin: 50px 0;
    }
}

@media (max-width: 768px) {
    .legacy-section .legacy-content {
        font-size: 1.05rem;
        line-height: 1.7;
    }

    @media (max-width: 768px) {
        .approach-section .approach-content {
            font-size: 1.05rem;
            line-height: 1.7;
        }
    }
}

/* =====================================================
   Passion2Plant – Legacy / Vision Section (FULL CONTROL)
   ===================================================== */

/* --- SECTION RESET & ISOLATION --- */
.p2p-legacy {
    position: relative;
    isolation: isolate;
    /* stops background bleed */
    background-color: rgba(35, 173, 117, 0.12) !important;
    padding: 5rem 0;
    overflow: hidden;
}

/* --- SUBTLE TEXTURE OVERLAY --- */
.p2p-legacy::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(
        180deg,
        rgba(35, 173, 117, 0.08) 0%,
        rgba(247, 246, 242, 0.95) 100%
    ) !important;
    background-size: 28px 28px;
    pointer-events: none;
    z-index: 0;
}

/* --- FORCE CONTENT ABOVE OVERLAY --- */
.p2p-legacy * {
    position: relative;
    z-index: 1;
}

/* --- OVERRIDE THEME CONTAINERS --- */
.p2p-legacy .container,
.p2p-legacy .title__content {
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
}

/* --- SUBTITLE --- */
.p2p-legacy h5 {
    color: #1f2933;
    font-weight: 400;
    opacity: 0.85;
    max-width: 760px;
    margin: 0 auto 2.5rem;
    text-align: center;
}

/* --- MAIN CONTENT BLOCK --- */
.p2p-legacy .legacy-content {
    margin-top: 2rem;
}

/* --- PARAGRAPHS (THIS FIXES “STRETCH”) --- */
.p2p-legacy .legacy-content p {
    max-width: 760px !important;
    margin: 0 auto 1.6rem !important;
    font-size: 1.08rem;
    line-height: 1.85;
    color: #1f2933;
    text-align: center;
}

/* --- DESKTOP TYPOGRAPHY IMPROVEMENT --- */
@media (min-width: 992px) {
    .p2p-legacy .legacy-content p {
        text-align: left;
    }
}

/* --- SOFT DIVIDER AFTER FIRST PARAGRAPH --- */
.p2p-legacy .legacy-content p:first-of-type::after {
    content: "";
    display: block;
    width: 64px;
    height: 3px;
    margin: 2rem auto;
    background: linear-gradient(to right, #6fbf9c, #1e5f3c);
    border-radius: 3px;
}

/* --- REMOVE THEME BACKGROUNDS IF ANY --- */
.p2p-legacy section,
.p2p-legacy .section__bg {
    background: transparent !important;
}

@media (max-width: 768px) {
    .p2p-legacy .p2p-content {
        font-size: 1rem;
        line-height: 1.7;
    }
}

.hero-image {
    position: relative;
}

.hero-image img {
    max-height: 420px;
    object-fit: cover;
}

.hero-title {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    pointer-events: none;
}

.hero-title-box {
    background: rgba(0, 0, 0, 0.55);
    /* dark translucent box */
    backdrop-filter: blur(4px);
    /* subtle glass effect */
    -webkit-backdrop-filter: blur(4px);
    padding: 1rem 2rem;
    border-radius: 10px;
    max-width: 90%;
}

.hero-title-box h2 {
    color: #fff;
    font-size: clamp(1.8rem, 4vw, 3rem);
    font-weight: 700;
    margin: 0;
    line-height: 1.2;
}

.hero-title h2 {
    color: #fff;
    font-size: clamp(1.8rem, 4vw, 3rem);
    font-weight: 700;
    margin: 0;
    padding: 0 1rem;
}

@media (max-width: 768px) {
    .hero-image img {
        max-height: 300px;
    }
}

.product-thumb {
    width: 150px;
    height: 150px;
    object-fit: cover;
    border-radius: 8px;
    /* optional */
}

.product-thumb:hover {
    transform: scale(1.05);
    transition: transform 0.3s ease;
}

.product__icon {
    position: absolute;
    bottom: 10px;
    right: 10px;
    list-style: none;
    padding: 0;
    margin: 0;
}

@media screen and (max-width: 768px) {
    .product-thumb {
        width: 120px;
        height: 120px;
    }
}

.cart-icon-btn {
    background: transparent;
    border: none;
    padding: 0;
    cursor: pointer;
}

.cart-icon-btn i {
    color: #fff;
    /* WHITE icon */
    font-size: 18px;
}

.cart-icon-btn:hover i {
    color: #f1f1f1;
    /* soft hover */
}

/* Testimonial Carousel */

.testi__items {
    position: relative;
    width: 100%;
    padding: 60px 40px;
    /* 20px+ side breathing space */
    border-radius: 12px;
    overflow: hidden;
    color: #fff;
}

/* Background overlay (darken image) */
.testi__items::before {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.45);
    border-radius: 12px;
    z-index: 1;
}

/* Ensure content is above overlay */
.testi__items > * {
    position: relative;
    z-index: 2;
}

/* Image */
.testi__thumb img {
    width: 160px;
    height: 160px;
    object-fit: cover;
    border-radius: 50%;
    margin: 0 auto 25px;
    display: block;
}

/* Name */
.testi__items h5 {
    color: #ffffff;
    font-weight: 600;
}

/* Role */
.testi__items span {
    color: #f1f1f1;
    font-size: 0.95rem;
}

/* Content */
.testimonial-content {
    width: 100% !important;
    max-width: 100% !important;
    display: block;
    text-align: justify;
    font-size: 1.05rem;
    line-height: 1.9;
    margin-top: 20px;
    padding: 0 20px;
    /* 20px border space */
}

/* Stars */
.testimonial-stars {
    list-style: none;
    padding: 0;
    display: flex;
    justify-content: center;
    gap: 8px;
    margin-top: 25px;
}

.testimonial-stars li i {
    color: #28a745;
    font-size: 18px;
}

.testi__items .testimonial-content {
    width: 100% !important;
    max-width: 100% !important;
}

/* =========================
   FIX: DOT POSITION ONLY
========================= */

/* Base (Mobile First) */
.swiper.testimonial__wrapper {
    position: relative;
    padding-bottom: 60px; /* more space for small screens */
}

.testimonial__wrapper .swiper-pagination {
    position: absolute;
    bottom: 15px;
    left: 0;
    width: 100%;
}

.swiper-dot {
    position: relative;
    margin-top: -30px;
    z-index: 5;
}

/* Tablet */
@media (min-width: 768px) {
    .swiper.testimonial__wrapper {
        padding-bottom: 50px;
    }

    .testimonial__wrapper .swiper-pagination {
        bottom: 12px;
    }

    .swiper-dot {
        margin-top: -35px;
    }
}

/* Desktop */
@media (min-width: 1200px) {
    .swiper.testimonial__wrapper {
        padding-bottom: 40px;
    }

    .testimonial__wrapper .swiper-pagination {
        bottom: 10px;
    }

    .swiper-dot {
        margin-top: -40px;
    }
}
/* ========================= */

@media screen and (max-width: 768px) {
    .testi__items {
        padding: 40px 20px;
    }

    .testi__thumb img {
        width: 100px;
        height: 100px;
    }

    .testimonial-content {
        font-size: 0.95rem;
    }
}

/* Blog Card Container */
.blog__items {
    border-radius: 12px;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.05);
    transition: 0.3s ease;
}

/* Image Wrapper */
.blog__items .thumb {
    width: 100%;
    height: 260px;
    /* Desktop default */
    overflow: hidden;
}

/* Image */
.blog__items .thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.4s ease;
}

/* Make columns stretch evenly */
.row.g-4 > div {
    display: flex;
}

/* Blog card layout */
.blog__items {
    display: flex;
    flex-direction: column;
    width: 100%;
    border-radius: 12px;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.05);
}

/* Keep image fixed */
.blog__items .thumb {
    aspect-ratio: 16 / 9;
    overflow: hidden;
}

.blog__items .thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Content grows evenly */
.blog__items .content {
    display: flex;
    flex-direction: column;
    flex: 1;
    padding: 20px;
}

/* Push Read More to bottom */
.blog__items .btns {
    margin-top: auto;
}

/* Hover Effect (Optional but Nice) */
.blog__items:hover .thumb img {
    transform: scale(1.05);
}

/* Large Tablets */
@media (max-width: 1200px) {
    .blog__items .thumb {
        height: 220px;
    }
}

/* Tablets */
@media (max-width: 992px) {
    .blog__items .thumb {
        height: 200px;
    }
}

/* Mobile */
@media (max-width: 576px) {
    .blog__items .thumb {
        height: 180px;
    }

    .blog__items h5 {
        font-size: 1rem;
    }

    .blog__items p {
        font-size: 0.9rem;
    }
}
.partner-icon {
    width: 100%;
    max-width: 250px; /* reduced from 150px */
    aspect-ratio: 1 / 1;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 10px; /* reduced */
    border-radius: 10px;
    background: #fff;
    transition: all 0.3s ease;
}

.partner-icon img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    display: block;
}
.partner-icon:hover {
    transform: translateY(-4px);
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.08);
}
@media (max-width: 768px) {
    .partner-icon {
        max-width: 85px;
    }
}

@media (max-width: 480px) {
    .partner-icon {
        max-width: 75px;
    }
}
.partner-card {
    background: #ffffff;
    border-radius: 18px;
    padding: 50px 40px;
    height: 220px; /* fixed elegant card height */
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.04);
    transition: all 0.3s ease;
}

.partner-card-inner {
    width: 100%;
    max-width: 600px; /* controls wide logos */
    max-height: 100px; /* controls tall logos */
    display: flex;
    align-items: center;
    justify-content: center;
}

.partner-card img {
    max-width: 100%;
    max-height: 100%;
    width: auto;
    height: auto;
    object-fit: contain;
}

.partner-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 18px 40px rgba(0, 0, 0, 0.08);
}

@media (max-width: 768px) {
    .partner-card-inner {
        height: 200px;
        padding: 20px;
    }

    .partner-card img {
        max-width: 120px;
        max-height: 120px;
    }
}

.thumb-card-contain {
    width: 100%;
    min-height: 220px; /* instead of fixed height */
    padding: 20px; /* gives breathing room */
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #f8f9fa;
    border-radius: 10px;
}

.thumb-card-contain img {
    max-width: 100%;
    max-height: 180px; /* control inside space */
    object-fit: contain;
}

/* ========================================
   Partner / Card Logo System (Scoped)
   ======================================== */

/* Card container */
.blog__items {
    background: #ffffff;
    border-radius: 14px;
    overflow: hidden;
    transition: all 0.3s ease;
    height: 100%;
    display: flex;
    flex-direction: column;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.04);
}

/* Hover effect */
.blog__items:hover {
    transform: translateY(-6px);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
}

/* ========================================
   IMAGE / LOGO AREA
   ======================================== */

.thumb-card-contain {
    width: 100%;
    height: 160px; /* consistent visual height */
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 25px;
    background: #f9fafb;
    border-bottom: 1px solid #f1f1f1;

    /* critical fix */
    overflow: visible !important;
}

/* Image behavior */
.thumb-card-contain img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;

    display: block;
    margin: auto;

    /* smooth animation */
    transition: all 0.3s ease;

    /* professional muted look */
    filter: grayscale(100%);
    opacity: 0.85;
}

/* Hover restore color */
.blog__items:hover .thumb-card-contain img {
    filter: grayscale(0%);
    opacity: 1;
    transform: scale(1.05);
}

/* ========================================
   CONTENT AREA
   ======================================== */

.blog__items .content {
    padding: 18px 20px 22px;
    text-align: center;
    flex-grow: 1;

    display: flex;
    align-items: center;
    justify-content: center;
}

/* CMS text cleanup */
.blog__items .cms-html p {
    margin: 0;
    font-size: 15px;
    font-weight: 500;
    color: #2d3748;
    line-height: 1.4;
}

/* ========================================
   GRID IMPROVEMENTS
   ======================================== */

.row.g-4 > [class*="col-"] {
    display: flex;
}

/* Ensure equal height cards */
.row.g-4 .blog__items {
    width: 100%;
}

/* ========================================
   RESPONSIVE
   ======================================== */

@media (max-width: 768px) {
    .thumb-card-contain {
        height: 140px;
        padding: 20px;
    }
}

@media (max-width: 576px) {
    .thumb-card-contain {
        height: 120px;
        padding: 15px;
    }
}

/* 🔥 KEY FIX FOR LARGE SCREENS */
@media (min-width: 1200px) {
    .thumb-card-contain img {
        max-width: 180px; /* keeps logo from stretching visually */
    }
}
/* FOOTER SOCIAL ICONS ONLY */
.footer__social {
    display: flex;
    align-items: center;
    gap: 10px;
}

.footer__social li {
    width: 42px;
    height: 42px;
    border: 1px solid var(--theme-color);
    border-radius: 50%;
    transition: all 0.3s ease;

    display: flex;
    align-items: center;
    justify-content: center;
}

.footer__social li a {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.footer__social li a i {
    font-size: 16px;
    color: var(--theme-color);
    transition: all 0.3s ease;
}

/* Hover */
.footer__social li:hover {
    background-color: var(--theme-color);
    transform: translateY(-3px);
}

.footer__social li:hover i {
    color: var(--white-color);
}
/* ================================
   Testimonial Background Extension
   (Non-destructive)
================================ */

.testimonial-slide-bg {
    position: relative;
    overflow: hidden;
    min-height: 400px;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Overlay ONLY for this feature */
.testimonial-slide-bg::before {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.55);
    z-index: 1;
}

/* Keep content above overlay */
.testimonial-slide-bg .testi__items {
    position: relative;
    z-index: 2;
    color: #fff;
    max-width: 800px;
}

/* Force readable text only inside this component */
.testimonial-slide-bg .cms-html,
.testimonial-slide-bg .cms-html * {
    color: #fff;
}
/* ================================
   Remove default testimonial bg
================================ */
.testimonial-item-clean {
    background: none !important;
}
.info {
    gap: 15px;
    margin: 0;
    padding: 0;
    list-style: none;
}

/* Each item */
.info-item {
    max-width: 100%;
    border-bottom: 1px solid #e5e5e5; /* 👈 subtle line */
    padding-bottom: 4px;
}

/* Address text */
.info-text {
    font-size: 13px; /* 👈 smaller text */
    line-height: 1.4;
    color: #555;
    word-break: break-word; /* 👈 prevents overflow */
}

/* Icon */
.info-item i {
    color: #28a745; /* or your brand color */
    font-size: 14px;
    margin-top: 3px;
}

/* 📱 Mobile optimization */
@media (max-width: 768px) {
    .info {
        flex-direction: column;
        align-items: flex-start !important;
    }

    .info-item {
        width: 100%;
    }

    .info-text {
        font-size: 12px;
    }
}
/* Email link styling */
.email-link {
    font-size: 13px;
    color: #555;
    text-decoration: none;
    word-break: break-all; /* 👈 prevents overflow */
    transition: all 0.2s ease;
}

.email-link:hover {
    color: #28a745; /* your brand color */
    text-decoration: underline;
}

/* Mobile tweak */
@media (max-width: 768px) {
    .email-link {
        font-size: 12px;
    }
}
/* =========================================
   GALLERY CAROUSEL ONLY (SAFE SCOPE)
========================================= */

.gallery-carousel .gallery-main {
    width: 100%;
    height: 450px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    border-radius: 12px;
    background: #f8f9fa;
}

.gallery-carousel .gallery-main img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain; /* 🔥 no stretch */
}

/* =========================================
   THUMBNAILS
========================================= */

.gallery-carousel .gallery-thumbs {
    gap: 10px;
}

.gallery-carousel .gallery-thumbs button {
    border: none;
    padding: 0;
    background: none;
    opacity: 0.6;
    transition: all 0.3s ease;
    border-radius: 6px;
    overflow: hidden;
}

.gallery-carousel .gallery-thumbs button.active,
.gallery-carousel .gallery-thumbs button:hover {
    opacity: 1;
    transform: scale(1.05);
    border: 2px solid #23ad75;
}

.gallery-carousel .gallery-thumbs img {
    width: 80px;
    height: 60px;
    object-fit: cover; /* thumbs can crop 👍 */
    display: block;
}

/* =========================================
   RESPONSIVE
========================================= */

@media (max-width: 768px) {
    .gallery-carousel .gallery-main {
        height: 300px;
    }

    .gallery-carousel .gallery-thumbs img {
        width: 60px;
        height: 45px;
    }
}
.sector-title {
    width: 100%;
    display: block;
}

.sector-title * {
    width: 100% !important;
    text-align: center !important;
}
