/* ==========================================================================
   HIVE-2-BOTTLE — Theme Three "Raw & Rooted" storefront skin
   Loaded on EVERY storefront page only when "Home Three" is the active design.
   Organic wellness palette: warm paper + honey amber + deep olive green,
   Fraunces editorial headings. All rules scoped under body.theme-three so they
   never touch the default (Home One) or Home Two themes.
   ========================================================================== */

.theme-three {
    --t3-paper:  #fdfbf6;
    --t3-cream:  #f6efe2;
    --t3-surface:#ffffff;
    --t3-border: #ece2d0;
    --t3-ink:    #241d14;
    --t3-muted:  #7a6b57;
    --t3-honey:  #f2a900;
    --t3-honey2: #ffbe3d;
    --t3-honey-deep: #b87a00;
    --t3-green:  #2f4a34;
    --t3-green2: #3d5a45;
    --t3-sage:   #e7efe6;

    background-color: var(--t3-paper);
    color: var(--t3-ink);
}

/* ---------- Typography ---------- */
.theme-three h1, .theme-three h2, .theme-three h3, .theme-three h4, .theme-three h5, .theme-three h6,
.theme-three .display-1, .theme-three .display-2, .theme-three .display-3,
.theme-three .display-4, .theme-three .display-5, .theme-three .display-6 {
    font-family: 'Fraunces', 'Playfair Display', Georgia, serif;
    color: var(--t3-ink); font-weight: 600; letter-spacing: -0.015em;
}
.theme-three a { color: var(--t3-green); }
.theme-three a:hover { color: var(--t3-honey-deep); }
.theme-three .text-brown { color: var(--t3-ink) !important; }
.theme-three .text-brown-soft { color: var(--t3-muted) !important; }
.theme-three .text-muted { color: var(--t3-muted) !important; }
.theme-three .text-gold, .theme-three .text-brand, .theme-three .text-foil, .theme-three .text-honey { color: var(--t3-honey-deep) !important; }
.theme-three hr { border-color: var(--t3-border); opacity: 1; }

/* ---------- Navbar ---------- */
.theme-three .navbar-hive {
    background-color: rgba(253, 251, 246, 0.9);
    border-bottom: 1px solid var(--t3-border);
    backdrop-filter: saturate(140%) blur(8px);
}
.theme-three .navbar-hive .navbar-brand { color: var(--t3-ink); font-family: 'Fraunces', serif; }
.theme-three .navbar-hive .nav-link { color: var(--t3-ink); }
.theme-three .navbar-hive .nav-link:hover { color: var(--t3-green); background: var(--t3-sage); }
.theme-three .navbar-hive .nav-link.active { color: var(--t3-green); background: var(--t3-sage); }

/* ---------- Buttons ---------- */
.theme-three .btn-gold, .theme-three .btn-honey, .theme-three .btn-brand {
    background: var(--t3-honey); border: none; color: #2a1d0c; font-weight: 600;
    box-shadow: 0 10px 24px rgba(242, 169, 0, .28);
}
.theme-three .btn-gold:hover, .theme-three .btn-honey:hover, .theme-three .btn-brand:hover {
    background: var(--t3-honey2); color: #2a1d0c;
}
.theme-three .btn-outline-honey, .theme-three .btn-outline-gold {
    background: transparent; border: 1.5px solid rgba(47, 74, 52, .3); color: var(--t3-green);
}
.theme-three .btn-outline-honey:hover, .theme-three .btn-outline-gold:hover {
    background: var(--t3-green); border-color: var(--t3-green); color: #f3f7f2;
}
.theme-three .btn-outline-secondary { color: var(--t3-ink); border-color: var(--t3-border); }
.theme-three .btn-outline-secondary:hover { background: var(--t3-cream); color: var(--t3-ink); border-color: var(--t3-green); }
.theme-three .btn-dark { background: var(--t3-green); border-color: var(--t3-green); }
.theme-three .btn-dark:hover { background: var(--t3-green2); border-color: var(--t3-green2); }

/* ---------- Cards & surfaces ---------- */
.theme-three .card {
    background: var(--t3-surface); border: 1px solid var(--t3-border); color: var(--t3-ink);
    border-radius: 18px;
}
.theme-three .card-header { background: var(--t3-surface); border-bottom: 1px solid var(--t3-border); color: var(--t3-ink); }
.theme-three .card-title { color: var(--t3-ink); }
.theme-three .bg-sand, .theme-three .bg-cream-2 { background-color: var(--t3-cream) !important; }
.theme-three .honeycomb-bg { background-color: var(--t3-paper) !important; }

