﻿/* ===== RESET & BASE STYLES ===== */
*,
*::before,
*::after {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html {
    font-size: 1rem;
    scroll-behavior: smooth;
    -webkit-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
}

/* Respect user's motion preferences */
@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }
    
    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }
}

body {
    font-family: 'Roboto', -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Helvetica Neue', Arial, sans-serif;
    line-height: 1.6;
    color: #202020;
    background-color: #FAFAF5;
    font-size: 1rem;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
}

/* ===== ACCESSIBILITY ===== */
.skip-link {
    position: absolute;
    top: -3.5rem;
    left: 0.375rem;
    background: #DAAF62;
    color: #202020;
    padding: 0.5rem 1rem;
    text-decoration: none;
    border-radius: 0.25rem;
    z-index: 1000;
    font-weight: 400;
}

.skip-link:focus {
    top: 0.375rem;
}

.sr-only {
    position: absolute;
    width: 0.0625rem;
    height: 0.0625rem;
    padding: 0;
    margin: -0.0625rem;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

/* ===== TYPOGRAPHY ===== */
h1, h2, h3, h4, h5, h6 {
    font-family: 'Roboto', -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Helvetica Neue', Arial, sans-serif;
    line-height: 1.2;
    margin-bottom: 1rem;
    color: #202020;
}

h1, h2  {
    font-weight: 300;
}

h3, h4, h5, h6 {
    font-weight: 400;
}

h1 { font-size: 2.5rem; }
h2 { font-size: 2rem; }
h3 { font-size: 1.75rem; }
h4 { font-size: 1.5rem; }
h5 { font-size: 1.25rem; }
h6 { font-size: 1.125rem; }

p {
    font-size: 1rem;
}

a {
    color: #DAAF62;
    text-decoration: none;
    transition: color 0.3s ease;
}

a:hover, a:focus {
    color: #202020;
    text-decoration: underline;
}

a:focus {
    outline: 0.1875rem solid #DAAF62;
    outline-offset: 0.125rem;
}

/* ===== LAYOUT & CONTAINERS ===== */
.container {
    max-width: 75rem;
    margin: 0 auto;
    padding: 0 1rem;
}

section {
    padding: 3rem 0;
}

section:nth-of-type(odd) {
    background-color: rgba(250, 245, 235, 0.8);
}

section:nth-of-type(even) {
    background-color: rgba(229, 228, 229, 0.3);
}

.section-title {
    text-align: center;
    margin-bottom: 3rem;
}

.section-title h2 {
    color: #202020;
    margin-bottom: 0.5rem;
}

.section-title p {
    color: #666;
    font-size: 1.125rem;
}

/* ===== HEADER ===== */

/* Top Header Row */
.header-top-row {
    background-color: #141218;
    width: 100%; 
}

.header-top-content {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1rem 0;
    gap: 2rem;
}

/* Navigation Row */
.header-nav-desktop-container {
    position: sticky;
    top: 0;
    z-index: 1000;
    background-color: #2B2930;
    width: 100%;
    min-height: 2.5rem;
    box-shadow: 0 0.125rem 0.625rem rgba(0, 0, 0, 0.1);
}

.header-nav-desktop-container .container,
.header-nav-mobile-container .container {
    height: 100%;
}

/* Header Search */
.header-search {
    display: flex;
    align-items: center;
    flex-shrink: 0;
}

/* Navigation Row Content */
.nav-row-content {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 100%;
}

/* Header Navigation Actions */
.header-nav-actions {
    display: flex;
    align-items: center;
    flex-shrink: 0;
    height: 100%;
}

.logo {
    display: flex;
    align-items: center;
    gap: 1rem;
    flex-shrink: 0;
    height: 100%;
}

.logo a {
    display: flex;
    align-items: center;
    gap: 1rem;
    text-decoration: none;
    height: 100%;
}

.logo img {
    width: 8.125rem; /* 130px */
    height: auto;
    object-fit: contain;
    flex-shrink: 0;
}

.logo-text-container {
    display: flex;
    flex-direction: column;
    justify-content: center;
    line-height: 1;
}

.company-name {
    font-family: 'Roboto', sans-serif;
    font-size: 2.25rem;
    font-weight: 100;
    color: #E6E0E9;
    margin: 0;
    line-height: 1;
}

.company-tagline {
    font-family: 'Roboto', sans-serif;
    font-size: 0.75rem;
    font-weight: 300;
    color: #E6E0E9;
    margin: .5rem 0 0 .5rem;
    letter-spacing: 0.14em;
}

.header-btn-bar {
    margin-left: 2rem;
}

/* ===== NAVIGATION ===== */
.main-nav {
    height: 100%;
    display: flex;
    justify-content: flex-start;
}

.nav-menu {
    display: flex;
    list-style: none;
    margin: 0;
    padding: 0;
    height: 100%;
    align-items: stretch;
    position: relative;
    width: 100%;
}

/* Start divider */
.nav-menu::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: 0.0625rem;
    background-color: #938F99;
    z-index: 1;
}

/* End divider */
.nav-menu::after {
    content: '';
    position: absolute;
    right: 0;
    top: 0;
    height: 100%;
    width: 0.0625rem;
    background-color: #938F99;
    z-index: 1;
}

.nav-menu li {
    flex: 1;
    position: relative;
    height: 100%;
}

.nav-menu li:not(:last-child)::after {
    content: '';
    position: absolute;
    right: 0;
    top: 0;
    height: 100%;
    width: 0.0625rem;
    background-color: #938F99;
    z-index: 1;
}

.nav-menu a {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    padding: 0.5rem 1.5rem;
    color: #E6E0E9;
    font-weight: 300;
    text-decoration: none;
    transition: background-color 0.3s ease, color 0.3s ease;
    white-space: nowrap;
    position: relative;
    flex: 1;
    text-align: center;
    /*width: 9.5rem;*/
    border-bottom: 0.125rem solid #2B2930;
}

.nav-menu a:hover,
.nav-menu a:focus {
    background-color: #49454F;
    color: #FFFFFF;
    text-decoration: none;
    outline: none;
    border-bottom: 0.125rem solid #49454F;
}

.nav-menu a:focus-visible {
    outline: 0.1875rem solid #DAAF62;
    outline-offset: -0.125rem;
}

.nav-menu a[aria-current="page"] {
    background-color: transparent;
    color: #E6E0E9;
    text-decoration: none;
    border-bottom: 0.125rem solid #DAAF62;
    position: relative;
    transition: border-bottom 0.3s ease;
}

.nav-menu a[aria-current="page"]::after {
    content: '';
    position: absolute;
    bottom: -0.125rem;
    left: 50%;
    transform: translateX(-50%);
    width: 0;
    height: 0;
    border-left: 0.75rem solid transparent;
    border-right: 0.75rem solid transparent;
    border-bottom: 0.75rem solid #DAAF62;
    transition: opacity 0.3s ease, bottom 0.3s ease;
}

.mobile-menu-toggle {
    display: none;
    background: none;
    border: none;
    cursor: pointer;
    padding: 0.5rem;
    border-radius: 0.25rem;
}

.mobile-menu-toggle:focus {
    outline: 0.1875rem solid #DAAF62;
    outline-offset: 0.125rem;
}

.hamburger {
    display: block;
    width: 2.25rem;
    height: 0.15rem;
    background: #E6E0E9;
    position: relative;
    transition: all 0.3s ease;
}

.hamburger::before,
.hamburger::after {
    content: '';
    position: absolute;
    left: 0;
    width: 2.25rem;
    height: 0.15rem;
    background: #E6E0E9;
    transition: all 0.3s ease;
}

.hamburger::before { top: -0.5rem; }
.hamburger::after { bottom: -0.5rem; }

.mobile-actions:has(.hamburger.active) {
    display: none;
}

/* Hamburger Animation */
/*
.hamburger.active {
    background: transparent;
    display: none
}
*/

/*
.hamburger.active::before {
    transform: rotate(45deg);
    top: 0;
}

.hamburger.active::after {
    transform: rotate(-45deg);
    bottom: 0;
} */

/* ===== RESPONSIVE HEADER & NAVIGATION ===== */

/* Mobile Actions Styles */
.mobile-actions {
    display: none;
    align-items: center;
    gap: 0.75rem;
    flex-shrink: 0;
}

.mobile-actions .mobile-menu-toggle {
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Mobile Menu Styles */
.mobile-menu-toggle {
    display: none;
    background: none;
    border: none;
    cursor: pointer;
    padding: 0.5rem;
    border-radius: 0.25rem;
    z-index: 1001;
}

.mobile-menu-toggle:focus {
    outline: 0.1875rem solid #DAAF62;
    outline-offset: 0.125rem;
}

.mobile-menu-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
    z-index: 999;
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease;
}

.mobile-menu-overlay.active {
    opacity: 1;
    visibility: visible;
}

.mobile-nav {
    position: fixed;
    top: 0;
    right: -100%;
    width: 22rem;
    max-width: 90vw;
    height: 100vh;
    background: #FFFFFF;
    z-index: 1000;
    transition: right 0.3s ease;
    overflow-y: auto;
    box-shadow: -0.3125rem 0 0.9375rem rgba(0, 0, 0, 0.1);
}

.mobile-nav.active {
    right: 0;
}

.mobile-nav-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1.5rem;
    border-bottom: 0.0625rem solid #E0E0E0;
    background: #F8F8F3;
}

.mobile-nav-title {
    font-size: 1.25rem;
    font-weight: 400;
    color: #202020;
}

.mobile-menu-close {
    background: none;
    border: none;
    cursor: pointer;
    padding: 0.5rem;
    border-radius: 0.25rem;
    color: #666;
    transition: color 0.3s ease;
}

.mobile-menu-close:hover,
.mobile-menu-close:focus {
    color: #202020;
}

.mobile-menu-close:focus {
    outline: 0.1875rem solid #DAAF62;
    outline-offset: 0.125rem;
}

.mobile-search {
    padding: 1.5rem;
    border-bottom: 0.0625rem solid #E0E0E0;
}

.mobile-search-form {
    width: 100%;
    min-width: auto;
}

.mobile-search-form input {
    font-size: 1rem; /* Prevents zoom on iOS */
}

.mobile-nav-menu {
    list-style: none;
    margin: 0;
    padding: 0;
}

.mobile-nav-menu li {
    border-bottom: 0.0625rem solid #F0F0F0;
}

.mobile-nav-menu a {
    display: block;
    padding: 1rem 1.5rem;
    color: #202020;
    text-decoration: none;
    font-weight: 400;
    transition: all 0.3s ease;
}

.mobile-nav-menu a:hover,
.mobile-nav-menu a:focus,
.mobile-nav-menu a[aria-current="page"] {
    background: #F4F4F4;
}

.mobile-nav-menu a:focus {
    outline: none;
}

.mobile-user-actions {
    padding: 1.5rem;
    border-top: 0.0625rem solid #E0E0E0;
    background: #F8F8F3;
}

.mobile-user-actions a {
    display: block;
    width: 100%;
    padding: 0.875rem 1rem;
    margin-bottom: 0.75rem;
    text-align: center;
    text-decoration: none;
    border-radius: 0.25rem;
    font-weight: 400;
    transition: all 0.3s ease;
}

.mobile-user-actions a:last-child {
    margin-bottom: 0;
}

.mobile-login-btn,
.mobile-register-btn {
    background: #DAAF62;
    color: #202020;
}

.mobile-login-btn:hover,
.mobile-login-btn:focus,
.mobile-register-btn:hover,
.mobile-register-btn:focus {
    background: #82601A;
    color: #202020;
    transform: translateY(-0.0625rem);
}

.mobile-logout-btn,
.mobile-user-profile {
    background: #DAAF62;
    color: #202020;
}

.mobile-logout-btn:hover,
.mobile-logout-btn:focus,
.mobile-user-profile:hover,
.mobile-user-profile:focus {
    background: #82601A;
    color: #202020;;
    transform: translateY(-0.0625rem);
}

/* Desktop Navigation - Hidden on Mobile */
.desktop-nav,
.desktop-actions {
    display: flex;
    align-items: center;
}

/* Smooth transitions for mobile menu */
.mobile-nav,
.mobile-menu-overlay {
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Prevent body scroll when mobile menu is open */
body.mobile-menu-open {
    overflow: hidden;
}

/* Mobile menu backdrop blur effect */
.mobile-menu-overlay.active {
    backdrop-filter: blur(0.25rem);
    -webkit-backdrop-filter: blur(0.25rem);
}

/* Mobile menu slide animation */
.mobile-nav {
    transform: translateX(100%);
}

.mobile-nav.active {
    transform: translateX(0);
}

/* Hamburger animation improvements */
.hamburger,
.hamburger::before,
.hamburger::after {
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.hamburger.active {
    background: transparent;
}

.hamburger.active::before {
    transform: rotate(45deg) translate(0.375rem, 0.375rem);
}

.hamburger.active::after {
    transform: rotate(-45deg) translate(0.375rem, -0.375rem);
}

@media (max-width: 1025px) {
    .header-content {
        padding: 0.75rem 0;
        gap: 1rem;
    }
    
    .nav-menu {
        gap: 1.25rem;
    }
    
    .search-container {
        min-width: 11rem;
        max-width: 14rem;
    }
    
    .header-right {
        gap: 0.75rem;
    }
    
    .header-center {
        margin: 0 0.75rem;
    }
}

@media (max-width: 1025px) {
    .tagline-text {
        font-size: 1.75rem;
    }
    
    .header-top-content {
        gap: 1.5rem;
        padding: 1.25rem 0;
    }
    
    .logo img {
        width: 6.5rem; /* Slightly smaller on tablet */
    }
    
    .company-name {
        font-size: 2.125rem;
    }
    
    .company-tagline {
        font-size: 0.7rem;
        margin: .25rem 0 0 .5rem;
    }
} 

@media (max-width: 1025px) {
    .header-nav-desktop-container {
        display: none;
    }

    /* Show mobile actions */
    .mobile-actions {
        display: flex;
    }
    
    /* Hide desktop navigation and actions on mobile */
    .desktop-nav,
    .desktop-actions {
        display: none !important;
    }
    
    /* Stack header rows on mobile */
    .mobile-nav {
        display: block;
    }
    
    /* Adjust top row for mobile */
    .header-top-content {
        flex-wrap: wrap;
        gap: 1rem;
        min-height: 3.5rem;
    }
    
    
    /* Ensure search stays on same row as logo and mobile actions */
    .header-search {
        order: 2;
    }
    
    /* Adjust header layout for mobile */
    .header-content {
        justify-content: space-between;
        align-items: center;
        padding: 0.75rem 0;
        gap: 1rem;
    }
    
    .header-left {
        flex: 0 0 auto;
    }
    
    .header-center {
        display: none;
    }
    
    .header-right {
        display: none;
    }
    
    .logo {
        flex: 0 0 auto;
    }
    
    /* Ensure mobile actions are properly positioned */
    .mobile-actions {
        order: 3;
        margin-left: auto;
    }
}

@media (max-width: 768px) {
    /* Show mobile actions */
    .mobile-actions {
        display: flex;
    }
    
    /* Hide desktop navigation and actions on mobile */
    .desktop-nav,
    .desktop-actions {
        display: none !important;
    }
    
    /* Stack header rows on mobile */
    .mobile-nav {
        display: block;
    }
    
    /* Adjust top row for mobile */
    .header-top-content {
        flex-wrap: wrap;
        gap: 1rem;
        min-height: 3.5rem;
    }
    
    /* Make logo smaller on mobile */
    .logo img {
        width: 5rem; /* Smaller but still proportional */
    }
    
    .company-name {
        font-size: 2rem;
    }
    
    .company-tagline {
        font-size: 0.675rem;
        margin: .25rem 0 0 .5rem;
    }
    
    /* Ensure search stays on same row as logo and mobile actions */
    .header-search {
        order: 2;
    }
    
    /* Adjust header layout for mobile */
    .header-content {
        justify-content: space-between;
        align-items: center;
        padding: 0.75rem 0;
        gap: 1rem;
    }
    
    .header-left {
        flex: 0 0 auto;
    }
    
    .header-center {
        display: none;
    }
    
    .header-right {
        display: none;
    }
    
    .logo {
        flex: 0 0 auto;
    }
    
    /* Ensure mobile actions are properly positioned */
    .mobile-actions {
        order: 3;
        margin-left: auto;
    }
}

@media (max-width: 480px) {
    .header-content {
        padding: 0.5rem 0;
        gap: 0.75rem;
    }
    
    .logo img {
        width: 4rem;
    }

    .company-name {
        font-size: 1.75rem;
    }
    
    .company-tagline {
        font-size: 0.575rem;
        margin: .25rem 0 0 .5rem;
    }
    
    /* Mobile actions adjustments for small screens */
    .mobile-actions {
        gap: 0.5rem;
    }
    
    .mobile-menu-toggle {
        padding: 0.375rem;
    }
    
    /* Mobile menu adjustments for small screens */
    .mobile-nav {
        width: 22rem;
        max-width: 90vw;
        right: -100vw;
    }
    
    .mobile-nav.active {
        right: 0;
    }
    
    .mobile-nav-header {
        padding: 1rem;
    }
    
    .mobile-nav-title {
        font-size: 1.125rem;
    }
    
    .mobile-search {
        padding: 1rem;
    }
    
    .mobile-nav-menu a {
        padding: 0.875rem 1rem;
        font-size: 0.9rem;
    }
    
    .mobile-user-actions {
        padding: 1rem;
    }
    
    .mobile-user-actions a {
        padding: 0.75rem 0.875rem;
        font-size: 1rem;
    }
}

/* ===== HEADER ACTIONS COLUMN ===== */
.header-actions-column {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 1rem;
    flex-shrink: 0;
    min-width: 0;
}

/* Search Container */
.search-container {
    margin-bottom: 2rem;
    padding: 0rem;
    background: #f8f9fa;
    border-radius: 0.5rem;
    border: 0.0625rem solid #E0E0E0;
}

.search-form {
    display: flex;
    align-items: center;
    background: transparent;
    border-radius: 0.25rem;
    padding: 0.25rem;
    border: none;
    transition: all 0.3s ease;
    width: 100%;
}

.search-form:focus-within {
    box-shadow: 0 0 0 0.1875rem rgba(201, 163, 78, 0.1);
}

.search-form input {
    border: none;
    background: none;
    padding: 0.375rem 0.75rem;
    font-size: 1rem;
    min-width: 0;
    flex: 1;
    outline: none;
    color: #333333;
}

.search-form input::placeholder {
    color: #666666;
    opacity: 0.8;
}

.search-form input:focus {
    outline: none;
}

.search-form button {
    background: #DAAF62;
    border: none;
    color: #202020;
    padding: 0.75rem;
    border-radius: 50%;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
    flex-shrink: 0;
    min-width: 2rem;
    min-height: 2rem;
}

.search-form button:hover,
.search-form button:focus {
    background: #82601A;
    outline: none;
    transform: scale(1.05);
}

.search-form button:active {
    transform: scale(0.95);
}

/* Search validation styles */
.search-form.error {
    border-color: #A21616;
    background: #FEF2F2;
}

.search-form.error input::placeholder {
    color: #A21616;
}

.search-error-message {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: #FEF2F2;
    color: #A21616;
    padding: 0.5rem;
    border-radius: 0.5rem;
    font-size: 0.75rem;
    margin-top: 0.25rem;
    border: 0.0625rem solid #A21616;
    display: none;
    z-index: 1000;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 100%;
}

.search-error-message.show {
    display: block;
}

/* Ensure only one error message is visible */
.search-error-message:not(.show) {
    display: none !important;
}

/* ===== HEADER SEARCH AND USER ACTIONS ===== */
.header-top-row .search-container {
    margin-bottom: 0;
    padding: 0;
    background: transparent;
    border: none;
    border-radius: 0;
    flex-shrink: 0;
    min-width: fit-content;
}

.header-top-row .search-form {
    background: rgba(255, 255, 255, 0.1);
    border: 0.0625rem solid rgba(230, 224, 233, 0.3);
    border-radius: 0.25rem;
    padding: 0.25rem;
    min-width: 18rem;
}

.header-top-row .search-form:focus-within {
    border-color: #DAAF62;
    box-shadow: 0 0 0 0.1875rem rgba(201, 163, 78, 0.2);
}

.header-top-row .search-form input {
    background: transparent;
    color: #FFFFFF;
    border: none;
    padding: 0.375rem 0.75rem;
    font-size: 1rem;
    width: 100%;
}

.header-top-row .search-form input::placeholder {
    color: rgba(230, 224, 233, 0.7);
}

.header-top-row .search-form input:focus {
    outline: none;
}

.header-top-row .search-form button {
    background: #DAAF62;
    border: none;
    color: #202020;
    padding: 0.75rem;
    border-radius: 0.25rem;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
    min-width: 2.25rem;
    min-height: 2.25rem;
}

.header-top-row .search-form button:hover,
.header-top-row .search-form button:focus {
    background: #82601A;
    color:#FFFFFF;
    transform: scale(1.05);
}

.header-top-row .search-error-message {
    color: #FF6B6B;
    background: rgba(255, 107, 107, 0.1);
    border-color: #FF6B6B;
}

/* ===== USER ACTIONS ===== */
.user-actions {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    flex-shrink: 0;
    white-space: nowrap;
}

.header-top-row .user-actions {
    min-width: fit-content;
}

.header-top-row .user-actions a {
    color: #E6E0E9;
    padding: 0.5rem 1rem;
    border-radius: 0.25rem;
    font-weight: 400;
    text-decoration: none;
    transition: all 0.3s ease;
    white-space: nowrap;
}

.header-top-row .user-actions a:hover,
.header-top-row .user-actions a:focus {
    background: rgba(255, 255, 255, 0.1);
    color: #FFFFFF;
    text-decoration: none;
}

.header-top-row .user-actions .login-btn,
.header-top-row .user-actions .register-btn {
    background: #DAAF62;
    color: #202020;
}

.header-top-row .user-actions .login-btn:hover,
.header-top-row .user-actions .login-btn:focus,
.header-top-row .user-actions .register-btn:hover,
.header-top-row .user-actions .register-btn:focus {
    background: #82601A;
    color: #FFFFFF;
}

.header-top-row .user-actions .logout-btn {
    background: rgba(255, 255, 255, 0.1);
    color: #E6E0E9;
}

.header-top-row .user-actions .logout-btn:hover,
.header-top-row .user-actions .logout-btn:focus {
    background: #82601A;
    color: #FFFFFF;
}

.header-top-row .user-actions .user-profile {
    padding: 0.5rem;
    color: #E6E0E9;
}

.header-top-row .user-actions .user-profile:hover,
.header-top-row .user-actions .user-profile:focus {
    background: #382601;
    color: #FFFFFF;
}

.header-top-row .user-actions .user-profile svg {
    stroke: currentColor;
    vertical-align: middle;
}

/* ===== NAVIGATION ROW USER ACTIONS ===== */
.header-nav-desktop-container .user-actions {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    white-space: nowrap;
    height: 100%;
}

.header-nav-desktop-container .user-actions a {
    background: #DAAF62;
    color: #FFFFFF;
    padding: 0.5rem 1rem;
    border-radius: 0.25rem;
    font-weight: 400;
    text-decoration: none;
    transition: all 0.3s ease;
    white-space: nowrap;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 2.5rem;
    line-height: 1.2;
}

.header-nav-desktop-container .user-actions a:hover,
.header-nav-desktop-container .user-actions a:focus {
    background: #202020;
    color: #FFFFFF;
    text-decoration: none;
}

.header-nav-desktop-container .user-actions .login-btn,
.header-nav-desktop-container .user-actions .register-btn {
    background: #DAAF62;
    color: #202020;
}

.header-nav-desktop-container .user-actions .login-btn:hover,
.header-nav-desktop-container .user-actions .login-btn:focus,
.header-nav-desktop-container .user-actions .register-btn:hover,
.header-nav-desktop-container .user-actions .register-btn:focus {
    background: #202020;
    color: #FFFFFF;
}

.header-nav-desktop-container .user-actions .logout-btn {
    background: #DAAF62;
    color: #202020;
}

.header-nav-desktop-container .user-actions .logout-btn:hover,
.header-nav-desktop-container .user-actions .logout-btn:focus {
    background: #82601A;
    color: #FFFFFF;
}

.header-nav-desktop-container .user-actions .user-profile {
    padding: 0.5rem;
    color: #202020;
}

.header-nav-desktop-container .user-actions .user-profile:hover,
.header-nav-desktop-container .user-actions .user-profile:focus {
    background: rgba(255, 255, 255, 0.1);
    color: #FFFFFF;
}

.header-nav-desktop-container .user-actions .user-profile svg {
    stroke: currentColor;
    vertical-align: middle;
}

.login-btn {
    font-weight: 400;
    color: #202020;
}

.login-btn:hover,
.login-btn:focus {
    background: #82601A;
    color: #FFFFFF;
}

.register-btn {
    background: #DAAF62;
    color: #FFFFFF;
}

.register-btn:hover,
.register-btn:focus {
    background: #202020;
    color: #FFFFFF;
}

.user-profile {
    color: #202020;
    padding: 0.5rem;
    border-radius: 50%;
    transition: all 0.3s ease;
}

.user-profile:hover,
.user-profile:focus {
    background: #82601A;
    color: #FFFFFF;
}

.logout-btn {
    font-weight: 400;
    color: #202020;
}

.logout-btn:hover,
.logout-btn:focus {
    background: #82601A;
    color: #FFFFFF;
}

/* ===== BANNER CAROUSEL ===== */
.banner-carousel {
    position: relative;
    height: 80vh;
    min-height: 31.25rem;
    overflow: hidden;
}

.carousel-slide {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    transition: opacity 1s ease-in-out;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    text-align: right;
    padding: 2rem;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.carousel-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.4);
    z-index: 1;
}

.carousel-content {
    position: relative;
    z-index: 2;
    max-width: 31.25rem;
    color: #FFFFFF;
    text-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.5);
}

.carousel-content h2 {
    color: #FFFFFF;
}

.carousel-content p {
    font-weight: 300;
}

.carousel-slide {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    transition: opacity 1s ease-in-out;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 2rem;
}

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

.carousel-content {
    max-width: 50rem;
    color: #202020;
}

.carousel-content h1 {
    font-size: 3.5rem;
    margin-bottom: 1rem;
    color: #FFFFFF;
    font-weight: 400;
}

.carousel-content p {
    font-size: 1.25rem;
    margin-bottom: 2rem;
    color: #FFFFFF;
    line-height: 1.6;
}

.carousel-content .btn {
    box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.3);
    border: 0.125rem solid rgba(255, 255, 255, 0.2);
    backdrop-filter: blur(0.625rem);
    -webkit-backdrop-filter: blur(0.625rem);
}

.carousel-button-container {
    position: absolute;
    bottom: 2rem;
    right: 2rem;
    z-index: 2;
}

.carousel-button-container .btn {
    box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.3);
    border: 0.125rem solid rgba(255, 255, 255, 0.2);
    backdrop-filter: blur(0.625rem);
    -webkit-backdrop-filter: blur(0.625rem);
    transition: all 0.3s ease;
    margin-right: 4rem;
}

@media (max-width: 768px) {
    .carousel-button-container .btn {
        margin-right: 0;
    }
}

.carousel-button-container .btn:hover {
    transform: translateY(-0.125rem);
    box-shadow: 0 0.375rem 1.25rem rgba(0, 0, 0, 0.4);
}

/* Carousel image styles removed - now using background images */

.carousel-nav {
    position: absolute;
    bottom: 2rem;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    gap: 1rem;
}

.carousel-dot {
    width: 0.75rem;
    height: 0.75rem;
    border-radius: 50%;
    background: rgba(201, 163, 78, 0.3);
    cursor: pointer;
    transition: background 0.3s ease;
}

.carousel-dot.active,
.carousel-dot:hover,
.carousel-dot:focus {
    background: #DAAF62;
}

.carousel-dot:focus {
    outline: 0.1875rem solid #DAAF62;
    outline-offset: 0.125rem;
}

/* Responsive Carousel */
@media (max-width: 1024px) {
    .banner-carousel {
        height: 70vh;
        min-height: 28.125rem;
    }
    
    .carousel-content h1 {
        font-size: 3rem;
    }
    
    .carousel-content p {
        font-size: 1.125rem;
    }
    
    .carousel-content {
        max-width: 28.125rem;
    }
}

