/* =========================================
   1. GLOBAL TYPOGRAPHY & RESET
   ========================================= */
body {
    font-family: 'Be Vietnam Pro', 'Mulish', sans-serif;
    color: #36180D; /* Default text color */
}

h1, h2, h3, h4, h5, h6, .font-serif, .heading-style, .font-display {
    font-family: 'Merriweather', serif;
}

/* Smooth Scrolling */
html { scroll-behavior: smooth; }

/* Smooth transitions */
.transition-all-ease {
    transition-property: all;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 300ms;
}

/* =========================================
   2. NEW UI ASSETS (TEXTURES & ANIMATIONS)
   ========================================= */
.bg-texture {
    background-image: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23983a1b' fill-opacity='0.03'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
}

@keyframes float {
    0% { transform: translateY(0px); }
    50% { transform: translateY(-10px); }
    100% { transform: translateY(0px); }
}
.animate-float {
    animation: float 6s ease-in-out infinite;
}

/* =========================================
   3. CUSTOM SCROLLBAR
   ========================================= */
::-webkit-scrollbar {
    width: 8px;
}
::-webkit-scrollbar-track {
    background: #FFFAF5;
}
::-webkit-scrollbar-thumb {
    background: #C77D4F;
    border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
    background: #A65D37;
}

/* Specific Scrollbar for Village List (New UI) */
.village-list::-webkit-scrollbar { width: 4px; }
.village-list::-webkit-scrollbar-track { background: rgba(255,255,255,0.05); }
.village-list::-webkit-scrollbar-thumb { background: #983a1b; border-radius: 4px; }

/* =========================================
   4. ANIMATIONS (Fade In)
   ========================================= */
.fade-in {
    animation: fadeIn 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}

@keyframes fadeIn {
    from { opacity: 0; transform: translateY(20px); }
    to { opacity: 1; transform: translateY(0); }
}

/* =========================================
   5. NAVIGATION STYLES
   ========================================= */
.nav-font-style {
    font-family: 'Merriweather', serif;
    font-weight: 900; 
    font-size: 16px;
    color: #36180D;
}

.custom-logo-link img {
    height: auto;
    max-height: 90px; 
    width: auto;
}

/* WP Admin Bar Fix */
body.admin-bar header { top: 32px; }
@media screen and (max-width: 782px) { 
    body.admin-bar header { top: 46px; } 
}

/* =========================================
   6. WOOCOMMERCE COMPATIBILITY FIXES
   ========================================= */

/* --- A. FIX BUTTONS (Override Default Purple) --- */
button.button, 
.woocommerce-page button.button, 
.woocommerce-page input.button,
.wc-proceed-to-checkout .button.checkout-button,
.wc-proceed-to-checkout .checkout-button,
.woocommerce button.button.alt,
.woocommerce a.button {
    background-color: #36180D !important; /* Brand 900 */
    color: #ffffff !important;
    border-radius: 0.75rem !important; /* 12px */
    padding: 1rem 1.5rem !important;
    font-weight: 700 !important;
    font-family: 'Mulish', sans-serif !important;
    transition: all 0.3s ease !important;
    border: none !important;
    text-decoration: none !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
}

/* Hover States */
button.button:hover, 
.woocommerce-page button.button:hover,
.wc-proceed-to-checkout .button.checkout-button:hover,
.woocommerce button.button.alt:hover,
.woocommerce a.button:hover {
    background-color: #A65D37 !important; /* Brand 600 */
    transform: translateY(-2px);
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
    color: #fff !important;
}

/* Disabled State */
button.button:disabled,
button.button:disabled[disabled] {
    background-color: #e5e7eb !important;
    color: #9ca3af !important;
    cursor: not-allowed !important;
    transform: none !important;
    box-shadow: none !important;
}

/* --- B. SPECIFIC BUTTON TWEAKS --- */

/* Coupon Button */
.woocommerce-cart button[name="apply_coupon"] {
    background-color: #FCECDD !important; /* Brand 100 */
    color: #36180D !important;
}
.woocommerce-cart button[name="apply_coupon"]:hover {
    background-color: #F5D0B5 !important; /* Brand 200 */
}

/* --- C. FORM INPUTS --- */
input[type="text"], 
input[type="email"], 
input[type="tel"], 
input[type="number"], 
input[type="password"] {
    border-radius: 0.75rem !important;
    border: 1px solid #FCECDD !important;
    padding: 0.75rem 1rem !important;
    background-color: #fff !important;
    box-shadow: none !important;
    min-height: 48px;
}

input:focus {
    border-color: #C77D4F !important;
    outline: none !important;
    ring: 0 !important;
}

/* Hide Default Number Spinners */
input[type=number]::-webkit-inner-spin-button, 
input[type=number]::-webkit-outer-spin-button { 
    -webkit-appearance: none; 
    margin: 0; 
}
input[type=number] {
    -moz-appearance: textfield;
}

/* --- D. CART ALERTS --- */
.woocommerce-message, 
.woocommerce-info, 
.woocommerce-error {
    border-top: 3px solid #36180D !important;
    background-color: #FFFAF5 !important;
    color: #36180D !important;
    border-radius: 0.5rem !important;
    font-weight: 500 !important;
    padding: 1rem 1.5rem !important;
    margin-bottom: 2rem !important;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05);
}

.woocommerce-message::before, 
.woocommerce-info::before {
    color: #C77D4F !important;
    font-weight: 900 !important;
}

.woocommerce-message a, 
.woocommerce-info a {
    color: #36180D !important;
    font-weight: 800 !important;
    text-decoration: underline !important;
}