/* MEDIO Catalogue - style.css */

:root {
    /* MEDIO Colours Palette */
    --clr-primary: #1a2bc2;      /* Sapphire Accent Blue (Vibrant Blue) */
    --clr-primary-dark: #0d0d52; /* Sapphire Blue (Darker, for text or dark BG) */
    --clr-accent: #a3d6fa;       /* Sapphire Sea Blue (Light Blue Accent) */
    --clr-light-bg: #f0f4ff;     /* Silver Blue (Very Light Page BG / Element BG) */
    --clr-white: #ffffff;        /* Pure White */
    
    --clr-dark-text: #212529; 
    --clr-muted-text: #6c757d; 
    --clr-border: #dee2e6;     
    --clr-footer-bg: #0d0d52;    
    --clr-footer-text: #f0f4ff; 
    --clr-footer-link-hover: #FFFFFF;
    --clr-success: #388E3C; 
    --clr-mrp: #888; 
    --clr-highlight: #FFA000; /* For discount badge */
    --clr-badge-bg: #e44d26; /* Example: Orange/Red for product badges like "NEW" */
    --clr-badge-text: #ffffff;


    --font-primary: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
    --border-radius-sm: 0.25rem; 
    --border-radius-md: 0.5rem;  
    --shadow-sm: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
    --shadow-md: 0 0.5rem 1rem rgba(0, 0, 0, 0.1);
}

/* Global Resets and Base Styles */
*, *::before, *::after { 
    box-sizing: border-box; 
    margin: 0; 
    padding: 0; 
}

