/*
Theme Name: Adams Fertilizer
Theme URI: https://www.adamsfertequip.com
Author: Flex360
Author URI: https://flex360.com
Description: Custom theme for Adams Fertilizer Equipment — migrated from Laravel/Pilot CMS
Version: 1.0.0
License: Proprietary
Text Domain: adams-fertilizer
*/

/* ── BRAND TOKENS ────────────────────────────────────────────── */
:root {
    --adams-green:      #3e7d35;
    --adams-green-dark: #2d5f28;
    --adams-green-light:#5a9e3a;
    --adams-navy:       #0f172a;
    --adams-navy-mid:   #1e293b;
    --adams-steel:      #334155;
    --adams-sky:        #f0fdf4;
    --adams-cream:      #f8fafc;
    --adams-white:      #ffffff;
    --adams-amber:      #f59e0b;
    --adams-amber-dark: #d97706;
    --adams-fog:        #e2e8f0;
    --adams-ink:        #1e293b;
}

/* ── TYPOGRAPHY ──────────────────────────────────────────────── */
.font-display {
    font-family: "Fraunces", Georgia, serif;
    font-optical-sizing: auto;
    font-variation-settings: "SOFT" 50, "WONK" 0;
    letter-spacing: -0.02em;
}
.font-body {
    font-family: "Inter", system-ui, -apple-system, sans-serif;
    font-feature-settings: "cv11", "ss01";
}
.headline-xl {
    font-family: "Fraunces", Georgia, serif;
    font-size: clamp(2.25rem, 5vw, 3.5rem);
    font-weight: 700;
    line-height: 1.1;
    letter-spacing: -0.03em;
}
.headline-lg {
    font-family: "Fraunces", Georgia, serif;
    font-size: clamp(1.5rem, 3vw, 2.25rem);
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: -0.02em;
}

/* ── SKIP LINK ───────────────────────────────────────────────── */
.skip-link {
    position: absolute;
    left: -9999px;
    top: 0;
    z-index: 999;
    padding: 0.75rem 1.5rem;
    background: var(--adams-green);
    color: white;
    font-weight: 600;
    border-radius: 0 0 0.5rem 0;
}
.skip-link:focus { left: 0; }

/* ── TOP NAV DROPDOWN ────────────────────────────────────────── */
.group:hover > ul { opacity: 1; visibility: visible; }

/* ── HERO OVERLAYS ───────────────────────────────────────────── */
.hero-overlay {
    background: linear-gradient(135deg, rgba(15,23,42,0.85) 0%, rgba(23,155,215,0.5) 100%);
}
.hero-overlay-bottom {
    background: linear-gradient(to top, rgba(15,23,42,0.7) 0%, transparent 60%);
}

/* ── CARD INTERACTIONS ───────────────────────────────────────── */
.card-lift {
    transition: transform 0.35s cubic-bezier(0.22, 1, 0.36, 1),
                box-shadow 0.35s cubic-bezier(0.22, 1, 0.36, 1);
}
.card-lift:hover {
    transform: translateY(-6px);
    box-shadow: 0 20px 40px -12px rgba(0, 0, 0, 0.15);
}
.card-image-zoom { transition: transform 0.6s cubic-bezier(0.22, 1, 0.36, 1); }
.card-lift:hover .card-image-zoom { transform: scale(1.07); }

