/* -----------------------------
   Full-page sand background for homepage
------------------------------ */
body.home {
    background-image: url('../images/sand-background.png');
    background-size: cover;          /* fill the page */
    background-repeat: no-repeat;    /* don’t tile */
    background-position: center top; /* position nicely */
    background-attachment: fixed;    /* keeps background fixed while scrolling */
    background-color: #fdf6e3;       /* fallback color */
    margin: 0;
    padding: 0;
}

/* -----------------------------
   Site Header (blends with page)
------------------------------ */
.site-header {
    background: transparent;          /* transparent so it blends with page */
    min-height: 40px;                 /* compact height */
    padding: 5px 20px;                /* vertical & horizontal padding */
    display: flex;
    align-items: center;              /* vertical centering */
    justify-content: center;
    gap: 10px;                        /* space between paw and title */
    text-align: center;
    box-shadow: 0 2px 5px rgba(0,0,0,0.05);
}

/* -----------------------------
   Header content
------------------------------ */
.header-content {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
}

.header-content .paw {
    max-width: 50px;
    height: auto;
}

/* FIX: Ensure header paw icon always stays the correct size */
.paw-icon {
    width: 60px;          /* adjust to preference */
    height: 60px;
    background-image: url('../assets/images/Blue-Paw-Print-on-White-Background.png');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    flex-shrink: 0;       /* prevents stretching */
}


.site-title {
    font-family: 'Arial', sans-serif;
    font-size: 1.8rem;
    color: var(--df-text-dark);                     /* soft brown */
    margin: 0;
    text-shadow: 1px 1px 2px rgba(0,0,0,0.25); /* subtle shadow for readability */
}

/* -----------------------------
   Family Image
------------------------------ */
img.family {
    max-width: 400px;
    height: auto;
    border-radius: 10px;
}

/* -----------------------------
   Quadrants on Homepage
------------------------------ */
.main-content {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    padding: 20px;
}

.main-content > div {
    border-radius: 10px;
    padding: 20px;
    text-align: center;
    flex: 1 1 45%;
    margin-bottom: 20px;
}

/* Soft background colors for quadrants */
.main-content > div:nth-child(odd) {
    background-color: #fff8dc; /* soft yellow */
}

.main-content > div:nth-child(even) {
    background-color: #e6f7ff; /* soft blue */
}

/* -----------------------------
   Links inside quadrants
------------------------------ */
.main-content a {
    display: inline-block;
    margin-top: 10px;
    text-decoration: none;
    font-weight: bold;
    color: #333;
    padding: 5px 10px;
    border-radius: 5px;
    transition: background 0.3s, color 0.3s;
}

.main-content a:hover {
    background-color: #333;
    color: #fff;
}

/* -----------------------------
   Responsive adjustments
------------------------------ */
@media (max-width: 768px) {
    .site-header {
        padding: 5px 10px;           /* slightly smaller on mobile */
    }

    .header-content {
        flex-direction: row;          /* keep paw and title in a row */
        gap: 8px;
    }

    .site-title {
        font-size: 1.8rem;            /* keep text size */
    }

    .header-content .paw {
        max-width: 50px;              /* keep paw size */
        height: auto;
    }

    .main-content > div {
        flex: 1 1 100%;               /* stack quadrants on small screens */
    }

    img.family {
        max-width: 90%;               /* scale family image on small screens */
    }
}

/* -----------------------------
   Minimal back header with logout
------------------------------ */
.back-header {
    width: 100%;
    background-color: #fdf6e3;
    padding: 10px 20px;
    box-shadow: 0 2px 5px rgba(0,0,0,0.1);
    display: flex;
    align-items: center;
    justify-content: space-between; /* back left, logout right */
}

.back-header .back-button {
    text-decoration: none;
    color: var(--df-text-dark);
    font-weight: bold;
    font-size: 1.2rem;
    display: inline-flex;
    align-items: center;
}

.back-header .back-logout-button {
    text-decoration: none;
    color: #fff;
    background-color: #c0392b; 
    padding: 6px 12px;
    border-radius: 6px;
    font-weight: bold;
}



.back-header .back-button:hover {
    color: #7b664f;
}

.back-header .back-logout-button:hover {
    background-color: #e74c3c;
}

/* Responsive adjustment for very small screens */
@media (max-width: 480px) {
    .admin-back-header {
        flex-direction: column;      /* stack back button and logout vertically */
        align-items: flex-start;     /* align left */
        gap: 5px;                    /* small space between them */
    }

    .back-header .back-button,
    .back-header .back-logout-button {
        margin-bottom: 0;
    }
}

.home-buttons {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 15px;
    margin: 40px 0;
}

.section-paw {
    width: 22px;
    height: auto;
    margin-right: 8px;
    vertical-align: middle;
}

/* About page text left-aligned */
body.home .about-section p,
body.home .about-section h2,
body.home .about-section h3 {
    text-align: left;
}

/* Force all About sections yellow on larger screens */
@media (min-width: 769px) {
    body.home .about-section:nth-child(even) {
        background-color: #fff8dc !important;
    }
}


/* ============================
   PUBLIC FORM STYLING
   (Used for donations + checkout + shipping info)
============================ */

.donate-container {
    background: rgba(255,255,255,0.95);
    padding: 20px;
    border-radius: 10px;
    border: 2px solid #5a4d3c;
    margin-top: 20px;
}