body {
    font-family: var(--font-primary);
    background-color: var(--clr-light-bg); /* Main page background */
    color: var(--clr-dark-text);
    line-height: 1.6;
    font-size: 16px;
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.container { 
    max-width: 1200px; 
    margin: 0 auto; 
    padding: 0 20px; 
}

.main-content-area { 
    background-color: var(--clr-white); /* Content sections on white */
    padding-bottom: 50px; 
    flex-grow: 1; 
}

h1, h2, h3, h4, h5, h6 { 
    font-weight: 600; 
    line-height: 1.3; 
    color: var(--clr-primary-dark); 
}
h1 { font-size: 2.25rem; margin-bottom: 0.75rem; } 
h2 { font-size: 1.75rem; margin-bottom: 0.75rem; } 
h3 { font-size: 1.25rem; margin-bottom: 0.5rem; } 
a { 
    text-decoration: none; 
    color: var(--clr-primary); 
    transition: color 0.2s ease; 
}
a:hover { color: var(--clr-primary-dark); }
img { 
    max-width: 100%; 
    height: auto; 
    display: block; 
}

/* Buttons */
.btn {
    display: inline-block;
    padding: 0.65rem 1.3rem; 
    font-size: 0.95rem; 
    font-weight: 500;
    text-align: center;
    border-radius: var(--border-radius-sm);
    cursor: pointer;
    transition: all 0.2s ease-in-out;
    border: 1px solid transparent;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}
.btn-primary { 
    background-color: var(--clr-primary); 
    color: var(--clr-white) !important; 
    border-color: var(--clr-primary); 
}
.btn-primary:hover { 
    background-color: var(--clr-primary-dark); 
    border-color: var(--clr-primary-dark); 
    transform: translateY(-2px); 
    box-shadow: var(--shadow-sm); 
    color: var(--clr-white) !important; 
}
.btn-outline-dark { 
    background-color: transparent; 
    color: var(--clr-primary-dark) !important; 
    border-color: var(--clr-primary-dark); 
}
.btn-outline-dark:hover { 
    background-color: var(--clr-primary-dark); 
    color: var(--clr-white) !important; 
}
.btn-link-arrow { 
    color: var(--clr-primary-dark); 
    font-weight: 500; 
    display: inline-flex; 
    align-items: center; 
}
.btn-link-arrow svg { 
    margin-left: 8px; 
    width: 1.2em; 
    height: 1.2em; 
    transition: transform 0.2s ease; 
    fill: currentColor; 
}
.btn-link-arrow:hover svg { transform: translateX(4px); }

/* Header */
.main-header {
    background-color: var(--clr-white);
    padding: 0.75rem 0; 
    border-bottom: 1px solid var(--clr-border);
    position: sticky;
    top: 0;
    z-index: 1000;
}
.header-container { display: flex; justify-content: space-between; align-items: center; }
.header-logo img { 
    height: 24px; /* Default logo height */
    width: auto; 
    transition: height 0.2s ease; /* Smooth transition for size change */
}
/* Styles for .header-search are removed as the element will be deleted from HTML */

/* Animated Hamburger Button */
.hamburger-btn { 
    background: none; 
    border: none; 
    cursor: pointer; 
    padding: 0.5rem; 
    width: 34px; 
    height: 28px; 
    display: flex; 
    flex-direction: column; 
    justify-content: space-between; 
    position: relative; 
    margin-left: auto; /* Ensures it stays to the right */
}
.hamburger-btn span { display: block; width: 24px; height: 3px; background-color: var(--clr-dark-text); border-radius: 3px; transition: all 0.3s ease-in-out; }
.hamburger-btn.is-active span:nth-child(1) { transform: translateY(8px) rotate(45deg); }
.hamburger-btn.is-active span:nth-child(2) { opacity: 0; }
.hamburger-btn.is-active span:nth-child(3) { transform: translateY(-8px) rotate(-45deg); }

/* Navigation Panel (Mobile Menu) */
.nav-panel { position: fixed; top: 0; right: -300px; width: 300px; height: 100%; background-color: var(--clr-white); box-shadow: -0.5rem 0 1.5rem rgba(0,0,0,0.15); transition: right 0.3s ease-in-out; z-index: 1001; overflow-y: auto; padding-top: 3.5rem; }
.nav-panel.active { right: 0; }
.nav-panel-close-btn { position: absolute; top: 1rem; right: 1rem; background: none; border: none; cursor: pointer; }
.nav-panel-close-btn svg { width: 24px; height: 24px; color: var(--clr-muted-text); }
.nav-panel ul { list-style: none; }
.nav-panel ul li a { display: block; padding: 0.75rem 1.5rem; color: var(--clr-dark-text); font-weight: 500; border-bottom: 1px solid var(--clr-light-bg); }
.nav-panel ul li a:hover { background-color: var(--clr-light-bg); color: var(--clr-primary); }
.nav-panel ul ul { padding-left: 1.5rem; background-color: #fdfdfd; } 
.nav-panel ul ul li a { padding-top: 0.6rem; padding-bottom: 0.6rem; font-size: 0.9em; } 
.nav-panel .nav-item-toggle { display: flex; justify-content: space-between; align-items: center; cursor: pointer; }
.nav-panel .nav-item-toggle svg { transition: transform 0.2s ease; fill: currentColor; }
.nav-panel .nav-item-toggle.expanded svg { transform: rotate(90deg); }
.nav-overlay { display: none; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(0,0,0,0.4); z-index: 1000; }
.nav-panel.active + .nav-overlay { display: block; }

/* Image Placeholder Style */
.img-placeholder {
    width: 100%;
    aspect-ratio: 1 / 1;
    background-color: var(--clr-light-bg); 
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--clr-muted-text);
    font-size: 0.8rem;
    border-radius: var(--border-radius-sm);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
}
        
/* Breadcrumbs */
.breadcrumbs { font-size: 0.9em; color: var(--clr-muted-text); padding: 20px 0; border-bottom: 1px solid var(--clr-border); margin-bottom: 30px; }
.breadcrumbs a { color: var(--clr-primary); text-decoration: none; }
.breadcrumbs a:hover { text-decoration: underline; }
.breadcrumbs span { color: var(--clr-dark-text); font-weight: 500; }
.breadcrumbs .separator { margin: 0 8px; color: var(--clr-muted-text); }

/* Page Header */
.page-header { margin-bottom: 30px; }
.page-title { color: var(--clr-primary-dark); }
.page-subtitle { font-size: 1.05rem; color: var(--clr-muted-text); margin-top: 5px; }

/* Section Styles */
.section { padding: 3rem 0; } 
.section-header { text-align: center; margin-bottom: 2.5rem; } 
.section-header .title { font-size: 2rem; color: var(--clr-primary-dark); margin-bottom: 0.5rem; }
.section-header .subtitle { font-size: 1.05rem; color: var(--clr-muted-text); max-width: 600px; margin: 0 auto; }

/* --- Home Page Specific --- */
.hero-section { background-color: var(--clr-white); padding: 4rem 0; overflow: hidden; } 
.hero-container { display: flex; align-items: center; gap: 2rem; }
.hero-content { flex: 1 1 55%; }
.hero-content .eyebrow { font-size: 0.875rem; color: var(--clr-accent); text-transform: uppercase; letter-spacing: 1px; font-weight: 600; margin-bottom: 0.5rem; }
.hero-content h1 { font-size: 3rem; color: var(--clr-primary-dark); margin-bottom: 1rem; }
.hero-content .price-display { font-size: 1.75rem; color: var(--clr-primary); font-weight: 700; margin-bottom: 1.5rem; }
.hero-image-wrapper { flex: 1 1 45%; text-align: center; }
.hero-image-wrapper .img-placeholder { border-radius: var(--border-radius-md); }
.hero-image-wrapper img { border-radius: var(--border-radius-md); width: 100%; height: auto; object-fit: cover; max-height: 450px; }


.main-categories-slider { background-color: var(--clr-white); } 
.category-slider-container { display: flex; gap: 1.25rem; overflow-x: auto; padding: 1rem 0.25rem; -webkit-overflow-scrolling: touch; scrollbar-width: none; }
.category-slider-container::-webkit-scrollbar { display: none; }
.category-card-h { flex: 0 0 220px; background-color: var(--clr-white); border-radius: var(--border-radius-md); box-shadow: var(--shadow-sm); overflow: hidden; text-decoration: none; transition: transform 0.2s ease, box-shadow 0.2s ease; display: flex; flex-direction: column; border: 1px solid var(--clr-border); }
.category-card-h:hover { transform: translateY(-5px); box-shadow: var(--shadow-md); }
.category-card-h-image.img-placeholder { border-bottom: 1px solid var(--clr-border); border-radius: 0; border-top-left-radius: var(--border-radius-md); border-top-right-radius: var(--border-radius-md);}
.category-card-h-content { padding: 0.875rem; flex-grow: 1; display: flex; flex-direction: column; justify-content: center; text-align: center; }
.category-card-h-content h3 { font-size: 1.05rem; color: var(--clr-primary-dark); margin-bottom: 0.15rem; line-height: 1.3; min-height: calc(1.3em * 2); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; text-overflow: ellipsis; }
.category-card-h-content .item-count { font-size: 0.8rem; color: var(--clr-muted-text); }

.featured-products-slider-section { padding: 3rem 0; background-color: var(--clr-light-bg); } 
.featured-products-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1.5rem; }
.featured-products-header .title { margin-bottom: 0; text-align: left; font-size: 2rem; }
.slider-nav { display: flex; gap: 10px; }
.slider-nav button { background-color: var(--clr-white); color: var(--clr-primary); border: 1px solid var(--clr-border); border-radius: 50%; width: 36px; height: 36px; cursor: pointer; display: flex; align-items: center; justify-content: center; transition: background-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease; box-shadow: var(--shadow-sm); }
.slider-nav button:hover { background-color: var(--clr-primary); color: var(--clr-white); border-color: var(--clr-primary); }
.slider-nav button svg { width: 16px; height: 16px; fill: currentColor; }