/* ── ARTICLE PROSE ───────────────────────────────────────────── */
.prose-adams h2 { font-size: 1.75rem; font-weight: 700; margin: 2rem 0 1rem; color: var(--adams-navy); }
.prose-adams h3 { font-size: 1.35rem; font-weight: 600; margin: 1.75rem 0 0.75rem; color: var(--adams-navy); }
.prose-adams h4 { font-size: 1.15rem; font-weight: 600; margin: 1.5rem 0 0.5rem; color: var(--adams-steel); }
.prose-adams p  { margin: 0 0 1.25rem; line-height: 1.75; color: #374151; }
.prose-adams a  { color: var(--adams-green); text-decoration: underline; text-underline-offset: 2px; }
.prose-adams a:hover { color: var(--adams-green-dark); }
.prose-adams img { max-width: 100%; height: auto; border-radius: 0.75rem; margin: 1.5rem 0; }
.prose-adams blockquote {
    border-left: 4px solid var(--adams-green);
    padding: 1rem 1.5rem;
    margin: 1.5rem 0;
    background: var(--adams-sky);
    border-radius: 0 0.75rem 0.75rem 0;
    font-style: italic;
    color: var(--adams-steel);
}
.prose-adams ul { list-style: disc; padding-left: 1.5rem; margin: 0 0 1.25rem; }
.prose-adams ol { list-style: decimal; padding-left: 1.5rem; margin: 0 0 1.25rem; }
.prose-adams li { margin: 0.25rem 0; line-height: 1.75; color: #374151; }
.prose-adams hr { border: none; border-top: 1px solid var(--adams-fog); margin: 2rem 0; }
.prose-adams table { width: 100%; border-collapse: collapse; margin: 1.5rem 0; }
.prose-adams th, .prose-adams td { padding: 0.75rem 1rem; border: 1px solid var(--adams-fog); text-align: left; }
.prose-adams th { background: var(--adams-sky); font-weight: 600; }

/* ── REVEAL ON SCROLL ────────────────────────────────────────── */
.reveal { opacity: 0; transform: translateY(24px); transition: opacity 0.7s ease, transform 0.7s ease; }
.reveal.is-visible { opacity: 1; transform: translateY(0); }

/* ── MOBILE DRAWER ───────────────────────────────────────────── */
.mobile-drawer {
    position: fixed; top: 0; right: 0; bottom: 0;
    width: 100%; max-width: 380px;
    transform: translateX(100%);
    transition: transform 0.35s cubic-bezier(0.22, 1, 0.36, 1);
    z-index: 100;
    overflow-y: auto;
}
.mobile-drawer.is-open { transform: translateX(0); }
.mobile-drawer-overlay {
    position: fixed; inset: 0; z-index: 99;
    pointer-events: none;
    transition: background 0.3s ease;
}
.mobile-drawer-overlay.is-open {
    background: rgba(0, 0, 0, 0.5);
    pointer-events: auto;
}

/* ── LEGACY CONTENT NORMALIZATION ────────────────────────────── */
.prose-adams table { width: 100% !important; border-collapse: separate; border-spacing: 0.5rem 0.25rem; table-layout: fixed; }
.prose-adams table.button-table td { padding: 0.25rem; width: 50% !important; vertical-align: top; text-align: center; }

.prose-adams .btn, .prose-adams a.btn-primary, .prose-adams a[class*="btn-"] {
    display: block !important; width: 100% !important; max-width: 100% !important;
    margin: 0.375rem auto !important; padding: 0.75rem 1rem !important;
    background: var(--adams-green) !important; color: white !important;
    border-radius: 999px !important; text-align: center !important;
    font-weight: 600 !important; text-decoration: none !important;
    font-size: 0.85rem !important; line-height: 1.2 !important; word-break: break-word;
    transition: background 0.2s;
}
.prose-adams .btn:hover, .prose-adams a.btn-primary:hover, .prose-adams a[class*="btn-"]:hover {
    background: var(--adams-green-dark) !important;
}
@media (min-width: 640px) {
    .prose-adams .btn, .prose-adams a.btn-primary, .prose-adams a[class*="btn-"] {
        display: inline-block !important; width: auto !important; min-width: 180px !important;
        padding: 0.875rem 1.5rem !important; font-size: 0.95rem !important;
    }
}

.prose-adams span[style*="Impact"], .prose-adams span[style*="impact"] {
    font-family: "Fraunces", Georgia, serif !important;
    font-size: 1.5rem !important; font-weight: 600 !important;
    color: var(--adams-navy) !important; display: block !important;
    text-align: center !important; border-bottom: 3px solid var(--adams-green);
    padding-bottom: 0.4rem;
}

.prose-adams img { max-width: 100% !important; width: auto !important; height: auto !important; }

/* Buttons inside accordion answers */
details.accordion-item .answer a.btn,
details.accordion-item .answer a[class*="btn-"] {
    color: white !important; text-decoration: none !important;
}

/* Wufoo / reCAPTCHA / third-party widget overflow fix */
html, body { overflow-x: hidden; max-width: 100vw; }
.grecaptcha-badge { visibility: hidden !important; right: -300px !important; }

/* ── PRODUCT SPEC TABLE ──────────────────────────────────────── */
.spec-table { width: 100%; border-collapse: collapse; }
.spec-table tr:nth-child(even) { background: var(--adams-sky); }
.spec-table td { padding: 0.625rem 1rem; border-bottom: 1px solid var(--adams-fog); }
.spec-table td:first-child { font-weight: 600; color: var(--adams-navy); width: 40%; }

/* ── ACCORDION ───────────────────────────────────────────────── */
details.accordion-item {
    background: white; border: 1px solid var(--adams-fog);
    border-radius: 0.75rem; margin: 0.5rem 0; overflow: hidden;
    transition: box-shadow 0.2s;
}
details.accordion-item[open] { box-shadow: 0 4px 12px rgba(0,0,0,0.08); }
details.accordion-item summary {
    padding: 1rem 1.25rem; cursor: pointer; font-weight: 600;
    list-style: none; display: flex; align-items: center; justify-content: space-between;
}
details.accordion-item summary::-webkit-details-marker { display: none; }
details.accordion-item summary::after {
    content: "+"; font-size: 1.25rem; font-weight: 300; color: var(--adams-green);
    transition: transform 0.2s;
}
details.accordion-item[open] summary::after { content: "−"; }
details.accordion-item .answer { padding: 0 1.25rem 1rem; color: #374151; line-height: 1.75; }

/* ── VIDEO GALLERY ───────────────────────────────────────────── */
.video-card { cursor: pointer; }
.video-card .play-overlay {
    position: absolute; inset: 0; display: flex; align-items: center; justify-content: center;
    background: rgba(0,0,0,0.3); transition: background 0.2s;
}
.video-card:hover .play-overlay { background: rgba(0,0,0,0.15); }
