/* ═══ HarborMC — DA océan teal (aligné sur harbormc.cc) ═══ */
:root, [data-bs-theme="dark"] {
    --hb-deep: #03150f;
    --hb-bg: #062019;
    --hb-bg2: #0a2c23;
    --hb-card: #0d352b;
    --hb-teal: #2fe0a5;
    --hb-teal2: #8cf5d3;
    --hb-gold: #ffd060;
    --hb-txt: #eafff7;
    --hb-muted: #8fc9b5;

    --bs-body-bg: var(--hb-deep);
    --bs-body-color: var(--hb-txt);
    --bs-secondary-bg: var(--hb-bg2);
    --bs-tertiary-bg: var(--hb-card);
    --bs-border-color: #2fe0a52c;
    --bs-primary: #2fe0a5;
    --bs-primary-rgb: 47, 224, 165;
    --bs-link-color: var(--hb-teal2);
    --bs-link-hover-color: #ffffff;
    --bs-heading-color: var(--hb-txt);
}

body {
    font-family: "Nunito", system-ui, sans-serif;
    background:
        radial-gradient(ellipse 90% 40% at 50% -5%, #14584733 0%, transparent 60%),
        linear-gradient(180deg, #07281f 0%, var(--hb-deep) 55%);
    background-attachment: fixed;
    color: var(--hb-txt);
}

h1, h2, h3, h4, h5, .navbar-brand, .btn {
    font-family: "Fredoka", sans-serif;
    font-weight: 600;
}

/* ── Navbar ── */
.navbar {
    background: #03150fd9 !important;
    backdrop-filter: blur(14px);
    border-bottom: 1px solid #2fe0a51e;
}
.navbar .nav-link { color: var(--hb-muted) !important; font-weight: 700; transition: .2s; }
.navbar .nav-link:hover, .navbar .nav-link.active { color: var(--hb-teal2) !important; }
.navbar-brand { color: var(--hb-teal2) !important; }
.navbar-brand img { filter: drop-shadow(0 0 12px #2fe0a533); }

/* ── Cards (offres boutique, catégories) ── */
.card {
    background: linear-gradient(160deg, var(--hb-card), #0a2c23);
    border: 1px solid #2fe0a520;
    border-radius: 18px;
    transition: .25s;
    color: var(--hb-txt);
}
.card:hover {
    transform: translateY(-5px);
    border-color: #2fe0a566;
    box-shadow: 0 16px 44px #0008, 0 0 34px #2fe0a51a;
}
.card-header {
    background: #0a2c23;
    border-bottom: 1px solid #2fe0a520;
    font-family: "Fredoka", sans-serif;
    color: var(--hb-teal2);
}
.card-title { color: var(--hb-txt); }

/* ── Boutons ── */
.btn-primary {
    background: linear-gradient(135deg, #35e0ab, #149c72);
    border: none;
    color: #03231a;
    font-weight: 600;
    box-shadow: 0 6px 22px #2fe0a53a;
}
.btn-primary:hover, .btn-primary:focus {
    background: linear-gradient(135deg, #4aeab8, #18b585);
    color: #03231a;
    transform: scale(1.03);
}
.btn-success { background: linear-gradient(135deg, #35e0ab, #149c72); border: none; color: #03231a; }
.btn-warning { background: linear-gradient(135deg, #ffd668, #f09c22); border: none; color: #3a2600; font-weight: 700; }
.btn-outline-primary { border-color: var(--hb-teal); color: var(--hb-teal2); }
.btn-outline-primary:hover { background: var(--hb-teal); color: #03150f; }

/* ── Prix / badges ── */
.badge.bg-primary { background: var(--hb-teal) !important; color: #03150f; }
.text-primary { color: var(--hb-teal) !important; }
.shop-price, .fw-bold.text-primary { color: var(--hb-gold) !important; }

/* ── Tables (panier, historique) ── */
.table { --bs-table-bg: transparent; --bs-table-color: var(--hb-txt); border-color: #2fe0a522; }
.table > :not(caption) > * > * { background: transparent; color: var(--hb-txt); }

/* ── Formulaires ── */
.form-control, .form-select {
    background: var(--hb-bg2);
    border: 1px solid #2fe0a530;
    color: var(--hb-txt);
    border-radius: 12px;
}
.form-control:focus, .form-select:focus {
    background: var(--hb-bg2);
    border-color: var(--hb-teal);
    box-shadow: 0 0 0 .2rem #2fe0a52c;
    color: var(--hb-txt);
}

/* ── Alerts / pagination / dropdown ── */
.alert-primary { background: #0d352b; border-color: var(--hb-teal); color: var(--hb-teal2); }
.page-link { background: var(--hb-card); border-color: #2fe0a52c; color: var(--hb-teal2); }
.page-item.active .page-link { background: var(--hb-teal); border-color: var(--hb-teal); color: #03150f; }
.dropdown-menu { background: var(--hb-card); border: 1px solid #2fe0a530; }
.dropdown-item { color: var(--hb-txt); }
.dropdown-item:hover { background: var(--hb-bg2); color: var(--hb-teal2); }

/* ── Footer ── */
.harbor-footer {
    background: #020e0a !important;
    color: var(--hb-muted);
    border-top: 1px solid #2fe0a51e;
}
.harbor-footer a { color: var(--hb-teal); }

/* ── Divers ── */
.bg-body-secondary, .bg-light { background: var(--hb-bg2) !important; }
.text-bg-dark { background: #020e0a !important; }
hr { border-color: #2fe0a52c; }
::selection { background: #2fe0a555; }