.featured-products-slider { 
    display: flex; 
    gap: 1.5rem; 
    overflow-x: auto; 
    padding: 0.5rem 5px 1rem 5px; 
    -webkit-overflow-scrolling: touch; 
    scroll-behavior: smooth; 
    scrollbar-width: none; 
    -ms-overflow-style: none; 
}
.featured-products-slider::-webkit-scrollbar { display: none; }

/* Product Card (Common for Sliders and Grids) */
.product-card, .product-card-slider-item { 
    width: 260px; 
    flex-shrink: 0; 
    background-color: var(--clr-white); 
    border-radius: var(--border-radius-md); 
    box-shadow: var(--shadow-sm); 
    overflow: hidden; 
    text-decoration: none; 
    display: flex; 
    flex-direction: column; 
    transition: transform 0.2s ease, box-shadow 0.2s ease; 
    border: 1px solid var(--clr-border); 
}
.product-card:hover, .product-card-slider-item:hover { transform: translateY(-5px); box-shadow: var(--shadow-md); }

.product-card-image-wrapper,
.product-card-v-image { 
    width: 100%; 
    position: relative; 
    border-bottom: 1px solid var(--clr-border); 
}
.product-card-image-wrapper .img-placeholder,
.product-card-v-image .img-placeholder {
    border-radius: 0; 
    border-top-left-radius: var(--border-radius-md);
    border-top-right-radius: var(--border-radius-md);
}