.donation-form {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.donation-form label {
    font-weight: bold;
    color: var(--df-text-dark);
    text-align: left;
}

.donation-form input,
.donation-form textarea,
.donation-form select {
    width: 100%;
    padding: 10px;
    border: 1px solid #bcae99;
    background: #f7f3ee;
    border-radius: 6px;
    font-size: 1rem;
    box-sizing: border-box;
}

.donate-btn,
button.donate-btn {
    background-color: var(--df-text-dark);
    color: #fff;
    padding: 12px 20px;
    border: none;
    border-radius: 8px;
    font-size: 1.1rem;
    cursor: pointer;
    text-align: center;
    margin-top: 10px;
}

.donate-btn:hover {
    background-color: #7b664f;
}


/* Error Box */
.error-box {
    background: #ffe0e0;
    padding: 10px;
    border-left: 4px solid #d00;
    margin-bottom: 15px;
}

/* Force CashApp button to a fixed width */
.pay-btn.cashapp-btn {
    width: 300px !important;
    max-width: 300px !important;
    min-width: 300px !important;
    display: block !important;
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
    padding: 10px 16px !important;
}


/* ===========================================
   DONATE PAGE FONT NORMALIZATION FOR MOBILE
   =========================================== */
body.homepage-donate,
body.donate-page {
    -webkit-text-size-adjust: 100% !important;
    text-size-adjust: 100% !important;
}

/* Normalize hero text */
.donate-hero h1 {
    font-size: 1.6rem !important;
}

.donate-lead {
    font-size: 1rem !important;
    line-height: 1.45 !important;
}

/* Normalize “Ways to Give” heading */
.wtg-banner h2 {
    font-size: 1.4rem !important;
}

/* Normalize subtext */
.donate-subtext {
    font-size: 1rem !important;
}

/* Disclaimer */
.donate-page-disclaimer {
    font-size: 0.85rem !important;
    line-height: 1.35 !important;
}

/* Footer links */
footer a {
    font-size: 0.75rem !important;
}


/* ================================
   Unified sand background for interior pages
================================ */
body.sand-bg {
    background-image: url('/assets/images/sand-background.png');
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center top;
    background-attachment: fixed;
    background-color: #fdf6e3;
    margin: 0;
    padding: 0;
}

/* ================================
   Unified container for all interior pages
================================ */
.unified-page {
    margin: 40px auto 60px;
    padding: 20px;
    background-color: rgba(255,255,255,0.94);
    border-radius: 18px;
    box-shadow: 0 6px 18px rgba(0,0,0,0.15);
}
:root {
    --df-text-dark: #4a3a2a;
    --df-gold-medium: #c6a15a;
    --df-gold-dark: #b18c4f;
}



/* ==========================================
   Unified button styles (primary/secondary/tertiary)
   ========================================== */

.btn-primary,
a.btn-primary,
button.btn-primary,
input[type="submit"].btn-primary {
    display: inline-block;
    padding: 8px 18px;
    border-radius: 999px;
    border: 2px solid var(--df-gold-dark);
    background-color: var(--df-gold-medium);
    color: var(--df-text-dark);
    font-weight: 700;
    font-size: 0.95rem;
    text-decoration: none;
    cursor: pointer;
    transition: background-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease, transform 0.1s ease;
}

.btn-primary:hover,
a.btn-primary:hover,
button.btn-primary:hover,
input[type="submit"].btn-primary:hover {
    background-color: var(--df-gold-dark);
    color: #ffffff;
    box-shadow: 0 3px 6px rgba(0,0,0,0.2);
    transform: translateY(-1px);
}

/* Secondary: white with gold border */
.btn-secondary,
a.btn-secondary,
button.btn-secondary,
input[type="submit"].btn-secondary {
    display: inline-block;
    padding: 8px 18px;
    border-radius: 999px;
    border: 2px solid var(--df-gold-medium);
    background-color: #ffffff;
    color: var(--df-gold-dark);
    font-weight: 600;
    font-size: 0.95rem;
    text-decoration: none;
    cursor: pointer;
    transition: background-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease, transform 0.1s ease;
}

.btn-secondary:hover,
a.btn-secondary:hover,
button.btn-secondary:hover,
input[type="submit"].btn-secondary:hover {
    background-color: #fff7e0;
    color: var(--df-text-dark);
    box-shadow: 0 3px 6px rgba(0,0,0,0.18);
    transform: translateY(-1px);
}

/* Tertiary: text-style action link */
.btn-tertiary,
a.btn-tertiary,
button.btn-tertiary {
    display: inline-block;
    padding: 4px 0;
    border: none;
    background: none;
    color: var(--df-gold-dark);
    font-weight: 600;
    font-size: 0.9rem;
    text-decoration: underline;
    cursor: pointer;
}

.btn-tertiary:hover,
a.btn-tertiary:hover,
button.btn-tertiary:hover {
    color: var(--df-text-dark);
}

/* Ensure legacy special-width buttons still behave */
.pay-btn.btn-primary,
.cashapp-btn.btn-primary {
    width: 300px !important;
    max-width: 300px !important;
}

/* Treats floating cart button adopts primary style */
#view-cart-btn.btn-primary {
    text-align: center;
}