/* Product cards. */
.theme-three .product-card {
    background: var(--t3-surface); border: 1px solid var(--t3-border);
    border-radius: 18px; box-shadow: 0 10px 26px rgba(36, 29, 20, .05);
}
.theme-three .product-card:hover { border-color: var(--t3-honey); box-shadow: 0 22px 46px rgba(36, 29, 20, .13); }
.theme-three .product-card .card-img-wrap { background: var(--t3-cream); }
.theme-three .price-tag { color: var(--t3-green); font-weight: 700; }

/* Category tiles / benefit cards. */
.theme-three .cat-hex, .theme-three .benefit-card {
    background: var(--t3-surface); border: 1px solid var(--t3-border); border-radius: 18px; box-shadow: none;
}
.theme-three .cat-hex:hover { background: #fff; border-color: var(--t3-honey); }
.theme-three .cat-hex .hex-icon, .theme-three .benefit-card .benefit-icon {
    background: var(--t3-sage); color: var(--t3-green);
}

/* ---------- Forms ---------- */
.theme-three .form-control, .theme-three .form-select {
    background: #fff; border-color: var(--t3-border); color: var(--t3-ink);
}
.theme-three .form-control::placeholder { color: #b3a488; }
.theme-three .form-control:focus, .theme-three .form-select:focus {
    background: #fff; color: var(--t3-ink);
    border-color: var(--t3-honey); box-shadow: 0 0 0 3px rgba(242, 169, 0, .15);
}
.theme-three .form-label, .theme-three .form-check-label { color: var(--t3-ink); }
.theme-three .form-check-input:checked { background-color: var(--t3-green); border-color: var(--t3-green); }
.theme-three .input-group-text { background: var(--t3-cream); border-color: var(--t3-border); color: var(--t3-muted); }

/* ---------- Lists / filters (shop sidebar) ---------- */
.theme-three .list-group-item {
    background: var(--t3-surface); border-color: var(--t3-border); color: var(--t3-ink);
}
.theme-three .list-group-item.active {
    background: var(--t3-sage); border-color: var(--t3-green); color: var(--t3-green);
}
.theme-three .list-group-item-action:hover { background: var(--t3-cream); color: var(--t3-ink); }

/* ---------- Tables ---------- */
.theme-three .table { color: var(--t3-ink); border-color: var(--t3-border); }
.theme-three .table > thead th { color: var(--t3-muted); border-color: var(--t3-border); }
.theme-three .table > tbody td, .theme-three .table > tbody th { border-color: #eee3d1; }

/* ---------- Breadcrumb / pagination ---------- */
.theme-three .breadcrumb-item, .theme-three .breadcrumb-item.active { color: var(--t3-muted); }
.theme-three .breadcrumb-item a { color: var(--t3-green); }
.theme-three .page-link { background: var(--t3-surface); border-color: var(--t3-border); color: var(--t3-ink); }
.theme-three .page-link:hover { background: var(--t3-cream); color: var(--t3-ink); }
.theme-three .page-item.active .page-link { background: var(--t3-green); border-color: var(--t3-green); color: #f3f7f2; }
.theme-three .page-item.disabled .page-link { background: var(--t3-surface); color: #c9bca4; }

/* ---------- Footer (deep olive green — the signature of this theme) ---------- */
.theme-three .footer-hive {
    background: var(--t3-green); border-top: 4px solid var(--t3-honey); color: #cadbc7;
}
.theme-three .footer-hive h5, .theme-three .footer-hive h6 { color: #fff; font-family: 'Fraunces', serif; }
.theme-three .footer-hive a { color: #cadbc7; }
.theme-three .footer-hive a:hover { color: var(--t3-honey2); }
.theme-three .footer-hive .border-secondary { border-color: rgba(255, 255, 255, .15) !important; }

/* ---------- Misc ---------- */
.theme-three .section-title { color: var(--t3-ink); }
.theme-three .eyebrow, .theme-three .hero-eyebrow {
    background: var(--t3-sage); color: var(--t3-green);
    border: 1px solid rgba(47, 74, 52, .18);
}
.theme-three .badge.bg-dark { background: var(--t3-green) !important; }