.product-card-content, 
.product-card-v-content { 
    padding: 1rem; 
    flex-grow: 1; 
    display: flex; 
    flex-direction: column; 
}
.product-card-content h3, 
.product-card-v-content h3 { 
    font-size: 1.05rem; 
    color: var(--clr-primary-dark); 
    margin-bottom: 0.5rem; 
    line-height: 1.4; 
    min-height: calc(1.4em * 2); 
    display: -webkit-box; 
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical; 
    overflow: hidden; 
    text-overflow: ellipsis; 
}
.product-card-content .price, 
.product-card-v-content .price { 
    font-size: 1.1rem; 
    color: var(--clr-primary); 
    font-weight: 600; 
    margin-bottom: 0.75rem; 
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 0.5rem;
}
.product-card-content .price .original-price, 
.product-card-v-content .price .original-price { 
    text-decoration: line-through; 
    color: var(--clr-muted-text); 
    font-size: 0.85em; 
    display: inline; 
}
.product-card-content .discount-badge, 
.product-card-v-content .discount-badge { 
    background-color: var(--clr-highlight); 
    color: var(--clr-dark-text); 
    padding: 0.2rem 0.5rem; 
    font-size: 0.75rem; 
    border-radius: var(--border-radius-sm); 
    font-weight: 600; 
    display: inline-block; 
}

.product-card-content .actions, 
.product-card-v-content .actions { 
    margin-top: auto; 
}
.product-card-content .btn-know-more, 
.product-card-v-content .btn-sm { 
    padding: 0.5rem 1rem; 
    font-size: 0.85rem; 
    background-color: transparent; 
    color: var(--clr-primary) !important; 
    border: 1px solid var(--clr-primary); 
    text-transform: none; 
    font-weight: 500; 
    display: inline-block;
}
.product-card-content .btn-know-more:hover,
.product-card-v-content .btn-sm:hover { 
    background-color: var(--clr-primary); 
    color: var(--clr-white) !important; 
}

.wishlist-icon { position: absolute; top: 0.75rem; right: 0.75rem; background-color: rgba(255,255,255,0.8); border-radius: 50%; padding: 0.5rem; cursor: pointer; box-shadow: var(--shadow-sm); border: none; line-height: 0; }
.wishlist-icon svg { width: 18px; height: 18px; color: var(--clr-muted-text); }
.wishlist-icon:hover svg { color: var(--clr-primary); }

.product-badge-on-card { 
    position: absolute;
    top: 0.75rem;
    left: 0.75rem;
    background-color: var(--clr-badge-bg);
    color: var(--clr-badge-text);
    padding: 0.25rem 0.6rem;
    font-size: 0.75rem;
    font-weight: 500;
    border-radius: var(--border-radius-sm);
    z-index: 3;
    display: none; 
}

.section-cta { text-align: center; margin-top: 3rem; }

