/* Custom styles for Gung Chaba Massage Therapy */

/* Smooth scrolling */
html {
    scroll-behavior: smooth;
}

/* Hero overlay - warmer, deeper gradient */
.hero-overlay {
    background: linear-gradient(
        160deg,
        rgba(30, 54, 16, 0.8) 0%,
        rgba(45, 80, 22, 0.6) 40%,
        rgba(60, 50, 30, 0.5) 100%
    );
}

/* Gold gradient accent */
.gold-gradient {
    background: linear-gradient(135deg, #B07D4F 0%, #C4956A 40%, #D4B896 100%);
}

/* Subtle warm background for alternating sections */
.bg-warm-light {
    background: linear-gradient(180deg, #FDFBF7 0%, #F9F3EA 50%, #FDFBF7 100%);
}

/* Page header gradient - richer than flat color */
.page-header {
    background: linear-gradient(135deg, #1E3610 0%, #2D5016 50%, #3D7020 100%);
    position: relative;
    overflow: hidden;
}
.page-header::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: radial-gradient(ellipse at 30% 50%, rgba(196, 149, 106, 0.1) 0%, transparent 60%);
    pointer-events: none;
}

/* Card hover effect - refined shadow */
.service-card {
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    border: 1px solid rgba(0, 0, 0, 0.04);
}
.service-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 16px 32px rgba(45, 80, 22, 0.08), 0 4px 8px rgba(0, 0, 0, 0.04);
}

/* Testimonial card */
.testimonial-card {
    position: relative;
    border: 1px solid rgba(196, 149, 106, 0.12);
    transition: box-shadow 0.3s ease;
}
.testimonial-card:hover {
    box-shadow: 0 8px 24px rgba(196, 149, 106, 0.1);
}
.testimonial-card::before {
    content: '\201C';
    position: absolute;
    top: -10px;
    left: 16px;
    font-size: 4rem;
    color: #C4956A;
    opacity: 0.25;
    font-family: 'Playfair Display', serif;
    line-height: 1;
}

/* Flash message auto-hide */
.flash-message {
    animation: fadeInOut 4s ease forwards;
}
@keyframes fadeInOut {
    0% { opacity: 0; transform: translateX(20px); }
    10% { opacity: 1; transform: translateX(0); }
    80% { opacity: 1; transform: translateX(0); }
    100% { opacity: 0; transform: translateX(20px); }
}

/* Section divider - refined */
.section-divider {
    width: 60px;
    height: 3px;
    background: linear-gradient(90deg, #C4956A, #D4B896);
    margin: 0 auto;
    border-radius: 2px;
}

/* Active nav link */
.nav-link.active {
    color: #C4956A;
}

/* Navigation refinement */
nav {
    transition: box-shadow 0.3s ease;
}

/* Form focus styles */
input:focus, textarea:focus, select:focus {
    outline: none;
    border-color: #C4956A;
    box-shadow: 0 0 0 3px rgba(196, 149, 106, 0.15);
}

/* Pricing table row hover */
.pricing-row {
    transition: background-color 0.2s ease;
}
.pricing-row:hover {
    background-color: #FAF6EF;
}

/* Star rating */
.star {
    color: #C4956A;
}

/* Rating bar section */
.rating-bar {
    background: linear-gradient(135deg, #1E3610 0%, #2D5016 100%);
}

/* CTA section overlay shimmer */
.gold-gradient {
    position: relative;
    overflow: hidden;
}
.gold-gradient::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: radial-gradient(ellipse at 70% 30%, rgba(255, 255, 255, 0.08) 0%, transparent 50%);
    pointer-events: none;
}

/* Better image treatment */
.image-frame {
    position: relative;
}
.image-frame::after {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: 1rem;
    box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.06);
    pointer-events: none;
}

/* Info card with left accent */
.info-card {
    border-left: 3px solid #C4956A;
    transition: transform 0.2s ease;
}
.info-card:hover {
    transform: translateX(4px);
}

/* Voucher price cards */
.voucher-card {
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    border: 1px solid rgba(196, 149, 106, 0.15);
}
.voucher-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 16px rgba(196, 149, 106, 0.12);
}

/* Floating action buttons */
.fab-btn {
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.fab-btn:hover {
    transform: scale(1.1);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.2);
}

/* Subtle background pattern for gold-50 sections */
.bg-pattern {
    background-color: #FDF8F3;
    background-image: radial-gradient(circle at 20% 50%, rgba(196, 149, 106, 0.04) 0%, transparent 50%),
                      radial-gradient(circle at 80% 20%, rgba(45, 80, 22, 0.03) 0%, transparent 40%);
}

/* ===== RESPONSIVE / MOBILE FIXES ===== */

/* Mobile: tighter spacing, smaller text */
@media (max-width: 639px) {
    /* Reduce section padding on mobile */
    section.py-20 {
        padding-top: 3rem;
        padding-bottom: 3rem;
    }

    /* Testimonial card less padding */
    .testimonial-card {
        padding: 1.25rem;
    }

    /* Testimonial quote mark smaller */
    .testimonial-card::before {
        font-size: 2.5rem;
        top: -6px;
        left: 12px;
    }

    /* Footer tighter spacing */
    footer .grid {
        gap: 2rem;
    }

    /* Page header shorter on mobile */
    .page-header {
        padding-top: 5rem;
        padding-bottom: 5rem;
    }

    /* Map iframe shorter on mobile */
    iframe[title*="Location"] {
        min-height: 200px;
    }
}

/* Tablet tweaks */
@media (min-width: 640px) and (max-width: 1023px) {
    /* Slightly reduce large section gaps */
    .gap-16 {
        gap: 2.5rem;
    }
}

/* Ensure images don't overflow on small screens */
img {
    max-width: 100%;
    height: auto;
}

/* Better touch targets on mobile */
@media (max-width: 639px) {
    .nav-link, footer a {
        padding: 0.25rem 0;
    }

    /* Mobile menu links bigger tap area */
    #mobile-menu a {
        padding: 0.75rem 0;
        font-size: 1.05rem;
    }
}
