/*
Theme Name: IT Biponi Agency
Theme URI: https://itbiponi.com/
Author: IT Biponi
Author URI: https://itbiponi.com/
Description: Custom theme for IT Biponi Agency website.
Version: 1.1.8
Requires at least: 5.0
Tested up to: 6.5
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: itbiponi-agency
Tags: custom-logo, menu, responsive-layout, translation-ready

This theme, like WordPress, is licensed under the GPL.
*/

/* ----------------------------------------------------------------
   [ 1. Basic Styles ]
-----------------------------------------------------------------*/
body {
    font-family: 'Ruposhi Bangla UI Uni', sans-serif;
    font-size: 16px;
    line-height: 1.6;
    color: #333;
    background-color: #f9f9f9;
    margin: 0;
    padding: 0;
}

.container {
    max-width: 1200px; /* Wider container for new layout */
    margin: 0 auto;
    padding: 0 20px;
}

a {
    color: #0073aa;
}
a:hover {
    color: #005a87;
}

img {
    max-width: 100%;
    height: auto;
}

/* Screen reader text */
.screen-reader-text {
    border: 0;
    clip: rect(1px, 1px, 1px, 1px);
    clip-path: inset(50%);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute !important;
    width: 1px;
    word-wrap: normal !important;
}

.skip-link {
    background: #eee;
    color: #333;
    padding: 10px;
    position: absolute;
    top: -100px; /* Hide offscreen */
    left: 10px;
    z-index: 10000;
    transition: top 0.3s ease;
}

.skip-link:focus {
    top: 10px; /* Show on focus */
}


/* ----------------------------------------------------------------
   [ 2. Header & Navigation (Sticky/Transparent) ]
-----------------------------------------------------------------*/
.site-header {
    background-color: transparent; /* Transparent by default */
    padding: 15px 0;
    position: absolute; /* Sits on top of hero */
    top: 0;
    left: 0;
    width: 100%;
    z-index: 1000;
    transition: all 0.4s ease; /* UPDATED: Transition all properties */
}

/* UPDATED: Sticky state (added by JS on scroll) */
.site-header.is-sticky {
    position: fixed;
    top: 10px; /* Add margin from top */
    left: 5%; /* 5% margin on left */
    width: 90%; /* 90% width */
    max-width: 1200px; /* Match container max-width */
    
    /* Center the 90% width header */
    margin: 0 auto; 
    left: 0;
    right: 0;
    
    padding: 10px 0;
    
    /* White Blur Background */
    background-color: rgba(255, 255, 255, 0.85);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    
    box-shadow: 0 8px 20px rgba(0,0,0,0.1);
    border-radius: 12px; /* Rounded corners */
    border: 1px solid rgba(255, 255, 255, 0.2);
}