/* --- Sub-category Page Specific --- */
.subcategory-listing-section { padding: 2rem 0; } 
.subcategory-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 1.5rem; }
.subcategory-card { background-color: var(--clr-white); border: 1px solid var(--clr-border); border-radius: var(--border-radius-md); overflow: hidden; text-decoration: none; color: var(--clr-dark-text); display: flex; flex-direction: column; transition: box-shadow 0.2s ease, transform 0.2s ease; box-shadow: var(--shadow-sm); }
.subcategory-card:hover { box-shadow: var(--shadow-md); transform: translateY(-4px); border-color: var(--clr-primary); }
.subcategory-card-image-wrapper { border-bottom: 1px solid var(--clr-border); }
.subcategory-card-image-wrapper .img-placeholder {
    border-radius: 0;
    border-top-left-radius: var(--border-radius-md);
    border-top-right-radius: var(--border-radius-md);
}
.subcategory-card-content { padding: 1rem; flex-grow: 1; display: flex; flex-direction: column; text-align: center; }
.subcategory-card-content h3 { font-size: 1.1rem; font-weight: 500; margin: 0 0 0.75rem 0; color: var(--clr-primary-dark); line-height: 1.3; min-height: calc(1.3em * 2); overflow: hidden; -webkit-line-clamp: 2; -webkit-box-orient: vertical; display: -webkit-box; text-overflow: ellipsis; }
.subcategory-card-content .explore-link { margin-top: auto; font-size: 0.9rem; color: var(--clr-primary); font-weight: 500; display: inline-block; }
.subcategory-card-content .explore-link:hover { color: var(--clr-primary-dark); text-decoration: underline; }

/* --- Product Listing Page Specific --- */
.product-listing-controls { display: flex; justify-content: space-between; align-items: center; margin-bottom: 25px; padding-bottom: 15px; border-bottom: 1px solid var(--clr-border); flex-wrap: wrap; gap: 10px; }
.product-count, .sort-options { font-size: 0.95em; color: var(--clr-muted-text); }
.sort-options label { margin-right: 8px; }
.sort-options select { padding: 0.5rem 0.75rem; border-radius: var(--border-radius-sm); border: 1px solid var(--clr-border); background-color: var(--clr-white); font-size: 0.9em; color: var(--clr-dark-text); }
.sort-options select:focus { outline: none; border-color: var(--clr-primary); box-shadow: 0 0 0 2px rgba(26, 43, 194, 0.2); }
.product-listing-section { padding: 2rem 0; }
.product-grid {
    display: grid;
    gap: 1.5rem; 
    grid-template-columns: repeat(4, 1fr); 
}
.pagination { text-align: center; margin-top: 2.5rem; padding-top: 1.5rem; border-top: 1px solid var(--clr-border); }
.pagination a, .pagination span { display: inline-block; padding: 0.5rem 0.85rem; margin: 0 0.25rem; border: 1px solid var(--clr-border); text-decoration: none; color: var(--clr-primary); border-radius: var(--border-radius-sm); font-size: 0.9rem; transition: background-color 0.2s ease, color 0.2s ease; }
.pagination a:hover { background-color: var(--clr-primary); color: var(--clr-white); border-color: var(--clr-primary); }
.pagination .current { background-color: var(--clr-primary); color: var(--clr-white); border-color: var(--clr-primary); font-weight: 600; }
.pagination .disabled { color: var(--clr-muted-text); border-color: var(--clr-border); pointer-events: none; }


/* --- Product Detail Page Specific --- */
.product-detail-section { padding: 2rem 0; }
.product-layout { display: flex; gap: 2.5rem; align-items: flex-start; }
.product-visuals { flex: 1 1 45%; max-width: 45%; position: relative; display: flex; flex-direction: column; align-items: center; }
.main-product-image-container { position: relative; margin-bottom: 1rem; border: 1px solid var(--clr-border); border-radius: var(--border-radius-md); overflow: hidden; width: 100%; }
.main-product-image-container .img-placeholder, 
.main-product-image-container img {
    border-radius: var(--border-radius-md); 
}
.product-badge { 
    position: absolute;
    top: 1rem;
    left: 1rem;
    background-color: var(--clr-badge-bg); 
    color: var(--clr-badge-text);
    padding: 0.3rem 0.75rem;
    font-size: 0.8rem;
    font-weight: 500;
    border-radius: var(--border-radius-sm);
    z-index: 5;
    display: none; 
}
.product-image-dots { text-align: center; margin-top: 0.5rem; }
.product-image-dots .dot { display: inline-block; width: 10px; height: 10px; background-color: var(--clr-border); border-radius: 50%; margin: 0 5px; cursor: pointer; transition: background-color 0.2s ease, transform 0.2s ease; }
.product-image-dots .dot:hover { transform: scale(1.1); }
.product-image-dots .dot.active { background-color: var(--clr-primary); transform: scale(1.1); }

