/* --- Custom Styles for a Polished Look --- */
:root {
    --primary-color: #003366;
    --secondary-color: #4f46e5;
    --accent-color: #34d399;
    --text-color: #1f2937;
    --background-color: #f9fafb;
}

body {
    font-family: 'Inter', sans-serif;
    background-color: var(--background-color);
    color: var(--text-color);
}

/* --- Header & Navigation --- */
.main-header {
    background: linear-gradient(135deg, var(--primary-color), #004f8c);
 
}

.floating-cart {
    background-color: white;
    color: var(--primary-color);
    box-shadow: 0 4px 12px rgba(0,0,0,0.15);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.floating-cart:hover {
    transform: scale(1.1);
    box-shadow: 0 6px 16px rgba(0,0,0,0.2);
}

/* --- Hero Animation (from index.html) --- */
.bright-holder h4 {
    display: inline-block;
    font-size: 12vw; /* Responsive font size */
    color: var(--primary-color);
    animation: 5s infinite sparkle;
}

@keyframes sparkle {
    0%, 100%, 45% { color: var(--primary-color); transform: translateY(0); }
    25% { color: #346ebe; transform: translateY(2px); }
}

@media (min-width: 768px) {
    .bright-holder h4 {
        font-size: 6rem; /* Larger font size for tablets and desktops */
    }
}


/* --- Accordion Styles (from faq.html & product-standard-kit.html) --- */
.accordion-item {
    border-bottom: 1px solid #e5e7eb;
}
.accordion-header {
    cursor: pointer;
}
.accordion-content {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease-out, padding 0.3s ease-out;
}
 .accordion-item.open .accordion-content {
    max-height: 500px; /* Adjust as needed */
    padding-top: 1rem;
    padding-bottom: 1rem;
}
.accordion-item.open .accordion-icon {
    transform: rotate(180deg);
}
.accordion-icon {
    transition: transform 0.3s ease;
}

/* --- Form Input Styles (from contact.html) --- */
.form-input {
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.form-input:focus {
    border-color: var(--secondary-color);
    box-shadow: 0 0 0 2px rgba(79, 70, 229, 0.3);
    outline: none;
}
#successMessage {
    transition: opacity 0.5s ease-in-out;
}

/* --- Product Page Specific Styles (from product-standard-kit.html) --- */
.product-image-gallery .main-image {
    aspect-ratio: 1 / 1;
    object-fit: cover;
    border: 1px solid #e5e7eb;
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.05);
}
.product-image-gallery .thumbnail {
    cursor: pointer;
    border: 2px solid transparent;
    transition: border-color 0.2s ease;
    aspect-ratio: 1 / 1;
    object-fit: cover;
}
.product-image-gallery .thumbnail.active,
.product-image-gallery .thumbnail:hover {
    border-color: var(--secondary-color);
}

.quantity-selector button {
    transition: background-color 0.2s ease;
}
.quantity-selector button:hover {
    background-color: #e5e7eb;
}

.payment-button {
    transition: transform 0.2s ease, opacity 0.2s ease;
}
.payment-button:hover {
    transform: translateY(-2px);
    opacity: 0.9;
}
#paypal-button { background-color: #ffc439; }
#stripe-button { background-color: #635bff; }
#shop-pay-button { background-color: #5a31f4; }

.related-product-card {
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.related-product-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 15px rgba(0,0,0,0.07);
}

/* --- Product Detail Page (from product-detail.php) --- */
.prose { color: #374151; } 
.prose ul { list-style-type: disc; padding-left: 1.5rem; } 
.prose li { margin-top: 0.5rem; }
#payment-message { margin-top: 1rem; text-align: center; font-weight: 500; }
.success-message { color: #16a34a; }
.error-message { color: #dc2626; }



/* --- Custom Styles for a Polished Look --- */
:root {
    --primary-color: #003366;
    --secondary-color: #4f46e5;
    --text-color: #1f2937;
    --background-color: #f9fafb;
}

/* --- Body & Layout for Sticky Footer --- */
html {
    height: 100%;
}

body {
    min-height: 100%;
    display: flex;
    flex-direction: column;
    font-family: 'Inter', sans-serif;
    background-color: var(--background-color);
    color: var(--text-color);
}

main {
    flex-grow: 1; /* This is the key: it makes the main content area expand */
}


/* --- Header & Navigation --- */
.main-header {
    background: linear-gradient(135deg, var(--primary-color), #004f8c);
}

.prose { 
    color: #374151; 
} 
.prose ul { 
    list-style-type: disc; 
    padding-left: 1.5rem; 
} 
.prose li { 
    margin-top: 0.5rem; 
}
.prose a {
    color: var(--secondary-color);
    text-decoration: underline;
}