.site-header .container {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.site-branding {
    flex-shrink: 0;
    z-index: 10;
}
.site-branding img {
    max-height: 30px; /* Control logo height */
    width: auto;
    transition: max-height 0.4s ease;
}
.site-header.is-sticky .site-branding img {
    max-height: 30px; /* Smaller logo when sticky */
}
.site-title a {
    text-decoration: none;
    font-size: 28px;
    font-weight: 700;
    color: #005a87; /* Dark blue color */
}
/* Change logo/title color on transparent header */
.site-header:not(.is-sticky) .site-title a,
.site-header:not(.is-sticky) .site-description {
     color: #ffffff;
}

/* Main Menu */
.main-navigation {
    display: flex; /* Aligns menu and extras */
    align-items: center;
}

.main-navigation ul {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex; /* Horizontal menu */
}

.main-navigation li {
    display: inline-block;
    margin-left: 25px;
}

.main-navigation a {
    text-decoration: none;
    color: #333; /* Default text color (for sticky) */
    font-weight: 600;
    padding: 10px 0;
    transition: color 0.3s ease;
    font-size: 16px;
}

/* Text color for transparent header */
.site-header:not(.is-sticky) .main-navigation a {
    color: #ffffff;
}
/* Text color for sticky (blur) header */
.site-header.is-sticky .main-navigation a {
    color: #111;
}

.main-navigation a:hover,
.site-header:not(.is-sticky) .main-navigation a:hover {
    color: #f0b90b; /* Highlight color on hover */
}
.site-header.is-sticky .main-navigation a:hover {
    color: #005a87;
}

/* Header Extras (Contact & Social) */
.header-extras {
    display: flex;
    align-items: center;
    margin-left: 30px;
    gap: 20px;
}

/* UPDATED: Gradient Call Button */
.btn-gradient-call {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 20px;
    border-radius: 50px; /* Pill shape */
    background: linear-gradient(90deg, #f0b90b 0%, #e0ac0a 100%);
    color: #111;
    font-weight: 700;
    text-decoration: none;
    box-shadow: 0 4px 15px rgba(240, 185, 11, 0.3);
    transition: all 0.3s ease;
}
.btn-gradient-call i {
    font-size: 14px;
}
.btn-gradient-call:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(240, 185, 11, 0.5);
    background: linear-gradient(90deg, #e0ac0a 0%, #f0b90b 100%);
}
/* This button is self-colored, no need for sticky/transparent changes */

/* UPDATED: Social Icons */
.header-social {
    display: flex;
    align-items: center;
    gap: 10px; /* Reduced gap */
}
.social-icon {
    display: grid;
    place-items: center;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    color: #ffffff;
    font-size: 14px;
    text-decoration: none;
    transition: all 0.3s ease;
    box-shadow: 0 2px 5px rgba(0,0,0,0.1);
}
.social-icon:hover {
    transform: scale(1.1) translateY(-1px);
    box-shadow: 0 4px 8px rgba(0,0,0,0.15);
}
.social-icon-facebook { background-color: #1877F2; }
.social-icon-twitter { background-color: #000000; } /* X/Twitter color */

/* Social icons on transparent header */
.site-header:not(.is-sticky) .header-social-mobile .social-icon {
    background: rgba(255,255,255,0.2);
    color: #fff;
}
.site-header:not(.is-sticky) .header-social-mobile .social-icon-facebook:hover { background-color: #1877F2; }
.site-header:not(.is-sticky) .header-social-mobile .social-icon-twitter:hover { background-color: #000; }

/* UPDATED: Hide mobile social on desktop by default */
.header-social-mobile {
    display: none;
}


/* New wrapper for mobile icons */
.header-mobile-right {
    display: none; /* Hidden on desktop */
    align-items: center;
    gap: 15px;
    z-index: 10; 
}

/* UPDATED: Hide mobile header call button on desktop */
.header-mobile-right .btn-gradient-call {
    display: none;
}

/* Mobile Menu Button */
.menu-toggle {
    display: none; /* Hide on desktop */
    background: transparent;
    border: none;
    cursor: pointer;
    padding: 5px;
    z-index: 100;
}
.menu-toggle-icon {
    display: block;
    position: relative;
    width: 24px;
    height: 2px;
    background-color: #333; /* Color for sticky */
    transition: all 0.3s ease;
}
.menu-toggle-icon::before,
.menu-toggle-icon::after {
    content: '';
    position: absolute;
    left: 0;
    width: 100%;
    height: 2px;
    background-color: #333; /* Color for sticky */
    transition: all 0.3s ease;
}
.menu-toggle-icon::before { top: -7px; }
.menu-toggle-icon::after { top: 7px; }

/* Transparent header mobile button color */
.site-header:not(.is-sticky) .menu-toggle-icon,
.site-header:not(.is-sticky) .menu-toggle-icon::before,
.site-header:not(.is-sticky) .menu-toggle-icon::after {
    background-color: #ffffff;
}

/* Mobile Menu 'X' state */
.toggled .menu-toggle-icon {
    background-color: transparent;
}
.toggled .menu-toggle-icon::before {
    transform: rotate(45deg);
    top: 0;
}
.toggled .menu-toggle-icon::after {
    transform: rotate(-45deg);
    top: 0;
}
/* 'X' color on sticky */
.site-header.is-sticky .toggled .menu-toggle-icon::before,
.site-header.is-sticky .toggled .menu-toggle-icon::after {
    background-color: #333;
}
/* 'X' color on transparent */
.site-header:not(.is-sticky) .toggled .menu-toggle-icon::before,
.site-header:not(.is-sticky) .toggled .menu-toggle-icon::after {
    background-color: #ffffff;
}


/* ----------------------------------------------------------------
   [ 3. Hero Section (Slider) - Future-ready ]
-----------------------------------------------------------------*/
.hero-section {
    color: #ffffff;
    padding-top: 100px;
    padding-bottom: 50px;
    position: relative;
    overflow: hidden;
    min-height: 500px;
    background-image:
        /* এই লাইনে অপাসিটি 0.45 থেকে 0.75 করা হয়েছে */
        linear-gradient(rgba(10, 20, 60, 18), rgba(80, 0, 120, 0.75)),
        url("https://itbiponi.com/wp-content/uploads/2025/10/bgit-01.jpg");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}
.hero-slider-wrap {
    position: relative;
    overflow: hidden; 
    height: 100%;
    display: flex; /* For centering content */
    align-items: center; /* Vertically center */
    padding-top: 0px;
    padding-bottom: 50px;
}

.hero-slider-inner {
    width: 100%;
    position: relative;
    transition: transform 0.6s ease-in-out; 
    min-height: 400px; /* Give container height for absolute children */
}

/* Individual Slide Items (The "Cards") */
.hero-slide-item {
    flex-shrink: 0; 
    width: 50%; /* UPDATED - Wider card for horizontal content */
    max-width: 700px; /* UPDATED - Max-width for horizontal content */
    opacity: 0; /* Default opacity is 0 (hidden) */
    transform: translateX(-50%) translateY(-50%) scale(0.8); 
    transition: all 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94); /* Smooth transition */
    
    position: absolute; /* Stack for sliding effect */
    top: 50%; /* Center vertically */
    left: 50%; /* Default position */
    pointer-events: none; /* Disable interaction when not active */
    z-index: 1; /* Default z-index */
}

/* Active Slide (Center Card) */
.hero-slide-item.active {
    opacity: 1;
    transform: translateX(-50%) translateY(-50%) scale(1); 
    z-index: 10; /* Bring to front */
    pointer-events: auto; /* Enable interaction */
    left: 50%;
}

/* Left visible card */
.hero-slide-item.slide-left {
    opacity: 0.5; /* Semi-transparent */
    transform: translateX(-50%) translateY(-50%) scale(0.9); 
    z-index: 5;
    pointer-events: none;
    left: 15%; /* UPDATED - Position center of card at 15% */
}

/* Right visible card */
.hero-slide-item.slide-right {
    opacity: 0.5; /* Semi-transparent */
    transform: translateX(-50%) translateY(-50%) scale(0.9); 
    z-index: 5;
    pointer-events: none;
    left: 85%; /* UPDATED - Position center of card at 85% */
}


/* Blurry Glassmorphism Card */
.blur-card {
    background-color: rgba(255, 255, 255, 0.15); /* Semi-transparent white */
    backdrop-filter: blur(10px); /* Glassmorphism blur */
    -webkit-backdrop-filter: blur(10px);
    border-radius: 15px;
    border: 1px solid rgba(255, 255, 255, 0.2);
    box-shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.3);
    padding: 30px;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    overflow: hidden; /* UPDATED - Prevent content from breaking card shape */
}

.hero-content {
    display: flex;
    flex-direction: row; /* UPDATED - Force horizontal layout on desktop */
    flex-wrap: nowrap; /* UPDATED - Prevent wrapping */
    align-items: center;
    justify-content: space-between; /* UPDATED - Space out text and image */
    gap: 20px; /* UPDATED - Reduced gap */
    width: 100%;
    margin: 0 auto;
}

.hero-text {
    flex-basis: 55%; /* UPDATED - Assign specific width */
    flex-shrink: 1; /* Allow text to shrink if needed */
    min-width: 0; /* Override default min-width */
    text-align: left; /* UPDATED - Align text to left */
}

.hero-text h1 {
    font-size: 28px; /* UPDATED - Reduced font size */
    margin-top: 0;
    margin-bottom: 15px;
    font-weight: 700;
    text-shadow: 0 2px 5px rgba(0,0,0,0.2); /* Text shadow for pop */
}

.hero-text p {
    font-size: 15px; /* UPDATED - Reduced font size */
    line-height: 1.6;
    margin-bottom: 25px;
    
    /* UPDATED - Limit text to 3 lines to keep card height consistent */
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    max-height: calc(1.6 * 3 * 15px); /* line-height * 3 * font-size */
}

.hero-button {
    background-color: #f0b90b; /* Highlight color */
    color: #111;
    padding: 10px 22px;
    text-decoration: none;
    font-weight: 700;
    border-radius: 5px;
    transition: all 0.3s ease;
    box-shadow: 0 4px 10px rgba(240, 185, 11, 0.3);
}

.hero-button:hover {
    background-color: #e0ac0a;
    transform: translateY(-2px);
    box-shadow: 0 6px 15px rgba(240, 185, 11, 0.4);
}

.hero-image {
    flex-basis: 40%; /* UPDATED - Assign specific width */
    flex-shrink: 0; /* Prevent image from shrinking */
    min-width: 0; /* Override default min-width */
    text-align: center;
}

.hero-image img {
    max-width: 100%;
    height: auto;
    border-radius: 8px;
    filter: drop-shadow(0 10px 20px rgba(0,0,0,0.3)); /* Stronger shadow */
}

/* ----------------------------------------------------------------
   [ 4. Hero Tabs (Nav) - Dynamically Generated, part of slider ]
-----------------------------------------------------------------*/
.hero-tabs-container {
    width: 100%;
    position: absolute; /* Position over the slider, visually separate */
    bottom: 0;
    left: 0;
    z-index: 20; /* Above slider, below header */
    display: flex;
    justify-content: center;
    padding-bottom: 20px;
}

.hero-tabs-nav {
    display: flex;
    flex-wrap: nowrap;
    overflow-x: auto; 
    -webkit-overflow-scrolling: touch;
    padding: 10px 0;
    max-width: 80%; /* Limit width on desktop */
    margin: 0 auto;

    background-color: rgba(255, 255, 255, 0.1); /* Semi-transparent background for tabs */
    backdrop-filter: blur(5px);
    border-radius: 8px;
    border: 1px solid rgba(255, 255, 255, 0.2);
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);

    /* Hide scrollbar */
    -ms-overflow-style: none;  
    scrollbar-width: none;  
}
.hero-tabs-nav::-webkit-scrollbar {
    display: none; 
}

.hero-tab-item {
    flex-shrink: 0;
    padding: 10px 20px;
    color: rgba(255, 255, 255, 0.7); /* Lighter text for inactive */
    text-decoration: none;
    font-weight: 600;
    font-size: 15px;
    border: none;
    background: transparent;
    transition: all 0.3s ease;
    white-space: nowrap;
    cursor: pointer;
    position: relative; /* For active underline */
}

.hero-tab-item:hover {
    color: #f0b90b; /* Highlight color on hover */
}

.hero-tab-item.active {
    color: #f0b90b; /* Active highlight */
}
/* Active underline effect */
.hero-tab-item.active::after {
    content: '';
    position: absolute;
    bottom: -5px;
    left: 50%;
    transform: translateX(-50%);
    width: 60%;
    height: 3px;
    background-color: #f0b90b;
    border-radius: 2px;
}


/* ----------------------------------------------------------------
   [ 5. Content & Main Loop ]
-----------------------------------------------------------------*/
#content {
    margin-top: 0; /* Hero takes care of spacing */
}

.site-main {
    padding: 40px 0;
}
.home .site-main {
    padding-top: 40px; /* Ensures content starts below hero + tabs */
}

.post-article,
.page-content {
    background-color: #ffffff;
    padding: 30px;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.07);
    margin-bottom: 30px;
}

.post-article h2 a,
.page-content h1 {
    margin-top: 0;
}

.post-article h2 a {
    text-decoration: none;
    color: #333;
}

.post-article h2 a:hover {
    color: #0073aa;
}

/* ----------------------------------------------------------------
   [ 6. Footer ]
-----------------------------------------------------------------*/
.site-footer {
    background-color: #222;
    color: #ccc;
    padding: 30px 0;
    text-align: center;
    margin-top: 40px;
}

.site-footer p {
    margin: 0;
}


/* ----------------------------------------------------------------
   [ 7. Responsive Media Queries ]
-----------------------------------------------------------------*/
@media (max-width: 992px) {
    /* --- Header Responsive (Tablet) --- */
    
    /* UPDATED: Sticky header on Tablet */
    .site-header.is-sticky {
        width: 95%; /* Wider on tablet */
        top: 5px;
    }
    
    .main-navigation li {
        margin-left: 15px; 
    }
    .header-extras {
        margin-left: 15px;
        gap: 15px;
    }
    
    /* Hide call button text on tablet */
    .btn-gradient-call span {
        display: none; 
    }
    .btn-gradient-call {
        padding: 10px; /* Make it round */
        width: 40px;
        height: 40px;
        justify-content: center;
    }
    .btn-gradient-call i {
        font-size: 16px;
        margin-right: 0; /* No gap needed */
    }

    /* --- Hero Section Responsive (Tablet) --- */
    .hero-section {
        min-height: 450px; /* Adjust height */
    }
    .hero-slide-item {
        width: 45%; /* UPDATED - Wider for tablet */
    }
    .blur-card {
        padding: 30px;
    }
    .hero-text h1 {
        font-size: 26px; /* UPDATED - Smaller */
    }
    .hero-text p {
        font-size: 15px;
    }
    .hero-image img {
        max-width: 90%;
    }
    .hero-tabs-nav {
        max-width: 90%;
    }

    .hero-slide-item.slide-left {
        left: 10%; /* UPDATED - Adjust for tablet */
    }
    .hero-slide-item.slide-right {
        left: 90%; /* UPDATED - Adjust for tablet */
    }
}


@media (max-width: 768px) {
    /* --- Header Responsive (Mobile) --- */
    
    /* UPDATED: Sticky header on Mobile */
    .site-header.is-sticky {
        width: 95%;
        top: 5px;
        border-radius: 10px;
    }
    
    .header-mobile-right {
        display: flex;
    }

    /* UPDATED: Show call button in mobile header */
    .header-mobile-right .btn-gradient-call {
        display: flex;
        padding: 10px; /* Make it round */
        width: 20px;
        height: 20px;
        justify-content: center;
        gap: 0;
        box-shadow: 0 2px 5px rgba(0,0,0,0.1);
    }
    /* Hide text on mobile header call button */
    .header-mobile-right .btn-gradient-call span {
        display: none;
    }
    /* Style call button on transparent header */
    .site-header:not(.is-sticky) .header-mobile-right .btn-gradient-call {
        background: rgba(255,255,255,0.2);
        color: #fff;
        box-shadow: none;
    }

    .menu-toggle {
        display: block; 
    }
    .main-navigation {
        display: block; 
        position: absolute;
        top: 100%; 
        left: 0;
        width: 100%;
        
        /* UPDATED: Blur background for mobile menu */
        background: rgba(255, 255, 255, 0.95);
        backdrop-filter: blur(10px);
        -webkit-backdrop-filter: blur(10px);
        
        box-shadow: 0 5px 10px rgba(0,0,0,0.1);
        max-height: 0;
        overflow: hidden;
        transition: max-height 0.5s ease-out, box-shadow 0.4s ease;
        
        /* UPDATED: Ensure menu drops correctly */
        .site-header:not(.is-sticky) & {
            top: 100%;
            box-shadow: none; 
            border-radius: 0 0 10px 10px; /* Rounded bottom corners */
        }
        .site-header.is-sticky & {
            /* This will be inside the rounded sticky header, no extra radius needed */
            top: 100%; 
        }
    }

    .main-navigation.toggled {
        max-height: 100vh; 
        box-shadow: 0 5px 10px rgba(0,0,0,0.1);
    }
    
    .main-navigation ul {
        flex-direction: column; 
        padding: 10px 0;
    }
    .main-navigation li {
        display: block;
        margin-left: 0;
    }
    .main-navigation a {
        padding: 12px 20px;
        display: block;
        color: #333 !important; 
        border-bottom: 1px solid #eee;
    }
    .main-navigation a:hover {
        color: #0073aa !important;
        background: #f9f9f9;
    }
    
    /* Mobile Menu Extras */
    .header-extras {
        flex-direction: column;
        align-items: center; /* Center the button */
        margin: 0;
        padding: 10px 20px 20px;
        gap: 15px;
        border-top: 1px solid #eee;
    }
    .header-extras .btn-gradient-call {
        display: none; /* UPDATED: Hide call button inside mobile menu */
        width: 100%;
        justify-content: center;
    }
    .header-extras .btn-gradient-call span {
        display: inline-block; /* Show text on mobile menu */
    }
    .header-social-desktop { display: none; }
    
    /* UPDATED: Show mobile social icons inside the menu */
    .header-social-mobile {
        display: flex;
        justify-content: center;
        padding-bottom: 10px; /* Optional: adds space in menu */
    }
    
    /* UPDATED: Restore social icon styles inside mobile menu */
    .main-navigation .header-social-mobile .social-icon {
        padding: 0;
        display: grid;
        place-items: center;
        width: 32px;
        height: 32px;
        border-radius: 50%;
        color: #ffffff !important; /* Override menu link color */
        border-bottom: none; /* Remove menu link border */
        box-shadow: 0 2px 5px rgba(0,0,0,0.1);
        background: #ccc; /* Fallback background */
    }
    .main-navigation .header-social-mobile .social-icon:hover {
        color: #ffffff !important; /* Ensure hover color is white */
        background: inherit; /* Let the background color handle the hover */
        transform: scale(1.1) translateY(-1px); /* Restore hover effect */
    }
    .main-navigation .header-social-mobile .social-icon-facebook { background-color: #1877F2; }
    .main-navigation .header-social-mobile .social-icon-twitter { background-color: #000000; }
    

    /* --- Hero Section Responsive (Mobile) --- */
    .hero-section {
        padding-top: 80px; /* Adjust for smaller header */
        padding-bottom: 30px;
        min-height: 400px; /* Further reduced height */
    }

    /* Mobile fixed BG fix */
    .hero-section::before {
        background-attachment: scroll; /* Disable fixed BG on mobile */
    }

    .hero-slider-wrap {
        
    }
    
    /* UPDATED SECTION FOR MOBILE SLIDE */
    .hero-slide-item {
        width: 90%; /* Make cards wider on mobile */
        margin: 0; /* Remove horizontal margin */
        max-width: 90%;
        
        /* Default state (hidden, off-screen right) */
        opacity: 0;
        transform: translateX(-50%) translateY(-50%) scale(0.8);
        z-index: 1;
        left: 150%; /* Default off-screen right */
    }

    .hero-slide-item.active {
        /* Active state (center) */
        opacity: 1;
        transform: translateX(-50%) translateY(-50%) scale(1);
        z-index: 10;
        left: 50%;
    }
    
    /* State for card sliding OUT to the left */
    .hero-slide-item.slide-left {
        opacity: 0;
        transform: translateX(-50%) translateY(-50%) scale(0.8);
        z-index: 5;
        left: -50%; /* Off-screen left */
    }
    
    /* State for card sliding IN from the right (or default hidden) */
    .hero-slide-item.slide-right {
        opacity: 0;
        transform: translateX(-50%) translateY(-50%) scale(0.8);
        z-index: 5;
        left: 150%; /* Off-screen right */
    }
    /* END UPDATED SECTION */
    
    .blur-card {
        
        padding: 25px 0 0; /* Updated: Remove horizontal padding, keep top padding */
        display: flex; /* Ensure flex behavior */
        flex-direction: column; /* Force content-then-image order */
        justify-content: space-between; /* Push image to bottom */
    }

    .hero-content {
        flex-direction: column; /* Changed to column so text is above image */
        gap: 20px;
        
    }
    .hero-text {
        text-align: center; /* Center text on mobile */
        flex-basis: 100%; /* Take full width */
    }
    .hero-image {
        flex-basis: auto; /* Allow image to take natural height */
        width: 100%; /* Image takes full width of card */
        min-width: unset; /* Remove min-width constraint */
        max-width: unset; /* Remove max-width constraint */
        margin-top: auto; /* Pushes image to the bottom */
        display: flex; /* Use flex to center image internally */
        justify-content: center; /* Center image horizontally */
        align-items: flex-end; /* Align image to bottom of its container */
        overflow: hidden; /* Hide overflow of the image for border-radius */
    }
    .hero-image img {
        max-width: 100%;
        height: auto; /* Ensure image scales correctly */
        width: 100%; /* Force image to fill .hero-image container */
        border-top-left-radius: 0; /* Remove top radius */
        border-top-right-radius: 0; /* Remove top radius */
        border-bottom-left-radius: 15px; /* Match card's bottom-left radius */
        border-bottom-right-radius: 15px; /* Match card's bottom-right radius */
        filter: none; /* Remove drop-shadow for cleaner look with full-width image */
        display: block; /* Remove any inline-block spacing issues */
    }
    .hero-text h1 {
        font-size: 24px; /* Reduced font size */
        margin-bottom: -15px;
    }
    .hero-text p {
        font-size: 14px; /* Reduced font size */
        margin-bottom: 20px;
        padding: 0 20px;
        max-height: calc(1.6 * 3 * 14px); /* Adjust max-height for mobile font size */
    }
    .hero-button {
        padding: 8px 18px; /* Smaller button */
        font-size: 14px;
    }

    /* Mobile Tabs (bottom of hero) */
    .hero-tabs-container {
        padding-bottom: 15px;
    }
    .hero-tabs-nav {
        max-width: 95%; /* Wider on mobile */
        padding: 8px 0;
    }
    .hero-tab-item {
        padding: 10px 15px;
        font-size: 13px;
    }
    .hero-tab-item.active::after {
        bottom: -3px;
        height: 2px;
        width: 50%;
    }
}