.product-info { flex: 1 1 55%; }
.product-name { font-size: 2rem; color: var(--clr-primary-dark); margin-bottom: 0.75rem; }
.product-price-container { 
    margin-bottom: 1.5rem; 
    display: flex; 
    align-items: baseline; 
    gap: 0.75rem; 
    flex-wrap: wrap; 
    min-height: 2.5em; 
}
.current-price { font-size: 1.75rem; color: var(--clr-primary); font-weight: 600; }
.original-price { font-size: 1.1rem; color: var(--clr-muted-text); text-decoration: line-through; display: none; } 
.discount-badge { 
    background-color: var(--clr-highlight); 
    color: var(--clr-dark-text); 
    padding: 0.25rem 0.6rem; font-size: 0.85rem; font-weight: 600; border-radius: var(--border-radius-sm); display: none; 
}
.product-short-description { font-size: 1rem; color: var(--clr-muted-text); margin-bottom: 1.5rem; line-height: 1.7; }
.product-action-button { display: inline-block; padding: 0.85rem 2rem; font-size: 1rem; font-weight: 500; text-align: center; border-radius: var(--border-radius-sm); cursor: pointer; transition: all 0.2s ease-in-out; border: 1px solid var(--clr-primary); background-color: var(--clr-primary); color: var(--clr-white) !important; text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2rem; }
.product-action-button:hover { background-color: var(--clr-primary-dark); border-color: var(--clr-primary-dark); transform: translateY(-2px); color: var(--clr-white) !important; }
.product-details-accordion { border-top: 1px solid var(--clr-border); }
.accordion-item details { border-bottom: 1px solid var(--clr-border); padding: 1rem 0; }
.accordion-item summary { font-weight: 500; font-size: 1.1rem; color: var(--clr-primary-dark); cursor: pointer; list-style: none; position: relative; padding-right: 1.5rem; }
.accordion-item summary::-webkit-details-marker { display: none; }
.accordion-item summary::after { content: '+'; position: absolute; right: 0; top: 50%; transform: translateY(-50%); font-size: 1.2rem; color: var(--clr-muted-text); transition: transform 0.2s ease; }
.accordion-item details[open] summary::after { content: '\2212'; } 
.accordion-content { padding-top: 1rem; font-size: 0.95rem; color: var(--clr-muted-text); line-height: 1.7; }
.accordion-content ul { list-style-position: outside; padding-left: 1.25rem; margin-left: 0; } 
.accordion-content p:first-child { margin-top: 0;}
.accordion-content p:last-child { margin-bottom: 0;}
.spec-table { width: 100%; border-collapse: collapse; margin-top: 0.5rem; }
.spec-table th, .spec-table td { text-align: left; padding: 0.6rem 0.25rem; border-bottom: 1px solid var(--clr-light-bg); } 
.spec-table th { font-weight: 500; color: var(--clr-dark-text); width: 150px; }
.spec-table tr:last-child th, .spec-table tr:last-child td { border-bottom: none; }

/* Related Products Slider - Product Detail Page */
.related-products-slider {
    display: flex;
    gap: 1.5rem; 
    overflow-x: auto;
    padding: 0.5rem 5px 1rem 5px; 
    -webkit-overflow-scrolling: touch;
    scroll-behavior: smooth;
    scrollbar-width: none; 
    -ms-overflow-style: none;  
}
.related-products-slider::-webkit-scrollbar { 
    display: none;
}
.related-products-slider .product-card { 
    flex: 0 0 260px; 
}


/* Footer Styles (Consistent) */
.main-footer { background-color: var(--clr-footer-bg); color: var(--clr-footer-text); padding: 2.5rem 0 1.5rem 0; margin-top: auto; }
.footer-container { display: flex; flex-direction: column; align-items: center; text-align: center; }
.footer-logo img { height: 24px; margin-bottom: 1.25rem; }
.footer-address { font-size: 0.875rem; line-height: 1.7; margin-bottom: 1.25rem; max-width: 450px; color: var(--clr-footer-text); }
.footer-policy-links { list-style: none; padding: 0; margin: 0 0 1.25rem 0; display: flex; flex-direction: column; gap: 0.6rem; }
.footer-policy-links a { color: var(--clr-footer-text); font-size: 0.9rem; text-decoration: none; }
.footer-policy-links a:hover { color: var(--clr-white); text-decoration: underline; }
.footer-copyright { font-size: 0.85rem; color: var(--clr-accent); }