@media (max-width: 768px) {
    .banner-carousel {
        height: 60vh;
        min-height: 25rem;
    }
    
    .carousel-slide {
        justify-content: center;
        text-align: center;
        padding: 1.5rem;
    }
    
    .carousel-content {
        max-width: 37.5rem;
        text-align: center;
    }
    
    .carousel-content h1 {
        font-size: 2.25rem;
        margin-bottom: 0.75rem;
    }
    
    .carousel-content p {
        font-size: 1rem;
        margin-bottom: 1.5rem;
    }
    
    .carousel-button-container {
        bottom: 1.5rem;
        right: 1.5rem;
    }
    
    .carousel-nav {
        bottom: 1.5rem;
    }
}

@media (max-width: 480px) {
    .banner-carousel {
        height: 50vh;
        min-height: 21.875rem;
    }
    
    .carousel-slide {
        padding: 1rem;
    }
    
    .carousel-content {
        padding: 0;
    }
    
    .carousel-content h1 {
        font-size: 1.875rem;
        margin-bottom: 0.5rem;
    }
    
    .carousel-content p {
        font-size: 1rem;
        margin-bottom: 1rem;
    }
    
    .carousel-button-container {
        bottom: 1rem;
        right: 1rem;
    }
    
    .carousel-nav {
        bottom: 1rem;
        gap: 0.75rem;
    }
    
    .carousel-dot {
        width: 0.625rem;
        height: 0.625rem;
    }
}

@media (max-width: 360px) {
    .carousel-button-container {
        bottom: 0.75rem;
        right: 0.75rem;
    }
    
    .carousel-button-container .btn {
        padding: 0.75rem 1.5rem;
        font-size: 1rem;
    }
}

/* ===== BUTTONS ===== */
.btn {
    display: inline-block;
    padding: 0.875rem 2rem;
    border: none;
    border-radius: 0.25rem;
    font-size: 1rem;
    font-weight: 400;
    text-decoration: none;
    cursor: pointer;
    transition: all 0.3s ease;
    text-align: center;
    line-height: 1.5;
}

.btn:focus {
    outline: 0.1875rem solid #DAAF62;
    outline-offset: 0.125rem;
}

.btn-primary {
    background: #DAAF62;
    color: #202020;
}

.btn-primary:hover,
.btn-primary:focus {
    background: #82601A;
    color: #ffffff;
    transform: translateY(-0.125rem);
    box-shadow: 0 0.3125rem 0.9375rem rgba(0, 0, 0, 0.2);
    text-decoration: none;
}

.btn-secondary {
    background: #2B2930;
    color: #FFFFFF;
    border: 0.125rem solid #DAAF62;
}

.btn-secondary:hover,
.btn-secondary:focus {
    background: #050506;
    color: #FFFFFF;
}

.btn-large {
    padding: 1.125rem 2.5rem;
    font-size: 1.125rem;
}

.section-btn-container {
    text-align: center;
}

/* ===== PRODUCTS SECTION ===== */
.products-grid {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 1.5rem;
    margin-top: 2rem;
    max-width: 100%;
    flex-direction: unset !important;
    flex-wrap: unset !important;
    align-items: stretch !important;
}

.product-card {
    background: #FFFFFF;
    border-radius: 1rem;
    overflow: hidden;
    box-shadow: 0 0.3125rem 1.25rem rgba(0, 0, 0, 0.1);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    display: flex !important;
    flex-direction: column !important;
    flex: unset !important;
}

.product-image-container {
    position: relative;
    width: 100%;
    height: 0;
    padding-bottom: 100%; /* Creates a square aspect ratio */
    overflow: hidden;
    background: #F8F6F0;
}

.product-card:hover,
.product-card:focus-within {
    transform: translateY(-0.3125rem);
    box-shadow: 0 0.625rem 1.875rem rgba(0, 0, 0, 0.15);
}

.product-image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.product-content {
    padding: 1.25rem;
    display: flex;
    flex-direction: column;
    gap:  1rem;
    flex: 1;
}

.product-title {
    font-size: 1.25rem;
    font-weight: 500;
    color: #202020;
    margin: 0;
}

.product-code {
    font-size: 1rem;
    color: #82601A;
    font-weight: 400;
    text-transform: uppercase;
    letter-spacing: 0.03125rem;
}

.product-size {
    display: inline-block;
    background: #F8F8F3;
    color: #666;
    padding: 0.25rem 0.75rem;
    border-radius: 0.5rem;
    font-size: 1rem;
    font-weight: 400;
}

.product-price {
    font-size: 1.25rem;
    font-weight: 400;
}

.product-price .original {
    text-decoration: line-through;
    color: #595959;
    font-size: 1.125rem;
    margin-right: 0.5rem;
}

.product-price .discount {
    color: #9F2214;
    font-size: 1rem;
    background: #FFF5F6;
    padding: 0.25rem 0.5rem;
    border-radius: 0.25rem;
    margin-left: 0.5rem;
}

.product-btn-container {
    margin-top: auto !important;
    text-align: center;
}

.product-content .btn,
.product-content > .btn,
.product-content > a.btn,
.product-content a.btn-primary,
.product-content .btn-primary {
    width: auto !important;
    max-width: 115px;
    display: inline-block !important;
    padding: 0.875rem 2rem !important;
}

/* Similar items section buttons - standard size */
.similar-item-content .btn,
.similar-items-section .product-content .btn {
    width: auto !important;
    display: inline-block !important;
    padding: 0.875rem 2rem !important;
}

/* Responsive breakpoints for products grid */
@media (max-width: 75rem) {
    .products-grid {
        grid-template-columns: repeat(3, 1fr) !important;
        gap: 1.25rem;
    }
}

@media (max-width: 56.25rem) {
    .products-grid {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 1rem;
    }
}

@media (max-width: 37.5rem) {
    .products-grid {
        grid-template-columns: 1fr !important;
        gap: 1rem;
    }
}

/* ===== SERVICES SECTION ===== */
.services-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(18.75rem, 1fr));
    gap: 2rem;
    margin-top: 2rem;
}

.service-card {
    background: #FFFFFF;
    padding: 1.25rem;
    border-radius: 1rem;
    text-align: center;
    box-shadow: 0 0.3125rem 1.25rem rgba(0, 0, 0, 0.1);
    transition: transform 0.3s ease;
}

.service-card:hover,
.service-card:focus-within {
    transform: translateY(-0.3125rem);
}

.service-icon {
    width: 4rem;
    height: 4rem;
    background: #DAAF62;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 1.5rem;
    color: #202020;
    font-size: 1.5rem;
}

.service-title {
    font-size: 1.5rem;
    margin-bottom: 1rem;
    color: #202020;
}

.service-description {
    color: #666;
    margin-bottom: 1.5rem;
    line-height: 1.6;
}

/* ===== FOOTER ===== */
.footer {
    background: #202020;
    color: #FFFFFF;
    padding: 3rem 0 1rem;
}

.footer-content {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(15.625rem, 1fr));
    gap: 2rem;
    margin-bottom: 3rem;
}

.footer-section h3 {
    color: #DAAF62;
    margin-bottom: 1.5rem;
    font-size: 1.25rem;
}

.footer-section ul {
    list-style: none;
}

.footer-section ul li {
    margin-bottom: 0.5rem;
}

.footer-section a {
    color: #FFFFFF;
    transition: color 0.3s ease;
}

.footer-section a:hover,
.footer-section a:focus {
    color: #DAAF62;
}

/* Legacy social links styles - now using standardized version below */

/* ===== FOOTER THREE COLUMN LAYOUT ===== */
.footer-three-column-section {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 3rem;
}

.footer-column h3 {
    color: #DAAF62;
    margin-bottom: 1.5rem;
    font-size: 1.25rem;
    font-weight: 300;
}

.footer-column h4 {
    color: #DAAF62;
    margin-bottom: 1rem;
    font-size: 1.125rem;
    font-weight: 300;
}

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

.footer-contact-form input,
.footer-contact-form textarea {
    width: 100%;
    padding: 0.75rem;
    border: 0.0625rem solid #333;
    border-radius: 0.25rem;
    background: #333 !important;
    color: #FFFFFF !important;
    font-size: 1rem;
    transition: border-color 0.3s ease;
}

.footer-contact-form input:focus,
.footer-contact-form textarea:focus {
    outline: 0.125rem solid #DAAF62;
    border-color: #DAAF62;
    background: #444 !important;
    color: #FFFFFF !important;
}

.footer-contact-form input::placeholder,
.footer-contact-form textarea::placeholder {
    color: #595959 !important;
    opacity: 1;
}

.footer-contact-form input:-webkit-input-placeholder,
.footer-contact-form textarea:-webkit-input-placeholder {
    color: #595959 !important;
    opacity: 1;
}

.footer-contact-form input:-moz-placeholder,
.footer-contact-form textarea:-moz-placeholder {
    color: #595959 !important;
    opacity: 1;
}

.footer-contact-form .btn {
    background: #DAAF62;
    color: #202020;
    border: none;
    padding: 0.75rem 1.5rem;
    font-weight: 400;
    transition: all 0.3s ease;
    cursor: pointer;
}

.footer-contact-form input[type="text"],
.footer-contact-form input[type="email"],
.footer-contact-form input[type="tel"] {
    background: #333 !important;
    color: #FFFFFF !important;
    border: 0.0625rem solid #555;
}

.footer-contact-form input[type="text"]:focus,
.footer-contact-form input[type="email"]:focus,
.footer-contact-form input[type="tel"]:focus {
    background: #444 !important;
    color: #FFFFFF !important;
    border-color: #DAAF62;
}

.footer-contact-form .btn:hover,
.footer-contact-form .btn:focus {
    background: #82601A;
    color: #FFFFFF !important;
    transform: translateY(-0.125rem);
}

/* ===== CONTACT INFO & SOCIAL MEDIA ===== */
.contact-info {
    background: #333;
    padding: 1.5rem;
    border-radius: 0.5rem;
    border: 0.0625rem solid #555;
}

.contact-item {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    padding: 0.75rem;
    background: #444;
    border-radius: 0.5rem;
    border: 0.0625rem solid #555;
    transition: all 0.3s ease;
}

.contact-item:hover {
    background: #555;
    border-color: #DAAF62;
}

.contact-item svg {
    flex-shrink: 0;
    margin-top: 0.125rem;
}

.contact-item div {
    line-height: 1.4;
}

.contact-item strong {
    color: #DAAF62;
    font-weight: 300;
}

.contact-item div {
    color: #FFFFFF;
}
/* ===== STANDARDIZED SOCIAL MEDIA LINKS ===== */
.social-links {
    display: flex;
    gap: 0.75rem;
    flex-wrap: wrap;
}

.social-links a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2.75rem;
    height: 2.75rem;
    border-radius: 50%;
    transition: all 0.3s ease;
    border: 0.0625rem solid transparent;
    text-decoration: none;
}

.social-links a:focus {
    outline: 0.125rem solid #DAAF62;
    outline-offset: 0.125rem;
}

.social-links a svg {
    width: 1.25rem;
    height: 1.25rem;
    fill: currentColor;
}

/* Facebook */
.social-links a.facebook {
    background-color: #1877F2;
    color: #FFFFFF;
}

.social-links a.facebook:hover,
.social-links a.facebook:focus {
    background-color: #166FE5;
    transform: translateY(-0.125rem);
    box-shadow: 0 0.25rem 0.5rem rgba(24, 119, 242, 0.3);
}

/* Instagram */
.social-links a.instagram {
    background-color: #E4405F;
    color: #FFFFFF;
}

.social-links a.instagram:hover,
.social-links a.instagram:focus {
    background-color: #D63384;
    transform: translateY(-0.125rem);
    box-shadow: 0 0.25rem 0.5rem rgba(228, 64, 95, 0.3);
}

/* Twitter/X */
.social-links a.twitter,
.social-links a.x {
    background-color: #000000;
    color: #FFFFFF;
}

.social-links a.twitter:hover,
.social-links a.twitter:focus,
.social-links a.x:hover,
.social-links a.x:focus {
    background-color: #202020;
    transform: translateY(-0.125rem);
    box-shadow: 0 0.25rem 0.5rem rgba(0, 0, 0, 0.3);
}

/* LinkedIn */
.social-links a.linkedin {
    background-color: #0A66C2;
    color: #FFFFFF;
}

.social-links a.linkedin:hover,
.social-links a.linkedin:focus {
    background-color: #0958A8;
    transform: translateY(-0.125rem);
    box-shadow: 0 0.25rem 0.5rem rgba(10, 102, 194, 0.3);
}

/* YouTube */
.social-links a.youtube {
    background-color: #FF0000;
    color: #FFFFFF;
}

.social-links a.youtube:hover,
.social-links a.youtube:focus {
    background-color: #E60000;
    transform: translateY(-0.125rem);
    box-shadow: 0 0.25rem 0.5rem rgba(255, 0, 0, 0.3);
}

/* TikTok */
.social-links a.tiktok {
    background-color: #010101;
    color: #FFFFFF;
}

.social-links a.tiktok:hover,
.social-links a.tiktok:focus {
    background-color: #202020;
    transform: translateY(-0.125rem);
    box-shadow: 0 0.25rem 0.5rem rgba(1, 1, 1, 0.3);
}

/* ===== MAP STYLING ===== */
.map-wrapper {
    border-radius: 0.5rem;
    overflow: hidden;
    box-shadow: 0 0.3125rem 1.25rem rgba(0, 0, 0, 0.3);
}

.map-wrapper iframe {
    display: block;
    width: 100%;
    height: 24rem;
    border: none;
}

.map-container {
    margin-bottom: 2rem;
}

.map-container h3 {
    text-align: center;
    margin-bottom: 1.5rem;
    color: #DAAF62;
}

.map-wrapper {
    border-radius: 1rem;
    overflow: hidden;
    box-shadow: 0 0.3125rem 1.25rem rgba(0, 0, 0, 0.3);
}

.footer-bottom {
    border-top: 0.0625rem solid #333;
    padding-top: 2rem;
}

.footer-bottom-content {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 1rem;
}

.footer-bottom-links {
    display: flex;
    gap: 2rem;
}

.footer-bottom-links a {
    color: #999;
    font-size: 1rem;
}

.footer-bottom-links a:hover,
.footer-bottom-links a:focus {
    color: #DAAF62;
}

/* ===== FORMS ===== */
.form-group {
    margin-bottom: 1.5rem;
}

.form-group label {
    display: block;
    margin-bottom: 0.5rem;
    font-weight: 400;
    color: #202020;
}

.form-group input,
.form-group textarea,
.form-group select {
    width: 100%;
    padding: 0.875rem;
    border: 0.125rem solid #E0E0E0;
    border-radius: 0.25rem;
    font-size: 1rem;
    transition: border-color 0.3s ease;
    background: #FFFFFF;
}

.form-group input:focus,
.form-group textarea:focus,
.form-group select:focus {
    outline: none;
    border-color: #DAAF62;
    box-shadow: 0 0 0 0.1875rem rgba(201, 163, 78, 0.1);
}

/* Google Places Autocomplete Styling */
.pac-container {
    border-radius: 0.5rem;
    border: 0.125rem solid #DAAF62;
    box-shadow: 0 0.5rem 1.5625rem rgba(0, 0, 0, 0.15);
    font-family: 'Roboto', sans-serif;
    margin-top: 0.125rem;
    z-index: 1000;
}

.pac-item {
    padding: 0.75rem 1rem;
    border-bottom: 0.0625rem solid #f0f0f0;
    cursor: pointer;
    transition: background-color 0.2s ease;
}

.pac-item:hover {
    background-color: #f8f9fa;
}

.pac-item-selected {
    background-color: #e3f2fd;
    color: #1976d2;
}

.pac-item-query {
    font-weight: 400;
    color: #202020;
}

.pac-item-query:before {
    content: "ðŸ“ ";
    margin-right: 0.5rem;
}

.pac-item-secondary {
    color: #666;
    font-size: 1rem;
    margin-top: 0.25rem;
}

/* Address field specific styling */
.form-group input[name*="address"],
.form-group input[name*="street"],
.form-group input[name*="suburb"],
.form-group input[name*="postcode"] {
    position: relative;
}

.form-group input[name*="street"] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23C9A34E' stroke-width='2'%3E%3Cpath d='M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z'%3E%3C/path%3E%3Ccircle cx='12' cy='10' r='3'%3E%3C/circle%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 0.75rem center;
    background-size: 1rem;
    padding-right: 2.5rem;
}

.form-group input[name*="street"]:focus {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23C9A34E' stroke-width='2'%3E%3Cpath d='M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z'%3E%3C/path%3E%3Ccircle cx='12' cy='10' r='3'%3E%3C/circle%3E%3C/svg%3E");
}

/* Address field group styling */
.form-row .form-group:has(input[name*="address"]),
.form-row .form-group:has(input[name*="street"]),
.form-row .form-group:has(input[name*="suburb"]),
.form-row .form-group:has(input[name*="postcode"]) {
    position: relative;
}

/* Autocomplete suggestions styling */
.pac-container .pac-item:first-child {
    border-top-left-radius: 0.5rem;
    border-top-right-radius: 0.5rem;
}

.pac-container .pac-item:last-child {
    border-bottom-left-radius: 0.5rem;
    border-bottom-right-radius: 0.5rem;
    border-bottom: none;
}

/* Loading state for autocomplete */
.form-group input[name*="street"].loading {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23C9A34E' stroke-width='2'%3E%3Ccircle cx='12' cy='12' r='10' stroke-dasharray='31.416' stroke-dashoffset='31.416'%3E%3CanimateTransform attributeName='transform' type='rotate' values='0 12 12;360 12 12' dur='1s' repeatCount='indefinite'/%3E%3C/circle%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 0.75rem center;
    background-size: 1rem;
    animation: spin 1s linear infinite;
}

/* Form help text styling */
.form-help {
    display: block;
    margin-top: 0.25rem;
    font-size: 1rem;
    color: #666;
    font-style: italic;
    line-height: 1.4;
}

.form-help:before {
    content: "💡 ";
    margin-right: 0.25rem;
}

@keyframes spin {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

.form-group input.error,
.form-group textarea.error,
.form-group select.error {
    border-color: #9F2214;
}

.error-message {
    color: #9F2214;
    font-size: 1rem;
    margin-top: 0.25rem;
}

/* ===== RESPONSIVE DESIGN ===== */
@media (max-width: 1024px) {
    .container {
        padding: 0 1.5rem;
    }
    
    .carousel-content h2 {
        font-size: 3rem;
    }
}

@media (max-width: 768px) {
    html {
        font-size: 1rem;
    }
    
    .header-content {
        flex-direction: column;
        align-items: stretch;
        flex-wrap: wrap;
    }
    
    .main-nav {
        order: 3;
        width: 100%;
    }
    
    .nav-menu {
        display: none;
        flex-direction: column;
        gap: 0;
        width: 100%;
    }
    
    .nav-menu.active {
        display: flex;
    }
    
    .nav-menu li {
        width: 100%;
    }
    
    .nav-menu a {
        display: block;
        padding: 1rem;
        border-radius: 0;
        text-align: center;
    }
    
    /*.mobile-menu-toggle {
        display: block;
        position: absolute;
        top: 1rem;
        right: 1rem;
    }*/
    
    .header-actions-column {
        flex-direction: column;
        gap: 1rem;
        width: 100%;
        order: 2;
        align-items: center;
    }
    
    .search-container {
        order: 1;
        width: 100%;
    }
    
    .search-form {
        width: 100%;
        min-width: auto;
    }
    
    .search-form input {
        min-width: auto;
        flex: 1;
        font-size: 1rem;
    }
    
    .user-actions {
        order: 2;
        justify-content: center;
        width: 100%;
    }
    
    .user-actions {
        order: 1;
        justify-content: center;
    }
    
    .carousel-content h2 {
        font-size: 2.5rem;
    }
    
    .carousel-content p {
        font-size: 1.125rem;
    }
    
    .products-grid,
    .services-grid {
        grid-template-columns: 1fr;
    }
    
    .footer-content {
        grid-template-columns: 1fr;
        text-align: center;
    }
    
    .footer-three-column-section {
        grid-template-columns: 1fr;
        gap: 2rem;
    }
    
    .contact-item {
        flex-direction: column;
        text-align: center;
        gap: 0.5rem;
    }
    
    .contact-item svg {
        margin: 0 auto;
    }
    
    .social-links {
        justify-content: center;
    }
    
    .footer-bottom-content {
        flex-direction: column;
        text-align: center;
    }
    
    .footer-bottom-links {
        justify-content: center;
    }
}

@media (max-width: 480px) {
    .container {
        padding: 0 1rem;
    }
    
    .carousel-content h2 {
        font-size: 2rem;
    }
    
    .carousel-content p {
        font-size: 1rem;
    }
    
    .btn {
        padding: 0.75rem 1.5rem;
        font-size: 1rem;
    }
    
    .btn-large {
        padding: 1rem 2rem;
        font-size: 1rem;
    }
}

/* ===== ANIMATIONS ===== */
@keyframes fadeIn {
    from { opacity: 0; transform: translateY(1.25rem); }
    to { opacity: 1; transform: translateY(0); }
}

.fade-in {
    animation: fadeIn 0.6s ease-out;
}

/* ===== FOCUS VISIBILITY ===== */
*:focus {
    outline: 0.1875rem solid #DAAF62;
    outline-offset: 0.125rem;
}

/* ===== HIGH CONTRAST MODE SUPPORT ===== */
@media (prefers-contrast: high) {
    .btn-primary {
        background: #000000;
        color: #FFFFFF;
        border: 0.125rem solid #FFFFFF;
    }
    
    .carousel-dot.active {
        background: #000000;
    }
}

/* ===== REDUCED MOTION SUPPORT ===== */
@media (prefers-reduced-motion: reduce) {
    * {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
    
    .carousel-slide {
        transition: none;
    }
}

/* ===== ALERT MESSAGES ===== */
.alert-message {
    position: fixed;
    top: 1rem;
    left: 50%;
    transform: translateX(-50%);
    z-index: 10000;
    max-width: 90vw;
    width: 31.25rem;
    padding: 1rem;
    border-radius: 0.5rem;
    box-shadow: 0 0.625rem 1.875rem rgba(0, 0, 0, 0.2);
    animation: slideDown 0.3s ease-out;
}

.alert-success {
    background: #D4EDDA;
    color: #155724;
    border: 0.0625rem solid #C3E6CB;
}

.alert-error {
    background: #F8D7DA;
    color: #721C24;
    border: 0.0625rem solid #F5C6CB;
}

.alert-info {
    background: #D1ECF1;
    color: #0C5460;
    border: 0.0625rem solid #BEE5EB;
}

.alert-content {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

.alert-text {
    flex: 1;
    white-space: pre-line;
    line-height: 1.4;
}

.alert-close {
    background: none;
    border: none;
    font-size: 1.5rem;
    cursor: pointer;
    padding: 0;
    width: 1.5rem;
    height: 1.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    transition: background-color 0.3s ease;
    color: inherit;
}

.alert-close:hover,
.alert-close:focus {
    background: rgba(0, 0, 0, 0.1);
    outline: none;
}

@keyframes slideDown {
    from {
        opacity: 0;
        transform: translateX(-50%) translateY(-100%);
    }
    to {
        opacity: 1;
        transform: translateX(-50%) translateY(0);
    }
}

/* ===== AUTHENTICATION PAGES ===== */
.auth-container {
    min-height: 80vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 2rem 0;
}

.auth-form-wrapper {
    background: #FFFFFF;
    padding: 3rem;
    border-radius: 1rem;
    box-shadow: 0 0.625rem 1.875rem rgba(0, 0, 0, 0.1);
    width: 100%;
    max-width: 31.25rem;
    text-align: center;
}

.auth-form-wrapper h1 {
    color: #202020;
    margin-bottom: 0.5rem;
    font-size: 2.5rem;
}

.auth-subtitle {
    color: #666;
    margin-bottom: 2rem;
    font-size: 1.125rem;
}

.auth-form .form-group {
    margin-bottom: 1.5rem;
    text-align: left;
}

.auth-form label {
    display: block;
    margin-bottom: 0.5rem;
    font-weight: 400;
    color: #202020;
}

.auth-form input[type="email"],
.auth-form input[type="password"],
.auth-form input[type="text"] {
    width: 100%;
    padding: 1rem;
    border: 0.125rem solid #E0E0E0;
    border-radius: 0.5rem;
    font-size: 1rem;
    transition: border-color 0.3s ease;
}

.auth-form input:focus {
    outline: none;
    border-color: #DAAF62;
    box-shadow: 0 0 0 0.1875rem rgba(201, 163, 78, 0.1);
}

.btn-full {
    width: 100%;
    margin-top: 1rem;
}

.auth-links {
    margin-top: 2rem;
    padding-top: 2rem;
    border-top: 0.0625rem solid #E0E0E0;
}

.auth-links p {
    margin-bottom: 0.5rem;
}

.auth-links a {
    color: #82601A;
    text-decoration: none;
    font-weight: 400;
}

.auth-links a:hover,
.auth-links a:focus {
    text-decoration: underline;
    font-weight: 500;
}

/* ===== PASSWORD REQUIREMENTS ===== */
.password-requirements {
    margin-top: 0.75rem;
    padding: 1rem;
    background: #F8F9FA;
    border-radius: 0.5rem;
    text-align: left;
}

.password-requirements p {
    margin-bottom: 0.5rem;
    font-size: 1rem;
    color: #666;
}

.password-requirements ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.password-requirements li {
    padding: 0.25rem 0;
    font-size: 1rem;
    color: #666;
    position: relative;
    padding-left: 1.5rem;
}

.password-requirements li::before {
    content: '\2717';
    position: absolute;
    left: 0;
    color: #9F2214;
    font-weight: bold;
}

.password-requirements li.valid::before {
    content: '\2713';
    color: #165F35;
}

.password-requirements li.valid {
    color: #165F35;
}

/* ===== CHECKBOX STYLING ===== */

/* ===== SOCIAL LOGIN ===== */
.social-login {
    margin-top: 2rem;
    padding-top: 2rem;
    border-top: 0.0625rem solid #E0E0E0;
}

.social-login p {
    color: #666;
    margin-bottom: 1rem;
    font-size: 1rem;
}

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

.btn-social {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.75rem 1.5rem;
    border: 0.125rem solid transparent;
    color: #FFFFFF;
    font-size: 1rem;
    transition: all 0.3s ease;
    text-decoration: none;
    border-radius: 0.5rem;
    font-weight: 400;
    min-width: 12.5rem;
    justify-content: center;
}

.btn-social:hover,
.btn-social:focus {
    transform: translateY(-0.125rem);
    text-decoration: none;
    color: #FFFFFF;
}

.btn-social:focus {
    outline: 0.125rem solid #DAAF62;
    outline-offset: 0.125rem;
}

.btn-google {
    background-color: #D83A2C;
}

.btn-google:hover,
.btn-google:focus {
    background-color: #B7311F;
    box-shadow: 0 0.25rem 0.5rem rgba(219, 68, 55, 0.3);
}

.btn-facebook {
    background-color: #1877F2;
    visibility: hidden;
}

.btn-facebook:hover,
.btn-facebook:focus {
    background-color: #166FE5;
    box-shadow: 0 0.25rem 0.5rem rgba(24, 119, 242, 0.3);
}

.btn-instagram {
    background-color: #E4405F;
    visibility: hidden;
}

.btn-instagram:hover,
.btn-instagram:focus {
    background-color: #D63384;
    box-shadow: 0 0.25rem 0.5rem rgba(228, 64, 95, 0.3);
}

/* ===== RESPONSIVE AUTH ===== */
@media (max-width: 768px) {
    .auth-form-wrapper {
        padding: 2rem 1.5rem;
        margin: 0 1rem;
    }
    
    .auth-form-wrapper h1 {
        font-size: 2rem;
    }
    
    .social-buttons {
        flex-direction: column;
        align-items: center;
    }
    
    .btn-social {
        width: 100%;
        max-width: 18.75rem;
    }
}

/* ===== ADMIN DASHBOARD ===== */
.admin-dashboard {
    background: #f8f9fa;
    min-height: 100vh;
}

.admin-header {
    background: #FFFFFF;
    padding: 2rem 0;
    margin-bottom: 2rem;
    border-bottom: 0.0625rem solid #E0E0E0;
    text-align: center;
}

.admin-header h1 {
    color: #202020;
    margin-bottom: 0.5rem;
    font-size: 2.5rem;
}

.admin-header p {
    color: #666;
    font-size: 1.1rem;
}



.admin-content {
    max-width: 75rem;
    margin: 0 auto;
}

.admin-section {
    background: #FFFFFF;
    border-radius: 0.5rem;
    padding: 2rem;
    margin-bottom: 2rem;
    box-shadow: 0 0.125rem 0.625rem rgba(0, 0, 0, 0.1);
}

.admin-section h2 {
    color: #202020;
    margin-bottom: 1.5rem;
    font-size: 1.8rem;
    border-bottom: 0.125rem solid #DAAF62;
    padding-bottom: 0.5rem;
}

.admin-form {
    max-width: 75rem;
}

.form-row {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(15.625rem, 1fr));
    gap: 1.5rem;
    margin-bottom: 1.5rem;
}

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

.form-group label {
    display: block;
    margin-bottom: 0.5rem;
    font-weight: 400;
    color: #202020;
}

.form-group input,
.form-group select,
.form-group textarea {
    width: 100%;
    padding: 0.75rem;
    border: 0.125rem solid #E0E0E0;
    border-radius: 0.25rem;
    font-size: 1rem;
    transition: border-color 0.3s ease;
}

.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus {
    outline: none;
    border-color: #DAAF62;
}

.form-group small {
    display: block;
    margin-top: 0.25rem;
    color: #666;
    font-size: 1rem;
}

.form-actions {
    display: flex;
    gap: 1rem;
    margin-top: 2rem;
    padding-top: 1.5rem;
    border-top: 0.0625rem solid #E0E0E0;
}

/* Search Container */
.search-container {
    margin-bottom: 2rem;
    padding: 0rem;
    background: #f8f9fa;
    border-radius: 0.5rem;
    border: 0.0625rem solid #E0E0E0;
}

.search-container label {
    display: block;
    margin-bottom: 0.5rem;
    font-weight: 400;
    color: #202020;
}

.search-container input {
    width: 100%;
    padding: 0.75rem;
    border: 0.125rem solid #E0E0E0;
    border-radius: 0.25rem;
    font-size: 1rem;
}

.search-results {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: #FFFFFF;
    border: 0.0625rem solid #E0E0E0;
    border-radius: 0.25rem;
    box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.15);
    max-height: 25rem;
    overflow-y: auto;
    z-index: 1000;
    display: none;
}

.search-results-list {
    padding: 0;
}

.search-result-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1rem;
    border-bottom: 0.0625rem solid #f0f0f0;
    transition: background-color 0.2s ease;
}

