/* ===== KOLKATA RBI COOPERATIVE SOCIETY - COMPLETE STYLESHEET ===== */
/* Reset and Base Styles */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    background: linear-gradient(135deg, #e3f2fd 0%, #bbdefb 100%);
    color: #333;
    line-height: 1.6;
}

.container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

/* ===== HEADER STYLES ===== */
header {
    background: linear-gradient(45deg, #01579b, #0288d1, #29b6f6);
    color: white;
    padding: 1rem 0;
    box-shadow: 0 4px 20px rgba(0,0,0,0.1);
}
/* Logo styling */
.logo {
    display: flex;
    align-items: center;
    gap: 20px; /* Space between logo and text */
}

.logo-image {
    width: 80px;  /* Adjust size as needed */
    height: 80px; /* Adjust size as needed */
    object-fit: contain; /* Keeps logo proportions */
    border-radius: 8px; /* Slightly rounded corners */
}

.logo-text {
    flex: 1; /* Takes remaining space */
}

/* Make it responsive for mobile devices */
@media (max-width: 768px) {
    .logo {
        flex-direction: column; /* Stack logo above text on small screens */
        text-align: center;
        gap: 10px;
    }
    
    .logo-image {
        width: 60px;
        height: 60px;
    }
    
    .logo-text h1 {
        font-size: 1.2rem;
        line-height: 1.3;
    }
    
    .logo-text p {
        font-size: 0.85rem;
    }
    
    /* Improve container padding on mobile */
    .container {
        padding: 0 15px;
    }
    
    /* Better touch targets for mobile */
    button, .nav-tab, .admin-btn {
        min-height: 44px;
        min-width: 44px;
    }
}
.header-content {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
}

.logo h1 {
    font-size: 1.8rem;
    background: linear-gradient(45deg, #e3f2fd, #bbdefb, #81d4fa);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    font-weight: bold;
}

.logo p {
    font-size: 0.9rem;
    opacity: 0.9;
    margin-top: 5px;
}

/* ===== NAVIGATION STYLES ===== */
/* ===== MOBILE-FRIENDLY NAVIGATION ===== */
.main-nav {
    background: rgba(255,255,255,0.95);
    backdrop-filter: blur(10px);
    padding: 0;
    box-shadow: 0 2px 10px rgba(0,0,0,0.1);
    position: sticky;
    top: 0;
    z-index: 1000;
}

.nav-container {
    max-width: 1200px;
    margin: 0 auto;
    position: relative;
    padding: 0 20px;
}

/* Hamburger Menu Button (Hidden on Desktop) */
.hamburger-menu {
    display: none;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 50px;
    height: 50px;
    background: none;
    border: none;
    cursor: pointer;
    padding: 10px;
    margin: 10px 0;
    border-radius: 8px;
    transition: all 0.3s ease;
}

.hamburger-menu:hover {
    background: rgba(1, 87, 155, 0.1);
}

.hamburger-line {
    width: 25px;
    height: 3px;
    background: #01579b;
    margin: 3px 0;
    transition: all 0.3s ease;
    border-radius: 2px;
}

/* Hamburger Animation */
.hamburger-active .hamburger-line:nth-child(1) {
    transform: rotate(45deg) translate(6px, 6px);
}

.hamburger-active .hamburger-line:nth-child(2) {
    opacity: 0;
}

.hamburger-active .hamburger-line:nth-child(3) {
    transform: rotate(-45deg) translate(6px, -6px);
}

/* Navigation Tabs Container */
.nav-tabs {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 5px;
    padding: 10px 0;
}

/* Navigation Tab Styling */
.nav-tab {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 12px 20px;
    cursor: pointer;
    border: none;
    background: none;
    font-size: 0.95rem;
    font-weight: 500;
    color: #01579b;
    transition: all 0.3s ease;
    position: relative;
    overflow: hidden;
    border-radius: 8px;
    text-decoration: none;
}

.nav-icon {
    font-size: 1.1rem;
    line-height: 1;
}

.nav-text {
    white-space: nowrap;
}

.nav-tab:hover {
    background: linear-gradient(45deg, #e3f2fd, #bbdefb);
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(1, 87, 155, 0.2);
}

.nav-tab.active {
    background: linear-gradient(45deg, #01579b, #0288d1);
    color: white;
    box-shadow: 0 4px 15px rgba(1, 87, 155, 0.3);
}

.nav-tab.active::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 3px;
    background: linear-gradient(45deg, #29b6f6, #81d4fa);
}

/* Mobile Styles */
@media (max-width: 768px) {
    .hamburger-menu {
        display: flex;
    }
    
    .nav-tabs {
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        background: rgba(255, 255, 255, 0.98);
        backdrop-filter: blur(15px);
        flex-direction: column;
        padding: 0;
        box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
        border-radius: 0 0 15px 15px;
        transform: translateY(-100%);
        opacity: 0;
        visibility: hidden;
        transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
        max-height: calc(100vh - 200px);
        overflow-y: auto;
    }
    
    .nav-tabs.nav-open {
        transform: translateY(0);
        opacity: 1;
        visibility: visible;
    }
    
    .nav-tab {
        width: 100%;
        justify-content: flex-start;
        padding: 15px 25px;
        margin: 0;
        border-radius: 0;
        font-size: 1rem;
    }
    
    .nav-tab:hover {
        transform: none;
        background: rgba(1, 87, 155, 0.08);
    }
    
    .nav-tab.active {
        background: linear-gradient(90deg, #01579b, #0288d1);
        border-left: 4px solid #29b6f6;
    }
    
    .nav-icon {
        font-size: 1.3rem;
        min-width: 24px;
    }
}

/* Tablet Styles */
@media (max-width: 1024px) and (min-width: 769px) {
    .nav-tabs {
        gap: 2px;
    }
    
    .nav-tab {
        padding: 10px 15px;
        font-size: 0.9rem;
    }
    
    .nav-icon {
        font-size: 1rem;
    }
}

/* Large Screen Optimization */
@media (min-width: 1200px) {
    .nav-tab {
        padding: 15px 25px;
        font-size: 1rem;
    }
    
    .nav-tabs {
        gap: 8px;
    }
}

/* ===== MAIN CONTENT STYLES ===== */
main {
    padding: 2rem 0;
    min-height: 70vh;
}

.tab-content {
    display: none;
    animation: fadeIn 0.5s ease-in;
}

.tab-content.active {
    display: block;
}

@keyframes fadeIn {
    from { opacity: 0; transform: translateY(20px); }
    to { opacity: 1; transform: translateY(0); }
}

.card {
    background: rgba(255,255,255,0.9);
    border-radius: 15px;
    padding: 2rem;
    margin: 1rem 0;
    box-shadow: 0 8px 32px rgba(0,0,0,0.1);
    border: 1px solid rgba(255,255,255,0.2);
    backdrop-filter: blur(10px);
}

.card h2 {
    color: #01579b;
    margin-bottom: 1rem;
    font-size: 2rem;
    background: linear-gradient(45deg, #01579b, #0288d1, #29b6f6);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.card h3 {
    color: white;/*#0277bd;*/
    margin: 1.5rem 0 1rem 0;
    font-size: 1.3rem;
}

/* ===== HERO SECTIONS ===== */
.home-hero {
    background: linear-gradient(135deg, #01579b, #0288d1, #29b6f6);
    color: white;
    padding: 3rem 2rem;
    border-radius: 20px;
    margin: 1rem 0 2rem 0;
    text-align: center;
    position: relative;
    overflow: hidden;
}

.home-hero::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><circle cx="20" cy="20" r="2" fill="rgba(255,255,255,0.1)"/><circle cx="80" cy="40" r="1" fill="rgba(255,255,255,0.1)"/><circle cx="40" cy="60" r="1.5" fill="rgba(255,255,255,0.1)"/></svg>') repeat;
    opacity: 0.3;
}

.home-hero h2 {
    font-size: 2.5rem;
    margin-bottom: 1rem;
    text-shadow: 2px 2px 4px rgba(0,0,0,0.3);
    background: none;
    -webkit-text-fill-color: white;
    position: relative;
    z-index: 1;
}

.home-hero p {
    font-size: 1.2rem;
    opacity: 0.9;
    max-width: 800px;
    margin: 0 auto;
    position: relative;
    z-index: 1;
}

.loans-hero, .deposits-hero {
    background: linear-gradient(135deg, #2e7d32, #4caf50);
    color: white;
    padding: 2rem;
    border-radius: 15px;
    text-align: center;
    margin-bottom: 2rem;
}

.deposits-hero {
    background: linear-gradient(135deg, #e65100, #ff9800);
}

.loans-hero h2, .deposits-hero h2 {
    margin: 0;
    font-size: 2.2rem;
    color: white;
    background: none;
    -webkit-text-fill-color: white;
}

.loans-hero p, .deposits-hero p {
    margin: 1rem 0 0 0;
    font-size: 1.1rem;
    opacity: 0.9;
}

.holiday-hero {
    background: linear-gradient(135deg, #0d47a1, #1976d2, #42a5f5);
    color: white;
    padding: 3rem 2rem;
    border-radius: 20px;
    margin: 1rem 0 2rem 0;
    text-align: center;
    position: relative;
    overflow: hidden;
}

.holiday-hero::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><circle cx="20" cy="20" r="2" fill="rgba(255,255,255,0.1)"/><circle cx="80" cy="40" r="1" fill="rgba(255,255,255,0.1)"/></svg>') repeat;
    opacity: 0.3;
}

.holiday-hero h2 {
    font-size: 2.5rem;
    margin-bottom: 1rem;
    text-shadow: 2px 2px 4px rgba(0,0,0,0.3);
    background: none;
    -webkit-text-fill-color: white;
}

.holiday-hero p {
    font-size: 1.2rem;
    opacity: 0.9;
    max-width: 800px;
    margin: 0 auto;
    position: relative;
    z-index: 1;
}

.photo-hero {
    background: linear-gradient(135deg, #4a148c, #7b1fa2, #9c27b0);
    color: white;
    padding: 3rem 2rem;
    border-radius: 20px;
    margin: 1rem 0 2rem 0;
    text-align: center;
    position: relative;
    overflow: hidden;
}

.photo-hero::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><path d="M20,20 L30,20 L30,30 L20,30 Z" fill="rgba(255,255,255,0.1)"/><path d="M70,15 L80,15 L80,25 L70,25 Z" fill="rgba(255,255,255,0.08)"/></svg>') repeat;
    opacity: 0.3;
}

.photo-hero h2 {
    font-size: 2.5rem;
    margin-bottom: 1rem;
    text-shadow: 2px 2px 4px rgba(0,0,0,0.3);
    background: none;
    -webkit-text-fill-color: white;
}

.downloads-hero {
    background: linear-gradient(135deg, #1a237e, #3f51b5, #5c6bc0);
    color: white;
    padding: 3rem 2rem;
    border-radius: 20px;
    margin: 1rem 0 2rem 0;
    text-align: center;
    position: relative;
    overflow: hidden;
}

.downloads-hero::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><rect x="10" y="10" width="20" height="25" fill="rgba(255,255,255,0.1)" rx="2"/><rect x="70" y="20" width="15" height="20" fill="rgba(255,255,255,0.08)" rx="2"/></svg>') repeat;
    opacity: 0.3;
}

.downloads-hero h2 {
    font-size: 2.5rem;
    margin-bottom: 1rem;
    text-shadow: 2px 2px 4px rgba(0,0,0,0.3);
    background: none;
    -webkit-text-fill-color: white;
}

.downloads-hero p {
    font-size: 1.2rem;
    opacity: 0.9;
    max-width: 800px;
    margin: 0 auto;
    position: relative;
    z-index: 1;
}

/* ===== STATISTICS CARDS ===== */
.home-stats, .loan-stats, .deposit-stats, .holiday-stats, .downloads-stats {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 1rem;
    margin: 2rem 0;
}

.stat-card, .downloads-stat-card {
    background: rgba(255,255,255,0.9);
    backdrop-filter: blur(10px);
    border-radius: 15px;
    padding: 1.5rem;
    text-align: center;
    box-shadow: 0 8px 32px rgba(0,0,0,0.1);
    border: 1px solid rgba(255,255,255,0.3);
    transition: transform 0.3s ease;
}

.stat-card:hover, .downloads-stat-card:hover {
    transform: translateY(-5px);
}

.stat-icon, .downloads-stat-icon {
    font-size: 2.5rem;
    margin-bottom: 1rem;
    display: block;
}

.stat-number, .downloads-stat-number {
    font-size: 2rem;
    font-weight: bold;
    color: #01579b;
    margin-bottom: 0.5rem;
}

.stat-label, .downloads-stat-label {
    color: #666;
    font-weight: 500;
}

/* ===== ANNOUNCEMENTS SECTION ===== */
.announcements-compact {
    background: linear-gradient(135deg, #fff9c4, #fff59d);
    border-left: 5px solid #ff9800;
    border-radius: 10px;
    padding: 1.2rem;
    margin: 1.5rem 0;
    box-shadow: 0 4px 15px rgba(255, 152, 0, 0.2);
}

.announcements-compact h3 {
    color: #e65100;
    margin-bottom: 1rem;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 1.3rem;
}

.announcements-compact .announcement-item {
    background: white;
    padding: 0.8rem;
    border-radius: 8px;
    margin: 0.5rem 0;
    border-left: 3px solid #ff9800;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}

.announcement-date {
    font-size: 0.8rem;
    color: #666;
    font-weight: 500;
}

.announcement-text {
    margin-top: 0.3rem;
    color: #333;
    font-size: 0.9rem;
}

/* Priority-based announcement styling */
.announcement-item.priority-important {
    border-left: 3px solid #f44336;
    background: linear-gradient(135deg, #ffebee, #fce4ec);
}

.announcement-item.priority-urgent {
    border-left: 3px solid #e91e63;
    background: linear-gradient(135deg, #fce4ec, #f3e5f5);
    animation: pulse 2s infinite;
}

@keyframes pulse {
    0% { box-shadow: 0 2px 8px rgba(0,0,0,0.1); }
    50% { box-shadow: 0 4px 16px rgba(233, 30, 99, 0.3); }
    100% { box-shadow: 0 2px 8px rgba(0,0,0,0.1); }
}

/* Full announcements for other pages */
.announcements {
    background: linear-gradient(135deg, #fff9c4, #fff59d);
    border-left: 5px solid #ff9800;
    border-radius: 10px;
    padding: 1.5rem;
    margin: 1.5rem 0;
    box-shadow: 0 4px 15px rgba(255, 152, 0, 0.2);
}

.announcements h3 {
    color: #e65100;
    margin-bottom: 1rem;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.announcements .announcement-item {
    background: white;
    padding: 1rem;
    border-radius: 8px;
    margin: 0.5rem 0;
    border-left: 3px solid #ff9800;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}

/* ===== CENTENARY HIGHLIGHT ===== */
.centenary-highlight {
    background: linear-gradient(135deg, #e8f5e8, #c8e6c9);
    padding: 1.5rem;
    border-radius: 10px;
    margin: 1.5rem 0;
    border-left: 5px solid #4caf50;
}

.centenary-highlight h3 {
    color: #2e7d32;
    margin-bottom: 0.5rem;
}

.centenary-highlight p {
    margin: 0;
    color: #1b5e20;
    font-weight: 500;
}

/* ===== QUICK SERVICES SECTION ===== */
.quick-services {
    margin: 2rem 0;
}

.quick-services h3 {
    color: #01579b;
    margin-bottom: 1rem;
    font-size: 1.5rem;
}

.services-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 1rem;
}

.service-card {
    background: white;
    border-radius: 12px;
    padding: 1.5rem;
    text-align: center;
    box-shadow: 0 4px 15px rgba(0,0,0,0.1);
    border: 1px solid rgba(1, 87, 155, 0.2);
    transition: all 0.3s ease;
    cursor: pointer;
}

.service-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 25px rgba(1, 87, 155, 0.2);
    border-color: #01579b;
}

.service-icon {
    font-size: 3rem;
    margin-bottom: 1rem;
    color: #01579b;
}

.service-card h4 {
    color: #01579b;
    margin-bottom: 0.5rem;
    font-size: 1.1rem;
}

.service-card p {
    color: #666;
    font-size: 0.9rem;
    margin: 0;
}

/* ===== CONTACT INFO ===== */
.contact-info {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 1rem;
    margin: 1.5rem 0;
}

.contact-item {
    background: rgba(1, 87, 155, 0.05);
    padding: 1rem;
    border-radius: 8px;
    border-left: 4px solid #01579b;
}

/* ===== TABLE STYLES ===== */
.table-container, .loan-table-container, .comparison-table {
    overflow-x: auto;
    margin: 1rem 0;
    background: white;
    border-radius: 15px;
    overflow: hidden;
    box-shadow: 0 8px 25px rgba(0,0,0,0.1);
}

.table-header {
    background: linear-gradient(45deg, #2e7d32, #4caf50);
    color: white;
    padding: 1.5rem;
    text-align: center;
}

.comparison-table .table-header {
    background: linear-gradient(45deg, #e65100, #ff9800);
    color: white;

}

.table-header h3 {
    margin: 0;
    font-size: 1.5rem;
}

.table-wrapper {
    overflow-x: auto;
}

table {
    width: 100%;
    border-collapse: collapse;
    background: white;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 4px 15px rgba(0,0,0,0.1);
}

th, td {
    padding: 15px;
    text-align: left;
    border-bottom: 1px solid #e0e0e0;
}

th {
    background: linear-gradient(45deg, #a5d6a7, #c8e6c9);
    color: #1b5e20;
    font-weight: 600;
    text-align: center;
}

.comparison-table th {
    background: linear-gradient(45deg, #ffcc80, #ffe0b2);
    color: #bf360c;
}

td {
    text-align: center;
}

td:first-child {
    text-align: left;
    font-weight: 600;
}

tr:hover {
    background: rgba(33, 150, 243, 0.05);
}

.rate-badge {
    padding: 4px 8px;
    border-radius: 12px;
    font-size: 0.9rem;
    font-weight: 600;
    color: white;
}

.rate-badge.green {
    background: #4caf50;
}

.rate-badge.orange {
    background: #ff9800;
}

.rate-badge.blue {
    background: #2196f3;
}

.apply-btn {
    background: #4caf50;
    color: white;
    border: none;
    padding: 6px 12px;
    border-radius: 15px;
    cursor: pointer;
    font-size: 0.8rem;
    transition: all 0.3s ease;
}

.apply-btn:hover {
    background: #66bb6a;
    transform: translateY(-1px);
}

/* ===== CALCULATOR STYLES ===== */
.calculator-section {
    background: linear-gradient(135deg, #e1f5fe, #b3e5fc);
    border-radius: 15px;
    padding: 2rem;
    margin: 2rem 0;
    border: 2px solid rgba(2, 136, 209, 0.3);
}

.deposits-hero ~ .calculator-section {
    background: linear-gradient(135deg, #fff3e0, #ffcc02);
    border-color: rgba(230, 81, 0, 0.3);
}

.calculator-header {
    text-align: center;
    margin-bottom: 2rem;
}

.calculator-header h3 {
    color: #01579b;
    font-size: 1.8rem;
    margin-bottom: 0.5rem;
}

.deposits-hero ~ .calculator-section .calculator-header h3 {
    color: #e65100;
}

.calculator-header p {
    color: #666;
    margin: 0;
}

.calculator-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2rem;
}

.calculator-inputs, .calculator-results {
    background: white;
    padding: 1.5rem;
    border-radius: 12px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.1);
}

.calculator-inputs h4, .calculator-results h4 {
    color: #01579b;
    margin-bottom: 1rem;
    text-align: center;
}

.deposits-hero ~ .calculator-section .calculator-inputs h4,
.deposits-hero ~ .calculator-section .calculator-results h4 {
    color: #e65100;
}

.input-group {
    margin: 1rem 0;
}

.input-group label {
    display: block;
    margin-bottom: 0.5rem;
    font-weight: 600;
    color: #01579b;
}

.deposits-hero ~ .calculator-section .input-group label {
    color: #e65100;
}

.input-group input, .input-group select {
    width: 100%;
    padding: 12px;
    border: 2px solid #bbdefb;
    border-radius: 8px;
    font-size: 1rem;
    transition: border-color 0.3s ease;
    background: white;
}

.deposits-hero ~ .calculator-section .input-group input,
.deposits-hero ~ .calculator-section .input-group select {
    border-color: #ffcc02;
}

.input-group input:focus, .input-group select:focus {
    outline: none;
    border-color: #2196f3;
    box-shadow: 0 0 10px rgba(33, 150, 243, 0.3);
}

.input-group input[type="range"] {
    margin-top: 0.5rem;
    height: 6px;
    background: #bbdefb;
    border-radius: 3px;
    outline: none;
    padding: 0;
}

.range-labels {
    display: flex;
    justify-content: space-between;
    font-size: 0.8rem;
    color: #666;
    margin-top: 0.3rem;
}

.input-group small {
    color: #666;
    font-size: 0.8rem;
}

.calculate-btn {
    background: linear-gradient(45deg, #01579b, #0288d1);
    color: white;
    padding: 12px 25px;
    border: none;
    border-radius: 20px;
    font-size: 1rem;
    font-weight: 600;
    cursor: pointer;
    width: 100%;
    margin-top: 1rem;
    transition: all 0.3s ease;
}

.deposits-hero ~ .calculator-section .calculate-btn {
    background: linear-gradient(45deg, #e65100, #ff9800);
}

.calculate-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 5px 15px rgba(1, 87, 155, 0.4);
}

.result-card {
    padding: 1rem;
    border-radius: 10px;
    text-align: center;
    margin: 1rem 0;
    border-left: 4px solid;
}

.result-card.emi-card, .result-card.maturity-card {
    background: linear-gradient(135deg, #f1f8e9, #dcedc8);
    border-left-color: #4caf50;
}

.result-card.interest-card, .result-card.interest-earned-card {
    background: linear-gradient(135deg, #fff3e0, #ffcc02);
    border-left-color: #ff9800;
}

.result-card.total-card, .result-card.investment-card {
    background: linear-gradient(135deg, #e3f2fd, #bbdefb);
    border-left-color: #2196f3;
}

.result-label {
    font-size: 0.9rem;
    color: #666;
    margin-bottom: 0.5rem;
}

.result-value {
    font-size: 1.5rem;
    font-weight: bold;
    color: #2e7d32;
}

.result-card.interest-earned-card .result-value,
.result-card.interest-card .result-value {
    color: #e65100;
}

.result-card.investment-card .result-value,
.result-card.total-card .result-value {
    color: #01579b;
}

.breakdown {
    background: #f8f9fa;
    padding: 1rem;
    border-radius: 8px;
    margin-top: 1rem;
}

.breakdown h5 {
    color: #01579b;
    margin-bottom: 0.5rem;
    text-align: center;
}

.deposits-hero ~ .calculator-section .breakdown h5 {
    color: #e65100;
}

.breakdown-item {
    display: flex;
    justify-content: space-between;
    margin: 0.5rem 0;
    padding: 0.3rem 0;
    border-bottom: 1px solid #e0e0e0;
}

.breakdown-item.total {
    font-weight: bold;
    color: #01579b;
    border-bottom: none;
}

.deposits-hero ~ .calculator-section .breakdown-item.total {
    color: #e65100;
}

.breakdown-item span:last-child {
    font-weight: 600;
}

/* Legacy calculator styles */
.calculator {
    background: linear-gradient(135deg, #e1f5fe, #b3e5fc);
    border-radius: 15px;
    padding: 2rem;
    margin: 2rem 0;
    border: 2px solid rgba(2, 136, 209, 0.3);
}

.btn {
    background: linear-gradient(45deg, #01579b, #0288d1);
    color: white;
    padding: 12px 30px;
    border: none;
    border-radius: 25px;
    font-size: 1rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
    margin: 1rem 0;
}

.btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 5px 15px rgba(1, 87, 155, 0.4);
}

.result {
    background: white;
    padding: 1.5rem;
    border-radius: 10px;
    margin-top: 1rem;
    border-left: 5px solid #4caf50;
}

/* ===== DEPOSIT PRODUCT CARDS ===== */
.deposit-cards-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
    gap: 2rem;
    margin: 2rem 0;
}

.deposit-product-card {
    background: white;
    border-radius: 15px;
    padding: 2rem;
    box-shadow: 0 8px 25px rgba(0,0,0,0.1);
    border-top: 4px solid #ff9800;
    transition: transform 0.3s ease;
}

.deposit-product-card:hover {
    transform: translateY(-5px);
}

.card-header {
    display: flex;
    align-items: center;
    margin-bottom: 1.5rem;
}

.product-icon {
    font-size: 3rem;
    margin-right: 1rem;
    color: #e65100;
}

.card-header h3 {
    margin: 0;
    color: #e65100;
    font-size: 1.4rem;
}

.card-header p {
    margin: 0;
    color: #666;
    font-size: 0.9rem;
}

.interest-display {
    background: linear-gradient(135deg, #fff3e0, #ffcc02);
    padding: 1.5rem;
    border-radius: 12px;
    text-align: center;
    margin: 1rem 0;
}

.interest-rate {
    font-size: 2.5rem;
    font-weight: bold;
    color: #e65100;
    margin-bottom: 0.5rem;
}

.interest-label {
    color: #666;
    font-weight: 500;
}

.features-list {
    margin: 1.5rem 0;
}

.feature-item {
    display: flex;
    align-items: center;
    margin: 0.8rem 0;
    padding: 0.5rem;
    background: rgba(255, 152, 0, 0.05);
    border-radius: 8px;
}

.check {
    color: #4caf50;
    margin-right: 0.8rem;
    font-size: 1.2rem;
}

.feature-item span:last-child {
    font-size: 0.9rem;
}

.product-btn {
    background: linear-gradient(45deg, #e65100, #ff9800);
    color: white;
    padding: 12px 25px;
    border: none;
    border-radius: 25px;
    font-size: 1rem;
    font-weight: 600;
    cursor: pointer;
    width: 100%;
    margin-top: 1rem;
    transition: all 0.3s ease;
}

.product-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(230, 81, 0, 0.4);
}

/* ===== CALL TO ACTION SECTION ===== */
.cta-section {
    background: linear-gradient(135deg, #e8f5e8, #c8e6c9);
    padding: 2rem;
    border-radius: 15px;
    margin: 2rem 0;
    text-align: center;
}

.cta-section h4 {
    color: #2e7d32;
    margin-bottom: 1rem;
}

.cta-section p {
    margin: 0 0 1.5rem 0;
    color: #1b5e20;
    font-size: 1.1rem;
}

.cta-btn {
    background: linear-gradient(45deg, #2e7d32, #4caf50);
    color: white;
    padding: 15px 30px;
    border: none;
    border-radius: 25px;
    font-size: 1.1rem;
    font-weight: 600;
    cursor: pointer;
    box-shadow: 0 6px 20px rgba(46, 125, 50, 0.3);
    transition: all 0.3s ease;
}

.cta-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(46, 125, 50, 0.4);
}

/* ===== HOLIDAY HOME STYLES ===== */
.sub-nav {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 1rem;
    margin: 2rem 0;
    padding: 0;
    background: none;
}

.sub-tab {
    padding: 1.5rem;
    background: linear-gradient(135deg, #ffffff, #f8f9fa);
    border: 2px solid rgba(1, 87, 155, 0.1);
    cursor: pointer;
    border-radius: 15px;
    transition: all 0.3s ease;
    color: #01579b;
    font-weight: 600;
    font-size: 1.1rem;
    text-align: center;
    box-shadow: 0 4px 15px rgba(0,0,0,0.1);
    position: relative;
    overflow: hidden;
}

.sub-tab::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.4), transparent);
    transition: left 0.5s ease;
}

.sub-tab:hover::before {
    left: 100%;
}

.sub-tab:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 25px rgba(1, 87, 155, 0.2);
    border-color: #01579b;
}

.sub-tab.active {
    background: linear-gradient(135deg, #01579b, #0288d1, #29b6f6);
    color: white;
    transform: translateY(-5px);
    box-shadow: 0 8px 25px rgba(1, 87, 155, 0.4);
    border-color: #29b6f6;
}

.location-icon {
    display: block;
    font-size: 2rem;
    margin-bottom: 0.5rem;
}

.holiday-content {
    display: none;
}

.holiday-content.active {
    display: block;
}

.location-info {
    background: linear-gradient(135deg, #e8f5e8, #c8e6c9);
    padding: 2rem;
    border-radius: 15px;
    margin: 2rem 0;
    text-align: center;
}

.location-info h3 {
    color: #2e7d32;
    font-size: 2rem;
    margin-bottom: 1rem;
}

.location-details {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 1rem;
    margin-top: 1.5rem;
}

.detail-item {
    background: white;
    padding: 1rem;
    border-radius: 10px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.1);
}

.room-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 1.5rem;
    margin: 2rem 0;
}

.room-card {
    background: white;
    border-radius: 12px;
    padding: 1.5rem;
    box-shadow: 0 4px 15px rgba(0,0,0,0.1);
    border: 1px solid rgba(33, 150, 243, 0.2);
    transition: transform 0.3s ease;
}

.room-card:hover {
    transform: translateY(-5px);
}

.room-card h4 {
    color: #01579b;
    margin-bottom: 1rem;
    font-size: 1.2rem;
}

.facility-list {
    list-style: none;
    margin: 1rem 0;
}

.facility-list li {
    padding: 0.3rem 0;
    color: #555;
}

.facility-list li::before {
    content: '✓';
    color: #4caf50;
    font-weight: bold;
    margin-right: 0.5rem;
}

.rate-info {
    background: linear-gradient(45deg, #e8f5e8, #c8e6c9);
    padding: 1rem;
    border-radius: 8px;
    margin-top: 1rem;
}

/* ===== HOLIDAY HOME LOCATION STYLES ===== */
.location-nav {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 1rem;
    margin: 2rem 0;
    padding: 0;
    background: none;
}

.location-tab {
    padding: 1.5rem;
    background: linear-gradient(135deg, #ffffff, #f8f9fa);
    border: 2px solid rgba(1, 87, 155, 0.1);
    cursor: pointer;
    border-radius: 15px;
    transition: all 0.3s ease;
    color: #01579b;
    font-weight: 600;
    font-size: 1.1rem;
    text-align: center;
    box-shadow: 0 4px 15px rgba(0,0,0,0.1);
    position: relative;
    overflow: hidden;
    display: inline-block;
    text-decoration: none;
    outline: none;
}

.location-tab::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.4), transparent);
    transition: left 0.5s ease;
}

.location-tab:hover::before {
    left: 100%;
}

.location-tab:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 25px rgba(1, 87, 155, 0.2);
    border-color: #0288d1;
}

.location-tab.active {
    background: linear-gradient(135deg, #01579b, #0277bd, #0288d1);
    color: white;
    transform: translateY(-5px);
    box-shadow: 0 8px 25px rgba(1, 87, 155, 0.4);
    border-color: #81d4fa;
}

.location-icon {
    display: block;
    font-size: 2rem;
    margin-bottom: 0.5rem;
}

.location-content {
    display: none !important;
}

.location-content.active {
    display: block !important;
}

/* Holiday Home Content Sections */
.highlights-section {
    margin: 2rem 0;
    padding: 1.5rem;
    background: linear-gradient(135deg, #f8f9fa, #ffffff);
    border-radius: 15px;
    border: 1px solid rgba(1, 87, 155, 0.1);
}

.highlights-section h4 {
    color: #01579b;
    margin-bottom: 1rem;
    font-size: 1.3rem;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.highlights-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.highlights-list li {
    padding: 0.5rem 0;
    padding-left: 1.5rem;
    position: relative;
    color: #333;
    line-height: 1.6;
}

.highlights-list li::before {
    content: '✓';
    position: absolute;
    left: 0;
    color: #4caf50;
    font-weight: bold;
    font-size: 1.1rem;
}

/* Booking Information Section */
.booking-info-section {
    margin: 3rem 0 2rem 0;
    padding: 2rem;
    background: linear-gradient(135deg, #e3f2fd, #f8f9fa);
    border-radius: 20px;
    border: 2px solid rgba(1, 87, 155, 0.1);
}

.booking-info-section h3 {
    color: #01579b;
    text-align: center;
    margin-bottom: 2rem;
    font-size: 2rem;
    font-weight: bold;
}

/* Mobile Responsive for Holiday Home */
@media (max-width: 768px) {
    .location-nav {
        grid-template-columns: 1fr;
        gap: 0.5rem;
    }
    
    .location-tab {
        padding: 1rem;
        font-size: 1rem;
    }
    
    .location-icon {
        font-size: 1.5rem;
    }
    
    .booking-info-section {
        padding: 1.5rem;
    }
    
    .booking-info-section h3 {
        font-size: 1.5rem;
    }
}

/* ===== PHOTO GALLERY STYLES ===== */
/* Photo Gallery Header */
#photos .card h2 {
    color: #01579b;
    margin-bottom: 1rem;
    font-size: 2rem;
    background: linear-gradient(45deg, #01579b, #0288d1, #29b6f6);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    text-align: center;
}

#photos .card > p {
    text-align: center;
    color: #666;
    margin-bottom: 2rem;
    font-size: 1.1rem;
    line-height: 1.6;
}
.photo-nav {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 1rem;
    margin: 2rem 0;
    padding: 0;
    background: none;
}

/* Ensure button element defaults don't interfere */
.photo-nav button.photo-tab {
    border: 2px solid rgba(156, 39, 176, 0.1);
    background: linear-gradient(135deg, #ffffff, #f8f9fa);
    font-family: inherit;
    font-size: 1.1rem;
    color: #4a148c;
    padding: 1.5rem;
    margin: 0;
    width: 100%;
    min-height: auto;
}

.photo-nav button.photo-tab.active {
    background: linear-gradient(135deg, #4a148c, #7b1fa2, #9c27b0) !important;
    color: white !important;
    border-color: #ce93d8 !important;
}

.photo-tab {
    padding: 1.5rem;
    background: linear-gradient(135deg, #ffffff, #f8f9fa);
    border: 2px solid rgba(156, 39, 176, 0.1);
    cursor: pointer;
    border-radius: 15px;
    transition: all 0.3s ease;
    color: #4a148c;
    font-weight: 600;
    font-size: 1.1rem;
    text-align: center;
    box-shadow: 0 4px 15px rgba(0,0,0,0.1);
    position: relative;
    overflow: hidden;
    display: inline-block;
    text-decoration: none;
    outline: none;
}

.photo-tab::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.4), transparent);
    transition: left 0.5s ease;
}

.photo-tab:hover::before {
    left: 100%;
}

.photo-tab:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 25px rgba(156, 39, 176, 0.2);
    border-color: #9c27b0;
}

.photo-tab.active {
    background: linear-gradient(135deg, #4a148c, #7b1fa2, #9c27b0);
    color: white;
    transform: translateY(-5px);
    box-shadow: 0 8px 25px rgba(156, 39, 176, 0.4);
    border-color: #ce93d8;
}

.photo-tab-icon {
    display: block;
    font-size: 2rem;
    margin-bottom: 0.5rem;
}

.photo-category {
    display: none;
}

.photo-category.active {
    display: block;
}

/* Carousel Styles */
.carousel-container {
    position: relative;
    margin: 2rem 0;
    border-radius: 15px;
    overflow: hidden;
    box-shadow: 0 8px 32px rgba(0,0,0,0.2);
}

.carousel-wrapper {
    position: relative;
    width: 100%;
    height: 500px !important;
    min-height: 500px !important;
    overflow: hidden;
}

/* Ensure carousel containers maintain proper height */
.carousel-container {
    min-height: 500px;
}

.carousel-wrapper {
    height: 500px !important;
    min-height: 500px !important;
}

/* Clean carousel placeholder styling */
.carousel-placeholder {
    text-align: center;
    color: #666;
    font-size: 1.2rem;
    padding: 1.5rem;
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.carousel-placeholder h4 {
    margin: 0.5rem 0;
    color: #4a148c;
    font-size: 1.3rem;
}

.carousel-placeholder p {
    margin: 0;
    color: #666;
    font-size: 1rem;
    max-width: 500px;
}

.carousel-slide {
    position: absolute;
    width: 100%;
    height: 100%;
    opacity: 0;
    transition: opacity 0.5s ease-in-out;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #f5f5f5, #e0e0e0);
}

.carousel-slide.active {
    opacity: 1;
}

.carousel-slide img {
    max-width: 100%;
    max-height: 100%;
    object-fit: cover;
    border-radius: 10px;
}

.carousel-placeholder {
    text-align: center;
    color: #666;
    font-size: 1.2rem;
    padding: 2rem;
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

/* Carousel image styling - fit within container */
.carousel-placeholder img {
    width: 90%;
    max-width: 600px;
    height: 300px;
    max-height: 350px;
    object-fit: cover;
    border-radius: 10px;
    margin-bottom: 1rem;
    display: block;
    box-shadow: 0 4px 16px rgba(0,0,0,0.2);
}

.carousel-placeholder-icon {
    font-size: 4rem;
    margin-bottom: 1rem;
    opacity: 0.5;
}

.carousel-controls {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: rgba(0,0,0,0.5);
    color: white;
    border: none;
    padding: 15px 20px;
    font-size: 1.5rem;
    cursor: pointer;
    border-radius: 50%;
    transition: all 0.3s ease;
}

.carousel-controls:hover {
    background: rgba(0,0,0,0.8);
    transform: translateY(-50%) scale(1.1);
}

.carousel-prev {
    left: 20px;
}

.carousel-next {
    right: 20px;
}

.carousel-indicators {
    position: absolute;
    bottom: 20px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    gap: 10px;
}

.carousel-indicator {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: rgba(255,255,255,0.5);
    cursor: pointer;
    transition: all 0.3s ease;
}

.carousel-indicator.active {
    background: white;
    transform: scale(1.2);
}

.photo-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 1rem;
    margin: 2rem 0;
}

.photo-thumbnail {
    aspect-ratio: 1;
    background: linear-gradient(135deg, #f5f5f5, #e0e0e0);
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: transform 0.3s ease;
    box-shadow: 0 4px 15px rgba(0,0,0,0.1);
}

.photo-thumbnail:hover {
    transform: scale(1.05);
}

.photo-thumbnail img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 10px;
}

.photo-thumbnail-placeholder {
    text-align: center;
    color: #999;
    font-size: 3rem;
}

/* ===== DOWNLOADS STYLES ===== */
.downloads-nav {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 1rem;
    margin: 2rem 0;
    padding: 0;
    background: none;
}

.downloads-tab {
    padding: 1.5rem;
    background: linear-gradient(135deg, #ffffff, #f8f9fa);
    border: 2px solid rgba(26, 35, 126, 0.1);
    cursor: pointer;
    border-radius: 15px;
    transition: all 0.3s ease;
    color: #1a237e;
    font-weight: 600;
    font-size: 1.1rem;
    text-align: center;
    box-shadow: 0 4px 15px rgba(0,0,0,0.1);
    position: relative;
    overflow: hidden;
}

.downloads-tab::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.4), transparent);
    transition: left 0.5s ease;
}

.downloads-tab:hover::before {
    left: 100%;
}

.downloads-tab:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 25px rgba(26, 35, 126, 0.2);
    border-color: #3f51b5;
}

.downloads-tab.active {
    background: linear-gradient(135deg, #1a237e, #3f51b5, #5c6bc0);
    color: white;
    transform: translateY(-5px);
    box-shadow: 0 8px 25px rgba(26, 35, 126, 0.4);
    border-color: #9fa8da;
}

.downloads-tab-icon {
    display: block;
    font-size: 2rem;
    margin-bottom: 0.5rem;
}

.download-category {
    display: none;
}

.download-category.active {
    display: block;
}

.enhanced-download-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 1.5rem;
    margin: 2rem 0;
}

.enhanced-download-card {
    background: white;
    border-radius: 15px;
    padding: 2rem;
    box-shadow: 0 8px 25px rgba(0,0,0,0.1);
    border: 1px solid rgba(26, 35, 126, 0.1);
    transition: all 0.3s ease;
    text-align: center;
    position: relative;
    overflow: hidden;
}

.enhanced-download-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 4px;
    background: linear-gradient(45deg, #1a237e, #3f51b5, #5c6bc0);
}

.enhanced-download-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 15px 35px rgba(26, 35, 126, 0.2);
}

.enhanced-download-icon {
    font-size: 3.5rem;
    margin-bottom: 1.5rem;
    color: #1a237e;
    animation: bounce 2s infinite;
}

@keyframes bounce {
    0%, 20%, 50%, 80%, 100% {
        transform: translateY(0);
    }
    40% {
        transform: translateY(-10px);
    }
    60% {
        transform: translateY(-5px);
    }
}

.enhanced-download-card h4 {
    color: #1a237e;
    margin-bottom: 1rem;
    font-size: 1.3rem;
    font-weight: bold;
}

.enhanced-download-card p {
    color: #666;
    font-size: 0.95rem;
    margin-bottom: 1.5rem;
    line-height: 1.5;
}

.enhanced-download-btn {
    background: linear-gradient(45deg, #1a237e, #3f51b5);
    color: white;
    padding: 12px 25px;
    border: none;
    border-radius: 25px;
    font-size: 1rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    box-shadow: 0 4px 15px rgba(26, 35, 126, 0.3);
}

.enhanced-download-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(26, 35, 126, 0.4);
    background: linear-gradient(45deg, #3f51b5, #5c6bc0);
}

.download-count {
    position: absolute;
    top: 15px;
    right: 15px;
    background: linear-gradient(45deg, #ff5722, #ff7043);
    color: white;
    padding: 5px 10px;
    border-radius: 15px;
    font-size: 0.8rem;
    font-weight: 600;
}

.file-size {
    background: linear-gradient(45deg, #4caf50, #66bb6a);
    color: white;
    padding: 4px 8px;
    border-radius: 10px;
    font-size: 0.75rem;
    font-weight: 500;
    display: inline-block;
    margin-top: 0.5rem;
}

/* Legacy download styles */
.download-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 1.5rem;
    margin: 2rem 0;
}

.download-card {
    background: white;
    border-radius: 12px;
    padding: 1.5rem;
    box-shadow: 0 4px 15px rgba(0,0,0,0.1);
    border: 1px solid rgba(33, 150, 243, 0.2);
    transition: transform 0.3s ease;
    text-align: center;
}

.download-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 25px rgba(0,0,0,0.15);
}

.download-icon {
    font-size: 3rem;
    color: #01579b;
    margin-bottom: 1rem;
}

.download-card h4 {
    color: #01579b;
    margin-bottom: 0.5rem;
    font-size: 1.1rem;
}

.download-card p {
    color: #666;
    font-size: 0.9rem;
    margin-bottom: 1rem;
}

.download-btn {
    background: linear-gradient(45deg, #01579b, #0288d1);
    color: white;
    padding: 10px 20px;
    border: none;
    border-radius: 20px;
    font-size: 0.9rem;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.3s ease;
    text-decoration: none;
    display: inline-block;
}

.download-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(1, 87, 155, 0.4);
}

/* ===== CONTACT US PAGE STYLES ===== */
.contact-hero {
background: linear-gradient(135deg, #6a1b9a, #8e24aa, #ab47bc);
color: white;
padding: 3rem 2rem;
border-radius: 20px;
margin: 1rem 0 2rem 0;
text-align: center;
position: relative;
overflow: hidden;
}

.contact-hero::before {
content: ‘’;
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><circle cx="20" cy="20" r="2" fill="rgba(255,255,255,0.1)"/><circle cx="80" cy="40" r="1" fill="rgba(255,255,255,0.1)"/><circle cx="40" cy="60" r="1.5" fill="rgba(255,255,255,0.1)"/></svg>') repeat;
/*background: url(‘data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><circle cx="20" cy="20" r="2" fill="rgba(255,255,255,0.1)"/><circle cx="80" cy="40" r="1" fill="rgba(255,255,255,0.1)"/><circle cx="40" cy="60" r="1.5" fill="rgba(255,255,255,0.1)"/></svg>’) repeat;*/
opacity: 0.3;
}

.contact-hero h2 {
font-size: 2.5rem;
margin-bottom: 1rem;
text-shadow: 2px 2px 4px rgba(0,0,0,0.3);
background: none;
-webkit-text-fill-color: white;
position: relative;
z-index: 1;
}

.contact-hero p {
font-size: 1.2rem;
opacity: 0.9;
max-width: 800px;
margin: 0 auto;
position: relative;
z-index: 1;
}

.contact-stats {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
gap: 1rem;
margin: 2rem 0;
}

/* Main Contact Section */
.main-contact-section {
margin: 3rem 0;
}

.main-contact-section h3 {
color: #6a1b9a;
margin-bottom: 2rem;
font-size: 1.8rem;
text-align: center;
}

.main-contact-cards {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
gap: 2rem;
margin: 2rem 0;
}

.contact-card {
background: white;
border-radius: 15px;
padding: 2rem;
box-shadow: 0 8px 25px rgba(0,0,0,0.1);
text-align: center;
transition: transform 0.3s ease;
border-top: 4px solid;
}

.contact-card:hover {
transform: translateY(-5px);
box-shadow: 0 12px 30px rgba(0,0,0,0.15);
}

.address-card {
border-top-color: #4caf50;
}

.phone-card {
border-top-color: #2196f3;
}

.hours-card {
border-top-color: #ff9800;
}

.contact-card-icon {
font-size: 3rem;
margin-bottom: 1rem;
color: #6a1b9a;
}

.contact-card h4 {
color: #6a1b9a;
margin-bottom: 1rem;
font-size: 1.3rem;
}

.contact-card p {
color: #666;
line-height: 1.6;
margin-bottom: 0.8rem;
}

.contact-card p:last-child {
margin-bottom: 0;
}

/* Department Contact Section */
.department-contact-section {
margin: 3rem 0;
background: linear-gradient(135deg, #f3e5f5, #e1bee7);
padding: 2rem;
border-radius: 15px;
}

.department-contact-section h3 {
color: #6a1b9a;
margin-bottom: 2rem;
font-size: 1.8rem;
text-align: center;
}

.department-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
gap: 1.5rem;
margin: 2rem 0;
}

.department-card {
background: white;
border-radius: 12px;
padding: 1.5rem;
box-shadow: 0 4px 15px rgba(0,0,0,0.1);
transition: transform 0.3s ease;
border-left: 4px solid #8e24aa;
}

.department-card:hover {
transform: translateY(-3px);
}

.dept-icon {
font-size: 2.5rem;
color: #6a1b9a;
margin-bottom: 1rem;
text-align: center;
}

.department-card h4 {
color: #6a1b9a;
margin-bottom: 1rem;
font-size: 1.2rem;
text-align: center;
}

.department-card p {
color: #666;
font-size: 0.9rem;
margin-bottom: 0.5rem;
line-height: 1.4;
}

/* Contact Form Section */
.contact-form-section {
margin: 3rem 0;
}

.contact-form-section h3 {
color: #6a1b9a;
margin-bottom: 1rem;
font-size: 1.8rem;
text-align: center;
}

.form-intro {
text-align: center;
color: #666;
font-size: 1.1rem;
margin-bottom: 2rem;
max-width: 600px;
margin-left: auto;
margin-right: auto;
}

.contact-form {
background: white;
padding: 2rem;
border-radius: 15px;
box-shadow: 0 8px 25px rgba(0,0,0,0.1);
max-width: 800px;
margin: 0 auto;
}

.form-row {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 1rem;
margin-bottom: 1rem;
}

.form-group {
margin-bottom: 1rem;
}

.form-group label {
display: block;
margin-bottom: 0.5rem;
font-weight: 600;
color: #6a1b9a;
}

.form-group input,
.form-group select,
.form-group textarea {
width: 100%;
padding: 12px;
border: 2px solid #e1bee7;
border-radius: 8px;
font-size: 1rem;
transition: border-color 0.3s ease;
font-family: inherit;
}

.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus {
outline: none;
border-color: #8e24aa;
box-shadow: 0 0 10px rgba(142, 36, 170, 0.3);
}

.form-group textarea {
resize: vertical;
min-height: 120px;
}

.checkbox-group {
display: flex;
align-items: flex-start;
gap: 0.5rem;
}

.checkbox-label {
display: flex;
align-items: flex-start;
gap: 0.5rem;
cursor: pointer;
font-weight: normal !important;
}

.checkbox-label input[type=“checkbox”] {
width: auto;
margin: 0;
margin-top: 2px;
}

.contact-submit-btn {
background: linear-gradient(45deg, #6a1b9a, #8e24aa);
color: white;
padding: 15px 30px;
border: none;
border-radius: 25px;
font-size: 1.1rem;
font-weight: 600;
cursor: pointer;
width: 100%;
margin-top: 1rem;
transition: all 0.3s ease;
box-shadow: 0 6px 20px rgba(106, 27, 154, 0.3);
}

.contact-submit-btn:hover {
transform: translateY(-2px);
box-shadow: 0 8px 25px rgba(106, 27, 154, 0.4);
}

/* Map Section */
.map-section {
margin: 3rem 0;
}

.map-section h3 {
color: #6a1b9a;
margin-bottom: 2rem;
font-size: 1.8rem;
text-align: center;
}

.map-container {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 2rem;
margin: 2rem 0;
}

.map-placeholder {
background: linear-gradient(135deg, #f5f5f5, #e0e0e0);
border-radius: 15px;
padding: 3rem 2rem;
text-align: center;
border: 2px dashed #ccc;
transition: all 0.3s ease;
}

.map-placeholder:hover {
border-color: #8e24aa;
background: linear-gradient(135deg, #f3e5f5, #e1bee7);
}

.map-icon {
font-size: 4rem;
color: #6a1b9a;
margin-bottom: 1rem;
}

.map-placeholder h4 {
color: #6a1b9a;
margin-bottom: 1rem;
font-size: 1.3rem;
}

.map-placeholder p {
color: #666;
margin-bottom: 0.8rem;
line-height: 1.5;
}

.directions-info {
background: white;
border-radius: 15px;
padding: 2rem;
box-shadow: 0 8px 25px rgba(0,0,0,0.1);
}

.directions-info h4 {
color: #6a1b9a;
margin-bottom: 1.5rem;
font-size: 1.3rem;
}

.direction-item {
display: flex;
align-items: flex-start;
gap: 1rem;
margin-bottom: 1.5rem;
padding: 1rem;
background: rgba(142, 36, 170, 0.05);
border-radius: 8px;
border-left: 3px solid #8e24aa;
}

.direction-icon {
font-size: 1.5rem;
color: #6a1b9a;
margin-top: 0.2rem;
}

.direction-item div {
flex: 1;
}

.direction-item strong {
color: #6a1b9a;
}

/* Emergency Contact Section */
.emergency-contact-section {
margin: 3rem 0;
background: linear-gradient(135deg, #ffebee, #ffcdd2);
padding: 2rem;
border-radius: 15px;
border: 2px solid rgba(244, 67, 54, 0.2);
}

.emergency-contact-section h3 {
color: #d32f2f;
margin-bottom: 2rem;
font-size: 1.8rem;
text-align: center;
}

.emergency-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
gap: 1.5rem;
margin: 2rem 0;
}

.emergency-card {
background: white;
border-radius: 12px;
padding: 1.5rem;
box-shadow: 0 4px 15px rgba(0,0,0,0.1);
text-align: center;
border-top: 4px solid #f44336;
transition: transform 0.3s ease;
}

.emergency-card:hover {
transform: translateY(-3px);
}

.emergency-icon {
font-size: 2.5rem;
color: #d32f2f;
margin-bottom: 1rem;
}

.emergency-card h4 {
color: #d32f2f;
margin-bottom: 1rem;
font-size: 1.2rem;
}

.emergency-card p {
color: #666;
font-size: 0.9rem;
margin-bottom: 0.5rem;
line-height: 1.4;
}

.emergency-card em {
color: #999;
font-size: 0.85rem;
}

/* FAQ Section */
.faq-contact-section {
margin: 3rem 0;
}

.faq-contact-section h3 {
color: #6a1b9a;
margin-bottom: 2rem;
font-size: 1.8rem;
text-align: center;
}

.faq-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
gap: 1.5rem;
margin: 2rem 0;
}

.faq-item {
background: white;
border-radius: 12px;
padding: 1.5rem;
box-shadow: 0 4px 15px rgba(0,0,0,0.1);
border-left: 4px solid #8e24aa;
transition: transform 0.3s ease;
}

.faq-item:hover {
transform: translateY(-3px);
}

.faq-item h4 {
color: #6a1b9a;
margin-bottom: 1rem;
font-size: 1.1rem;
}

.faq-item p {
color: #666;
line-height: 1.5;
margin: 0;
}

/* Contact CTA Section */
.contact-cta {
background: linear-gradient(135deg, #f3e5f5, #e1bee7);
padding: 2.5rem;
border-radius: 15px;
margin: 3rem 0;
text-align: center;
border: 2px solid rgba(106, 27, 154, 0.2);
}

.contact-cta h4 {
color: #6a1b9a;
margin-bottom: 1rem;
font-size: 1.6rem;
}

.contact-cta p {
color: #555;
font-size: 1.1rem;
margin: 0 0 2rem 0;
max-width: 700px;
margin-left: auto;
margin-right: auto;
line-height: 1.6;
}

.cta-buttons {
display: flex;
gap: 1rem;
justify-content: center;
flex-wrap: wrap;
}

.contact-cta-btn {
padding: 15px 25px;
border: none;
border-radius: 25px;
font-size: 1rem;
font-weight: 600;
cursor: pointer;
transition: all 0.3s ease;
min-width: 150px;
}

.contact-cta-btn.primary {
background: linear-gradient(45deg, #6a1b9a, #8e24aa);
color: white;
box-shadow: 0 6px 20px rgba(106, 27, 154, 0.3);
}

.contact-cta-btn.secondary {
background: white;
color: #6a1b9a;
border: 2px solid #8e24aa;
}

.contact-cta-btn:hover {
transform: translateY(-2px);
}

.contact-cta-btn.primary:hover {
box-shadow: 0 8px 25px rgba(106, 27, 154, 0.4);
}

.contact-cta-btn.secondary:hover {
background: #f3e5f5;
}


/* ===== ABOUT US PAGE STYLES ===== */
.about-hero {
    background: linear-gradient(135deg, #2e7d32, #4caf50, #66bb6a);
    color: white;
    padding: 3rem 2rem;
    border-radius: 20px;
    margin: 1rem 0 2rem 0;
    text-align: center;
    position: relative;
    overflow: hidden;
}

.about-hero::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><circle cx="20" cy="20" r="2" fill="rgba(255,255,255,0.1)"/><circle cx="80" cy="40" r="1" fill="rgba(255,255,255,0.1)"/><circle cx="40" cy="60" r="1.5" fill="rgba(255,255,255,0.1)"/></svg>') repeat;
    opacity: 0.3;
}

.about-hero h2 {
    font-size: 2.5rem;
    margin-bottom: 1rem;
    text-shadow: 2px 2px 4px rgba(0,0,0,0.3);
    background: none;
    -webkit-text-fill-color: white;
    position: relative;
    z-index: 1;
}

.about-hero p {
    font-size: 1.2rem;
    opacity: 0.9;
    max-width: 800px;
    margin: 0 auto;
    position: relative;
    z-index: 1;
}

.about-stats {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 1rem;
    margin: 2rem 0;
}

/* Journey Section */
.journey-section {
    margin: 3rem 0;
}

.journey-section h3 {
    text-align: center;
    color: #2e7d32;
    margin-bottom: 2rem;
    font-size: 1.8rem;
}

.journey-content {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 2rem;
    margin: 2rem 0;
}

.journey-card {
    background: white;
    border-radius: 15px;
    padding: 2rem;
    box-shadow: 0 8px 25px rgba(0,0,0,0.1);
    border-left: 4px solid #4caf50;
    text-align: center;
    transition: transform 0.3s ease;
}

.journey-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 12px 30px rgba(0,0,0,0.15);
}

.journey-icon {
    font-size: 3rem;
    margin-bottom: 1rem;
    color: #2e7d32;
}

.journey-card h4 {
    color: #2e7d32;
    margin-bottom: 1rem;
    font-size: 1.3rem;
}

.journey-card p {
    color: #666;
    line-height: 1.6;
    margin: 0;
}

/* Values Section */
.values-section {
    margin: 3rem 0;
    background: linear-gradient(135deg, #f1f8e9, #e8f5e8);
    padding: 2rem;
    border-radius: 15px;
}

.values-section h3 {
    text-align: center;
    color: #2e7d32;
    margin-bottom: 2rem;
    font-size: 1.8rem;
}

.values-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 1.5rem;
    margin: 2rem 0;
}

.value-card {
    background: white;
    border-radius: 12px;
    padding: 1.5rem;
    text-align: center;
    box-shadow: 0 4px 15px rgba(0,0,0,0.1);
    border-top: 3px solid #4caf50;
    transition: all 0.3s ease;
}

.value-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 20px rgba(0,0,0,0.15);
}

.value-icon {
    font-size: 2.5rem;
    margin-bottom: 1rem;
    color: #2e7d32;
}

.value-card h4 {
    color: #2e7d32;
    margin-bottom: 0.8rem;
    font-size: 1.2rem;
}

.value-card p {
    color: #666;
    font-size: 0.95rem;
    margin: 0;
    line-height: 1.5;
}

/* Board of Directors Section */
.board-section {
    margin: 3rem 0;
}

.board-section h3 {
    color: #01579b;
    margin-bottom: 1rem;
    font-size: 1.8rem;
    text-align: center;
}

.board-intro {
    text-align: center;
    color: #666;
    font-size: 1.1rem;
    margin-bottom: 2rem;
    max-width: 800px;
    margin-left: auto;
    margin-right: auto;
}

.board-table-container {
    background: white;
    border-radius: 15px;
    overflow: hidden;
    box-shadow: 0 8px 25px rgba(0,0,0,0.1);
    margin: 2rem 0;
}

.board-table-container .table-header {
    background: linear-gradient(45deg, #01579b, #0288d1);
    color: white;
    padding: 1.5rem;
    text-align: center;
}

.board-table-container .table-header h4 {
    margin: 0;
    font-size: 1.3rem;
    color: white;
}

.board-table-container table td:first-child {
    font-weight: 600;
    color: #01579b;
}

.board-table-container table td:nth-child(3) {
    color: #666;
    font-style: italic;
}

/* Membership Section */
.membership-section {
    margin: 3rem 0;
}

.membership-section h3 {
    color: #e65100;
    margin-bottom: 2rem;
    font-size: 1.8rem;
    text-align: center;
}

.membership-cards {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
    gap: 2rem;
    margin: 2rem 0;
}

.membership-card {
    background: white;
    border-radius: 15px;
    padding: 2rem;
    box-shadow: 0 8px 25px rgba(0,0,0,0.1);
    border-top: 4px solid #ff9800;
    transition: transform 0.3s ease;
}

.membership-card:hover {
    transform: translateY(-5px);
}

.membership-icon {
    font-size: 3rem;
    color: #e65100;
    margin-bottom: 1rem;
    text-align: center;
    display: block;
}

.membership-card h4 {
    color: #e65100;
    margin-bottom: 1rem;
    font-size: 1.3rem;
    text-align: center;
}

.membership-card p {
    color: #666;
    margin-bottom: 0.8rem;
    line-height: 1.5;
}

.join-steps {
    margin-top: 1rem;
}

.step {
    display: flex;
    align-items: center;
    margin: 1rem 0;
    padding: 0.8rem;
    background: rgba(255, 152, 0, 0.05);
    border-radius: 8px;
    border-left: 3px solid #ff9800;
}

.step-number {
    background: #ff9800;
    color: white;
    width: 25px;
    height: 25px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    margin-right: 1rem;
    font-size: 0.9rem;
}

.step span:last-child {
    color: #333;
    font-weight: 500;
}

/* Performance Section */
.performance-section {
    margin: 3rem 0;
}

.performance-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
    gap: 2rem;
    margin: 2rem 0;
}

.performance-card {
    background: linear-gradient(135deg, #e3f2fd, #bbdefb);
    border-radius: 15px;
    padding: 2rem;
    text-align: center;
    box-shadow: 0 8px 25px rgba(0,0,0,0.1);
    border-left: 4px solid #2196f3;
    transition: transform 0.3s ease;
}

.performance-card:hover {
    transform: translateY(-5px);
}

.performance-icon {
    font-size: 3rem;
    color: #01579b;
    margin-bottom: 1rem;
}

.performance-card h4 {
    color: #01579b;
    margin-bottom: 1rem;
    font-size: 1.3rem;
}

.performance-card p {
    color: #555;
    line-height: 1.6;
    margin-bottom: 1.5rem;
}

.performance-btn {
    background: linear-gradient(45deg, #01579b, #2196f3);
    color: white;
    padding: 10px 20px;
    border: none;
    border-radius: 20px;
    font-size: 0.9rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
}

.performance-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(1, 87, 155, 0.4);
}

/* About CTA Section */
.about-cta {
    background: linear-gradient(135deg, #e8f5e8, #c8e6c9);
    padding: 2.5rem;
    border-radius: 15px;
    margin: 3rem 0;
    text-align: center;
    border: 2px solid rgba(46, 125, 50, 0.2);
}

.about-cta h4 {
    color: #2e7d32;
    margin-bottom: 1rem;
    font-size: 1.6rem;
}

.about-cta p {
    color: #1b5e20;
    font-size: 1.1rem;
    margin: 0 0 2rem 0;
    max-width: 700px;
    margin-left: auto;
    margin-right: auto;
    line-height: 1.6;
}

.about-cta-btn {
    background: linear-gradient(45deg, #2e7d32, #4caf50);
    color: white;
    padding: 15px 30px;
    border: none;
    border-radius: 25px;
    font-size: 1.1rem;
    font-weight: 600;
    cursor: pointer;
    box-shadow: 0 6px 20px rgba(46, 125, 50, 0.3);
    transition: all 0.3s ease;
}

.about-cta-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(46, 125, 50, 0.4);
}

/* ===== FOOTER ===== */
footer {
    background: linear-gradient(45deg, #01579b, #0288d1);
    color: white;
    text-align: center;
    padding: 2rem 0;
    margin-top: 3rem;
}

footer p {
    margin: 0.5rem 0;
}

/* ===== RESPONSIVE DESIGN ===== */
@media (max-width: 768px) {
    .header-content {
        text-align: center;
    }

    .logo h1 {
        font-size: 1.4rem;
    }

    /* Navigation styles now handled in main navigation section above */

    .home-hero, .holiday-hero, .photo-hero, .downloads-hero, .about-hero {
        padding: 2rem 1rem;
    }

    .home-hero h2, .holiday-hero h2, .photo-hero h2, .downloads-hero h2, .about-hero h2 {
        font-size: 2rem;
    }

    .home-hero p, .holiday-hero p, .about-hero p {
        font-size: 1rem;
    }

    .home-stats, .loan-stats, .deposit-stats, .holiday-stats, .downloads-stats, .about-stats {
        grid-template-columns: repeat(2, 1fr);
        gap: 0.5rem;
    }

    .stat-card, .downloads-stat-card {
        padding: 1rem;
    }

    .stat-icon, .downloads-stat-icon {
        font-size: 2rem;
    }

    .stat-number, .downloads-stat-number {
        font-size: 1.5rem;
    }

    .sub-nav, .photo-nav, .downloads-nav {
        grid-template-columns: 1fr;
        gap: 0.5rem;
    }

    .sub-tab, .photo-tab, .downloads-tab {
        width: 100%;
        margin: 0;
        padding: 1rem;
        font-size: 1rem;
    }

    .location-icon, .photo-tab-icon, .downloads-tab-icon {
        font-size: 1.5rem;
    }

    .room-grid, .services-grid, .deposit-cards-grid, .enhanced-download-grid, .download-grid {
        grid-template-columns: 1fr;
    }

    .calculator-grid {
        grid-template-columns: 1fr;
        gap: 1rem;
    }

    .card {
        padding: 1rem;
    }

    table {
        font-size: 0.9rem;
    }

    th, td {
        padding: 10px 8px;
    }

    .contact-info {
        grid-template-columns: 1fr;
    }

    .announcements-compact {
        padding: 1rem;
    }

    .announcements-compact .announcement-item {
        padding: 0.6rem;
    }

    .announcement-text {
        font-size: 0.85rem;
    }

    .location-details {
        grid-template-columns: repeat(2, 1fr);
    }

    .carousel-wrapper {
        height: 300px;
    }

    .carousel-controls {
        padding: 10px 15px;
        font-size: 1.2rem;
    }

    .carousel-prev {
        left: 10px;
    }

    .carousel-next {
        right: 10px;
    }

    /* About Us Page Mobile Styles */
    .journey-content {
        grid-template-columns: 1fr;
    }

    .values-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 1rem;
    }

    .membership-cards, .performance-grid {
        grid-template-columns: 1fr;
    }

    .values-section {
        padding: 1.5rem;
    }

    .about-cta {
        padding: 1.5rem;
    }

    .about-cta h4 {
        font-size: 1.4rem;
    }

    .about-cta p {
        font-size: 1rem;
    }
    
    /* Enhanced Mobile Improvements */
    
    /* Form improvements for mobile */
    input, textarea, select {
        font-size: 16px; /* Prevents zoom on iOS */
        padding: 12px;
    }
    
    /* Better button spacing on mobile */
    .form-actions {
        flex-direction: column;
        gap: 15px;
    }
    
    .form-actions button {
        width: 100%;
        padding: 15px;
        font-size: 1.1rem;
    }
    
    /* Card improvements */
    .card {
        margin-bottom: 1.5rem;
        padding: 1.5rem;
    }
    
    /* Table responsiveness */
    table {
        font-size: 0.9rem;
    }
    
    /* Better touch targets for carousel */
    .carousel-prev, .carousel-next {
        width: 50px;
        height: 50px;
        font-size: 1.5rem;
    }
    
    /* Footer improvements */
    footer {
        padding: 2rem 1rem 1rem;
        text-align: center;
    }
    
    footer p {
        margin-bottom: 0.5rem;
        font-size: 0.9rem;
    }
}

@media (max-width: 480px) {
    .container {
        padding: 0 15px;
    }

    .logo h1 {
        font-size: 1.2rem;
    }

    .nav-tab {
        padding: 10px 15px;
        font-size: 0.9rem;
    }

    .card {
        padding: 0.8rem;
    }

    .calculator-section {
        padding: 1rem;
    }

    .input-group input, .input-group select {
        padding: 10px;
        font-size: 0.9rem;
    }

    .calculate-btn, .product-btn, .cta-btn {
        padding: 10px 20px;
        font-size: 0.9rem;
    }

    .home-stats, .loan-stats, .deposit-stats, .holiday-stats, .downloads-stats, .about-stats {
        grid-template-columns: 1fr;
    }

    .location-details {
        grid-template-columns: 1fr;
    }

    .enhanced-download-card {
        padding: 1.5rem;
    }

    .carousel-wrapper {
        height: 250px;
    }

    .photo-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    th, td {
        padding: 8px 6px;
        font-size: 0.8rem;
    }

    /* About Us Page Small Mobile Styles */
    .about-hero h2 {
        font-size: 1.8rem;
    }

    .about-hero p {
        font-size: 0.95rem;
    }

    .journey-section h3, .values-section h3, .board-section h3, .membership-section h3 {
        font-size: 1.5rem;
    }

    .journey-card, .value-card, .membership-card, .performance-card {
        padding: 1.5rem;
    }

    .values-grid {
        grid-template-columns: 1fr;
    }

    .values-section {
        padding: 1rem;
    }

    .board-intro {
        font-size: 1rem;
    }

    .about-cta {
        padding: 1.2rem;
    }

    .about-cta h4 {
        font-size: 1.2rem;
    }

    .about-cta p {
        font-size: 0.95rem;
    }

    .about-cta-btn, .performance-btn {
        padding: 12px 20px;
        font-size: 0.9rem;
    }

    .step {
        padding: 0.6rem;
    }

    .step-number {
        width: 22px;
        height: 22px;
        font-size: 0.8rem;
        margin-right: 0.8rem;
    }
}

/* ===== UTILITY CLASSES ===== */
.text-center {
    text-align: center;
}

.mb-1 {
    margin-bottom: 1rem;
}

.mb-2 {
    margin-bottom: 2rem;
}

.mt-1 {
    margin-top: 1rem;
}

.mt-2 {
    margin-top: 2rem;
}

.p-1 {
    padding: 1rem;
}

.p-2 {
    padding: 2rem;
}

/* ===== ACCESSIBILITY IMPROVEMENTS ===== */
.nav-tab:focus, 
.sub-tab:focus, 
.photo-tab:focus, 
.downloads-tab:focus,
.input-group input:focus,
.input-group select:focus,
.btn:focus,
.calculate-btn:focus,
.product-btn:focus,
.cta-btn:focus {
    outline: 2px solid #01579b;
    outline-offset: 2px;
}

.carousel-controls:focus {
    outline: 2px solid white;
    outline-offset: 2px;
}

/* ===== PRINT STYLES ===== */
@media print {
    .nav-container,
    .carousel-controls,
    .btn,
    .calculate-btn,
    .product-btn,
    .cta-btn,
    .enhanced-download-btn,
    .download-btn {
        display: none !important;
    }
    
    .card {
        box-shadow: none;
        border: 1px solid #ccc;
    }
    
    .home-hero,
    .loans-hero,
    .deposits-hero,
    .holiday-hero,
    .photo-hero,
    .downloads-hero {
        background: white !important;
        color: black !important;
        border: 2px solid #01579b;
    }
}

/* ===== DOWNLOADS STYLES ===== */
.downloads-nav {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 1rem;
    margin: 2rem 0;
    padding: 0;
    background: none;
}

.downloads-tab {
    padding: 1.5rem;
    background: linear-gradient(135deg, #ffffff, #f8f9fa);
    border: 2px solid rgba(26, 35, 126, 0.1);
    cursor: pointer;
    border-radius: 15px;
    transition: all 0.3s ease;
    color: #1a237e;
    font-weight: 600;
    font-size: 1.1rem;
    text-align: center;
    box-shadow: 0 4px 15px rgba(0,0,0,0.1);
    position: relative;
    overflow: hidden;
}

.downloads-tab::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.4), transparent);
    transition: left 0.5s ease;
}

.downloads-tab:hover::before {
    left: 100%;
}

.downloads-tab:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 25px rgba(26, 35, 126, 0.2);
    border-color: #3f51b5;
}

.downloads-tab.active {
    background: linear-gradient(135deg, #1a237e, #3f51b5, #5c6bc0);
    color: white;
    transform: translateY(-5px);
    box-shadow: 0 8px 25px rgba(26, 35, 126, 0.4);
    border-color: #9fa8da;
}

.downloads-tab-icon {
    display: block;
    font-size: 2rem;
    margin-bottom: 0.5rem;
}

.download-category {
    display: none;
}

.download-category.active {
    display: block;
}

.enhanced-download-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 1.5rem;
    margin: 2rem 0;
}

.enhanced-download-card {
    background: white;
    border-radius: 15px;
    padding: 2rem;
    box-shadow: 0 8px 25px rgba(0,0,0,0.1);
    border: 1px solid rgba(26, 35, 126, 0.1);
    transition: all 0.3s ease;
    text-align: center;
    position: relative;
    overflow: hidden;
}

.enhanced-download-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 4px;
    background: linear-gradient(45deg, #1a237e, #3f51b5, #5c6bc0);
}

.enhanced-download-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 15px 35px rgba(26, 35, 126, 0.2);
}

.enhanced-download-icon {
    font-size: 3.5rem;
    margin-bottom: 1.5rem;
    color: #1a237e;
    animation: bounce 2s infinite;
}

.app-store-icon {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 1.5rem;
    animation: bounce 2s infinite;
}

.app-store-icon svg {
    transition: transform 0.3s ease;
}

.app-store-icon:hover svg {
    transform: scale(1.1);
}

@keyframes bounce {
    0%, 20%, 50%, 80%, 100% {
        transform: translateY(0);
    }
    40% {
        transform: translateY(-10px);
    }
    60% {
        transform: translateY(-5px);
    }
}

.enhanced-download-card h4 {
    color: #1a237e;
    margin-bottom: 1rem;
    font-size: 1.3rem;
    font-weight: bold;
}

.enhanced-download-card p {
    color: #666;
    font-size: 0.95rem;
    margin-bottom: 1.5rem;
    line-height: 1.5;
}

.enhanced-download-btn {
    background: linear-gradient(45deg, #1a237e, #3f51b5);
    color: white;
    padding: 12px 25px;
    border: none;
    border-radius: 25px;
    font-size: 1rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    box-shadow: 0 4px 15px rgba(26, 35, 126, 0.3);
}

.enhanced-download-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(26, 35, 126, 0.4);
    background: linear-gradient(45deg, #3f51b5, #5c6bc0);
}

.download-count {
    position: absolute;
    top: 15px;
    right: 15px;
    background: linear-gradient(45deg, #ff5722, #ff7043);
    color: white;
    padding: 5px 10px;
    border-radius: 15px;
    font-size: 0.8rem;
    font-weight: 600;
}

.file-size {
    background: linear-gradient(45deg, #4caf50, #66bb6a);
    color: white;
    padding: 4px 8px;
    border-radius: 10px;
    font-size: 0.75rem;
    font-weight: 500;
    display: inline-block;
    margin-top: 0.5rem;
}

/* ===== PRIVACY POLICY STYLES ===== */
.privacy-hero {
    background: linear-gradient(135deg, #4a148c, #7b1fa2, #9c27b0);
    color: white;
    padding: 3rem 2rem;
    border-radius: 20px;
    margin: 1rem 0 2rem 0;
    text-align: center;
    position: relative;
    overflow: hidden;
}

.privacy-hero::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><circle cx="20" cy="20" r="2" fill="rgba(255,255,255,0.1)"/><circle cx="80" cy="40" r="1" fill="rgba(255,255,255,0.1)"/><path d="M30,30 L40,30 L40,40 L30,40 Z" fill="rgba(255,255,255,0.08)"/></svg>') repeat;
    opacity: 0.3;
}

.privacy-hero h2 {
    font-size: 2.5rem;
    margin-bottom: 1rem;
    text-shadow: 2px 2px 4px rgba(0,0,0,0.3);
    background: none;
    -webkit-text-fill-color: white;
    position: relative;
    z-index: 1;
}

.privacy-hero p {
    font-size: 1.2rem;
    opacity: 0.9;
    max-width: 800px;
    margin: 0 auto;
    position: relative;
    z-index: 1;
}

.privacy-stats {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 1rem;
    margin: 2rem 0;
}

/* Last Updated Banner */
.last-updated-banner {
    background: linear-gradient(135deg, #fff3e0, #ffcc02);
    border-left: 5px solid #ff9800;
    border-radius: 15px;
    padding: 1.5rem;
    margin: 2rem 0;
    display: flex;
    align-items: center;
    gap: 1rem;
    box-shadow: 0 4px 15px rgba(255, 152, 0, 0.2);
}

.update-icon {
    font-size: 3rem;
    color: #e65100;
    flex-shrink: 0;
}

.update-info h4 {
    color: #e65100;
    margin: 0 0 0.5rem 0;
    font-size: 1.2rem;
}

.update-info p {
    margin: 0;
    color: #bf360c;
    font-weight: 500;
}

/* Privacy Sections */
.privacy-sections {
    margin: 2rem 0;
}

.privacy-section {
    background: white;
    border-radius: 15px;
    margin: 2rem 0;
    box-shadow: 0 8px 25px rgba(0,0,0,0.1);
    border: 1px solid rgba(156, 39, 176, 0.1);
    overflow: hidden;
    transition: transform 0.3s ease;
}

.privacy-section:hover {
    transform: translateY(-3px);
    box-shadow: 0 12px 30px rgba(156, 39, 176, 0.15);
}

.section-header {
    background: linear-gradient(45deg, #4a148c, #7b1fa2);
    color: white;
    padding: 1.5rem 2rem;
    display: flex;
    align-items: center;
    gap: 1rem;
}

.section-icon {
    font-size: 2rem;
    flex-shrink: 0;
}

.section-header h3 {
    margin: 0;
    font-size: 1.4rem;
    color: white;
}

.section-content {
    padding: 2rem;
}

.section-content > p {
    color: #666;
    font-size: 1.1rem;
    line-height: 1.6;
    margin-bottom: 1.5rem;
}

/* Information Categories */
.info-categories {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 1.5rem;
    margin: 2rem 0;
}

.info-category {
    background: linear-gradient(135deg, #f3e5f5, #e1bee7);
    border-radius: 12px;
    padding: 1.5rem;
    border-left: 4px solid #9c27b0;
    transition: transform 0.3s ease;
}

.info-category:hover {
    transform: translateY(-3px);
}

.info-category h4 {
    color: #4a148c;
    margin-bottom: 1rem;
    font-size: 1.1rem;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.category-items {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.item {
    background: white;
    padding: 0.5rem 0.8rem;
    border-radius: 6px;
    color: #666;
    font-size: 0.9rem;
    border-left: 3px solid #ba68c8;
}

/* Usage Grid */
.usage-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 1.5rem;
    margin: 2rem 0;
}

.usage-card {
    background: linear-gradient(135deg, #fafafa, #f0f0f0);
    border-radius: 12px;
    padding: 1.5rem;
    text-align: center;
    border: 1px solid rgba(156, 39, 176, 0.1);
    transition: all 0.3s ease;
    box-shadow: 0 4px 15px rgba(0,0,0,0.05);
}

.usage-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 25px rgba(156, 39, 176, 0.2);
    border-color: #9c27b0;
}

.usage-icon {
    font-size: 2.5rem;
    color: #7b1fa2;
    margin-bottom: 1rem;
    display: block;
}

.usage-card h4 {
    color: #4a148c;
    margin-bottom: 0.8rem;
    font-size: 1.1rem;
}

.usage-card p {
    color: #666;
    font-size: 0.9rem;
    line-height: 1.5;
    margin: 0;
}

/* Security Measures */
.security-measures {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 2rem;
    margin: 2rem 0;
}

.security-category {
    background: linear-gradient(135deg, #e8f5e8, #c8e6c9);
    border-radius: 12px;
    padding: 1.5rem;
    border-top: 4px solid #4caf50;
}

.security-category h4 {
    color: #2e7d32;
    margin-bottom: 1rem;
    font-size: 1.1rem;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.security-items {
    display: flex;
    flex-direction: column;
    gap: 0.8rem;
}

.security-item {
    display: flex;
    align-items: center;
    gap: 0.8rem;
    background: white;
    padding: 0.8rem;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.05);
}

.check-icon {
    color: #4caf50;
    font-size: 1.1rem;
    flex-shrink: 0;
}

.security-item span:last-child {
    color: #555;
    font-size: 0.9rem;
}

/* Sharing Policy */
.sharing-policy {
    margin: 1.5rem 0;
}

.policy-statement {
    background: linear-gradient(135deg, #e8f5e8, #c8e6c9);
    border-radius: 12px;
    padding: 2rem;
    text-align: center;
    margin-bottom: 2rem;
    border: 2px solid rgba(76, 175, 80, 0.3);
}

.policy-statement h4 {
    color: #2e7d32;
    margin-bottom: 1rem;
    font-size: 1.3rem;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
}

.policy-statement p {
    color: #1b5e20;
    font-size: 1.1rem;
    font-weight: 500;
    margin: 0;
}

.sharing-exceptions h4 {
    color: #e65100;
    margin-bottom: 1rem;
    font-size: 1.2rem;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.sharing-exceptions > p {
    color: #666;
    margin-bottom: 1.5rem;
}

.exception-cards {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 1rem;
    margin: 1.5rem 0;
}

.exception-card {
    background: linear-gradient(135deg, #fff3e0, #ffcc02);
    border-radius: 10px;
    padding: 1.5rem;
    text-align: center;
    border-left: 4px solid #ff9800;
    transition: transform 0.3s ease;
}

.exception-card:hover {
    transform: translateY(-3px);
}

.exception-icon {
    font-size: 2rem;
    color: #e65100;
    margin-bottom: 0.8rem;
}

.exception-card h5 {
    color: #e65100;
    margin-bottom: 0.8rem;
    font-size: 1rem;
}

.exception-card p {
    color: #bf360c;
    font-size: 0.9rem;
    line-height: 1.4;
    margin: 0;
}

/* Rights Grid */
.rights-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 1.5rem;
    margin: 2rem 0;
}

.right-card {
    background: white;
    border-radius: 12px;
    padding: 1.5rem;
    text-align: center;
    box-shadow: 0 4px 15px rgba(0,0,0,0.1);
    border: 1px solid rgba(33, 150, 243, 0.2);
    transition: all 0.3s ease;
}

.right-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 25px rgba(33, 150, 243, 0.2);
    border-color: #2196f3;
}

.right-icon {
    font-size: 2.5rem;
    color: #1976d2;
    margin-bottom: 1rem;
    display: block;
}

.right-card h4 {
    color: #1565c0;
    margin-bottom: 0.8rem;
    font-size: 1.1rem;
}

.right-card p {
    color: #666;
    font-size: 0.9rem;
    line-height: 1.5;
    margin: 0;
}

/* Contact Privacy */
.contact-privacy {
    margin: 1.5rem 0;
}

.contact-intro {
    text-align: center;
    margin-bottom: 2rem;
}

.contact-intro p {
    color: #666;
    font-size: 1.1rem;
    line-height: 1.6;
    max-width: 600px;
    margin: 0 auto;
}

.contact-methods {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 1.5rem;
    margin: 2rem 0;
}

.contact-method {
    background: linear-gradient(135deg, #f3e5f5, #e1bee7);
    border-radius: 12px;
    padding: 1.5rem;
    display: flex;
    align-items: center;
    gap: 1rem;
    border-left: 4px solid #9c27b0;
    transition: transform 0.3s ease;
    box-shadow: 0 4px 15px rgba(0,0,0,0.05);
}

.contact-method:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 20px rgba(156, 39, 176, 0.15);
}

.method-icon {
    font-size: 2.5rem;
    color: #7b1fa2;
    flex-shrink: 0;
}

.method-details {
    flex: 1;
}

.method-details h4 {
    color: #4a148c;
    margin: 0 0 0.5rem 0;
    font-size: 1.1rem;
}

.method-details p {
    color: #6a1b9a;
    margin: 0 0 0.3rem 0;
    font-weight: 600;
}

.method-details small {
    color: #666;
    font-size: 0.85rem;
}

/* Privacy CTA */
.privacy-cta {
    background: linear-gradient(135deg, #f3e5f5, #e1bee7);
    padding: 2.5rem;
    border-radius: 15px;
    margin: 3rem 0;
    text-align: center;
    border: 2px solid rgba(156, 39, 176, 0.2);
}

.privacy-cta h4 {
    color: #4a148c;
    margin-bottom: 1rem;
    font-size: 1.6rem;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
}

.privacy-cta p {
    color: #6a1b9a;
    font-size: 1.1rem;
    margin: 0 0 2rem 0;
    max-width: 700px;
    margin-left: auto;
    margin-right: auto;
    line-height: 1.6;
}

.privacy-cta-btn {
    background: linear-gradient(45deg, #4a148c, #7b1fa2);
    color: white;
    padding: 15px 30px;
    border: none;
    border-radius: 25px;
    font-size: 1.1rem;
    font-weight: 600;
    cursor: pointer;
    box-shadow: 0 6px 20px rgba(74, 20, 140, 0.3);
    transition: all 0.3s ease;
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
}

.privacy-cta-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(74, 20, 140, 0.4);
}

/* ===== DYNAMIC PHOTO GALLERY STYLES ===== */

/* Carousel counter styling */
.carousel-counter {
    position: absolute;
    top: 20px;
    right: 20px;
    background: rgba(0, 0, 0, 0.7);
    color: white;
    padding: 8px 12px;
    border-radius: 20px;
    font-size: 0.9rem;
    font-weight: 500;
}

.current-slide {
    font-weight: bold;
}

.total-slides {
    opacity: 0.8;
}

/* Responsive fixes for dynamic photo galleries */
@media (max-width: 768px) {
    .carousel-counter {
        top: 10px;
        right: 10px;
        font-size: 0.8rem;
        padding: 6px 10px;
    }
    
    .carousel-controls {
        padding: 8px 12px;
        font-size: 1.2rem;
    }
    
    .carousel-prev {
        left: 10px;
    }
    
    .carousel-next {
        right: 10px;
    }
}

@media (max-width: 480px) {
    .photo-nav {
        grid-template-columns: 1fr;
        gap: 0.5rem;
    }
    
    .photo-tab {
        padding: 0.8rem;
        min-width: auto;
        font-size: 0.9rem;
    }
    
    .carousel-counter {
        font-size: 0.7rem;
        padding: 4px 8px;
    }
}