/* Responsive Adjustments */
@media (max-width: 1199px) { 
    .product-grid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 992px) { 
    .header-logo img { height: 24px; } /* Slightly smaller logo for tablet */
    .hero-content h1 { font-size: 2.5rem; }
    .product-layout { flex-direction: column; } 
    .product-visuals, .product-info { max-width: 100%; } 
    .product-visuals { margin-bottom: 2rem; width: 100%; max-width: 450px; margin-left: auto; margin-right: auto; } 
    .product-grid { grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); } 
    .featured-products-slider .product-card-slider-item,
    .related-products-slider .product-card {
        flex-basis: 240px; 
    }
}
@media (max-width: 768px) { 
    .header-logo img { height: 22px; } /* Adjusted logo height for mobile */
    .hero-container { flex-direction: column; text-align: center; }
    .hero-content { order: 2; }
    .hero-image-wrapper { order: 1; margin-bottom: 2rem; max-width: 80%; }
    .hero-content h1 { font-size: 2rem; }
    .section { padding: 2.5rem 0; }
    .section-header .title, .featured-products-header .title, .related-products-header .section-title { font-size: 1.75rem; }
    .category-card-h { flex: 0 0 180px; } 
    
    .featured-products-slider .product-card-slider-item,
    .related-products-slider .product-card {
        flex-basis: 220px; 
    }

    .subcategory-grid-container { overflow-x: auto; padding: 0.5rem 0 1rem 0; -webkit-overflow-scrolling: touch; scrollbar-width: thin; scrollbar-color: var(--clr-border) var(--clr-light-bg); }
    .subcategory-grid-container::-webkit-scrollbar { height: 6px; }
    .subcategory-grid-container::-webkit-scrollbar-track { background: var(--clr-light-bg); border-radius: 3px; }
    .subcategory-grid-container::-webkit-scrollbar-thumb { background-color: var(--clr-border); border-radius: 3px; }
    .subcategory-grid { display: flex; flex-wrap: nowrap; gap: 1rem; padding-left: 5px; padding-right: 5px; } 
    .subcategory-card { width: 180px; flex: 0 0 auto; } 
    .subcategory-card-content h3 { font-size: 1rem; }

    .product-listing-controls { flex-direction: column; align-items: flex-start; }
    .product-grid { grid-template-columns: repeat(2, 1fr); gap: 1.25rem; } 
    .product-name { font-size: 1.75rem; } 
    .current-price { font-size: 1.5rem; } 
    .product-action-button { width: 100%; } 
    .related-products-header { flex-direction: column; align-items: flex-start; gap: 1rem; } 
    .slider-nav { align-self: flex-end; } 
}
@media (max-width: 576px) { 
    .header-logo img { height: 28px; } /* Increased logo height for small mobile */
    .nav-panel { width: 260px; right: -260px; }
    .hero-content h1 { font-size: 1.75rem; }
    .btn { padding: 0.6rem 1.2rem; font-size: 0.9rem; }
    .category-card-h { flex: 0 0 150px; } 
    .category-card-h-content h3 { font-size: 0.9rem; min-height: calc(1.3em * 2.2); } 
    
    .featured-products-slider .product-card-slider-item,
    .related-products-slider .product-card {
        flex-basis: 180px; 
    }
    .product-card-slider-item .product-card-v-content h3, 
    .product-card .product-card-content h3 { 
        font-size: 0.95rem; min-height: auto; 
        -webkit-line-clamp: 3; 
    }

    .subcategory-card { width: 160px; } 
    .subcategory-card-content h3 { font-size: 0.95rem; min-height: calc(1.3em * 2.2); } 
    
    .product-grid { grid-template-columns: 1fr; } 
    .product-card-content h3 { min-height: auto; } 
    .footer-policy-links { align-items: center; }
    .product-name { font-size: 1.5rem; } 
    .product-image-dots { margin-top: 0.75rem; } 
    .product-image-dots .dot { width: 8px; height: 8px; margin: 0 4px;} 
}