.search-result-item:hover {
    background-color: #f8f9fa;
}

.search-result-item:last-child {
    border-bottom: none;
}

.result-info {
    flex: 1;
}

.result-info strong {
    color: #202020;
    font-size: 1.1rem;
}

.result-details {
    color: #666;
    font-size: 1rem;
    margin-top: 0.25rem;
}

.result-actions {
    display: flex;
    gap: 0.5rem;
}

.no-results {
    padding: 1rem;
    text-align: center;
    color: #666;
    font-style: italic;
}

.search-error {
    padding: 1rem;
    color: #dc3545;
    text-align: center;
}

/* Items Table */
.items-table-container {
    overflow-x: auto;
    margin-top: 1rem;
}

.items-table {
    width: 100%;
    border-collapse: collapse;
    background: #FFFFFF;
    border-radius: 0.5rem;
    overflow: hidden;
    box-shadow: 0 0.125rem 0.5rem rgba(0, 0, 0, 0.1);
}

.items-table th {
    background: #202020;
    color: #FFFFFF;
    padding: 1rem;
    text-align: left;
    font-weight: 400;
    font-size: 1rem;
    text-transform: uppercase;
    letter-spacing: 0.03125rem;
}

.items-table td {
    padding: 1rem;
    border-bottom: 0.0625rem solid #f0f0f0;
    vertical-align: middle;
}

.items-table tr:hover {
    background-color: #f8f9fa;
}

.items-table tr:last-child td {
    border-bottom: none;
}

.discount {
    color: #dc3545;
    font-weight: 400;
}

.status {
    padding: 0.25rem 0.75rem;
    border-radius: 1rem;
    font-size: 0.75rem;
    font-weight: 400;
    text-transform: uppercase;
    letter-spacing: 0.03125rem;
}

.status.active {
    background: #d4edda;
    color: #155724;
}

.status.inactive {
    background: #f8d7da;
    color: #721c24;
}

.btn-small {
    padding: 0.375rem 0.75rem;
    font-size: 1rem;
    border-radius: 0.25rem;
}

.current-image {
    margin-top: 1rem;
    padding: 1rem;
    background: #f8f9fa;
    border-radius: 0.25rem;
    border: 0.0625rem solid #E0E0E0;
}

.current-image p {
    margin-bottom: 0.5rem;
    font-weight: 400;
    color: #202020;
}

/* Responsive Admin */
@media (max-width: 768px) {
    .admin-section {
        padding: 1.5rem;
        margin: 0 1rem 1.5rem 1rem;
    }
    
    .form-row {
        grid-template-columns: 1fr;
        gap: 1rem;
    }
    
    .form-actions {
        flex-direction: column;
    }
    
    .search-result-item {
        flex-direction: column;
        align-items: flex-start;
        gap: 1rem;
    }
    
    .result-actions {
        width: 100%;
        justify-content: space-between;
    }
    
    .items-table th,
    .items-table td {
        padding: 0.75rem 0.5rem;
        font-size: 1rem;
    }
}

/* Admin Button Styles */
.btn-secondary {
    background: #2B2930;
    color: #FFFFFF;
    border: none;
    padding: 0.75rem 1.5rem;
    font-weight: 400;
    transition: all 0.3s ease;
    cursor: pointer;
    text-decoration: none;
    display: inline-block;
    border-radius: 0.25rem;
}

.btn-secondary:hover,
.btn-secondary:focus {
    background: #050506;
    transform: translateY(-0.125rem);
    text-decoration: none;
    color: #FFFFFF;
}

/* Order Details Styles */
.order-info {
    background: #f8f9fa;
    border: 0.0625rem solid #dee2e6;
    border-radius: 0.5rem;
    padding: 1.5rem;
    margin-bottom: 2rem;
}

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

.info-item {
    padding: 0.5rem 0;
}

.info-item strong {
    color: #202020;
    margin-right: 0.5rem;
}

.order-items-container,
.invoices-container {
    margin-top: 1rem;
    overflow-x: auto;
}

.order-items-table,
.invoices-table {
    width: 100%;
    border-collapse: collapse;
    background: #FFFFFF;
    border-radius: 0.5rem;
    overflow: hidden;
    box-shadow: 0 0.125rem 0.25rem rgba(0,0,0,0.1);
}

.order-items-table th,
.order-items-table td,
.invoices-table th,
.invoices-table td {
    padding: 0.75rem;
    text-align: left;
    border-bottom: 0.0625rem solid #dee2e6;
}

.order-items-table th,
.invoices-table th {
    background: #f8f9fa;
    font-weight: 400;
    color: #202020;
}

.order-items-table tbody tr:hover,
.invoices-table tbody tr:hover {
    background: #f8f9fa;
}

.order-items-table tfoot {
    background: #f8f9fa;
    font-weight: 400;
}

.text-right {
    text-align: right;
}

.discount {
    color: #dc3545;
    font-weight: 400;
}

.btn-danger {
    background: #dc3545;
    color: #FFFFFF;
    border: none;
    padding: 0.5rem 1rem;
    font-weight: 400;
    transition: all 0.3s ease;
    cursor: pointer;
    text-decoration: none;
    display: inline-block;
    border-radius: 0.25rem;
    font-size: 1rem;
}

.btn-danger:hover,
.btn-danger:focus {
    background: #c82333;
    transform: translateY(-0.0625rem);
    text-decoration: none;
    color: #FFFFFF;
}

/* Responsive adjustments for order details */
@media (max-width: 768px) {
    .info-grid {
        grid-template-columns: 1fr;
    }
    
    .order-items-table,
    .invoices-table {
        font-size: 1rem;
    }
    
    .order-items-table th,
    .order-items-table td,
    .invoices-table th,
    .invoices-table td {
        padding: 0.5rem;
    }
}

/* Reports Module Styles */
.reports-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(21.875rem, 1fr));
    gap: 2rem;
    margin-bottom: 3rem;
}

.report-card {
    background: #FFFFFF;
    border-radius: 1rem;
    padding: 2rem;
    box-shadow: 0 0.25rem 1.25rem rgba(0, 0, 0, 0.1);
    transition: all 0.3s ease;
    border: 0.0625rem solid #E0E0E0;
}

.report-card:hover {
    transform: translateY(-0.3125rem);
    box-shadow: 0 0.5rem 1.875rem rgba(0, 0, 0, 0.15);
}

.report-icon {
    text-align: center;
    margin-bottom: 1.5rem;
    color: #DAAF62;
}

.report-content h3 {
    color: #202020;
    margin-bottom: 1rem;
    font-size: 1.5rem;
    font-weight: 400;
    text-align: center;
}

.report-content p {
    color: #666;
    margin-bottom: 1.5rem;
    line-height: 1.6;
    text-align: center;
}

.report-features {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-bottom: 1.5rem;
    justify-content: center;
}

.feature-tag {
    background: #f8f9fa;
    color: #202020;
    padding: 0.25rem 0.75rem;
    border-radius: 1rem;
    font-size: 0.75rem;
    font-weight: 400;
    border: 0.0625rem solid #E0E0E0;
}

.report-card .btn {
    width: 100%;
    text-align: center;
}

/* Stats Grid */
.stats-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(12.5rem, 1fr));
    gap: 1.5rem;
}

.stat-card {
    background: #FFFFFF;
    border-radius: 0.75rem;
    padding: 1.5rem;
    text-align: center;
    box-shadow: 0 0.125rem 0.625rem rgba(0, 0, 0, 0.1);
    border: 0.0625rem solid #E0E0E0;
}

.stat-number {
    font-size: 2rem;
    font-weight: 400;
    color: #DAAF62;
    margin-bottom: 0.5rem;
}

.stat-label {
    color: #666;
    font-size: 1rem;
    font-weight: 400;
}

/* Report Filters */
.report-filters {
    background: #f8f9fa;
    border-radius: 0.75rem;
    padding: 2rem;
    border: 0.0625rem solid #E0E0E0;
}

.results-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 1.5rem;
    flex-wrap: wrap;
    gap: 1rem;
}

.results-info {
    border-radius: 2rem;
    font-weight: 500;
    font-size: 1rem;
}

/* Report Tables */
.report-table {
    width: 100%;
    border-collapse: collapse;
    background: #FFFFFF;
    border-radius: 0.5rem;
    overflow: hidden;
    box-shadow: 0 0.125rem 0.625rem rgba(0, 0, 0, 0.1);
    margin-bottom: 1.5rem;
}

.report-table th,
.report-table td {
    padding: 1rem;
    text-align: left;
    border-bottom: 0.0625rem solid #E0E0E0;
}

.report-table th {
    background: #f8f9fa;
    font-weight: 400;
    color: #202020;
    cursor: pointer;
    user-select: none;
    transition: background-color 0.2s ease;
}

.report-table th:hover {
    background: #E0E0E0;
}

.sort-icon {
    margin-left: 0.5rem;
    color: #DAAF62;
    font-weight: bold;
}

.report-table tbody tr:hover {
    background: #f8f9fa;
}

/* Badges */
.method-badge,
.level-badge,
.status-badge,
.count-badge {
    padding: 0.25rem 0.75rem;
    border-radius: 1rem;
    font-size: 0.75rem;
    font-weight: 400;
    text-transform: uppercase;
    letter-spacing: 0.03125rem;
}

.method-badge.method-G { background: #4285f4; color: #FFFFFF; }
.method-badge.method-F { background: #1877f2; color: #FFFFFF; }
.method-badge.method-E { background: #34a853; color: #FFFFFF; }
.method-badge.method-M { background: #ea4335; color: #FFFFFF; }
.method-badge.method-O { background: #fbbc04; color: #FFFFFF; }

.level-badge.level-admin { background: #dc3545; color: #FFFFFF; }
.level-badge.level-user { background: #2B2930; color: #FFFFFF; }

.status-badge.active { background: #d4edda; color: #155724; }
.status-badge.inactive { background: #f8d7da; color: #721c24; }
.status-badge.success { background: #d4edda; color: #155724; }
.status-badge.failed { background: #f8d7da; color: #721c24; }

.status-badge.warning {
    background: #fff3cd;
    color: #856404;
}

/* Customer Order Report Specific Styles */
.status-badge.pending { background: #fff3cd; color: #856404; }
.status-badge.confirmed { background: #d1ecf1; color: #0c5460; }
.status-badge.in-progress { background: #d4edda; color: #155724; }
.status-badge.completed { background: #d4edda; color: #155724; }
.status-badge.cancelled { background: #f8d7da; color: #721c24; }

.category-badge {
    padding: 0.25rem 0.75rem;
    border-radius: 1rem;
    font-size: 0.75rem;
    font-weight: 400;
    text-transform: uppercase;
    letter-spacing: 0.03125rem;
    display: inline-block;
}

.category-badge.wedding { background: #e8f5e8; color: #2d5a2d; }
.category-badge.memorial { background: #f0f0f0; color: #555; }
.category-badge.baby { background: #fff0f5; color: #8b5a8b; }
.category-badge.anniversary { background: #fff8dc; color: #8b7355; }
.category-badge.graduation { background: #f0f8ff; color: #4169e1; }
.category-badge.birthday { background: #ffe4e1; color: #8b4513; }
.category-badge.other { background: #f5f5f5; color: #666; }

.requirement-cell {
    max-width: 18.75rem;
}

.requirement-text {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    cursor: help;
}

.address-cell {
    max-width: 12.5rem;
    line-height: 1.4;
}

/* Overdue payment highlighting */
.overdue {
    color: #dc3545 !important;
    font-weight: 400;
}

.count-badge {
    background: #DAAF62;
    color: #FFFFFF;
}

/* Pagination */
.pagination-container {
    margin-top: 2rem;
    text-align: center;
}

.pagination {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.page-btn {
    padding: 0.5rem 1rem;
    border: 0.0625rem solid #E0E0E0;
    background: #FFFFFF;
    color: #202020;
    border-radius: 0.25rem;
    cursor: pointer;
    transition: all 0.2s ease;
    font-size: 1rem;
}

.page-btn:hover {
    background: #f8f9fa;
    border-color: #DAAF62;
}

.page-btn.active {
    background: #DAAF62;
    color: #FFFFFF;
    border-color: #DAAF62;
}

.page-ellipsis {
    padding: 0.5rem;
    color: #666;
}

/* Loading */
.loading {
    text-align: center;
    padding: 3rem;
    color: #666;
}

.spinner {
    border: 0.25rem solid #f3f3f3;
    border-top: 0.25rem solid #DAAF62;
    border-radius: 50%;
    width: 2.5rem;
    height: 2.5rem;
    animation: spin 1s linear infinite;
    margin: 0 auto 1rem;
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

/* Error and No Data Messages */
.error-message,
.no-data {
    text-align: center;
    padding: 2rem;
    color: #666;
    font-style: italic;
}

.error-message {
    color: #dc3545;
}

/* Status Editing Styles */
.status-edit-container {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    position: relative;
}

.status-select {
    padding: 0.375rem 0.5rem;
    border: 0.0625rem solid #E0E0E0;
    border-radius: 0.25rem;
    font-size: 1rem;
    background: #FFFFFF;
    min-width: 7rem;
    cursor: pointer;
    transition: all 0.2s ease;
}

.status-select:focus {
    outline: none;
    border-color: #DAAF62;
    box-shadow: 0 0 0 0.125rem rgba(201, 163, 78, 0.2);
}

.status-select:disabled {
    background: #f8f9fa;
    cursor: not-allowed;
    opacity: 0.6;
}

.save-status-btn {
    padding: 0.375rem;
    border: 0.0625rem solid #DAAF62;
    background: #DAAF62;
    color: #FFFFFF;
    border-radius: 0.25rem;
    cursor: pointer;
    transition: all 0.2s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 2rem;
    height: 2rem;
}

.save-status-btn:hover:not(:disabled) {
    background: #B8923C;
    border-color: #B8923C;
    transform: translateY(-0.0625rem);
}

.save-status-btn:disabled {
    background: #2B2930;
    border-color: #2B2930;
    cursor: not-allowed;
    transform: none;
}

.save-status-btn.unsaved-changes {
    background: #ffc107;
    border-color: #ffc107;
    color: #000;
    animation: pulse 2s infinite;
}

@keyframes pulse {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.7; }
}

.save-status-btn svg {
    width: 1rem;
    height: 1rem;
    stroke-width: 2;
}

.spinner-small {
    border: 0.125rem solid #f3f3f3;
    border-top: 0.125rem solid #DAAF62;
    border-radius: 50%;
    width: 1rem;
    height: 1rem;
    animation: spin 1s linear infinite;
}

.status-message {
    position: absolute;
    top: 100%;
    left: 0;
    margin-top: 0.25rem;
    padding: 0.25rem 0.5rem;
    border-radius: 0.25rem;
    font-size: 0.75rem;
    white-space: nowrap;
    z-index: 10;
    min-width: max-content;
}

.status-message.success {
    background: #d4edda;
    color: #155724;
    border: 0.0625rem solid #c3e6cb;
}

.status-message.error {
    background: #f8d7da;
    color: #721c24;
    border: 0.0625rem solid #f1b0b7;
}

.status-message.info {
    background: #d1ecf1;
    color: #0c5460;
    border: 0.0625rem solid #b8daff;
}

/* Enhanced Category Badge for Order Status Context */
.category-badge.wedding { background: #e8f5e8; color: #1e7e34; }
.category-badge.memorial { background: #f4e8f7; color: #6f42c1; }
.category-badge.baby { background: #e1f5fe; color: #0277bd; }
.category-badge.other { background: #fff3cd; color: #856404; }

/* Table Container */
.table-container {
    overflow-x: auto;
    border-radius: 0.5rem;
    border: 0.0625rem solid #E0E0E0;
}

/* Responsive Reports */
@media (max-width: 768px) {
    .reports-grid {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }
    
    .report-card {
        padding: 1.5rem;
    }
    
    .stats-grid {
        grid-template-columns: repeat(auto-fit, minmax(9.375rem, 1fr));
        gap: 1rem;
    }
    
    .stat-number {
        font-size: 1.5rem;
    }
    
    .results-header {
        flex-direction: column;
        align-items: flex-start;
    }
    
    .report-table th,
    .report-table td {
        padding: 0.75rem 0.5rem;
        font-size: 1rem;
    }
    
    .pagination {
        gap: 0.25rem;
    }
    
    .page-btn {
        padding: 0.375rem 0.75rem;
        font-size: 0.75rem;
    }
}

/* ===== SERVICES PAGE STYLES ===== */
.services-page {
    background: linear-gradient(135deg, #FAFAF5 0%, #F5F5F0 100%);
}

/* Hero Section */

/* Services Section */
.services-section {
    padding: 5rem 0;
    background: #FFFFFF;
}

.section-title {
    font-size: 2.5rem;
    text-align: center;
    margin-bottom: 3rem;
    color: #202020;
    position: relative;
}

.section-title::after {
    content: '';
    position: absolute;
    bottom: -1rem;
    left: 50%;
    transform: translateX(-50%);
    width: 5rem;
    height: 0.25rem;
    background: linear-gradient(90deg, #DAAF62, #B8943F);
    border-radius: 0.125rem;
}

.services-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(18.75rem, 1fr));
    gap: 2rem;
    margin-top: 3rem;
}

.service-card {
    background: #FFFFFF;
    border-radius: 1rem;
    padding: 1.25rem;
    text-align: center;
    box-shadow: 0 0.625rem 1.875rem rgba(0,0,0,0.08);
    transition: all 0.3s ease;
    border: 0.0625rem solid #F0F0F0;
    position: relative;
    overflow: hidden;
}

.service-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 0.25rem;
    background: linear-gradient(90deg, #DAAF62, #B8943F);
    transform: scaleX(0);
    transition: transform 0.3s ease;
}

.service-card:hover::before {
    transform: scaleX(1);
}

.service-card:hover {
    transform: translateY(-0.3125rem);
    box-shadow: 0 1.25rem 2.5rem rgba(0,0,0,0.12);
}

.service-icon {
    width: 5rem;
    height: 5rem;
    margin: 0 auto 1.5rem;
    background: linear-gradient(135deg, #EDD7B1, #FAF5EB);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #DAAF62;
}

.service-title {
    font-size: 1.5rem;
    margin-bottom: 1rem;
    color: #202020;
}

.service-description {
    color: #666;
    line-height: 1.6;
}

/* Why Choose Section */

.features-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(15.625rem, 1fr));
    gap: 2rem;
    margin-top: 3rem;
}

.feature-item {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    text-align: center;
    padding: 1.125rem;
    background-color: #FFFFFF;
    border-radius: 1rem;
    box-shadow: 0 0.625rem 1.875rem rgba(0, 0, 0, 0.08);
    transition: all 0.3s ease;
    border: 0.0625rem solid #F0F0F0;
}

.feature-icon {
    width: 3.75rem;
    height: 3.75rem;
    margin: 0 auto;
    background: #DAAF62;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #FFFFFF;
}

/* Process Section */
.process-section {
    padding: 5rem 0;
    background: #FFFFFF;
}

.process-timeline {
    max-width: 50rem;
    margin: 3rem auto 0;
    position: relative;
}

.process-timeline::before {
    content: '';
    position: absolute;
    left: 1.6rem;
    top: 0;
    bottom: 0;
    width: 0.175rem;
    background: linear-gradient(180deg, #DAAF62, #B8943F);
}

.process-step {
    display: flex;
    align-items: flex-start;
    margin-bottom: 2.5rem;
    position: relative;
}

.process-step:last-child {
    margin-bottom: 0;
}

.step-number {
    width: 3.75rem;
    height: 3.75rem;
    background: linear-gradient(135deg, #DAAF62, #B8943F);
    color: #FFFFFF;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.5rem;
    font-weight: 400;
    margin-right: 2rem;
    flex-shrink: 0;
    position: relative;
    z-index: 2;
    box-shadow: 0 0.25rem 0.9375rem rgba(201, 163, 78, 0.3);
}

.step-content {
    flex: 1;
    padding-top: 0.5rem;
}

.step-title {
    font-size: 1.5rem;
    margin-bottom: 0.75rem;
    color: #202020;
}

.step-description {
    color: #666;
    line-height: 1.6;
}

/* CTA Section */
.cta-section {
    padding: 5rem 0;
    background: linear-gradient(135deg, #202020 0%, #2A2A2A 100%);
    color: #FFFFFF;
    text-align: center;
}

.cta-content {
    max-width: 37.5rem;
    margin: 0 auto;
}

.cta-title {
    font-size: 2.5rem;
    margin-bottom: 1.5rem;
    color: #FFFFFF;
}

.cta-description {
    font-size: 1.25rem;
    margin-bottom: 2rem;
    opacity: 0.9;
    line-height: 1.6;
}

.cta-button {
    display: inline-block;
    background: linear-gradient(135deg, #DAAF62, #B8943F);
    color: #FFFFFF;
    padding: 1rem 2.5rem;
    border-radius: 2rem;
    font-size: 1.125rem;
    font-weight: 400;
    text-decoration: none;
    transition: all 0.3s ease;
    border: none;
    cursor: pointer;
    box-shadow: 0 0.5rem 1.5625rem rgba(201, 163, 78, 0.3);
}

.cta-button:hover,
.cta-button:focus {
    transform: translateY(-0.125rem);
    box-shadow: 0 0.75rem 2.1875rem rgba(201, 163, 78, 0.4);
    color: #FFFFFF;
    text-decoration: none;
}

.cta-button:focus {
    outline: 0.1875rem solid #FFFFFF;
    outline-offset: 0.125rem;
}

/* Responsive Design */
@media (max-width: 768px) {
    .hero-title {
        font-size: 2rem;
    }
    
    .hero-subtitle {
        font-size: 1.125rem;
    }
    
    .section-title {
        font-size: 2rem;
    }
    
    .services-grid {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }
    
    .service-card {
        padding: 1.25rem;
    }
    
    .features-grid {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }
    
    .process-timeline::before {
        left: 1.5625rem;
    }
    
    .step-number {
        width: 3.125rem;
        height: 3.125rem;
        font-size: 1.25rem;
        margin-right: 1.5rem;
    }
    
    .cta-title {
        font-size: 2rem;
    }
    
    .cta-description {
        font-size: 1.125rem;
    }
}

@media (max-width: 480px) {
    .hero-section {
        padding: 3rem 0;
    }
    
    .hero-title {
        font-size: 1.75rem;
    }
    
    .section-title {
        font-size: 1.75rem;
    }
    
    .service-card {
        padding: 1.25rem;
    }
    
    .step-number {
        width: 2.8125rem;
        height: 2.8125rem;
        font-size: 1.125rem;
        margin-right: 1rem;
    }
    
    .cta-title {
        font-size: 1.75rem;
    }
    
    .cta-button {
        padding: 0.875rem 2rem;
        font-size: 1rem;
    }
}

/* High Contrast Mode Support */
@media (prefers-contrast: high) {
    .service-card {
        border: 0.125rem solid #000000;
    }
    
    .step-number {
        border: 0.125rem solid #000000;
    }
    
    .cta-button {
        border: 0.125rem solid #FFFFFF;
    }
}

/* Reduced Motion Support */
@media (prefers-reduced-motion: reduce) {
    .service-card,
    .cta-button {
        transition: none;
    }
    
    .service-card:hover {
        transform: none;
    }
    
    .cta-button:hover {
        transform: none;
    }
}

/* ===== CONTACT PAGE STYLES ===== */
.contact-page {
    background: linear-gradient(135deg, #FAFAF5 0%, #F5F5F0 100%);
}

/* Contact Hero Section */

/* Contact Form Section */
.contact-form-section {
    padding: 5rem 0;
    background: #FFFFFF;
}

.contact-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 5rem;
    max-width: 62.5rem;
    margin: 0 auto;
}

.contact-form-container h3,
.contact-info h3 {
    font-size: 2rem;
    margin-bottom: 2rem;
    color: #202020;
    text-align: center;
    font-weight: 300;
}

/* Contact Form */
.contact-form {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.form-group {
    display: flex;
    flex-direction: column;
}

.form-group label {
    font-weight: 400;
    margin-bottom: 0.25rem;
    color: #202020;
}

.form-group input,
.form-group select,
.form-group textarea {
    padding: 0.875rem;
    border: 0.125rem solid #E0E0E0;
    border-radius: 0.5rem;
    font-size: 1rem;
    transition: border-color 0.3s ease;
    background: #FFFFFF;
    color: #202020;
}

.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus {
    outline: none;
    border-color: #DAAF62;
    box-shadow: 0 0 0 0.1875rem rgba(201, 163, 78, 0.1);
}

.form-group textarea {
    resize: vertical;
    min-height: 9.5rem;
}

.contact-form .btn {
    margin-top: 1rem;
    padding: 1rem 2rem;
    font-size: 1.125rem;
    font-weight: 400;
}

/* Contact Information */
.contact-info {
    background: linear-gradient(135deg, #F8F6F0 0%, #F0EDE5 100%);
    padding: 1rem;
    border-radius: 1rem;
    border: 0.0625rem solid #E0E0E0;
}

.contact-info-inpage {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    background: linear-gradient(135deg, #524225 0%, #372C19 100%);
    border-radius: 1rem;
    border: 0.0625rem solid #372C19;
    text-align: center;
    padding: 2rem;
}

.contact-info-inpage h3 {
    color: #FFFFFF;
    font-weight: 300;
    margin-bottom: 2rem;
}

.contact-info-item {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    margin-bottom: 2rem;
    padding: 1rem;
    background: #FFFFFF;
    border-radius: 0.5rem;
    box-shadow: 0 0.125rem 0.625rem rgba(0,0,0,0.05);
}

.contact-info-item:last-child {
    border-bottom: none;
}

.contact-info-icon {
    width: 3rem;
    height: 3rem;
    background: #DAAF62;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #202020;
    margin-right: 1rem;
    flex-shrink: 0;
}

.contact-info-content {
    text-align: left;
}

.contact-info-content h4 {
    font-size: 1.125rem;
    margin-bottom: 0.5rem;
    color: #202020;
    font-weight: 500;
}

.contact-info-content p {
    text-align: left;
    color: #202020;
    margin: 0;
}

/* Responsive Design */
@media (max-width: 768px) {
    .contact-title {
        font-size: 2rem;
    }
    
    .contact-subtitle {
        font-size: 1.125rem;
    }
    
    .contact-grid {
        grid-template-columns: 1fr;
        gap: 2rem;
    }
    
    .contact-form-container h2,
    .contact-info h2 {
        font-size: 1.75rem;
    }

    .contact-info-item {
        padding: 0.75rem;
    }
    
    .contact-info-icon {
        width: 2.5rem;
        height: 2.5rem;
        margin-right: 0.75rem;
    }
    
    .info-item {
        padding: 0.75rem;
    }
    
    .info-icon {
        width: 2.5rem;
        height: 2.5rem;
        margin-right: 0.75rem;
    }
}

@media (max-width: 480px) {
    .contact-hero {
        padding: 3rem 0;
    }
    
    .contact-title {
        font-size: 1.75rem;
    }
    
    .contact-form-section {
        padding: 3rem 0;
    }
    
    .contact-form-container h2,
    .contact-info h2 {
        font-size: 1.5rem;
    }
    
    .form-group input,
    .form-group select,
    .form-group textarea {
        padding: 0.75rem;
    }
    
    .contact-form .btn {
        padding: 0.875rem 1.5rem;
        font-size: 1rem;
    }
}

/* ===== FAQ PAGE STYLES ===== */

/* FAQ Search Section */
.faq-search-container {
    max-width: 37.5rem;
    margin: 0 auto;
}

.faq-input-wrapper {
    position: relative;
    display: flex;
    align-items: center;
}

.filter-icon-inpage {
    position: relative;
    left: 2.5rem;
}

#faq-search {
    width: 100%;
    padding: 1rem 1rem 1rem 3rem;
    border: 0.125rem solid #82601A;
    border-radius: 2rem;
    font-size: 1.125rem;
    transition: all 0.3s ease;
    background: #FFFFFF;
    color: #333333;
    box-shadow: 0 0 0 0.1875rem rgba(197, 162, 83, 0.1);
    transition: all 0.3s ease;
}

#faq-search:focus {
    outline: none;
    border-color: #202020;
}

#faq-search::placeholder {
    color: #595959;
}

/* FAQ Categories Section */
.faq-categories-section {
    padding: 3rem 0;
    background: #FFFFFF;
}

.faq-categories {
    max-width: 56.25rem;
    margin: 0 auto;
}

.faq-category {
    margin-bottom: 3rem;
    border: 0.0625rem solid #E0E0E0;
    border-radius: 1rem;
    overflow: hidden;
    box-shadow: 0 0.25rem 0.9375rem rgba(0,0,0,0.08);
}

.category-title {
    background: linear-gradient(135deg, #524225 0%, #372C19 100%);
    color: #FFFFFF;
    padding: 1.5rem 2rem;
    margin: 0;
    font-size: 1.5rem;
    font-weight: 300;
}

.faq-items {
    background: #FFFFFF;
}

.faq-item {
    border-bottom: 0.0625rem solid #F0F0F0;
}

.faq-item:last-child {
    border-bottom: none;
}

.faq-question {
    width: 100%;
    padding: 1.5rem 2rem;
    background: none;
    border: none;
    text-align: left;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
    transition: background-color 0.3s ease;
    color: #333333;
    font-size: 1.125rem;
    font-weight: 400;
}

.faq-question:hover {
    background-color: #F8F8F8;
}

.faq-question:focus {
    outline: none;
    background-color: #F0F0F0;
    box-shadow: inset 0 0 0 0.125rem #C5A253;
}

.faq-icon {
    transition: transform 0.3s ease;
    color: #524225;
    flex-shrink: 0;
}

.faq-answer {
    padding: 1.125rem 1.5rem;
    background: #FAFAFA;
    color: #666;
    line-height: 1.6;
}

.faq-answer p {
    margin: 0;
}

/* No Results Message */
.no-results {
    text-align: center;
    padding: 4rem 2rem;
    background: #FFFFFF;
    border-radius: 1rem;
    border: 0.125rem dashed #E0E0E0;
}

.no-results-content h3 {
    color: #666;
    margin-bottom: 1rem;
}

.no-results-content p {
    color: #595959;
    margin: 0;
}

.no-results svg {
    color: #C5A253;
    margin-bottom: 1rem;
}

/* Why Choose Section */
.why-choose-faq-section {
    padding: 4rem 0;
    background: linear-gradient(135deg, #F8F6F0 0%, #F0EDE5 100%);
}

.why-choose-box {
    max-width: 62.5rem;
    margin: 0 auto;
    background: #FFFFFF;
    padding: 3rem;
    border-radius: 1rem;
    box-shadow: 0 0.625rem 1.875rem rgba(0,0,0,0.1);
    border: 0.0625rem solid #E0E0E0;
}

.why-choose-box h2 {
    text-align: center;
    margin-bottom: 2rem;
    color: #333333;
}

.selling-points {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(15.625rem, 1fr));
    gap: 2rem;
}

.selling-point {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
}

.point-icon {
    font-size: 1.5rem;
    flex-shrink: 0;
}

.point-content h3 {
    font-size: 1.125rem;
    margin-bottom: 0.5rem;
    color: #333333;
}

.point-content p {
    color: #666;
    line-height: 1.5;
    margin: 0;
}

/* Search Highlighting */
.highlight {
    background: #FFF3CD;
    color: #856404;
    padding: 0.125rem 0.25rem;
    border-radius: 0.25rem;
    font-weight: 400;
}

/* ===== CARE PAGE STYLES ===== */
.care-page {
    background: linear-gradient(135deg, #FAFAF5 0%, #F5F5F0 100%);
}

/* Care Hero Section */
.care-hero {
    background: linear-gradient(135deg, #C5A253 0%, #B8943F 100%);
    color: #FFFFFF;
    padding: 4rem 0;
    text-align: center;
    position: relative;
    overflow: hidden;
}

.care-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"><defs><pattern id="grain" width="100" height="100" patternUnits="userSpaceOnUse"><circle cx="25" cy="25" r="1" fill="rgba(255,255,255,0.1)"/><circle cx="75" cy="75" r="1" fill="rgba(255,255,255,0.1)"/><circle cx="50" cy="10" r="0.5" fill="rgba(255,255,255,0.1)"/></pattern></defs><rect width="100" height="100" fill="url(%23grain)"/></svg>');
    opacity: 0.3;
}

.care-hero-content {
    position: relative;
    z-index: 2;
}

.care-title {
    font-size: 2.5rem;
    font-weight: 400;
    margin-bottom: 1.5rem;
    color: #FFFFFF;
    text-shadow: 0 0.125rem 0.25rem rgba(0,0,0,0.1);
}

.care-subtitle {
    font-size: 1.25rem;
    max-width: 50rem;
    margin: 0 auto;
    line-height: 1.6;
    opacity: 0.95;
}

/* Care Section */
.care-section {
    padding: 4rem 0;
    background: #FFFFFF;
}

.care-section:nth-child(even) {
    background: linear-gradient(135deg, #F8F6F0 0%, #F0EDE5 100%);
}

.care-section .section-title {
    font-size: 2.5rem;
    text-align: center;
    margin-bottom: 3rem;
    color: #333333;
    position: relative;
}

.care-section .section-title::after {
    content: '';
    position: absolute;
    bottom: -1rem;
    left: 50%;
    transform: translateX(-50%);
    width: 5rem;
    height: 0.25rem;
    background: linear-gradient(90deg, #C5A253, #B8943F);
    border-radius: 0.125rem;
}

/* Care Guidelines */
.care-guidelines {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2rem;
    margin-bottom: 3rem;
}

.guideline-card {
    background: #FFFFFF;
    border-radius: 1rem;
    padding: 2rem;
    box-shadow: 0 0.25rem 0.9375rem rgba(0,0,0,0.08);
    border: 0.125rem solid transparent;
}

.guideline-card.do {
    border-color: #28A745;
}

.guideline-card.dont {
    border-color: #DC3545;
}

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

.guideline-icon {
    font-size: 2rem;
}

.guideline-header h3 {
    margin: 0;
    color: #333333;
}

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

.guideline-list li {
    padding: 0.5rem 0;
    border-bottom: 0.0625rem solid #F0F0F0;
    color: #666;
    position: relative;
    padding-left: 1.5rem;
}

.guideline-list li:last-child {
    border-bottom: none;
}

.guideline-list li::before {
    content: 'â€¢';
    position: absolute;
    left: 0;
    color: #C5A253;
    font-weight: bold;
}

/* Care Info Box */
.care-info-box {
    background: linear-gradient(135deg, #E3F2FD 0%, #BBDEFB 100%);
    border-radius: 1rem;
    padding: 2rem;
    display: flex;
    align-items: flex-start;
    gap: 1.5rem;
    border: 0.0625rem solid #90CAF9;
}

.info-icon {
    flex-shrink: 0;
}

.info-content h3 {
    margin-bottom: 1rem;
    color: #FFFFFF;
}

.info-content p {
    margin: 0;
    color: #202020;
}

/* Cleaning Methods */
.cleaning-methods {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(18.75rem, 1fr));
    gap: 2rem;
    margin-bottom: 3rem;
}

.cleaning-method {
    text-align: center;
    padding: 2rem;
    background: #FFFFFF;
    border-radius: 1rem;
    box-shadow: 0 0.25rem 0.9375rem rgba(0,0,0,0.08);
    border: 0.0625rem solid #E0E0E0;
}

.method-icon {
    color: #C5A253;
    margin-bottom: 1rem;
}

.cleaning-method h3 {
    margin-bottom: 1rem;
    color: #333333;
}

.cleaning-method p {
    color: #666;
    line-height: 1.6;
    margin: 0;
}

/* Cleaning Warning */
.cleaning-warning {
    background: linear-gradient(135deg, #FFF3CD 0%, #FFEAA7 100%);
    border-radius: 1rem;
    padding: 2rem;
    display: flex;
    align-items: flex-start;
    gap: 1.5rem;
    border: 0.0625rem solid #FFD93D;
}

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

.warning-content h3 {
    margin-bottom: 1rem;
    color: #856404;
}

.warning-content p {
    margin: 0;
    color: #856404;
    line-height: 1.6;
}

/* Storage Options */
.storage-options {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(18.75rem, 1fr));
    gap: 2rem;
    margin-bottom: 3rem;
}

.storage-option {
    text-align: center;
    padding: 2rem;
    background: #FFFFFF;
    border-radius: 1rem;
    box-shadow: 0 0.25rem 0.9375rem rgba(0,0,0,0.08);
    border: 0.0625rem solid #E0E0E0;
}

.option-icon {
    color: #C5A253;
    margin-bottom: 1rem;
}

.storage-option h3 {
    margin-bottom: 1rem;
    color: #333333;
}

.storage-option p {
    color: #666;
    line-height: 1.6;
    margin: 0;
}

/* Environment Tips */
.environment-tips {
    background: #FFFFFF;
    border-radius: 1rem;
    padding: 2rem;
    box-shadow: 0 0.25rem 0.9375rem rgba(0,0,0,0.08);
    border: 0.0625rem solid #E0E0E0;
}

.environment-tips h3 {
    text-align: center;
    margin-bottom: 2rem;
    color: #333333;
}

.environment-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(12.5rem, 1fr));
    gap: 1.5rem;
}

.env-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1rem;
    background: #F8F9FA;
    border-radius: 0.5rem;
    border: 0.0625rem solid #E0E0E0;
}

.env-label {
    font-weight: 400;
    color: #333333;
}

.env-value {
    color: #C5A253;
    font-weight: 400;
}

/* Importance Section */
.importance-content {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 3rem;
    align-items: start;
}

.importance-text p {
    color: #666;
    line-height: 1.6;
    margin-bottom: 1.5rem;
}

.importance-text ul {
    color: #666;
    line-height: 1.6;
}

.importance-text li {
    margin-bottom: 0.75rem;
}

/* Care Timeline */
.care-timeline {
    position: relative;
    padding-left: 2rem;
}

.care-timeline::before {
    content: '';
    position: absolute;
    left: 0.5rem;
    top: 0;
    bottom: 0;
    width: 0.125rem;
    background: linear-gradient(180deg, #C5A253, #B8943F);
}

.timeline-item {
    position: relative;
    margin-bottom: 2rem;
}

.timeline-dot {
    position: absolute;
    left: -1.5rem;
    top: 0.5rem;
    width: 1rem;
    height: 1rem;
    background: #C5A253;
    border-radius: 50%;
    border: 0.1875rem solid #FFFFFF;
    box-shadow: 0 0 0 0.125rem #C5A253;
}

.timeline-content h4 {
    margin-bottom: 0.5rem;
    color: #333333;
}

.timeline-content p {
    color: #666;
    margin: 0;
}

/* Care CTA Section */
.care-cta-section {
    padding: 4rem 0;
    background: linear-gradient(135deg, #333333 0%, #2A2A2A 100%);
    color: #FFFFFF;
    text-align: center;
}

.care-cta-content {
    max-width: 37.5rem;
    margin: 0 auto;
}

.care-cta-content h2 {
    font-size: 2.5rem;
    margin-bottom: 1.5rem;
    color: #FFFFFF;
}

.care-cta-content p {
    font-size: 1.25rem;
    margin-bottom: 2rem;
    opacity: 0.9;
    line-height: 1.6;
}

.care-cta-button {
    display: inline-block;
    background: linear-gradient(135deg, #C5A253, #B8943F);
    color: #FFFFFF;
    padding: 1rem 2.5rem;
    border-radius: 2rem;
    font-size: 1.125rem;
    font-weight: 400;
    text-decoration: none;
    transition: all 0.3s ease;
    border: none;
    cursor: pointer;
    box-shadow: 0 0.5rem 1.5625rem rgba(201, 163, 78, 0.3);
}

.care-cta-button:hover,
.care-cta-button:focus {
    transform: translateY(-0.125rem);
    box-shadow: 0 0.75rem 2.1875rem rgba(201, 163, 78, 0.4);
    color: #FFFFFF;
    text-decoration: none;
}

.care-cta-button:focus {
    outline: 0.1875rem solid #FFFFFF;
    outline-offset: 0.125rem;
}

/* Responsive Design for FAQ and Care Pages */
@media (max-width: 768px) {
    .faq-title,
    .care-title {
        font-size: 2rem;
    }
    
    .faq-subtitle,
    .care-subtitle {
        font-size: 1.125rem;
    }
    
    .care-section .section-title {
        font-size: 2rem;
    }
    
    .care-guidelines {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }
    
    .cleaning-methods,
    .storage-options {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }
    
    .importance-content {
        grid-template-columns: 1fr;
        gap: 2rem;
    }
    
    .environment-grid {
        grid-template-columns: 1fr;
    }
    
    .env-item {
        flex-direction: column;
        align-items: flex-start;
        gap: 0.5rem;
    }
    
    .why-choose-box {
        padding: 2rem;
    }
    
    .selling-points {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }
    
    .care-cta-content h2 {
        font-size: 2rem;
    }
    
    .care-cta-content p {
        font-size: 1.125rem;
    }
}

@media (max-width: 480px) {
    .faq-hero,
    .care-hero {
        padding: 3rem 0;
    }
    
    .faq-title,
    .care-title {
        font-size: 1.75rem;
    }
    
    .care-section .section-title {
        font-size: 1.75rem;
    }
    
    .faq-question {
        padding: 1.25rem 1.5rem;
        font-size: 1rem;
    }
    
    .faq-answer {
        padding: 0 1.5rem 1.25rem;
    }
    
    .category-title {
        padding: 1.25rem 1.5rem;
        font-size: 1.25rem;
    }
    
    .guideline-card,
    .cleaning-method,
    .storage-option {
        padding: 1.5rem;
    }
    
    .care-cta-content h2 {
        font-size: 1.75rem;
    }
    
    .care-cta-button {
        padding: 0.875rem 2rem;
        font-size: 1rem;
    }
}

/* High Contrast Mode Support */
@media (prefers-contrast: high) {
    .faq-category,
    .guideline-card,
    .cleaning-method,
    .storage-option {
        border: 0.125rem solid #000000;
    }
    
    .care-cta-button {
        border: 0.125rem solid #FFFFFF;
    }
}

/* Reduced Motion Support */
@media (prefers-reduced-motion: reduce) {
    .faq-icon,
    .care-cta-button {
        transition: none;
    }
    
    .faq-question:hover {
        background-color: #F8F8F8;
    }
    
    .care-cta-button:hover {
        transform: none;
    }
}

/* ===== ABOUT US PAGE STYLES ===== */

/* About Story Section */
.story-content {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 3rem;
    align-items: center;
}

.story-text p {
    margin-bottom: 1.5rem;
}

.story-text p:last-child {
    margin-bottom: 0;
}

.story-visual {
    display: flex;
    justify-content: center;
    align-items: center;
}

.story-image-placeholder {
    text-align: center;
    padding: 2rem;
    background: linear-gradient(135deg, #F8F6F0 0%, #F0EDE5 100%);
    border-radius: 1rem;
    border: 0.125rem solid #E0E0E0;
}

.story-image-placeholder svg {
    color: #C5A253;
    margin-bottom: 1rem;
}

.story-image-placeholder p {
    color: #666;
    font-weight: 400;
    margin: 0;
}

/* About Mission Section */
.mission-content {
    margin: 0 auto;
}

.mission-statement {
    text-align: center;
    margin-bottom: 3rem;
}

.mission-statement h3 {
    font-size: 1.75rem;
    margin-bottom: 1.5rem;
}

.mission-statement p {
    margin-bottom: 1.5rem;
    max-width: 55rem;
    margin-left: auto;
    margin-right: auto;
    text-align: left;
}

.mission-statement p:last-child {
    margin-bottom: 0;
}

.mission-values {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr));
    gap: 2rem;
}

.value-item {
    text-align: center;
    padding: 1.125rem;
    background: #FFFFFF;
    border-radius: 1rem;
    box-shadow: 0 0.25rem 0.9375rem rgba(0,0,0,0.08);
    border: 0.0625rem solid #E0E0E0;
}

.value-icon {
    font-size: 2.5rem;
    margin-bottom: 1rem;
}

.value-item h3 {
    font-size: 1.25rem;
    margin-bottom: 1rem;
}

.value-item p {
    margin: 0;
    text-align: left;
}

/* Why Choose Twinkle Tide Section */
.why-choose-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr));
    gap: 2rem;
    max-width: 75rem;
    margin: 0 auto;
}

.why-choose-item {
    padding: 1.125rem;
    background: #FFFFFF;
    border-radius: 1rem;
    border: 0.0625rem solid #E0E0E0;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    text-align: center;
}

.why-choose-item:hover {
    transform: translateY(-0.3125rem);
    box-shadow: 0 0.5rem 1.5625rem rgba(0,0,0,0.15);
}

.why-choose-icon {
    color: #C5A253;
    margin-bottom: 1.5rem;
}

.why-choose-item h3 {
    font-size: 1.5rem;
    margin-bottom: 1rem;
}

.why-choose-item p {
    line-height: 1.7;
    margin: 0;
    text-align: left;
}

/* Service Area Section */
.service-area-content {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 3rem;
    align-items: start;
}

.service-area-text p {
    margin-bottom: 1.5rem;
}

.service-area-text p:last-child {
    margin-bottom: 0;
}

.service-area-visual {
    display: flex;
    justify-content: center;
}

.location-highlights {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

.location-item {
    text-align: center;
    padding: 1.5rem;
    background: #FFFFFF;
    border-radius: 1rem;
    box-shadow: 0 0.25rem 0.9375rem rgba(0,0,0,0.08);
    border: 0.0625rem solid #E0E0E0;
}

.location-icon {
    font-size: 2rem;
    margin-bottom: 1rem;
}

.location-item h4 {
    font-size: 1.125rem;
    margin-bottom: 0.5rem;
}

.location-item p {
    font-size: 1rem;
    margin: 0;
    line-height: 1.5;
}

/* Personal Touch Section */
.personal-content {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 3rem;
    align-items: start;
}

.personal-story p {
    margin-bottom: 1.5rem;
}

.personal-story p:last-child {
    margin-bottom: 0;
}

.personal-quote {
    background: linear-gradient(135deg, #524225 0%, #372C19 100%);
    border-radius: 1rem;
    padding: 2rem;
    border: 0.0625rem solid #372C19;
    text-align: center;
}

.personal-quote blockquote {
    margin: 0 0 1.5rem 0;
    padding: 0;
    border: none;
}

.personal-quote blockquote p {
    font-size: 1.5rem;
    font-style: italic;
    color: #FFFFFF;
    font-weight: 300;
    line-height: 1.6;
    margin: 0 0 1rem 0;
}

.personal-quote cite {
    color: #FFFFFF;
    font-weight: 300;
    font-style: normal;
}

.quote-context {
    color: #FFFFFF;
    font-weight: 300;
    line-height: 1.6;
    margin: 0;
    font-size: 1.125rem;
}

/* About CTA Section */
.about-cta-section {
    padding: 4rem 0;
    background: linear-gradient(135deg, #333333 0%, #2A2A2A 100%);
    color: #FFFFFF;
    text-align: center;
}

.about-cta-content h2 {
    font-size: 2.5rem;
    margin-bottom: 1.5rem;
    color: #FFFFFF;
}

.about-cta-content p {
    font-size: 1.25rem;
    margin-bottom: 2rem;
    opacity: 0.9;
    line-height: 1.6;
}

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

.cta-buttons .btn {
    padding: 1rem 2rem;
    border-radius: 2rem;
    font-size: 1.125rem;
    font-weight: 400;
    text-decoration: none;
    transition: all 0.3s ease;
    border: none;
    cursor: pointer;
}

.cta-buttons .btn-primary {
    background: linear-gradient(135deg, #C5A253, #B8943F);
    color: #FFFFFF;
    box-shadow: 0 0.5rem 1.5625rem rgba(197, 162, 83, 0.3);
}

.cta-buttons .btn-primary:hover,
.cta-buttons .btn-primary:focus {
    transform: translateY(-0.125rem);
    box-shadow: 0 0.75rem 2.1875rem rgba(197, 162, 83, 0.4);
    color: #FFFFFF;
    text-decoration: none;
}

.cta-buttons .btn-secondary {
    background: transparent;
    color: #FFFFFF;
    border: 0.125rem solid #FFFFFF;
}

.cta-buttons .btn-secondary:hover,
.cta-buttons .btn-secondary:focus {
    background: #82601A;
    color: #FFFFFF;
    transform: translateY(-0.125rem);
    text-decoration: none;
}

.cta-buttons .btn:focus {
    outline: 0.1875rem solid #FFFFFF;
    outline-offset: 0.125rem;
}

/* Responsive Design for About Page */
@media (max-width: 768px) {
    .about-title {
        font-size: 2rem;
    }
    
    .about-subtitle {
        font-size: 1.125rem;
    }
    
    .story-content,
    .service-area-content,
    .personal-content {
        grid-template-columns: 1fr;
        gap: 2rem;
    }
    
    .story-visual {
        order: -1;
    }
    
    .story-image-placeholder {
        padding: 1.5rem;
    }
    
    .story-image-placeholder svg {
        width: 5rem;
        height: 5rem;
    }
    
    .why-choose-grid {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }
    
    .mission-values {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }
    
    .location-highlights {
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: center;
    }
    
    .location-item {
        flex: 1;
        min-width: 12.5rem;
    }
    
    .cta-buttons {
        flex-direction: column;
        align-items: center;
    }
    
    .cta-buttons .btn {
        width: 100%;
        max-width: 18.75rem;
    }
}

@media (max-width: 480px) {
    .about-hero {
        padding: 3rem 0;
    }
    
    .about-title {
        font-size: 1.75rem;
    }
    
    .about-subtitle {
        font-size: 1rem;
    }
    
    .section-title {
        font-size: 1.75rem;
    }
    
    .story-text p,
    .mission-statement p,
    .service-area-text p,
    .personal-story p {
        font-size: 1rem;
    }
    
    .why-choose-item,
    .value-item,
    .location-item {
        padding: 1.5rem;
    }
    
    .personal-quote {
        padding: 1.5rem;
    }
    
    .personal-quote blockquote p {
        font-size: 1.125rem;
    }
    
    .about-cta-content h2 {
        font-size: 1.75rem;
    }
    
    .about-cta-content p {
        font-size: 1.125rem;
    }
}

/* High Contrast Mode Support */
@media (prefers-contrast: high) {
    .why-choose-item,
    .value-item,
    .location-item,
    .personal-quote {
        border: 0.125rem solid #000000;
    }
    
    .cta-buttons .btn-secondary {
        border: 0.125rem solid #FFFFFF;
    }
}

/* Reduced Motion Support */
@media (prefers-reduced-motion: reduce) {
    .why-choose-item {
        transition: none;
    }
    
    .why-choose-item:hover {
        transform: none;
    }
    
    .cta-buttons .btn:hover {
        transform: none;
    }
}

/* ===== MOBILE SEARCH RESPONSIVENESS ===== */
@media (max-width: 768px) {
    .header-actions-column {
        flex-direction: column;
        gap: 1rem;
        width: 100%;
        order: 2;
    }
    
    .search-container {
        order: 1;
        width: 100%;
    }
    
    .search-form {
        width: 100%;
        min-width: auto;
    }
    
    .search-form input {
        min-width: auto;
        flex: 1;
        font-size: 1rem;
    }
    
    .user-actions {
        order: 2;
        justify-content: center;
        width: 100%;
    }
}

@media (max-width: 480px) {
    .header-actions-column {
        gap: 0.75rem;
    }
    
    .search-container {
        width: 100%;
    }
    
    .search-form {
        padding: 0.375rem;
        border-radius: 1.5rem;
    }
    
    .search-form input {
        padding: 0.375rem 0.75rem;
        font-size: 1rem;
    }
    
    .search-form button {
        padding: 0.75rem;
        min-width: 2rem;
        min-height: 2rem;
    }
    
    .user-actions {
        gap: 0.75rem;
    }
    
    .user-actions a {
        padding: 0.375rem 0.75rem;
        font-size: 1rem;
    }
}

/* ===== SEARCH VALIDATION ENHANCEMENTS ===== */
.search-form input:invalid {
    border-color: transparent;
}

.search-form input:focus:invalid {
    border-color: #A21616;
}

/* ===== ACCESSIBILITY ENHANCEMENTS ===== */
.search-form button:focus-visible {
    outline: 0.1875rem solid #DAAF62;
    outline-offset: 0.125rem;
}

.search-form input:focus-visible {
    outline: 0.125rem solid #DAAF62;
    outline-offset: 0.125rem;
}

/* ===== HIGH CONTRAST MODE SUPPORT ===== */
@media (prefers-contrast: high) {
    .search-form {
        border: 0.125rem solid #000000;
    }
    
    .search-form:focus-within {
        border-color: #000000;
        box-shadow: 0 0 0 0.1875rem #FFFFFF;
    }
    
    .search-form input {
        color: #000000;
    }
    
    .search-form button {
        border: 0.125rem solid #000000;
    }
}

/* ===== REDUCED MOTION SUPPORT ===== */
@media (prefers-reduced-motion: reduce) {
    .search-form,
    .search-form button {
        transition: none;
    }
    
    .search-form button:hover,
    .search-form button:focus {
        transform: none;
    }
    
    .search-form button:active {
        transform: none;
    }
}

/* ===== EXTRA SMALL SCREEN OPTIMIZATION ===== */
@media (max-width: 360px) {
    .header-actions-row {
        gap: 0.5rem;
    }
    
    .search-container {
        width: 100%;
    }
    
    .search-form {
        padding: 0.25rem;
        border-radius: 1.25rem;
    }
    
    .search-form input {
        padding: 0.25rem 0.5rem;
        font-size: 0.8125rem;
    }
    
    .search-form button {
        padding: 0.75rem;
        min-width: 1.75rem;
        min-height: 1.75rem;
    }
    
    .search-form button svg {
        width: 1rem;
        height: 1rem;
    }
    
    .user-actions {
        gap: 0.5rem;
    }
    
    .user-actions a {
        padding: 0.25rem 0.5rem;
        font-size: 0.8125rem;
    }
}

/* ===== SEARCH FORM ENHANCEMENTS ===== */
.search-form {
    position: relative;
    overflow: hidden;
}

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

.search-form:focus-within::before {
    left: 100%;
}

/* ===== SEARCH INPUT PLACEHOLDER ANIMATION ===== */
.search-form input::placeholder {
    transition: opacity 0.3s ease, transform 0.3s ease;
}

.search-form:focus-within input::placeholder {
    opacity: 0.6;
    transform: translateX(0.3125rem);
}

/* ===== SEARCH BUTTON HOVER EFFECTS ===== */
.search-form button {
    position: relative;
    overflow: hidden;
}

.search-form button::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 0;
    height: 0;
    background: rgba(255,255,255,0.2);
    border-radius: 50%;
    transform: translate(-50%, -50%);
    transition: width 0.3s ease, height 0.3s ease;
}

.search-form button:hover::before {
    width: 100%;
    height: 100%;
}

/* ===== SEARCH ERROR ANIMATION ===== */
.search-error-message {
    animation: slideDown 0.3s ease-out;
}

@keyframes slideDown {
    from {
        opacity: 0;
        transform: translateY(-0.625rem);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* ===== SEARCH FORM FOCUS STATES ===== */
.search-form:focus-within {
    transform: translateY(-0.0625rem);
    box-shadow: 0 0.25rem 0.75rem rgba(201, 163, 78, 0.15);
}

/* ===== SEARCH INPUT TYPING INDICATOR ===== */
.search-form input:not(:placeholder-shown) {
    background: rgba(255,255,255,0.1);
}

/* ===== SEARCH BUTTON ACTIVE STATE ===== */
.search-form button:active {
    transform: scale(0.95);
    transition: transform 0.1s ease;
}

/* ===== SEARCH FORM DISABLED STATE ===== */
.search-form:disabled {
    opacity: 0.6;
    pointer-events: none;
}

.search-form:disabled input,
.search-form:disabled button {
    cursor: not-allowed;
}

/* ===== PRODUCTS PAGE STYLES ===== */

/* Products Controls Section */
.products-controls {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

/* Products Search */
.products-search {
    width: 100%;
    max-width: 31.25rem;
    margin: 0 auto;
}

.products-search-form {
    display: flex;
    align-items: center;
    background: #F5F5F5;
    border-radius: 2rem;
    padding: 0.5rem;
    border: 0.125rem solid #82601A;
    box-shadow: 0 0 0 0.1875rem rgba(197, 162, 83, 0.1);
    transition: all 0.3s ease;
}

.products-search-form:focus-within {
    border-color: #202020;
}

.products-search-form .search-input-wrapper {
    display: flex;
    align-items: center;
    flex: 1;
    padding: 0 1rem;
}

.products-search-form input {
    border: none;
    background: none;
    padding: 0.5rem 0;
    font-size: 1rem;
    width: 100%;
    outline: none;
    color: #333333;
}

.products-search-form input::placeholder {
    color: #666666;
    opacity: 0.8;
}

.search-submit-btn {
    background: #82601A;
    border: none;
    color: #FFFFFF;
    padding: 0.5rem;
    border-radius: 50%;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
    flex-shrink: 0;
    min-width: 2.25rem;
    min-height: 2.25rem;
}

.search-submit-btn:hover,
.search-submit-btn:focus {
    background: #202020;
    outline: none;
    transform: scale(1.05);
}

/* Products Controls Row */
.products-controls-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
}

.control-group {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.control-label {
    font-weight: 400;
    color: #202020;
    font-size: 1rem;
}

.control-select {
    padding: 0.5rem 1rem;
    border: 0.0625rem solid #E0E0E0;
    border-radius: 0.5rem;
    background: #FFFFFF;
    color: #202020;
    font-size: 1rem;
    cursor: pointer;
    transition: all 0.3s ease;
}

.control-select:hover,
.control-select:focus {
    border-color: #C5A253;
    outline: none;
    box-shadow: 0 0 0 0.1875rem rgba(197, 162, 83, 0.1);
}

.results-count {
    color: #666666;
    font-size: 1rem;
}

/* ===== PRODUCTS FILTERS ===== */
.products-filters {
    background: #F6EBD8;
    padding: 1.5rem;
    border-radius: 0.75rem;
    border: 0.0625rem solid #EDD7B1;
    margin-bottom: 1rem;
}

.filters-form {
    width: 100%;
}

.filters-row {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(12.5rem, 1fr));
    gap: 1rem;
    align-items: end;
}

.filter-group {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.filter-label {
    font-weight: 400;
    color: #202020;
    font-size: 1rem;
}

.filter-select,
.filter-input {
    padding: 0.75rem 1rem;
    border: 0.0625rem solid #E0E0E0;
    border-radius: 0.5rem;
    background: #FFFFFF;
    color: #333333;
    font-size: 1rem;
    transition: all 0.3s ease;
    width: 100%;
}

.filter-select:hover,
.filter-select:focus,
.filter-input:hover,
.filter-input:focus {
    border-color: #C5A253;
    outline: none;
    box-shadow: 0 0 0 0.1875rem rgba(197, 162, 83, 0.1);
}

.filter-input::placeholder {
    color: #595959;
}

.btn-outline {
    background: transparent;
    color: #202020;
    border: 0.125rem solid #DAAF62;
    padding: 0.75rem 1.5rem;
    border-radius: 0.5rem;
    font-weight: 400;
    text-decoration: none;
    display: inline-block;
    transition: all 0.3s ease;
    cursor: pointer;
    text-align: center;
}

.btn-outline:hover,
.btn-outline:focus {
    background: #82601A;
    color: #FFFFFF;
    outline: none;
    transform: translateY(-0.125rem);
    box-shadow: 0 0.25rem 0.75rem rgba(197, 162, 83, 0.3);
    text-decoration: none;
}

/* Filter Button Improvements */
.filters-form .btn {
    width: 100%;
    margin-top: 0.5rem;
}

.filters-form .btn-outline {
    margin-top: 0.5rem;
}

/* Filter Form Validation */
.filter-input:invalid {
    border-color: #9F2214;
    box-shadow: 0 0 0 0.1875rem rgba(231, 76, 60, 0.1);
}

.filter-input:invalid:focus {
    border-color: #9F2214;
    box-shadow: 0 0 0 0.1875rem rgba(231, 76, 60, 0.2);
}

/* Responsive Filters */
@media (max-width: 768px) {
    .filters-row {
        grid-template-columns: 1fr;
        gap: 1rem;
    }
    
    .filter-group {
        margin-bottom: 0.5rem;
    }
}

/* Pagination Section */
.pagination-section {
    padding: 1.5rem 0;
    background: #FFFFFF;
    border-bottom: 0.0625rem solid #E0E0E0;
}

.pagination-section.pagination-top {
    border-bottom: 0.0625rem solid #E0E0E0;
}

.pagination-section.pagination-bottom {
    border-top: 0.0625rem solid #E0E0E0;
}

.pagination-wrapper {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
}

.pagination-info {
    color: #666666;
    font-size: 1rem;
}

.pagination {
    display: flex;
    align-items: center;
}

.pagination-list {
    display: flex;
    align-items: center;
    gap: 0.25rem;
    list-style: none;
    margin: 0;
    padding: 0;
}

.pagination-link {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 2.5rem;
    height: 2.5rem;
    padding: 0.5rem;
    border-radius: 0.5rem;
    color: #333333;
    text-decoration: none;
    font-weight: 400;
    transition: all 0.3s ease;
    border: 0.0625rem solid transparent;
}

.pagination-link:hover,
.pagination-link:focus {
    background: #F5F5F5;
    border-color: #C5A253;
    color: #C5A253;
    outline: none;
}

.pagination-link.current {
    background: #C5A253;
    color: #FFFFFF;
    border-color: #C5A253;
}

.pagination-link.current:hover,
.pagination-link.current:focus {
    background: #B8943F;
    border-color: #B8943F;
}

/* Products Grid Section */
.products-grid-section {
    padding: 3rem 0;
    background: #FFFFFF;
}

.products-grid {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 1.5rem;
    margin: 0 auto;
}

/* Product Card */
.product-card {
    background: #FFFFFF;
    border-radius: 1rem;
    box-shadow: 0 0.25rem 0.9375rem rgba(0,0,0,0.08);
    border: 0.0625rem solid #E0E0E0;
    overflow: hidden;
    transition: all 0.3s ease;
    position: relative;
    display: flex;
    flex-direction: column;
}

.product-card:hover {
    transform: translateY(-0.3125rem);
    box-shadow: 0 0.5rem 1.5625rem rgba(0,0,0,0.15);
}

.product-image-container {
    position: relative;
    width: 100%;
    height: 0;
    padding-bottom: 100%; /* Creates a square aspect ratio */
    overflow: hidden;
    background: #F8F6F0;
}

.product-image-container img {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    aspect-ratio: 1 !important;
}

.product-image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100% !important;
    height: 100% !important;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    transition: all 0.3s ease;
    cursor: pointer;
    object-fit: cover !important;
    aspect-ratio: 1 !important;
}

.product-image:hover {
    transform: scale(1.05);
}

.product-image::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg, #F8F6F0 0%, #E8E8E3 100%);
    opacity: 0;
    transition: opacity 0.3s ease;
    z-index: -1;
}

/* Fallback background for product images */
.product-image {
    background-color: #F8F6F0;
}

/* Loading state for background images */
.product-image[style*="background-image"] {
    background-color: transparent;
}

.product-image:hover::before {
    opacity: 0.1;
}

/* Responsive product image styles */
@media (max-width: 768px) {
    .product-image {
        transition: transform 0.2s ease;
    }
    
    .product-image:hover {
        transform: scale(1.02);
    }
}

/* Customer Order Form Styles */
.order-form-section {
    padding: 3rem 0;
    background: linear-gradient(135deg, #F8F6F0 0%, #FFFFFF 100%);
}

.customer-order-form {
    max-width: 50rem;
    margin: 0 auto;
    background: #FFFFFF;
    padding: 2.5rem;
    border-radius: 1rem;
    box-shadow: 0 0.625rem 2.5rem rgba(0, 0, 0, 0.1);
}

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

.customer-order-form .form-group.full-width {
    grid-column: 1 / -1;
}

.customer-order-form .form-group {
    display: flex;
    flex-direction: column;
}

.customer-order-form label {
    font-weight: 400;
    color: #2C3E50;
    margin-bottom: 0.5rem;
    font-size: 0.95rem;
}

.customer-order-form input,
.customer-order-form select,
.customer-order-form textarea {
    padding: 0.875rem 1rem;
    border: 0.125rem solid #E8E8E3;
    border-radius: 0.5rem;
    font-size: 1rem;
    transition: all 0.3s ease;
    background: #FFFFFF;
}

.customer-order-form input:focus,
.customer-order-form select:focus,
.customer-order-form textarea:focus {
    outline: none;
    border-color: #8B5A3C;
    box-shadow: 0 0 0 0.1875rem rgba(139, 90, 60, 0.1);
}

.customer-order-form input[readonly] {
    background-color: #F8F9FA;
    color: #2B2930;
    cursor: not-allowed;
}

.customer-order-form textarea {
    resize: vertical;
    min-height: 7.5rem;
    font-family: inherit;
}

.customer-order-form .form-help {
    font-size: 0.85rem;
    color: #2B2930;
    margin-top: 0.5rem;
    font-style: italic;
}

.customer-order-form .form-actions {
    display: flex;
    gap: 1rem;
    justify-content: center;
    margin-top: 2rem;
    flex-wrap: wrap;
}

.customer-order-form .btn {
    min-width: 8.75rem;
    padding: 0.875rem 1.5rem;
    font-weight: 400;
}

.error-messages {
    background: #FEF2F2;
    border: 0.0625rem solid #FECACA;
    border-radius: 0.5rem;
    padding: 1.5rem;
    margin-bottom: 2rem;
    color: #DC2626;
}

.error-messages h2 {
    color: #DC2626;
    font-size: 1.1rem;
    margin-bottom: 1rem;
}

.error-messages ul {
    margin: 0;
    padding-left: 1.5rem;
}

.error-messages li {
    margin-bottom: 0.5rem;
}

/* Customer Order Page - Product Gallery Styles */
.product-gallery {
    display: flex;
    flex-direction: column;
    gap: 0.9375rem;
    max-width: 31.25rem;
}

.main-image-container {
    width: 100%;
    aspect-ratio: 1;
    border-radius: 0.75rem;
    overflow: hidden;
    box-shadow: 0 0.25rem 1.25rem rgba(0, 0, 0, 0.1);
}

.main-image-container img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
}

.main-image-container:hover img {
    transform: scale(1.05);
}

.thumbnail-gallery-container {
    position: relative;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    max-width: 100%;
}

.thumbnail-gallery {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(4.375rem, 1fr));
    gap: 0.75rem;
    padding: 0.5rem 0 0.75rem 0;
    max-width: 100%;
    align-content: space-between;
    align-items: baseline;
    justify-content: space-around;
    overflow: hidden;
    flex: 1;
}

.gallery-nav {
    background: rgba(201, 163, 78, 0.9);
    border: none;
    border-radius: 50%;
    width: 2rem;
    height: 2rem;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    font-size: 1.125rem;
    color: white;
    transition: all 0.3s ease;
    z-index: 10;
    box-shadow: 0 0.125rem 0.5rem rgba(0, 0, 0, 0.2);
    flex-shrink: 0;
}

.gallery-nav:hover {
    background: rgba(201, 163, 78, 1);
    transform: scale(1.1);
    box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.3);
}

.gallery-nav:focus {
    outline: 0.125rem solid #C9A34E;
    outline-offset: 0.125rem;
}

.gallery-nav:disabled {
    background: rgba(201, 163, 78, 0.3);
    cursor: not-allowed;
    transform: none;
}

.gallery-prev {
    order: -1;
}

.gallery-next {
    order: 1;
}

.thumbnail-item {
    width: 4.375rem;
    height: 4.375rem;
    aspect-ratio: 1;
    border-radius: 0.375rem;
    cursor: pointer;
    transition: all 0.2s ease;
    border: 0.125rem solid transparent;
    box-shadow: 0 0.125rem 0.5rem rgba(0, 0, 0, 0.1);
    justify-self: start;
    overflow: hidden;
    position: relative;
    order: var(--thumbnail-order, 0);
}

.thumbnail-item:hover {
    transform: scale(1.08);
    border-color: #C9A34E;
    box-shadow: 0 0.25rem 0.75rem rgba(201, 163, 78, 0.3);
}

.thumbnail-item:focus {
    outline: 0.125rem solid #C9A34E;
    outline-offset: 0.125rem;
}

.thumbnail-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 0.25rem;
    transition: transform 0.2s ease;
}

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

/* Thumbnail item visibility states */
.thumbnail-item.hidden {
    display: none !important;
}

.thumbnail-item.visible {
    display: block !important;
}

/* Thumbnail item selected state */
.thumbnail-item.selected {
    border: 0.125rem solid #C9A34E !important;
    box-shadow: 0 0.25rem 0.75rem rgba(201, 163, 78, 0.3) !important;
}

.thumbnail-item:not(.selected) {
    border: 0.125rem solid transparent;
    box-shadow: 0 0.125rem 0.5rem rgba(0, 0, 0, 0.1);
}

/* Gallery navigation button states */
.gallery-nav.dimmed {
    opacity: 0.7;
}

.gallery-nav:not(.dimmed) {
    opacity: 1;
}

/* Customer Order Page - Product Info Layout */
.customer-order-page .product-info {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 3.75rem;
    margin-top: 2.5rem;
    max-width: 75rem;
    margin-left: auto;
    margin-right: auto;
}

.product-gallery-section {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
}

.description-section {
    background: #fff;
    padding: 1.875rem;
    border-radius: 0.75rem;
    box-shadow: 0 0.125rem 0.625rem rgba(0, 0, 0, 0.1);
    margin-top: 1.25rem;
}

.product-header h3 {
    font-size: 1.5em;
    font-weight: 600;
    margin-bottom: 0.5rem;
    color: #2c3e50;
}

.product-header p {
    color: #7f8c8d;
    font-size: 0.9em;
    margin-bottom: 1.25rem;
}

.product-details-section {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
}

.customer-order-page .form-section {
    margin-top: 2.5rem;
}

.order-form {
    background: #fff;
    padding: 1.875rem;
    border-radius: 0.75rem;
    box-shadow: 0 0.125rem 0.625rem rgba(0, 0, 0, 0.1);
}

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

.order-form .form-group.full-width {
    grid-column: 1 / -1;
}

.order-form .form-group {
    display: flex;
    flex-direction: column;
}

.order-form label {
    font-weight: 400;
    color: #2C3E50;
    margin-bottom: 0.5rem;
    font-size: 0.95rem;
}

.order-form input,
.order-form select,
.order-form textarea {
    padding: 0.875rem 1rem;
    border: 0.125rem solid #E8E8E3;
    border-radius: 0.5rem;
    font-size: 1rem;
    transition: all 0.3s ease;
    background: #FFFFFF;
    width: 100%;
    box-sizing: border-box;
}

.order-form input:focus,
.order-form select:focus,
.order-form textarea:focus {
    outline: none;
    border-color: #8B5A3C;
    box-shadow: 0 0 0 0.1875rem rgba(139, 90, 60, 0.1);
}

.order-form input[readonly] {
    background-color: #F8F9FA;
    color: #2B2930;
    cursor: not-allowed;
}

.order-form textarea {
    resize: vertical;
    min-height: 7.5rem;
    font-family: inherit;
}

.order-form .form-help {
    font-size: 0.85rem;
    color: #2B2930;
    margin-top: 0.5rem;
    font-style: italic;
}

.order-form .form-actions {
    display: flex;
    gap: 1rem;
    justify-content: center;
    margin-top: 2rem;
    flex-wrap: wrap;
}

.order-form .btn {
    min-width: 8.75rem;
    padding: 0.875rem 1.5rem;
    font-weight: 400;
}

.form-columns {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1.875rem;
}

.form-column {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
}

.product-details-card {
    background: #fff;
    padding: 1.875rem;
    border-radius: 0.75rem;
    box-shadow: 0 0.125rem 0.625rem rgba(0, 0, 0, 0.1);
}

.product-details .form-group {
    margin-bottom: 1.25rem;
}

.product-details .form-group label {
    display: block;
    margin-bottom: 0.3125rem;
    font-weight: 500;
}

.product-details .form-group input,
.product-details .form-group textarea {
    width: 100%;
    padding: 0.75rem;
    border: 0.0625rem solid #ddd;
    border-radius: 0.375rem;
    font-size: 1rem;
}

.product-details .form-group input:focus,
.product-details .form-group textarea:focus {
    outline: none;
    border-color: #C9A34E;
    box-shadow: 0 0 0 0.125rem rgba(0, 123, 255, 0.25);
}

.product-details .form-group small {
    display: block;
    margin-top: 0.3125rem;
    color: #666;
    font-size: 0.9em;
}

.attribute-section {
    margin: 1.25rem 0;
}

.attribute-title {
    font-weight: 600;
    margin-bottom: 0.625rem;
    color: #333;
}

.attribute-options {
    display: flex;
    flex-wrap: wrap;
    gap: 0.625rem;
}

.attribute-option {
    border: 0.125rem solid #e0e0e0;
    border-radius: 0.5rem;
    padding: 0.625rem 0.9375rem;
    cursor: pointer;
    transition: all 0.3s;
    text-align: center;
    min-width: 6.25rem;
}

.attribute-option:hover {
    border-color: #C9A34E;
}

.attribute-option.selected {
    border-color: #C9A34E;
    background-color: #C9A34E;
    color: white;
}

.attribute-option input[type="radio"] {
    display: none;
}

.attribute-image {
    margin-top: 0.5rem;
    width: 3.75rem;
    height: 3.75rem;
    border-radius: 0.5rem;
    overflow: hidden;
    cursor: pointer;
    transition: transform 0.3s ease;
}

.attribute-image:hover {
    transform: scale(1.1);
}

.attribute-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 0.5rem;
}

.attribute-price {
    margin-top: 0.5rem;
    font-size: 0.9em;
    color: #C9A34E;
    font-weight: 600;
    text-align: center;
}

.price-display {
    background: #fff;
    border: 0.125rem solid #C9A34E;
    border-radius: 0.5rem;
    padding: 1.25rem;
    margin: 1.25rem 0;
}

.price-breakdown {
    margin: 0.625rem 0;
}

.price-breakdown div {
    margin: 0.3125rem 0;
}

.price-breakdown .original-price {
    color: #666;
    text-decoration: line-through;
}

.price-breakdown div:nth-child(2) {
    color: #28a745;
    font-weight: 600;
}

.total-price {
    font-size: 1.5em;
    font-weight: bold;
    color: #C9A34E;
    margin-top: 0.625rem;
}

.quantity-input {
    margin: 1.25rem 0;
}

.quantity-input input {
    width: 6.25rem;
    padding: 0.625rem;
    border: 0.0625rem solid #ddd;
    border-radius: 0.25rem;
    text-align: center;
}



.btn-order {
    background: #C9A34E;
    color: white;
    padding: 0.9375rem 1.875rem;
    border: none;
    border-radius: 0.375rem;
    font-size: 1.125rem;
    font-weight: 600;
    cursor: pointer;
    width: 100%;
    transition: all 0.3s;
}

.btn-order:hover {
    background: #1A1A1A;
}

.btn-order:disabled {
    background: #6c757d;
    cursor: not-allowed;
    opacity: 0.6;
}

/* Customer Order Page - Similar Items Section */
/*
.similar-items-section {
    margin-top: 4rem;
    padding: 3rem 0;
    background: #F8F8F3;
}

.similar-items-section .section-title {
    text-align: center;
    margin-bottom: 3rem;
}

.similar-items-section .section-title h2 {
    font-size: 2rem;
    font-weight: 600;
    color: #2c3e50;
    margin-bottom: 0.5rem;
}

.similar-items-section .section-title p {
    color: #7f8c8d;
    font-size: 1.1rem;
}
    */

/* Customer Order Page - Page Specific Styles */
.customer-order-page h1 {
    text-align: center;
    margin-bottom: 2.5rem;
}

/* Responsive Styles for Customer Order Page */
@media (max-width: 768px) {
    .customer-order-page .product-info {
        grid-template-columns: 1fr;
        gap: 1.875rem;
    }
    
    .product-gallery {
        max-width: 100%;
    }
    
    .thumbnail-gallery-container {
        gap: 0.375rem;
    }
    
    .thumbnail-gallery {
        grid-template-columns: repeat(auto-fit, minmax(3.75rem, 1fr));
        gap: 0.5rem;
        padding: 0.375rem 0 0.625rem 0;
    }
    
    .thumbnail-item {
        width: 3.75rem;
        height: 3.75rem;
    }
    
    .gallery-nav {
        width: 1.75rem;
        height: 1.75rem;
        font-size: 1rem;
    }
    
    .form-columns {
        grid-template-columns: 1fr;
        gap: 1.25rem;
    }
    
    .form-row {
        grid-template-columns: 1fr;
        gap: 0.9375rem;
    }
    
    .order-form .form-row {
        grid-template-columns: 1fr;
        gap: 0.9375rem;
    }
    
    .order-form {
        padding: 1.25rem;
    }
    
    .customer-order-form {
        padding: 1.25rem;
    }
}

/* Success Page Styles */
.success-section {
    padding: 4rem 0;
    background: linear-gradient(135deg, #F0F9FF 0%, #FFFFFF 100%);
    min-height: 70vh;
    display: flex;
    align-items: center;
}

.success-content {
    max-width: 50rem;
    margin: 0 auto;
    text-align: center;
    background: #FFFFFF;
    padding: 3rem;
    border-radius: 1.25rem;
    box-shadow: 0 1.25rem 3.75rem rgba(0, 0, 0, 0.1);
}

.success-icon {
    margin-bottom: 2rem;
    color: #165F35;
}

.success-icon svg {
    width: 5rem;
    height: 5rem;
    stroke: currentColor;
    stroke-width: 2;
}

.success-content h2 {
    color: #165F35;
    font-size: 2.5rem;
    margin-bottom: 1rem;
    font-weight: 400;
}

.success-message {
    font-size: 1.2rem;
    color: #2B2930;
    margin-bottom: 2rem;
    line-height: 1.6;
}

.order-details {
    background: #F8FAFC;
    border-radius: 0.75rem;
    padding: 2rem;
    margin-bottom: 2.5rem;
    text-align: left;
}

.order-details h3 {
    color: #202020;
    font-size: 1.5rem;
    margin-bottom: 1.5rem;
    text-align: center;
}

.order-info {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
}

.info-item {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    margin-bottom: 2rem;
    padding: 1rem;
    background: #FFFFFF;
    border-radius: 0.5rem;
    box-shadow: 0 0.125rem 0.625rem rgba(0,0,0,0.05);
}

.info-item .label {
    font-weight: 400;
    color: #374151;
}

.info-item .value {
    color: #165F35;
    font-weight: 400;
}

.next-steps {
    margin-bottom: 2.5rem;
    text-align: left;
}

.next-steps h3 {
    color: #1F2937;
    font-size: 1.5rem;
    margin-bottom: 1.5rem;
    text-align: center;
}

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

.steps-list li {
    display: flex;
    align-items: flex-start;
    margin-bottom: 1.5rem;
    padding: 1rem;
    background: #F8FAFC;
    border-radius: 0.75rem;
    border-left: 0.25rem solid #165F35
;
}

.step-number {
    background: #165F35
;
    color: #FFFFFF;
    width: 2rem;
    height: 2rem;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 400;
    font-size: 0.9rem;
    margin-right: 1rem;
    flex-shrink: 0;
}

.step-content h4 {
    color: #1F2937;
    font-size: 1.1rem;
    margin-bottom: 0.5rem;
    font-weight: 400;
}

.step-content p {
    color: #2B2930;
    line-height: 1.5;
    margin: 0;
}

.order-success-contact-info {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    background: linear-gradient(135deg, #524225 0%, #372C19 100%);
    border-radius: 1rem;
    border: 0.0625rem solid #372C19;
    text-align: center;
    padding: 2rem;
    text-align: left;
}

.order-success-contact-info h3 {
    color: #FFFFFF;
    font-size: 1.3rem;
    font-weight: 300;
    margin-bottom: 0.5rem;
    text-align: center;
}

.order-success-contact-info p {
    color: #FFFFFF;
    text-align: center;
    font-weight: 300;
    margin-bottom: 2rem;
}

.order-success-contact-methods {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.order-success-contact-method {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.75rem;
    background: #FFFFFF;
    border-radius: 0.5rem;
    border: 0.0625rem solid #E5E7EB;
}

.order-success-contact-icon {
    font-size: 1.2rem;
}

.order-success-action-buttons {
    display: flex;
    gap: 1rem;
    justify-content: center;
    flex-wrap: wrap;
    margin-top: 2rem;
}

.order-success-action-buttons .btn {
    min-width: 10rem;
    padding: 1rem 1.5rem;
    font-weight: 400;
}


.contact-info {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    background: #3B383E;
    border-radius: 0.75rem;
    text-align: left;
}

.contact-info h3 {
    color: #202020;
    font-size: 1.3rem;
    margin-bottom: 0.5rem;
    text-align: left;
}

.contact-info p {
    color: #202020;
    text-align: left;
}

.contact-methods {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.contact-method {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.75rem;
    background: #FFFFFF;
    border-radius: 0.5rem;
    border: 0.0625rem solid #E5E7EB;
}

.contact-icon {
    font-size: 1.2rem;
}

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

.action-buttons .btn {
    min-width: 10rem;
    padding: 1rem 1.5rem;
    font-weight: 400;
}

/* Responsive styles for customer order form */
@media (max-width: 768px) {
    .customer-order-form {
        padding: 1.5rem;
        margin: 0 1rem;
    }
    
    .customer-order-form .form-row {
        grid-template-columns: 1fr;
        gap: 1rem;
    }
    
    .success-content {
        padding: 2rem 1.5rem;
        margin: 0 1rem;
    }
    
    .order-info {
        grid-template-columns: 1fr;
    }
    
    .order-success-action-buttons {
        flex-direction: column;
        align-items: center;
    }
    
    .order-success-action-buttons .btn {
        width: 100%;
        max-width: 18.75rem;
    }

    .action-buttons {
        flex-direction: column;
        align-items: center;
    }
    
    .action-buttons .btn {
        width: 100%;
        max-width: 18.75rem;
    }
}

@media (max-width: 480px) {
    .customer-order-form {
        padding: 1rem;
        margin: 0 0.5rem;
    }
    
    .success-content {
        padding: 1.5rem 1rem;
        margin: 0 0.5rem;
    }
    
    .success-content h1 {
        font-size: 2rem;
    }
    
    .steps-list li {
        flex-direction: column;
        text-align: center;
    }
    
    .step-number {
        margin: 0 auto 1rem auto;
    }
}

@media (max-width: 480px) {
    .product-image {
        transition: none;
    }
    
    .product-image:hover {
        transform: none;
    }
    
    .product-image:hover::before {
        opacity: 0;
    }
}

.product-card:hover .product-image {
    transform: scale(1.05);
}

.product-image-placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    color: #C5A253;
    background: #F8F6F0;
}

.discount-badge {
    position: absolute;
    top: 1rem;
    right: 1rem;
    background: #A21616;
    color: #FFFFFF;
    padding: 0.5rem 0.75rem;
    border-radius: 1rem;
    font-weight: 400;
    font-size: 1rem;
    box-shadow: 0 0.125rem 0.5rem rgba(229, 62, 62, 0.3);
}

.product-info {
    padding: 1.5rem;
}

.product-name {
    margin: 0 0 1rem 0;
    font-size: 1.25rem;
    font-weight: 400;
    color: #333333;
}

.product-link {
    color: #333333;
    text-decoration: none;
    transition: color 0.3s ease;
}

.product-link:hover,
.product-link:focus {
    color: #C5A253;
    outline: none;
}

.product-details {
    margin-bottom: 1.5rem;
}

.product-size {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 0.75rem;
    font-size: 1rem;
}

.size-label {
    color: #666666;
    font-weight: 400;
}

.size-value {
    color: #333333;
    font-weight: 400;
}

.product-price {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    flex-wrap: wrap;
}

.price,
.discounted-price {
    font-size: 1.25rem;
    font-weight: 400;
    color: #C5A253;
}

.original-price {
    font-size: 1rem;
    color: #595959;
    text-decoration: line-through;
    font-weight: 400;
}

.product-actions {
    display: flex;
    justify-content: center;
}

.order-btn {
    width: 100%;
    padding: 0.75rem 1.5rem;
    font-size: 1rem;
    font-weight: 400;
    border-radius: 0.5rem;
    transition: all 0.3s ease;
}

.order-btn:hover,
.order-btn:focus {
    transform: translateY(-0.125rem);
    box-shadow: 0 0.25rem 0.9375rem rgba(197, 162, 83, 0.3);
}

/* No Results */
.no-results {
    text-align: center;
    padding: 4rem 2rem;
}

.no-results-content {
    max-width: 31.25rem;
    margin: 0 auto;
}

.no-results svg {
    color: #C5A253;
    margin-bottom: 1.5rem;
}

.no-results h2 {
    font-size: 1.75rem;
    margin-bottom: 1rem;
    color: #333333;
}

.no-results p {
    color: #666666;
    margin-bottom: 2rem;
    line-height: 1.6;
}

/* Products CTA Section */

.products-cta-content {
    margin: 0 auto;
}

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

.cta-buttons .btn {
    padding: 1rem 2rem;
    border-radius: 2rem;
    font-size: 1.125rem;
    font-weight: 400;
    text-decoration: none;
    transition: all 0.3s ease;
    border: none;
    cursor: pointer;
}

.cta-buttons .btn-primary {
    background: linear-gradient(135deg, #C5A253, #B8943F);
    color: #FFFFFF;
    box-shadow: 0 0.5rem 1.5625rem rgba(197, 162, 83, 0.3);
}

.cta-buttons #DAAF62,
.cta-buttons .btn-primary:focus {
    transform: translateY(-0.125rem);
    box-shadow: 0 0.75rem 2.1875rem rgba(197, 162, 83, 0.4);
    color: #FFFFFF;
    text-decoration: none;
}

.cta-buttons .btn-secondary {
    background: transparent;
    color: #FFFFFF;
    border: 0.125rem solid #FFFFFF;
}

.cta-buttons .btn-secondary:hover,
.cta-buttons .btn-secondary:focus {
    background: #FFFFFF;
    color: #333333;
    transform: translateY(-0.125rem);
    text-decoration: none;
}

/* Loading States */
.loading-dots {
    animation: loadingDots 1.5s infinite;
}

@keyframes loadingDots {
    0%, 20% { opacity: 0; }
    50% { opacity: 1; }
    100% { opacity: 0; }
}

/* Responsive Design for Products Page */
@media (max-width: 768px) {
    .products-title {
        font-size: 2rem;
    }
    
    .products-subtitle {
        font-size: 1.125rem;
    }
    
    .products-controls-row {
        flex-direction: column;
        align-items: stretch;
        gap: 1rem;
    }
    
    .control-group {
        justify-content: space-between;
    }
    
    .results-count {
        text-align: center;
        width: 100%;
    }
    
    .pagination-wrapper {
        flex-direction: column;
        gap: 1rem;
        text-align: center;
    }
    
    .products-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 1.5rem;
        padding: 0 1rem;
    }
    
    .product-card {
        max-width: 100%;
    }
    
    .cta-buttons {
        flex-direction: column;
        align-items: center;
    }
    
    .cta-buttons .btn {
        width: 100%;
        max-width: 18.75rem;
    }
}

@media (max-width: 480px) {
    .products-hero {
        padding: 3rem 0;
    }
    
    .products-title {
        font-size: 1.75rem;
    }
    
    .products-subtitle {
        font-size: 1rem;
    }
    
    .products-controls-section {
        padding: 1.5rem 0;
    }
    
    .products-search {
        max-width: 100%;
        padding: 0 1rem;
    }
    
    .products-search-form {
        padding: 0.375rem;
        border-radius: 1.5rem;
    }
    
    .products-search-form input {
        font-size: 1rem;
    }
    
    .search-submit-btn {
        padding: 0.375rem;
        min-width: 2rem;
        min-height: 2rem;
    }
    
    .control-select {
        padding: 0.375rem 0.75rem;
        font-size: 1rem;
    }
    
    .products-grid {
        grid-template-columns: 1fr;
        gap: 1rem;
        padding: 0 1rem;
    }
    
    .product-image-container {
        height: 0;
        padding-bottom: 100%; /* Maintain square aspect ratio on mobile */
    }
    
    .product-info {
        padding: 1rem;
    }
    
    .product-name {
        font-size: 1.125rem;
    }
    
    .price,
    .discounted-price {
        font-size: 1.125rem;
    }
    
    .products-cta-content h2 {
        font-size: 1.75rem;
    }
    
    .products-cta-content p {
        font-size: 1.125rem;
    }
}

/* High Contrast Mode Support */
@media (prefers-contrast: high) {
    .product-card {
        border: 0.125rem solid #000000;
    }
    
    .pagination-link {
        border: 0.0625rem solid #000000;
    }
    
    .control-select {
        border: 0.125rem solid #000000;
    }
}

/* Reduced Motion Support */
@media (prefers-reduced-motion: reduce) {
    .product-card,
    .product-image,
    .search-submit-btn,
    .pagination-link,
    .order-btn {
        transition: none;
    }
    
    .product-card:hover {
        transform: none;
    }
    
    .product-card:hover .product-image {
        transform: none;
    }
    
    .search-submit-btn:hover,
    .search-submit-btn:focus {
        transform: none;
    }
    
    .order-btn:hover,
    .order-btn:focus {
        transform: none;
    }
}

/* ===== ADMIN NAVIGATION STYLES ===== */
/* Ensure admin navigation maintains the same visual style as regular navigation */
.nav-menu li a[href*="admin/"] {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    padding: 0.5rem 1rem;
    color: #E6E0E9;
    font-weight: 400;
    text-decoration: none;
    transition: background-color 0.3s ease, color 0.3s ease;
    white-space: nowrap;
    position: relative;
    flex: 1;
    text-align: center;
    width: 7.5rem;
    border-bottom: none;
}

.nav-menu li a[href*="admin/"]:hover,
.nav-menu li a[href*="admin/"]:focus {
    background-color: #49454F;
    color: #FFFFFF;
    text-decoration: none;
    outline: none;
    border-bottom: 0;
}

.nav-menu li a[href*="admin/"]:focus-visible {
    outline: 0.1875rem solid #DAAF62;
    outline-offset: -0.125rem;
}

/* Admin Dashboard link styling for regular users */
.nav-menu li a[href*="admin/index.php"] {
    background: transparent;
    color: #E6E0E9;
    font-weight: 400;
}

.nav-menu li a[href*="admin/index.php"]:hover,
.nav-menu li a[href*="admin/index.php"]:focus {
    background-color: #49454F;
    color: #FFFFFF;
}

/* Admin navigation active states */
.nav-menu li a[href*="admin/"][aria-current="page"] {
    background-color: transparent;
    color: #E6E0E9;
    border-bottom: 0.125rem solid #DAAF62;
    position: relative;
    transition: border-bottom 0.3s ease;
}

.nav-menu li a[href*="admin/"][aria-current="page"]::after {
    content: '';
    position: absolute;
    bottom: -0.125rem;
    left: 50%;
    transform: translateX(-50%);
    width: 0;
    height: 0;
    border-left: 0.75rem solid transparent;
    border-right: 0.75rem solid transparent;
    border-bottom: 0.75rem solid #DAAF62;
    transition: opacity 0.3s ease, bottom 0.3s ease;
}

/* Admin logout button styling */
.user-actions .logout-btn {
    background: #DAAF62;
    color: #FFFFFF;
    padding: 0.5rem 1rem;
    border-radius: 0.25rem;
    font-weight: 400;
    transition: all 0.3s ease;
    text-align: center;
    white-space: normal;
    word-wrap: break-word;
    hyphens: auto;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 2.5rem;
    line-height: 1.2;
}

.user-actions .logout-btn:hover,
.user-actions .logout-btn:focus {
    background: #82601A;
    color: #FFFFFF;
    text-decoration: none;
    outline: none;
}

/* Responsive admin navigation */
@media (max-width: 768px) {
    .nav-menu {
        flex-direction: column;
        gap: 1rem;
    }
    
    .nav-menu li a[href*="admin/"] {
        padding: 0.75rem 1rem;
        text-align: center;
        display: block;
    }
    
    /* Ensure all admin links stay centered on mobile */
    .nav-menu li a[href*="admin/"] {
        text-align: center;
        display: flex;
        align-items: center;
        justify-content: center;
        min-height: 2.5rem;
        padding: 0.5rem 0.5rem;
        word-wrap: break-word;
        hyphens: auto;
    }
    
    /* Ensure logout button stays centered on mobile */
    .user-actions .logout-btn {
        text-align: center;
        display: flex;
        align-items: center;
        justify-content: center;
        min-height: 3rem;
        padding: 0.75rem 0.5rem;
        word-wrap: break-word;
        hyphens: auto;
    }
}

/* High contrast mode support for admin navigation */
@media (prefers-contrast: high) {
    .nav-menu li a[href*="admin/"] {
        border: 0.0625rem solid #000000;
    }
    
    .user-actions .logout-btn {
        border: 0.125rem solid #000000;
    }
}

/* Reduced motion support for admin navigation */
@media (prefers-reduced-motion: reduce) {
    .nav-menu li a[href*="admin/"],
    .user-actions .logout-btn {
        transition: none;
    }
}

/* ===== ADMIN DASHBOARD STYLES ===== */
/* Quick Actions Grid */
.quick-actions-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(18.75rem, 1fr));
    gap: 2rem;
    margin-top: 2rem;
}

.quick-action-card {
    background: #FFFFFF;
    border: 0.0625rem solid #E0E0E0;
    border-radius: 0.75rem;
    padding: 2rem;
    text-align: center;
    transition: all 0.3s ease;
    box-shadow: 0 0.125rem 0.5rem rgba(0, 0, 0, 0.1);
}

.quick-action-card:hover {
    transform: translateY(-0.25rem);
    box-shadow: 0 0.5rem 1.5625rem rgba(0, 0, 0, 0.15);
    border-color: #DAAF62;
}

.action-icon {
    color: #DAAF62;
    margin-bottom: 1rem;
}

.quick-action-card h3 {
    color: #202020;
    margin-bottom: 1rem;
    font-size: 1.5rem;
}

.quick-action-card p {
    color: #666;
    margin-bottom: 1.5rem;
    line-height: 1.6;
}

.quick-action-card .btn {
    width: 100%;
    justify-content: center;
}

/* System Stats */
.system-stats {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(12.5rem, 1fr));
    gap: 1.5rem;
    margin-top: 2rem;
}

.stat-card {
    background: #FFFFFF;
    border: 0.0625rem solid #E0E0E0;
    border-radius: 0.5rem;
    padding: 1.5rem;
    text-align: center;
    transition: all 0.3s ease;
}

.stat-card:hover {
    border-color: #DAAF62;
    box-shadow: 0 0.25rem 0.75rem rgba(201, 163, 78, 0.15);
}

.stat-card h3 {
    color: #666;
    font-size: 1rem;
    margin-bottom: 0.5rem;
    font-weight: 400;
}

.stat-number {
    color: #DAAF62;
    font-size: 2.5rem;
    font-weight: 400;
    font-family: 'Playfair Display', serif;
}



/* Responsive Design */
@media (max-width: 768px) {
    .quick-actions-grid {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }
    
    .system-stats {
        grid-template-columns: repeat(auto-fit, minmax(9.375rem, 1fr));
        gap: 1rem;
    }

    
    .stat-number {
        font-size: 2rem;
    }
}

/* High Contrast Mode Support */
@media (prefers-contrast: high) {
    .quick-action-card,
    .stat-card {
        border: 0.125rem solid #000000;
    }
    
    .action-icon {
        color: #000000;
    }
    
    .stat-number {
        color: #000000;
    }
}

/* Reduced Motion Support */
@media (prefers-reduced-motion: reduce) {
    .quick-action-card,
    .stat-card {
        transition: none;
    }
    
    .quick-action-card:hover {
        transform: none;
    }
}

/* ===== ENHANCED ITEMS TABLE STYLES ===== */
/* Items Controls */
.items-controls {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 2rem;
    flex-wrap: wrap;
    gap: 1rem;
}

.items-search-form {
    flex: 1;
    min-width: 18.75rem;
}

.search-input-group {
    display: flex;
    gap: 0.5rem;
    align-items: center;
}

.search-input-group input[type="text"] {
    flex: 1;
    padding: 0.75rem;
    border: 0.0625rem solid #E0E0E0;
    border-radius: 0.5rem;
    font-size: 1rem;
    min-width: 12.5rem;
}

.search-input-group input[type="text"]:focus {
    outline: none;
    border-color: #DAAF62;
    box-shadow: 0 0 0 0.1875rem rgba(201, 163, 78, 0.1);
}

.items-info {
    color: #666;
    font-size: 0.9rem;
    white-space: nowrap;
}

/* Sortable Headers */
.sortable-header {
    color: #202020;
    text-decoration: none;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.5rem;
    border-radius: 0.25rem;
    transition: all 0.3s ease;
}

.sortable-header:hover {
    background: rgba(201, 163, 78, 0.1);
    color: #DAAF62;
}

.sort-indicator {
    color: #DAAF62;
    font-weight: bold;
    margin-left: 0.5rem;
}

/* Item Details Cell */
.item-details-cell {
    cursor: pointer;
    position: relative;
    max-width: 12.5rem;
}

.item-details-preview {
    color: #666;
    line-height: 1.4;
}

.details-more {
    color: #DAAF62;
    font-weight: bold;
}

.item-details-full {
    background: #FFFFFF;
    border: 0.0625rem solid #E0E0E0;
    border-radius: 0.5rem;
    padding: 1rem;
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 10;
    min-width: 18.75rem;
    max-width: 25rem;
    box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.15);
    line-height: 1.6;
    color: #202020;
}

.item-details-full::before {
    content: '';
    position: absolute;
    top: -0.5rem;
    left: 1.25rem;
    width: 0;
    height: 0;
    border-left: 0.5rem solid transparent;
    border-right: 0.5rem solid transparent;
    border-bottom: 0.5rem solid #FFFFFF;
}

/* Pagination */
.pagination {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0.5rem;
    margin-top: 2rem;
    flex-wrap: wrap;
}

.page-link {
    display: inline-block;
    padding: 0.5rem 1rem;
    border: 0.0625rem solid #E0E0E0;
    border-radius: 0.25rem;
    color: #666;
    text-decoration: none;
    transition: all 0.3s ease;
    min-width: 2.5rem;
    text-align: center;
}

.page-link:hover {
    background: #DAAF62;
    color: #FFFFFF;
    border-color: #DAAF62;
    text-decoration: none;
}

.page-link.active {
    background: #DAAF62;
    color: #FFFFFF;
    border-color: #DAAF62;
    font-weight: 400;
}

.page-ellipsis {
    padding: 0.5rem;
    color: #595959;
}

/* No Items State */
.no-items {
    text-align: center;
    padding: 3rem 1rem;
    color: #666;
}

.no-items p {
    margin-bottom: 1.5rem;
    font-size: 1.1rem;
}

/* Enhanced Table Styling */
.items-table {
    width: 100%;
    border-collapse: collapse;
    margin-top: 1rem;
    background: #FFFFFF;
    border-radius: 0.5rem;
    overflow: hidden;
    box-shadow: 0 0.125rem 0.5rem rgba(0, 0, 0, 0.1);
}

.items-table th {
    background: #F8F9FA;
    padding: 1rem 0.75rem;
    text-align: left;
    font-weight: 400;
    color: #202020;
    border-bottom: 0.125rem solid #E0E0E0;
    white-space: nowrap;
}

.items-table td {
    padding: 1rem 0.75rem;
    border-bottom: 0.0625rem solid #F0F0F0;
    vertical-align: top;
}

.items-table tbody tr:hover {
    background: rgba(201, 163, 78, 0.05);
}

.items-table tbody tr:last-child td {
    border-bottom: none;
}

/* Status Indicators */
.status {
    display: inline-block;
    padding: 0.25rem 0.75rem;
    border-radius: 1rem;
    font-size: 0.85rem;
    font-weight: 400;
    text-transform: uppercase;
    letter-spacing: 0.03125rem;
}

.status.active {
    background: #D4EDDA;
    color: #155724;
}

.status.inactive {
    background: #F8D7DA;
    color: #721C24;
}

/* Discount Styling */
.discount {
    color: #DC3545;
    font-weight: 400;
}

/* Responsive Design */
@media (max-width: 1024px) {
    .items-controls {
        flex-direction: column;
        align-items: stretch;
    }
    
    .items-search-form {
        min-width: auto;
    }
    
    .search-input-group {
        flex-direction: column;
        align-items: stretch;
    }
    
    .search-input-group input[type="text"] {
        min-width: auto;
    }
    
    .items-table {
        font-size: 0.9rem;
    }
    
    .items-table th,
    .items-table td {
        padding: 0.75rem 0.5rem;
    }
}

@media (max-width: 768px) {
    .items-table-container {
        overflow-x: auto;
    }
    
    .items-table {
        min-width: 50rem;
    }
    
    .pagination {
        gap: 0.25rem;
    }
    
    .page-link {
        padding: 0.4rem 0.8rem;
        min-width: 2.1875rem;
        font-size: 0.9rem;
    }
    
    .item-details-full {
        min-width: 15.625rem;
        max-width: 18.75rem;
    }
}

@media (max-width: 480px) {
    .items-controls {
        gap: 0.75rem;
    }
    
    .search-input-group {
        gap: 0.75rem;
    }
    
    .search-input-group input[type="text"] {
        padding: 0.6rem;
    }
    
    .pagination {
        flex-direction: column;
        gap: 0.5rem;
    }
    
    .page-link {
        width: 100%;
        text-align: center;
    }
}

/* High Contrast Mode Support */
@media (prefers-contrast: high) {
    .sortable-header:hover {
        background: #000000;
        color: #FFFFFF;
    }
    
    .page-link {
        border: 0.125rem solid #000000;
    }
    
    .page-link:hover,
    .page-link.active {
        background: #000000;
        color: #FFFFFF;
        border-color: #000000;
    }
    
    .item-details-full {
        border: 0.125rem solid #000000;
    }
}

/* Reduced Motion Support */
@media (prefers-reduced-motion: reduce) {
    .sortable-header,
    .page-link,
    .items-table tbody tr {
        transition: none;
    }
}

/* Loading Indicator */
.loading-indicator {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    padding: 2rem;
    background: #FFFFFF;
    border: 0.0625rem solid #E0E0E0;
    border-radius: 0.5rem;
    margin: 1rem 0;
    box-shadow: 0 0.125rem 0.5rem rgba(0, 0, 0, 0.1);
}

.loading-spinner {
    width: 1.5rem;
    height: 1.5rem;
    border: 0.1875rem solid #F0F0F0;
    border-top: 0.1875rem solid #DAAF62;
    border-radius: 50%;
    animation: spin 1s linear infinite;
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

.loading-indicator span {
    color: #666;
    font-weight: 400;
}

/* Updated Sortable Headers for Buttons */
.sortable-header {
    background: none;
    border: none;
    color: #202020;
    text-decoration: none;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.5rem;
    border-radius: 0.25rem;
    transition: all 0.3s ease;
    cursor: pointer;
    width: 100%;
    text-align: left;
    font-size: inherit;
    font-weight: inherit;
}

.sortable-header:hover {
    background: rgba(201, 163, 78, 0.1);
    color: #DAAF62;
}

.sortable-header:focus {
    outline: 0.125rem solid #DAAF62;
    outline-offset: 0.125rem;
}

.sortable-header:active {
    transform: translateY(0.0625rem);
}

/* Enhanced Checkbox Styles - Using Custom Checkmark Approach */

/* Checkbox Group Styling */
.checkbox-group {
    margin: 1.5rem 0;
}

.checkbox-label {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    cursor: pointer;
    font-size: 1rem;
    line-height: 1.5;
    color: #202020;
    transition: color 0.3s ease;
}

.checkbox-label:hover {
    color: #DAAF62;
}

.checkbox-label input[type="checkbox"] {
    display: none;
    margin: 0;
}

/* Custom Checkbox with Checkmark */
.checkbox-label .checkmark {
    width: 1.5rem;
    height: 1.5rem;
    border: 0.1875rem solid #DAAF62;
    border-radius: 0.25rem;
    background-color: #FFFFFF;
    cursor: pointer;
    transition: all 0.3s ease;
    position: relative;
    flex-shrink: 0;
    display: inline-block;
    box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.1);
}

.checkbox-label:hover .checkmark {
    border-color: #B08C3A;
    background-color: #FDF8F0;
    transform: scale(1.05);
    box-shadow: 0 0.25rem 0.5rem rgba(201, 163, 78, 0.3);
}

.checkbox-label input[type="checkbox"]:checked + .checkmark {
    background-color: #DAAF62;
    border-color: #DAAF62;
    box-shadow: 0 0.25rem 0.5rem rgba(201, 163, 78, 0.4);
}

.checkbox-label input[type="checkbox"]:checked + .checkmark::after {
    content: '\2713';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: #FFFFFF;
    font-size: 1rem;
    font-weight: bold;
    line-height: 1;
}

.checkbox-label input[type="checkbox"]:focus + .checkmark {
    outline: 0.125rem solid #DAAF62;
    outline-offset: 0.125rem;
    box-shadow: 0 0 0 0.25rem rgba(201, 163, 78, 0.2);
}

.checkbox-label input[type="checkbox"]:checked:hover + .checkmark {
    background-color: #B08C3A;
    border-color: #B08C3A;
    box-shadow: 0 0.375rem 0.75rem rgba(176, 140, 58, 0.5);
    transform: scale(1.05);
}

/* Responsive Checkbox Adjustments */
@media (max-width: 768px) {
    .checkbox-label .checkmark {
        width: 1.375rem;
        height: 1.375rem;
        border-width: 0.1875rem;
    }
    
    .checkbox-label input[type="checkbox"]:checked + .checkmark::after {
        font-size: 1rem;
    }
}

@media (max-width: 480px) {
    .checkbox-label .checkmark {
        width: 1.25rem;
        height: 1.25rem;
        border-width: 0.1875rem;
    }
    
    .checkbox-label input[type="checkbox"]:checked + .checkmark::after {
        font-size: 0.8125rem;
    }
}

/* ===== COMPREHENSIVE RESPONSIVE DESIGN SYSTEM ===== */

/* Large Desktop (1400px and above) */
@media (min-width: 87.5rem) {
    .container {
        max-width: 82.5rem;
    }
    
    h1 { font-size: 3rem; }
    h2 { font-size: 2.5rem; }
    h3 { font-size: 2rem; }
    
    .section {
        padding: 4rem 0;
    }
    
    .products-grid {
        gap: 2rem;
    }
}

/* Desktop (1200px - 1399px) */
@media (max-width: 87.4375rem) and (min-width: 75rem) {
    .container {
        max-width: 71.25rem;
    }
    
    .products-grid {
        gap: 1.75rem;
    }
}

/* Large Tablet (1024px - 1199px) */
@media (max-width: 74.9375rem) and (min-width: 64rem) {
    .container {
        max-width: 60rem;
        padding: 0 1.5rem;
    }
    
    .products-grid {
        grid-template-columns: repeat(3, 1fr) !important;
        gap: 1.5rem;
    }
    
    .services-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 2rem;
    }
    
    .about-content {
        grid-template-columns: 1fr !important;
        gap: 2rem;
    }
    
    .about-image {
        order: -1;
        text-align: center;
    }
}

/* Tablet (768px - 1023px) */
@media (max-width: 63.9375rem) and (min-width: 48rem) {
    .container {
        max-width: 45rem;
        padding: 0 1.5rem;
    }
    
    h1 { font-size: 2.25rem; }
    h2 { font-size: 1.875rem; }
    h3 { font-size: 1.625rem; }
    
    .section {
        padding: 2.5rem 0;
    }
    
    .products-grid {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 1.5rem;
    }
    
    .services-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 1.5rem;
    }
    
    .about-content {
        grid-template-columns: 1fr !important;
        gap: 2rem;
    }
    
    .about-image {
        order: -1;
        text-align: center;
    }
    
    .banner-carousel .carousel-content h2 {
        font-size: 2rem;
    }
    
    .banner-carousel .carousel-content p {
        font-size: 1rem;
    }
    
    .form-row {
        flex-direction: column;
        gap: 1rem;
    }
    
    .form-group {
        width: 100%;
    }
}

/* Mobile Large (600px - 767px) */
@media (max-width: 47.9375rem) and (min-width: 37.5rem) {
    .container {
        max-width: 33.75rem;
        padding: 0 1rem;
    }
    
    h1 { font-size: 2rem; }
    h2 { font-size: 1.75rem; }
    h3 { font-size: 1.5rem; }
    
    .section {
        padding: 2rem 0;
    }
    
    .products-grid {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 1rem;
    }
    
    .services-grid {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }
    
    .about-content {
        grid-template-columns: 1fr !important;
        gap: 1.5rem;
    }
    
    .about-image {
        order: -1;
        text-align: center;
    }
    
    .banner-carousel .carousel-content h2 {
        font-size: 1.75rem;
    }
    
    .banner-carousel .carousel-content p {
        font-size: 0.9rem;
    }
    
    .form-row {
        flex-direction: column;
        gap: 1rem;
    }
    
    .form-group {
        width: 100%;
    }
    
    .header-content {
        flex-direction: column;
        gap: 1rem;
        text-align: center;
    }
    
    .main-nav {
        width: 100%;
    }
    
    .nav-menu {
        flex-direction: column;
        gap: 0.5rem;
    }
}

/* Mobile Medium (480px - 599px) */
@media (max-width: 37.4375rem) and (min-width: 480px) {
    .container {
        max-width: 100%;
        padding: 0 1rem;
    }
    
    h1 { font-size: 1.875rem; }
    h2 { font-size: 1.625rem; }
    h3 { font-size: 1.375rem; }
    
    .section {
        padding: 1.5rem 0;
    }
    
    .products-grid {
        grid-template-columns: 1fr !important;
        gap: 1rem;
    }
    
    .services-grid {
        grid-template-columns: 1fr;
        gap: 1rem;
    }
    
    .about-content {
        grid-template-columns: 1fr !important;
        gap: 1rem;
    }
    
    .about-image {
        order: -1;
        text-align: center;
    }
    
    .banner-carousel .carousel-content h2 {
        font-size: 1.5rem;
    }
    
    .banner-carousel .carousel-content p {
        font-size: 1rem;
    }
    
    .form-row {
        flex-direction: column;
        gap: 1rem;
    }
    
    .form-group {
        width: 100%;
    }
    
    .header-content {
        flex-direction: column;
        gap: 1rem;
        text-align: center;
    }
    
    .main-nav {
        width: 100%;
    }
    
    .nav-menu {
        flex-direction: column;
        gap: 0.5rem;
    }
    
    .btn {
        padding: 0.75rem 1.5rem;
        font-size: 1rem;
    }
    
    .btn-large {
        padding: 1rem 2rem;
        font-size: 1rem;
    }
}

/* Mobile Small (320px - 479px) */
@media (max-width: 29.9375rem) and (min-width: 20rem) {
    .container {
        max-width: 100%;
        padding: 0 0.75rem;
    }
    
    h1 { font-size: 1.75rem; }
    h2 { font-size: 1.5rem; }
    h3 { font-size: 1.25rem; }
    
    .section {
        padding: 1rem 0;
    }
    
    .products-grid {
        grid-template-columns: 1fr !important;
        gap: 0.75rem;
    }
    
    .services-grid {
        grid-template-columns: 1fr;
        gap: 0.75rem;
    }
    
    .about-content {
        grid-template-columns: 1fr !important;
        gap: 0.75rem;
    }
    
    .about-image {
        order: -1;
        text-align: center;
    }
    
    .banner-carousel .carousel-content h2 {
        font-size: 1.375rem;
    }
    
    .banner-carousel .carousel-content p {
        font-size: 0.8rem;
    }
    
    .form-row {
        flex-direction: column;
        gap: 0.75rem;
    }
    
    .form-group {
        width: 100%;
    }
    
    .header-content {
        flex-direction: column;
        gap: 0.75rem;
        text-align: center;
    }
    
    .main-nav {
        width: 100%;
    }
    
    .nav-menu {
        flex-direction: column;
        gap: 0.5rem;
    }
    
    .btn {
        padding: 0.625rem 1.25rem;
        font-size: 0.8rem;
    }
    
    .btn-large {
        padding: 0.875rem 1.75rem;
        font-size: 0.9rem;
    }
    
    .product-card {
        margin: 0 0.5rem;
    }
    
    .product-content {
        padding: 1rem;
    }
}

/* Extra Small Mobile (below 320px) */
@media (max-width: 19.9375rem) {
    .container {
        max-width: 100%;
        padding: 0 0.5rem;
    }
    
    h1 { font-size: 1.5rem; }
    h2 { font-size: 1.375rem; }
    h3 { font-size: 1.125rem; }
    
    .section {
        padding: 0.75rem 0;
    }
    
    .products-grid {
        grid-template-columns: 1fr !important;
        gap: 0.5rem;
    }
    
    .services-grid {
        grid-template-columns: 1fr;
        gap: 0.5rem;
    }
    
    .about-content {
        grid-template-columns: 1fr !important;
        gap: 0.5rem;
    }
    
    .about-image {
        order: -1;
        text-align: center;
    }
    
    .banner-carousel .carousel-content h2 {
        font-size: 1.25rem;
    }
    
    .banner-carousel .carousel-content p {
        font-size: 0.75rem;
    }
    
    .form-row {
        flex-direction: column;
        gap: 0.5rem;
    }
    
    .form-group {
        width: 100%;
    }
    
    /* Header adjustments for very small screens */
    .header-content {
        flex-direction: row;
        gap: 0.5rem;
        text-align: left;
    }
    
    .logo {
        flex: 1;
    }
    
    .mobile-actions {
        gap: 0.25rem;
        flex-shrink: 0;
    }

    .mobile-menu-toggle {
        padding: 0.25rem;
    }
    
    .btn {
        padding: 0.5rem 1rem;
        font-size: 0.75rem;
    }
    
    .btn-large {
        padding: 0.75rem 1.5rem;
        font-size: 0.8rem;
    }
    
    .product-card {
        margin: 0 0.25rem;
    }
    
    .product-content {
        padding: 0.75rem;
    }
}

/* Landscape Orientation Adjustments */
@media (max-height: 31.25rem) and (orientation: landscape) {
    .banner-carousel .carousel-content {
        padding: 1rem 0;
    }
    
    .banner-carousel .carousel-content h2 {
        font-size: 1.5rem;
        margin-bottom: 0.5rem;
    }
    
    .banner-carousel .carousel-content p {
        font-size: 1rem;
        margin-bottom: 1rem;
    }
    
    .section {
        padding: 1.5rem 0;
    }
    
    .header {
        padding: 0.5rem 0;
    }
}

/* High DPI Displays */
@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
    .product-image,
    .carousel-image,
    .about-image img {
        image-rendering: -webkit-optimize-contrast;
        image-rendering: crisp-edges;
    }
}

/* Print Styles */
@media print {
    .header,
    .footer,
    .banner-carousel,
    .btn,
    .carousel-nav {
        display: none !important;
    }
    
    .container {
        max-width: 100%;
        padding: 0;
    }
    
    .section {
        padding: 1rem 0;
        page-break-inside: avoid;
    }
    
    .products-grid {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 1rem;
    }
    
    .product-card {
        break-inside: avoid;
        box-shadow: none;
        border: 0.0625rem solid #ccc;
    }
    
    body {
        font-size: 12pt;
        line-height: 1.4;
        color: #000;
        background: #fff;
    }
    
    h1, h2, h3, h4, h5, h6 {
        color: #000;
        page-break-after: avoid;
    }
    
    a {
        color: #000;
        text-decoration: underline;
    }
}

/* Focus Management for Accessibility */
@media (prefers-reduced-motion: no-preference) {
    .product-card:hover,
    .service-card:hover,
    .btn:hover {
        transform: translateY(-0.125rem);
        transition: transform 0.2s ease;
    }
}

/* Dark Mode Support Removed - Using Light Mode Only */
/* Container Query Support (Future-proofing) */
@supports (container-type: inline-size) {
    .product-card {
        container-type: inline-size;
    }
    
    @container (max-width: 18.75rem) {
        .product-title {
            font-size: 1rem;
        }
        
        .product-description {
            font-size: 0.85rem;
        }
    }
}

/* Steps Timeline Styles */
.steps-timeline {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
    margin: 2rem 0;
}

.step-card {
    display: flex;
    align-items: flex-start;
    gap: 1.5rem;
    padding: 1.5rem;
    background: #ffffff;
    border: 0.125rem solid #f1e1c4;
    border-radius: 1rem;
    box-shadow: 0 0.25rem 0.375rem rgba(0, 0, 0, 0.05);
    transition: all 0.3s ease;
    position: relative;
}

.step-card:hover {
    transform: translateY(-0.125rem);
    box-shadow: 0 0.5rem 1.5625rem rgba(0, 0, 0, 0.1);
    border-color: #DAAF62;
}

.step-card::before {
    content: '';
    position: absolute;
    left: 2.95rem;
    top: 4rem;
    bottom: -1.5rem;
    width: 0.175rem;
    background: linear-gradient(180deg, #DAAF62 0%, #B8943F 100%);
    z-index: 1;
}

.step-card:last-child::before {
    display: none;
}

.step-number {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 3rem;
    height: 3rem;
    background: linear-gradient(135deg, #524225 0%, #372C19 100%);
    color: white;
    border-radius: 50%;
    font-size: 1.25rem;
    font-weight: 400;
    flex-shrink: 0;
    z-index: 2;
    box-shadow: 0 0.25rem 0.75rem rgba(55, 44, 25, 0.3);
}

.step-content h4 {
    margin: 0 0 0.5rem 0;
    color: #1f2937;
    font-size: 1.125rem;
    font-weight: 400;
}

.step-content p {
    margin: 0;
    color: #2B2930;
    line-height: 1.6;
    font-size: 0.95rem;
}

/* Responsive Design for Steps */
@media (max-width: 768px) {
    .step-card {
        flex-direction: column;
        text-align: center;
        gap: 1rem;
        padding: 1.25rem;
    }
    
    .step-card::before {
        display: none;
    }
    
    .step-number {
        align-self: center;
    }
    
    .steps-timeline {
        gap: 1rem;
    }
}

@media (max-width: 480px) {
    .step-card {
        padding: 1rem;
    }
    
    .step-content h4 {
        font-size: 1rem;
    }
    
    .step-content p {
        font-size: 0.9rem;
    }
}

/* Image Gallery Styles */
.gallery-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(18.75rem, 1fr));
    gap: 1.5rem;
    margin-top: 1.5rem;
}

.gallery-item {
    background: #ffffff;
    border: 0.0625rem solid #e5e7eb;
    border-radius: 0.75rem;
    overflow: hidden;
    box-shadow: 0 0.0625rem 0.1875rem rgba(0, 0, 0, 0.1);
    transition: all 0.3s ease;
}

.gallery-item:hover {
    transform: translateY(-0.125rem);
    box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.15);
}

.gallery-item.inactive {
    opacity: 0.6;
    border-color: #d1d5db;
}

.gallery-image {
    width: 100%;
    height: 12.5rem;
    overflow: hidden;
    position: relative;
    display: block;
}

.gallery-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
    display: block;
}

.gallery-item:hover .gallery-image img {
    transform: scale(1.05);
}

.gallery-info {
    padding: 1rem;
}

.gallery-details {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 0.75rem;
}

.gallery-category {
    background: #e8f5e8;
    color: #2d5a2d;
    padding: 0.25rem 0.75rem;
    border-radius: 1rem;
    font-size: 0.75rem;
    font-weight: 400;
    text-transform: uppercase;
    letter-spacing: 0.03125rem;
}

.gallery-sequence {
    color: #2B2930;
    font-size: 1rem;
    font-weight: 400;
}

.gallery-status {
    margin-bottom: 0.75rem;
}

.gallery-date {
    color: #9ca3af;
    font-size: 0.75rem;
    font-style: italic;
}

.no-images {
    text-align: center;
    padding: 3rem;
    color: #2B2930;
    background: #f9fafb;
    border-radius: 0.75rem;
    border: 0.125rem dashed #d1d5db;
}

.gallery-info p {
    color: #2B2930;
    font-size: 1rem;
    line-height: 1.5;
    margin: 0;
}

/* Responsive Gallery */
@media (max-width: 768px) {
    .gallery-grid {
        grid-template-columns: repeat(auto-fill, minmax(15.625rem, 1fr));
        gap: 1rem;
    }
    
    .gallery-image {
        height: 11.25rem;
    }
}

@media (max-width: 480px) {
    .gallery-grid {
        grid-template-columns: 1fr;
        gap: 1rem;
    }
    
    .gallery-image {
        height: 12.5rem;
    }
    
    .gallery-details {
        flex-direction: column;
        align-items: flex-start;
        gap: 0.5rem;
    }
}

/* ===== PUBLIC GALLERY PAGE STYLES ===== */
.gallery-controls-section {
    background: #fff;
    padding: 2rem 0;
    border-bottom: 0.0625rem solid #e0e0e0;
}

.gallery-controls {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

.gallery-filters {
    background: #F6EBD8;
    padding: 1.5rem;
    border-radius: 0.75rem;
    border: 0.0625rem solid #EDD7B1;
    margin-bottom: 1rem;
}

.filters-row {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    align-items: end;
}

.filter-group {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.filter-label {
    font-weight: 400;
    color: #202020;
    font-size: 1rem;
}

.results-info {
    text-align: center;
}

.results-text {
    color: #202020;
    font-size: 1rem;
    font-weight: 500;
}

.gallery-grid-section {
    padding: 3rem 0;
}

/* Public Gallery Grid - 12 columns */
.gallery-page .gallery-grid {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    gap: 1rem;
    margin: 2rem 0;
}

.gallery-page .gallery-item {
    grid-column: span 1;
    background: #fff;
    border-radius: 0.5rem;
    overflow: hidden;
    box-shadow: 0 0.125rem 0.5rem rgba(0, 0, 0, 0.1);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    aspect-ratio: 1/1;
}

.gallery-page .gallery-item:hover {
    transform: translateY(-0.125rem);
    box-shadow: 0 0.25rem 1rem rgba(0, 0, 0, 0.15);
}

.gallery-page .gallery-image-container {
    position: relative;
    width: 100%;
    height: 100%;
}

.gallery-page .gallery-image {
    width: 100%;
    height: 100%;
    position: relative;
}

.gallery-page .gallery-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.gallery-page .gallery-overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    background: linear-gradient(transparent, rgba(0, 0, 0, 0.8));
    padding: 1rem 0.75rem 0.75rem;
    opacity: 1;
    transition: opacity 0.2s ease;
}

.gallery-page .gallery-item:hover .gallery-overlay {
    background: linear-gradient(transparent, rgba(0, 0, 0, 0.9));
}

.gallery-page .gallery-category {
    color: #fff;
    font-size: 1rem;
    font-weight: 400;
    text-transform: uppercase;
    letter-spacing: 0.03125rem;
    text-shadow: 0 0.0625rem 0.125rem rgba(0, 0, 0, 0.8);
    text-align: center;
}

.gallery-page .gallery-category-badge {
    position: absolute;
    top: 0.75rem;
    left: 0.75rem;
    background: rgba(0, 0, 0, 0.8);
    color: #fff;
    padding: 0.5rem 0.75rem;
    border-radius: 1rem;
    font-size: 0.75rem;
    font-weight: 400;
    text-transform: uppercase;
    letter-spacing: 0.03125rem;
    z-index: 2;
    backdrop-filter: blur(0.25rem);
    border: 0.0625rem solid rgba(255, 255, 255, 0.2);
    transition: all 0.2s ease;
}

.gallery-page .gallery-item:hover .gallery-category-badge {
    background: rgba(0, 0, 0, 0.9);
    border-color: rgba(255, 255, 255, 0.4);
    transform: scale(1.05);
}

.gallery-cta-section {
    background: #fff;
    padding: 3rem 0;
    text-align: center;
    border-top: 0.0625rem solid #e0e0e0;
}

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

/* Responsive Gallery Grid */
@media (max-width: 75rem) {
    .gallery-page .gallery-grid {
        grid-template-columns: repeat(8, 1fr);
    }
}

@media (max-width: 62rem) {
    .gallery-page .gallery-grid {
        grid-template-columns: repeat(6, 1fr);
    }
    
    .gallery-title {
        font-size: 2rem;
    }
}

@media (max-width: 768px) {
    .gallery-page .gallery-grid {
        grid-template-columns: repeat(4, 1fr);
        gap: 0.75rem;
    }
    
    .gallery-hero {
        padding: 2rem 0;
    }
    
    .gallery-title {
        font-size: 1.75rem;
    }
    
    .gallery-subtitle {
        font-size: 1rem;
    }
    
    .gallery-controls-section {
        padding: 1.5rem 0;
    }
    
    .gallery-filters {
        flex-direction: column;
        align-items: stretch;
    }
    
    .filters-row {
        flex-direction: column;
        align-items: stretch;
    }
    
    .gallery-page .gallery-category-badge {
        top: 0.5rem;
        left: 0.5rem;
        padding: 0.375rem 0.625rem;
        font-size: 0.6875rem;
    }
    
    .filter-select {
        min-width: auto;
    }
    
    .cta-buttons {
        flex-direction: column;
        align-items: center;
    }
}

@media (max-width: 36rem) {
    .gallery-page .gallery-grid {
        grid-template-columns: repeat(3, 1fr);
        gap: 0.5rem;
    }
    
    .gallery-title {
        font-size: 1.5rem;
    }
    
    .gallery-controls-section {
        padding: 1rem 0;
    }
    
    .gallery-grid-section {
        padding: 2rem 0;
    }
}

@media (max-width: 480px) {
    .gallery-page .gallery-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    
    .gallery-page .gallery-category-badge {
        top: 0.375rem;
        left: 0.375rem;
        padding: 0.25rem 0.5rem;
        font-size: 0.625rem;
    }
}

/* About Features Styles - Modern Redesign */
.about-features {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(18rem, 1fr));
}

/* Gallery Table Styles */
.gallery-table-container {
    overflow-x: auto;
    margin-top: 1rem;
}

.gallery-table {
    width: 100%;
    border-collapse: collapse;
    background: #FFFFFF;
    border-radius: 0.5rem;
    overflow: hidden;
    box-shadow: 0 2px 10px rgba(0,0,0,0.1);
}

.gallery-table th {
    background: #DAAF62;
    color: #FFFFFF;
    padding: 1rem;
    text-align: left;
    font-weight: 400;
    font-size: 1rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.gallery-table td {
    padding: 1rem;
    border-bottom: 1px solid #E5E7EB;
    vertical-align: middle;
}

.gallery-table tr:last-child td {
    border-bottom: none;
}

.gallery-table tr:hover {
    background-color: #F9FAFB;
}

.gallery-row.active {
    background-color: #F0F9FF;
}

.gallery-row.inactive {
    background-color: #FEF2F2;
}

.gallery-thumbnail {
    width: 4rem;
    height: 4rem;
    object-fit: cover;
    border-radius: 0.375rem;
    border: 2px solid #E5E7EB;
}

.image-cell {
    width: 6rem;
}

.category-cell {
    width: 12rem;
    font-weight: 400;
    color: #374151;
}

.sequence-cell {
    width: 8rem;
}

.sequence-input {
    width: 4rem;
    padding: 0.375rem 0.5rem;
    border: 1px solid #D1D5DB;
    border-radius: 0.25rem;
    font-size: 1rem;
    text-align: center;
}

.sequence-input:focus {
    outline: none;
    border-color: #DAAF62;
    box-shadow: 0 0 0 3px rgba(201, 163, 78, 0.1);
}

.save-sequence-btn {
    margin-left: 0.5rem;
    padding: 0.25rem 0.5rem;
    font-size: 0.75rem;
}

.status-cell {
    width: 8rem;
}

.status-badge {
    display: inline-block;
    padding: 0.25rem 0.75rem;
    border-radius: 1rem;
    font-size: 0.75rem;
    font-weight: 400;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.status-badge.active {
    background: #D1FAE5;
    color: #065F46;
}

.status-badge.inactive {
    background: #FEE2E2;
    color: #991B1B;
}

.date-cell {
    width: 10rem;
    color: #2B2930;
    font-size: 1rem;
}

.actions-cell {
    width: 10rem;
    text-align: center;
}

.btn-sm {
    padding: 0.5rem 1rem;
    font-size: 1rem;
    margin: 2px;
    min-width: 80px;
    height: 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 0.25rem;
}

.btn-warning {
    background: #F59E0B;
    color: #FFFFFF;
    border: 1px solid #F59E0B;
}

.btn-warning:hover {
    background: #D97706;
    border-color: #D97706;
}

.btn-success {
    background: #165F35
;
    color: #FFFFFF;
    border: 1px solid #165F35
;
}

.btn-success:hover {
    background: #059669;
    border-color: #059669;
}

/* Responsive Gallery Table */
@media (max-width: 48rem) {
    .gallery-table-container {
        margin-top: 0.5rem;
    }
    
    .gallery-table th,
    .gallery-table td {
        padding: 0.75rem 0.5rem;
    }
    
    .gallery-thumbnail {
        width: 3rem;
        height: 3rem;
    }
    
    .sequence-input {
        width: 3rem;
        font-size: 0.75rem;
    }
    
    .btn-sm {
        padding: 0.4rem 0.8rem;
        font-size: 0.8rem;
        min-width: 70px;
        height: 32px;
    }
}

@media (max-width: 30rem) {
    .gallery-table th,
    .gallery-table td {
        padding: 0.5rem 0.25rem;
    }
    
    .gallery-thumbnail {
        width: 2.5rem;
        height: 2.5rem;
    }
    
    .sequence-input {
        width: 2.5rem;
        font-size: 0.7rem;
    }
    
    .btn-sm {
        padding: 0.3rem 0.6rem;
        font-size: 0.75rem;
        min-width: 60px;
        height: 28px;
    }
}

/* Pagination Styles */
.pagination-info {
    margin: 1rem 0;
    padding: 0.75rem;
    background: #F8FAFC;
    border-radius: 0.375rem;
    border-left: 4px solid #DAAF62;
}

.pagination-info p {
    margin: 0;
    color: #475569;
    font-size: 1rem;
    font-weight: 400;
}

.pagination-container {
    margin-top: 2rem;
    display: flex;
    justify-content: center;
}

.pagination-nav {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    background: #FFFFFF;
    padding: 1rem;
    border-radius: 0.5rem;
    box-shadow: 0 2px 10px rgba(0,0,0,0.1);
}

.pagination-pages {
    display: flex;
    align-items: center;
    gap: 0.25rem;
}

.pagination-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 2.5rem;
    height: 2.5rem;
    padding: 0.5rem;
    text-decoration: none;
    color: #374151;
    background: #F9FAFB;
    border: 1px solid #E5E7EB;
    border-radius: 0.375rem;
    font-size: 1rem;
    font-weight: 400;
    transition: all 0.2s ease;
}

.pagination-link:hover {
    background: #DAAF62;
    color: #FFFFFF;
    border-color: #DAAF62;
    text-decoration: none;
}

.pagination-link:focus {
    outline: none;
    box-shadow: 0 0 0 3px rgba(201, 163, 78, 0.1);
}

.pagination-current {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 2.5rem;
    height: 2.5rem;
    padding: 0.5rem;
    background: #DAAF62;
    color: #FFFFFF;
    border: 1px solid #DAAF62;
    border-radius: 0.375rem;
    font-size: 1rem;
    font-weight: 400;
}

.pagination-prev,
.pagination-next {
    min-width: auto;
    padding: 0.5rem 1rem;
    font-weight: 400;
}

.pagination-ellipsis {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 2.5rem;
    height: 2.5rem;
    color: #2B2930;
    font-weight: 400;
}

.no-images {
    text-align: center;
    padding: 3rem 1rem;
    background: #F8FAFC;
    border-radius: 0.5rem;
    border: 2px dashed #CBD5E1;
}

.no-images p {
    margin: 0;
    color: #64748B;
    font-size: 1rem;
    font-weight: 400;
}

/* Responsive Pagination */
@media (max-width: 48rem) {
    .pagination-nav {
        flex-direction: column;
        gap: 1rem;
        padding: 0.75rem;
    }
    
    .pagination-pages {
        order: 1;
    }
    
    .pagination-prev,
    .pagination-next {
        order: 2;
        width: 100%;
        justify-content: center;
    }
    
    .pagination-link {
        min-width: 2.25rem;
        height: 2.25rem;
        font-size: 0.8rem;
    }
    
    .pagination-current {
        min-width: 2.25rem;
        height: 2.25rem;
        font-size: 0.8rem;
    }
}

@media (max-width: 30rem) {
    .pagination-nav {
        padding: 0.5rem;
    }
    
    .pagination-link {
        min-width: 2rem;
        height: 2rem;
        font-size: 0.75rem;
        padding: 0.375rem;
    }
    
    .pagination-current {
        min-width: 2rem;
        height: 2rem;
        font-size: 0.75rem;
        padding: 0.375rem;
    }
    
    .pagination-prev,
    .pagination-next {
        padding: 0.375rem 0.75rem;
        font-size: 0.8rem;
    }
}

.feature-card {
    display: flex;
    align-items: center;
    transition: all 0.3s ease;
    position: relative;
    cursor: pointer;
}

.feature-card:hover {
    transform: translateX(0.25rem);
}

.feature-card:focus-within {
    outline: 0.125rem solid #DAAF62;
    outline-offset: 0.25rem;
}

.feature-icon-wrapper {
    display: flex;
    align-items: center;
    justify-content: center;
    width: auto;
    height: auto;
    flex-shrink: 0;
    background: none;
    padding: 0;
    margin: 0;
}

.feature-icon {
    font-size: 1.2rem;
    color: #DAAF62;
    background: none;
    padding: 0;
    border-radius: 0;
    box-shadow: none;
    transition: transform 0.2s ease;
}

.feature-card:hover .feature-icon {
    transform: scale(1.05);
}

.feature-content {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.feature-title {
    font-size: 1.125rem;
    font-weight: 400;
    color: #202020;
    margin: 0;
    letter-spacing: 0.025em;
    line-height: 1.3;
}

.feature-description {
    font-size: 1rem;
    color: #202020;
    line-height: 1.4;
    margin: 0;
}

/* Simple entrance animation */
.feature-card {
    animation: fadeIn 0.4s ease-out;
}

.feature-card:nth-child(1) { animation-delay: 0.1s; }
.feature-card:nth-child(2) { animation-delay: 0.2s; }
.feature-card:nth-child(3) { animation-delay: 0.3s; }

@keyframes fadeIn {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

/* About Section Enhanced Styles */
.about-content {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 3rem;
    align-items: center;
}

.about-text {
    padding-right: 1rem;
}

.about-text h3 {
    margin-bottom: 1.5rem;
    font-size: 1.875rem;
}

.about-text p {
    margin-bottom: 1.25rem;
    line-height: 1.7;
}

.about-image img,
.about-image-responsive {
    width: 100%;
    height: auto;
    max-width: 100%;
    border-radius: 1rem;
    box-shadow: 0 10px 30px rgba(0,0,0,0.1);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    object-fit: cover;
    aspect-ratio: 4/3;
}

.about-image img:hover,
.about-image-responsive:hover {
    transform: translateY(-0.25rem);
    box-shadow: 0 15px 40px rgba(0,0,0,0.15);
}

/* Enhanced responsive image container */
.about-image {
    position: relative;
    overflow: hidden;
    border-radius: 1rem;
    background: linear-gradient(135deg, rgba(201, 163, 78, 0.05) 0%, rgba(201, 163, 78, 0.1) 100%);
    padding: 0.5rem;
    max-width: 100%;
    margin: 0 auto;
    align-self: start;
}

/* Responsive About Features */
@media (max-width: 48rem) {
    .about-features {
        grid-template-columns: 1fr;
    }
    
    .feature-card {
    }
    
    .feature-icon-wrapper {
        width: auto;
        height: auto;
    }
    
    .feature-icon {
        font-size: 1.1rem;
    }
    
    .feature-title {
        font-size: 1rem;
    }
    
    .feature-description {
        font-size: 0.8125rem;
    }
    
    .about-content {
        grid-template-columns: 1fr;
        gap: 2rem;
    }
    
    /* Ensure about-text takes more space on larger screens */
    @media (min-width: 48rem) {
        .about-content {
            grid-template-columns: 2fr 1fr;
            gap: 3rem;
        }
        
        .about-text {
            padding-right: 1.5rem;
        }
    }
    
    @media (min-width: 64rem) {
        .about-content {
            grid-template-columns: 3fr 1fr;
            gap: 4rem;
        }
        
        .about-text {
            padding-right: 2rem;
        }
    }
    
    @media (min-width: 80rem) {
        .about-content {
            grid-template-columns: 4fr 1fr;
            gap: 5rem;
        }
        
        .about-text {
            padding-right: 2.5rem;
        }
    }
    
    .about-text h3 {
        font-size: 1.5rem;
    }
    
    .about-image {
        order: -1;
        text-align: center;
        max-width: 90%;
    }
}

/* Small mobile devices */
@media (max-width: 30rem) {
    .about-content {
        gap: 1.5rem;
    }
    
    .about-text {
        padding-right: 0;
    }
    
    .about-image {
        max-width: 95%;
    }
    
    .about-features {
        grid-template-columns: 1fr;
    }
    
    .feature-card {
    }
    
    .feature-icon-wrapper {
        width: auto;
        height: auto;
    }
    
    .feature-icon {
        font-size: 1rem;
    }
    
    .feature-title {
        font-size: 0.9375rem;
    }
    
    .feature-description {
        font-size: 0.75rem;
    }
    
    .about-text h3 {
        font-size: 1.375rem;
    }
    
    .about-text p {
        font-size: 0.9375rem;
        line-height: 1.6;
    }
    
    .about-image {
        padding: 0.125rem;
        max-width: 95%;
    }
    
    .about-image img,
    .about-image-responsive {
        aspect-ratio: 1/1;
        max-height: 15rem;
    }
}

/* Image Protection Styles */
.protected-image {
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -webkit-user-drag: none;
    -khtml-user-drag: none;
    -moz-user-drag: none;
    -o-user-drag: none;
    user-drag: none;
    pointer-events: auto;
}

/* Protection Message */
.protection-message {
    position: fixed;
    top: 1rem;
    right: 1rem;
    background-color: #DAAF62;
    color: #202020;
    padding: 0.75rem 1rem;
    border-radius: 0.5rem;
    box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.2);
    font-weight: 400;
    font-size: 1rem;
    z-index: 10000;
    transform: translateX(100%);
    transition: transform 0.3s ease;
    max-width: 20rem;
    text-align: center;
}

.protection-message.show {
    transform: translateX(0);
}

/* Enhanced Image Protection */
img {
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -webkit-user-drag: none;
    -khtml-user-drag: none;
    -moz-user-drag: none;
    -o-user-drag: none;
    user-drag: none;
}

/* Image loading states */
img.loading {
    opacity: 0.7;
    filter: blur(0.5px);
}

img.loaded {
    opacity: 1;
    filter: none;
}

img.error {
    opacity: 0.5;
    filter: grayscale(100%);
}

/* Picture element optimization */
picture {
    display: block;
    width: 100%;
    height: 100%;
}

picture img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Prevent image saving through CSS */
img::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: transparent;
    pointer-events: none;
}

/* Disable text selection on images */
img, .gallery-image-container, .product-image-container {
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

/* Prevent image dragging in gallery and product sections */
.gallery-image-container img,
.product-image-container img,
.lightbox-image {
    pointer-events: none;
}

/* Allow necessary interactions while maintaining protection */
.gallery-image-container,
.product-image-container,
.lightbox-image-container {
    pointer-events: auto;
}

/* Responsive protection message */
@media (max-width: 48rem) {
    .protection-message {
        top: 0.5rem;
        right: 0.5rem;
        left: 0.5rem;
        max-width: none;
        font-size: 0.75rem;
        padding: 0.5rem 0.75rem;
    }
}

/* ===== NEW ORDER MANAGEMENT STYLES ===== */

/* Order Item Row Styles */
.order-item-row {
    background: #FFFFFF;
    border: 1px solid #E5E7EB;
    border-radius: 0.5rem;
    padding: 1.5rem;
    margin-bottom: 1rem;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

.order-item-row .form-group {
    position: relative;
}

.order-item-row:last-child {
    margin-bottom: 0;
}

/* Search Results Styles */
.search-results {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: #FFFFFF;
    border: 1px solid #E5E7EB;
    border-radius: 0.375rem;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    z-index: 1000;
    max-height: 200px;
    overflow-y: auto;
}

.search-result-item {
    padding: 0.75rem 1rem;
    border-bottom: 1px solid #F3F4F6;
    cursor: pointer;
    transition: background-color 0.2s ease;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.search-result-item:last-child {
    border-bottom: none;
}

.search-result-item:hover {
    background-color: #F9FAFB;
}

.search-result-item strong {
    color: #202020;
    font-weight: 400;
    display: block;
    margin-bottom: 0.25rem;
}

.search-result-item small {
    color: #2B2930;
    font-size: 1rem;
}

.search-result-item:active {
    background-color: #E5E7EB;
}

.no-results {
    padding: 0.75rem 1rem;
    color: #2B2930;
    text-align: center;
    font-style: italic;
}

/* Form Section Enhancements */
.form-section {
    background: #FFFFFF;
    border: 1px solid #E5E7EB;
    border-radius: 0.5rem;
    padding: 2rem;
    margin-bottom: 2rem;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

.form-section h2 {
    color: #202020;
    margin-bottom: 1.5rem;
    padding-bottom: 0.75rem;
    border-bottom: 2px solid #DAAF62;
    font-size: 1.5rem;
}

/* Enhanced Form Row Layout */
.form-row {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 1.5rem;
    margin-bottom: 1.5rem;
}

.form-row:last-child {
    margin-bottom: 0;
}

/* Form Group Enhancements */
.form-group {
    display: flex;
    flex-direction: column;
}

.form-group label {
    font-weight: 400;
    color: #374151;
    margin-bottom: 0.5rem;
    font-size: 1rem;
}

.form-group input,
.form-group select,
.form-group textarea {
    padding: 0.75rem;
    border: 1px solid #D1D5DB;
    border-radius: 0.375rem;
    font-size: 1rem;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
    background-color: #FFFFFF;
}

.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus {
    outline: none;
    border-color: #DAAF62;
    box-shadow: 0 0 0 3px rgba(201, 163, 78, 0.1);
}

.form-group input[readonly] {
    background-color: #F9FAFB;
    color: #2B2930;
    cursor: not-allowed;
}

.form-group small {
    margin-top: 0.25rem;
    color: #2B2930;
    font-size: 0.75rem;
    line-height: 1.4;
}

/* Button Enhancements */
.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.75rem 1.5rem;
    font-size: 1rem;
    font-weight: 400;
    text-decoration: none;
    border-radius: 0.375rem;
    cursor: pointer;
    transition: all 0.2s ease;
    line-height: 1;
    min-height: 2.75rem;
}

.btn-primary {
    background-color: #DAAF62;
    color: #202020;
}

.btn-primary:hover {
    background-color: #82601A;
    transform: translateY(-1px);
    box-shadow: 0 4px 8px rgba(201, 163, 78, 0.3);
}

.btn-primary:focus {
    outline: none;
    box-shadow: 0 0 0 3px rgba(201, 163, 78, 0.3);
}

.btn-secondary {
    background-color: #2B2930;
    color: #FFFFFF;
}

.btn-secondary:hover {
    background-color: #4B5563;
    transform: translateY(-1px);
    box-shadow: 0 4px 8px rgba(107, 114, 128, 0.3);
}

.btn-danger {
    background-color: #DC2626;
    color: #FFFFFF;
}

.btn-danger:hover {
    background-color: #B91C1C;
    transform: translateY(-1px);
    box-shadow: 0 4px 8px rgba(220, 38, 38, 0.3);
}

.btn-small {
    padding: 0.5rem 1rem;
    font-size: 0.75rem;
    min-height: 2.25rem;
}

/* Form Actions */
.form-actions {
    display: flex;
    gap: 1rem;
    justify-content: flex-start;
    align-items: center;
    padding-top: 2rem;
    border-top: 1px solid #E5E7EB;
    margin-top: 2rem;
}

/* Alert Styles */
.alert {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 1rem 1.5rem;
    border-radius: 0.5rem;
    margin-bottom: 2rem;
    font-weight: 400;
}

.alert-success {
    background-color: #D4EDDA;
    color: #065F46;
    border: 1px solid #A7F3D0;
}

.alert-error {
    background-color: #FEE2E2;
    color: #991B1B;
    border: 1px solid #FCA5A5;
}

.alert-info {
    background-color: #DBEAFE;
    color: #1E40AF;
    border: 1px solid #93C5FD;
}

.alert svg {
    flex-shrink: 0;
}

/* Responsive Design */
@media (max-width: 48rem) {
    .form-row {
        grid-template-columns: 1fr;
        gap: 1rem;
    }
    
    .form-section {
        padding: 1.5rem;
        margin-bottom: 1.5rem;
    }
    
    .form-actions {
        flex-direction: column;
        align-items: stretch;
    }
    
    .btn {
        width: 100%;
        justify-content: center;
    }
    
    .order-item-row {
        padding: 1rem;
    }
}

@media (max-width: 30rem) {
    .form-section {
        padding: 1rem;
        margin-bottom: 1rem;
    }
    
    .form-section h2 {
        font-size: 1.25rem;
    }
    
    .order-item-row {
        padding: 0.75rem;
    }
    
    .search-results {
        max-height: 150px;
    }
}

/* Accessibility Enhancements */
.form-group input:focus-visible,
.form-group select:focus-visible,
.form-group textarea:focus-visible {
    outline: 2px solid #DAAF62;
    outline-offset: 2px;
}

.btn:focus-visible {
    outline: 2px solid #DAAF62;
    outline-offset: 2px;
}

/* High Contrast Mode Support */
@media (prefers-contrast: high) {
    .form-section {
        border-width: 2px;
    }
    
    .btn {
        border: 2px solid currentColor;
    }
    
    .search-result-item:hover {
        background-color: #E5E7EB;
    }
}

/* Reduced Motion Support */
@media (prefers-reduced-motion: reduce) {
    .btn:hover,
    .search-result-item,
    .form-group input,
    .form-group select,
    .form-group textarea {
        transition: none;
    }
    
    .btn:hover {
        transform: none;
    }
}

/* ===== DROPDOWN MENU STYLES ===== */
.dropdown {
    position: relative;
    display: inline-block;
}

.dropdown-toggle {
    cursor: pointer;
    position: relative;
}

.dropdown-toggle::after {
    content: 'â–¼';
    font-size: 0.8em;
    margin-left: 0.5rem;
    transition: transform 0.3s ease;
}

.dropdown:hover .dropdown-toggle::after {
    transform: rotate(180deg);
}

.dropdown-menu {
    position: absolute;
    top: 100%;
    left: 0;
    background: white;
    border: 1px solid #ddd;
    border-radius: 4px;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    min-width: 150px;
    z-index: 1000;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-10px);
    transition: all 0.3s ease;
    list-style: none;
    padding: 0;
    margin: 0;
}

.dropdown:hover .dropdown-menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.dropdown-menu li {
    margin: 0;
}

.dropdown-menu a {
    display: block;
    padding: 0.75rem 1rem;
    color: #333;
    text-decoration: none;
    border-bottom: 1px solid #eee;
    transition: background-color 0.2s ease;
}

.dropdown-menu a:hover {
    background-color: #f8f9fa;
    color: #007bff;
}

.dropdown-menu li:last-child a {
    border-bottom: none;
}

/* ===== CARD ACTIONS STYLES ===== */
.card-actions {
    display: flex;
    gap: 0.5rem;
    flex-wrap: wrap;
    margin-top: 1rem;
}

.btn-sm {
    padding: 0.375rem 0.75rem;
    font-size: 1rem;
    line-height: 1.5;
    border-radius: 0.25rem;
}

/* ===== ATTRIBUTE DETAILS STYLES ===== */
.attribute-details-table-container {
    overflow-x: auto;
    margin-top: 1rem;
}

.attribute-details-table {
    width: 100%;
    border-collapse: collapse;
    background: white;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.attribute-details-table th,
.attribute-details-table td {
    padding: 1rem;
    text-align: left;
    border-bottom: 1px solid #eee;
}

.attribute-details-table th {
    background-color: #f8f9fa;
    font-weight: 600;
    color: #333;
}

.attribute-details-table .detail-thumbnail {
    width: 40px;
    height: 40px;
    object-fit: cover;
    border-radius: 4px;
    border: 1px solid #ddd;
    transition: transform 0.2s ease;
    cursor: pointer;
}

.attribute-details-table .detail-thumbnail:hover {
    transform: scale(1.2);
    border-color: #007bff;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
}

.attribute-details-table .no-image {
    color: #595959;
    font-style: italic;
    font-size: 1rem;
}

.attribute-details-table .detail-name-input {
    border: 1px solid #ddd;
    padding: 0.5rem;
    border-radius: 4px;
    width: 100%;
    max-width: 200px;
}

.attribute-details-table .detail-name-input:focus {
    outline: none;
    border-color: #007bff;
    box-shadow: 0 0 0 2px rgba(0, 123, 255, 0.25);
}

.attribute-details-table .save-name-btn {
    margin-left: 0.5rem;
    margin-top: 0.25rem;
}

.attribute-details-table .actions-cell {
    white-space: nowrap;
}

.attribute-details-table .actions-cell .btn {
    margin-right: 0.5rem;
    margin-bottom: 0.25rem;
}

.no-attribute-details {
    text-align: center;
    padding: 2rem;
    color: #666;
    background: white;
    border-radius: 8px;
    border: 1px solid #eee;
}

/* ===== IMAGE MODAL STYLES ===== */
.image-modal {
    display: none;
    position: fixed;
    z-index: 9999;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.9);
    animation: fadeIn 0.3s ease;
}

.image-modal-content {
    position: relative;
    margin: auto;
    padding: 0;
    width: 90%;
    max-width: 800px;
    top: 50%;
    transform: translateY(-50%);
    text-align: center;
}

.modal-image {
    width: 100%;
    height: auto;
    max-height: 80vh;
    object-fit: contain;
    border-radius: 8px;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3);
}

.image-modal-close {
    position: absolute;
    top: -40px;
    right: 0;
    color: white;
    font-size: 35px;
    font-weight: bold;
    cursor: pointer;
    transition: color 0.3s ease;
    z-index: 10000;
}

.image-modal-close:hover,
.image-modal-close:focus {
    color: #ff6b6b;
    text-decoration: none;
}

.image-modal-caption {
    margin: 15px 0;
    color: white;
    font-size: 16px;
    font-weight: 500;
    text-align: center;
    background: rgba(0, 0, 0, 0.7);
    padding: 10px 20px;
    border-radius: 20px;
    display: inline-block;
}

@keyframes fadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}

/* Mobile responsiveness for image modal */
@media (max-width: 768px) {
    .image-modal-content {
        width: 95%;
        padding: 20px;
    }
    
    .image-modal-close {
        top: -30px;
        font-size: 28px;
    }
    
    .image-modal-caption {
        font-size: 14px;
        padding: 8px 16px;
    }
}

/* ===== PRODUCT MANAGEMENT STYLES ===== */
.products-table-container {
    overflow-x: auto;
    margin-top: 1rem;
}

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

.products-table th,
.products-table td {
    padding: 1rem;
    text-align: left;
    border-bottom: 1px solid #eee;
}

.products-table th {
    background-color: #f8f9fa;
    font-weight: 600;
    color: #333;
}

.products-table .code-cell {
    font-weight: 600;
    color: #007bff;
    font-family: 'Courier New', monospace;
    font-size: 0.9rem;
}

.products-table .name-cell {
    font-weight: 600;
    color: #2c3e50;
}

.products-table .sequence-cell {
    text-align: center;
    font-weight: 500;
    color: #2B2930;
}

.products-table .discount {
    color: #28a745;
    font-weight: 500;
}

.products-table .actions-cell {
    white-space: nowrap;
}

.products-table .actions-cell .btn {
    margin-right: 0.5rem;
    margin-bottom: 0.25rem;
}

.no-products {
    text-align: center;
    padding: 2rem;
    color: #666;
    background: white;
    border-radius: 8px;
    border: 1px solid #eee;
}

.attributes-container {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 1rem;
    margin-top: 0.5rem;
}

.attributes-container .checkbox-label {
    margin-bottom: 0.5rem;
}

.form-actions {
    display: flex;
    gap: 1rem;
    margin-top: 2rem;
    padding-top: 1rem;
    border-top: 1px solid #eee;
}

@media (max-width: 768px) {
    .attributes-container {
        grid-template-columns: 1fr;
    }
    
    .form-actions {
        flex-direction: column;
    }
    
    .form-actions .btn {
        width: 100%;
    }
}

/* ===== MULTIPLE IMAGES MANAGEMENT STYLES ===== */
.existing-images-section {
    margin-bottom: 2rem;
    padding: 1.5rem;
    background: #f8f9fa;
    border-radius: 8px;
    border: 1px solid #e9ecef;
}

.existing-images-section h4 {
    margin-bottom: 1rem;
    color: #333;
    font-size: 1.1rem;
}

.existing-images-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
    gap: 1rem;
}

.existing-image-item {
    background: white;
    border-radius: 8px;
    padding: 1rem;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    text-align: center;
}

.existing-image-item .image-preview {
    margin-bottom: 0.5rem;
}

.existing-thumbnail {
    width: 80px;
    height: 80px;
    object-fit: cover;
    border-radius: 6px;
    border: 2px solid #ddd;
    cursor: pointer;
    transition: transform 0.2s ease, border-color 0.2s ease;
}

.existing-thumbnail:hover {
    transform: scale(1.05);
    border-color: #007bff;
}

.no-image-placeholder {
    width: 80px;
    height: 80px;
    background: #f8f9fa;
    border: 2px dashed #ddd;
    border-radius: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.8rem;
    color: #666;
    margin: 0 auto;
}

.image-controls {
    display: flex;
    gap: 0.5rem;
    align-items: center;
    justify-content: center;
    margin-top: 0.5rem;
}

.sequence-input {
    width: 50px;
    padding: 0.25rem;
    border: 1px solid #ddd;
    border-radius: 4px;
    text-align: center;
    font-size: 1rem;
}

.image-controls {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    align-items: center;
}

.image-settings {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    align-items: center;
    margin-bottom: 0.5rem;
}

.image-actions {
    display: flex;
    gap: 0.25rem;
}

.update-image-btn,
.delete-image-btn {
    width: 30px;
    height: 30px;
    padding: 0;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.8rem;
    line-height: 1;
}

.new-images-section {
    padding: 1.5rem;
    background: white;
    border-radius: 8px;
    border: 1px solid #e9ecef;
}

.new-images-section h4 {
    margin-bottom: 1rem;
    color: #333;
    font-size: 1.1rem;
}

.image-preview-container {
    margin-top: 1rem;
    padding: 1rem;
    background: #f8f9fa;
    border-radius: 6px;
}

.image-preview-container h5 {
    margin-bottom: 1rem;
    color: #333;
    font-size: 1rem;
}

.preview-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
    gap: 1rem;
}

.preview-item {
    background: white;
    border-radius: 6px;
    padding: 0.75rem;
    text-align: center;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

.preview-thumbnail {
    width: 80px;
    height: 80px;
    object-fit: cover;
    border-radius: 4px;
    border: 1px solid #ddd;
    margin-bottom: 0.5rem;
}

.preview-info {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.preview-info small {
    font-size: 0.75rem;
    color: #666;
    word-break: break-word;
}

.no-existing-images {
    text-align: center;
    color: #666;
    font-style: italic;
    padding: 2rem;
    background: white;
    border-radius: 6px;
    border: 1px solid #e9ecef;
}

@media (max-width: 768px) {
    .existing-images-grid {
        grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
    }
    
    .preview-grid {
        grid-template-columns: repeat(auto-fill, minmax(100px, 1fr));
    }
    
    .existing-image-item {
        padding: 0.75rem;
    }
    
    .existing-thumbnail,
    .preview-thumbnail {
        width: 60px;
        height: 60px;
    }
}

/* ===== ONE-BY-ONE IMAGE UPLOAD STYLES ===== */
.image-upload-container {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.image-upload-item {
    background: white;
    border: 1px solid #e9ecef;
    border-radius: 8px;
    padding: 1rem;
    transition: border-color 0.2s ease;
}

.image-upload-item:hover {
    border-color: #007bff;
}

.upload-row {
    display: grid;
    grid-template-columns: 200px 1fr 150px auto;
    gap: 1rem;
    align-items: center;
}

.image-settings-wrapper {
    display: flex;
    justify-content: center;
}

.image-upload-settings {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    align-items: center;
}

.sequence-upload-input {
    width: 80px;
    padding: 0.25rem;
    border: 1px solid #ddd;
    border-radius: 4px;
    text-align: center;
    font-size: 1rem;
}

.file-input-wrapper {
    position: relative;
}

.image-input {
    position: absolute;
    opacity: 0;
    width: 100%;
    height: 100%;
    cursor: pointer;
}

.file-input-label {
    display: block;
    padding: 0.75rem 1rem;
    background: #f8f9fa;
    border: 2px dashed #ddd;
    border-radius: 6px;
    text-align: center;
    cursor: pointer;
    transition: all 0.2s ease;
    font-size: 1rem;
    color: #666;
}

.file-input-label:hover {
    background: #e9ecef;
    border-color: #007bff;
    color: #007bff;
}

.image-preview-wrapper {
    min-height: 80px;
    display: flex;
    align-items: center;
}

.image-preview-placeholder {
    color: #595959;
    font-style: italic;
    font-size: 1rem;
    text-align: center;
    padding: 1rem;
    background: #f8f9fa;
    border-radius: 6px;
    width: 100%;
}

.image-preview-selected {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 0.5rem;
    background: #f8f9fa;
    border-radius: 6px;
}

.preview-image {
    width: 60px;
    height: 60px;
    object-fit: cover;
    border-radius: 4px;
    border: 1px solid #ddd;
}

.image-info {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    flex: 1;
}

.image-name {
    font-weight: 500;
    color: #333;
    word-break: break-word;
}

.image-size {
    color: #666;
}

.upload-controls {
    display: flex;
    gap: 0.5rem;
}

.add-image-btn,
.remove-image-btn {
    width: 32px;
    height: 32px;
    padding: 0;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.1rem;
    line-height: 1;
    font-weight: bold;
}

.add-image-btn {
    background: #28a745;
    border-color: #28a745;
}

.add-image-btn:hover {
    background: #218838;
    border-color: #1e7e34;
}

.remove-image-btn {
    background: #dc3545;
    border-color: #dc3545;
}

.remove-image-btn:hover {
    background: #c82333;
    border-color: #bd2130;
}

/* Mobile responsiveness for one-by-one upload */
@media (max-width: 768px) {
    .upload-row {
        grid-template-columns: 1fr;
        gap: 0.75rem;
        text-align: center;
    }
    
    .file-input-wrapper {
        order: 1;
    }
    
    .image-preview-wrapper {
        order: 2;
        min-height: 60px;
    }
    
    .image-settings-wrapper {
        order: 3;
    }
    
    .upload-controls {
        order: 4;
        justify-content: center;
    }
    
    .image-preview-selected {
        flex-direction: column;
        text-align: center;
    }
    
    .preview-image {
        width: 80px;
        height: 80px;
    }
}

@media (max-width: 480px) {
    .image-upload-item {
        padding: 0.75rem;
    }
    
    .upload-row {
        gap: 0.5rem;
    }
    
    .file-input-label {
        padding: 0.5rem;
        font-size: 0.8rem;
    }
}

/* ===== PRODUCT ATTRIBUTES MANAGEMENT STYLES ===== */
.existing-attributes-section {
    margin-bottom: 2rem;
    padding: 1.5rem;
    background: #f8f9fa;
    border-radius: 8px;
    border: 1px solid #e9ecef;
}

.existing-attributes-section h4 {
    margin-bottom: 1rem;
    color: #333;
    font-size: 1.1rem;
}

.existing-attributes-list {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.existing-attribute-item {
    background: white;
    border-radius: 8px;
    padding: 1rem;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    display: grid;
    grid-template-columns: 200px 1fr auto;
    gap: 1rem;
    align-items: center;
}

.attribute-info strong {
    color: #333;
    font-size: 1rem;
}

.attribute-details {
    display: flex;
    gap: 1rem;
    align-items: center;
}

.attr-display-name,
.attr-price {
    padding: 0.5rem;
    border: 1px solid #ddd;
    border-radius: 4px;
    font-size: 1rem;
}

.attr-display-name {
    flex: 1;
    min-width: 150px;
}

.attr-price {
    width: 100px;
}

.checkbox-label.small {
    font-size: 1rem;
    margin-bottom: 0;
}

.attribute-controls {
    display: flex;
    gap: 0.5rem;
}

.new-attributes-section {
    padding: 1.5rem;
    background: white;
    border-radius: 8px;
    border: 1px solid #e9ecef;
}

.new-attributes-section h4 {
    margin-bottom: 1rem;
    color: #333;
    font-size: 1.1rem;
}

.attribute-upload-container {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.attribute-upload-item {
    background: #f8f9fa;
    border: 1px solid #e9ecef;
    border-radius: 8px;
    padding: 1rem;
    transition: border-color 0.2s ease;
}

.attribute-upload-item:hover {
    border-color: #007bff;
}

.attribute-row {
    display: grid;
    grid-template-columns: 200px 1fr auto;
    gap: 1rem;
    align-items: center;
}

.attribute-select-wrapper select {
    width: 100%;
    padding: 0.5rem;
    border: 1px solid #ddd;
    border-radius: 4px;
    font-size: 1rem;
}

.attribute-details-wrapper {
    display: flex;
    gap: 1rem;
    align-items: center;
}

.attr-display-input {
    flex: 1;
    min-width: 150px;
    padding: 0.5rem;
    border: 1px solid #ddd;
    border-radius: 4px;
    font-size: 1rem;
}

.attr-price-input {
    width: 100px;
    padding: 0.5rem;
    border: 1px solid #ddd;
    border-radius: 4px;
    font-size: 1rem;
}

.add-attribute-btn,
.remove-attribute-btn {
    width: 32px;
    height: 32px;
    padding: 0;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.1rem;
    line-height: 1;
    font-weight: bold;
}

.no-existing-attributes {
    text-align: center;
    color: #666;
    font-style: italic;
    padding: 2rem;
    background: white;
    border-radius: 6px;
    border: 1px solid #e9ecef;
}

/* Mobile responsiveness for attributes */
@media (max-width: 768px) {
    .existing-attribute-item,
    .attribute-row {
        grid-template-columns: 1fr;
        gap: 0.75rem;
        text-align: center;
    }
    
    .attribute-details,
    .attribute-details-wrapper {
        flex-direction: column;
        gap: 0.5rem;
    }
    
    .attr-display-input,
    .attr-display-name {
        min-width: auto;
        width: 100%;
    }
    
    .attr-price-input,
    .attr-price {
        width: 100%;
    }
    
    .attribute-controls {
        justify-content: center;
    }
}

@media (max-width: 480px) {
    .existing-attributes-section,
    .new-attributes-section {
        padding: 1rem;
    }
    
    .existing-attribute-item,
    .attribute-upload-item {
        padding: 0.75rem;
    }
}

/* ===== FORM PERSISTENCE STYLES ===== */
.current-file-display,
.uploaded-file-display {
    background-color: #f8f9fa;
    border: 1px solid #dee2e6;
    border-radius: 0.375rem;
    padding: 1rem;
    margin-bottom: 1rem;
}

.current-file-display p,
.uploaded-file-display p {
    margin: 0.25rem 0;
    font-size: 1rem;
}

.file-note {
    color: #2B2930;
    font-style: italic;
}

.uploaded-file-display {
    background-color: #fff3cd;
    border-color: #ffeaa7;
}

.uploaded-file-display p:first-child {
    color: #856404;
    font-weight: 500;
}

/* ===== WHATSAPP FLOATING BUTTON ===== */
.whatsapp-float {
    position: fixed !important;
    bottom: 20px !important;
    right: 20px !important;
    width: 50px !important;
    height: 50px !important;
    max-width: 50px !important;
    max-height: 50px !important;
    min-width: 50px !important;
    min-height: 50px !important;
    background-color: #25D366 !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-shadow: 0 4px 12px rgba(37, 211, 102, 0.4) !important;
    z-index: 99999 !important;
    transition: all 0.3s ease;
    text-decoration: none !important;
    border: none !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
}

.whatsapp-float:hover {
    transform: scale(1.1);
    box-shadow: 0 6px 16px rgba(37, 211, 102, 0.6);
    background-color: #20BA5A;
}

.whatsapp-float:active {
    transform: scale(0.95);
}

.whatsapp-float:focus {
    outline: 3px solid rgba(37, 211, 102, 0.5) !important;
    outline-offset: 2px !important;
}

.whatsapp-float svg,
.whatsapp-float img,
.whatsapp-icon {
    width: 28px !important;
    height: 28px !important;
    max-width: 28px !important;
    max-height: 28px !important;
    min-width: 28px !important;
    min-height: 28px !important;
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    flex-shrink: 0 !important;
    color: #FFFFFF !important;
    fill: currentColor !important;
}

/* Responsive adjustments for WhatsApp button */
@media (max-width: 768px) {
    .whatsapp-float {
        bottom: 15px !important;
        right: 15px !important;
        width: 48px !important;
        height: 48px !important;
    }
    
    .whatsapp-float svg,
    .whatsapp-float img,
    .whatsapp-icon {
        width: 26px !important;
        height: 26px !important;
        max-width: 26px !important;
        max-height: 26px !important;
    }
}

@media (max-width: 480px) {
    .whatsapp-float {
        bottom: 10px !important;
        right: 10px !important;
        width: 45px !important;
        height: 45px !important;
    }
    
    .whatsapp-float svg,
    .whatsapp-float img,
    .whatsapp-icon {
        width: 24px !important;
        height: 24px !important;
        max-width: 24px !important;
        max-height: 24px !important;
    }
}

.lb-section {
    background: linear-gradient(135deg, #E3C389 0%, #F1E1C4 100%); 
    color: #202020; 
    text-align: center;
}

.lb-section h2 {
    color: #202020; 
    margin-bottom: 1.5rem;
}

.lb-section p {
    font-size: 1.125rem; 
    color: #202020;
}

.lb-btn-group {
    display: flex; 
    gap: 1rem; 
    justify-content: center; 
    flex-wrap: wrap;
    margin-top: 1.5rem;
}

/*Lakmee */