/* ==========================================================================
   Brand
   ========================================================================== */

:root {
    /* Culoarea de brand */
    --brand: #ffcc27;
    --brand-rgb: 255, 204, 39;

    /* Variantă închisă, pentru text/linkuri pe fundal alb (contrast 5.1:1).
       Galbenul pur are 1.5:1 pe alb, deci nu poate fi folosit pentru text. */
    --brand-dark: #8a6900;

    /* Text pe fundal galben (contrast 11.5:1) */
    --brand-ink: #1c1a12;

    /* Suprascrie primary-ul temei Around */
    --ar-primary: var(--brand);
    --ar-primary-rgb: var(--brand-rgb);
    --ar-primary-text-emphasis: var(--brand-dark);
    --ar-primary-bg-subtle: #fff9e4;
    --ar-primary-border-subtle: #ffeeb0;

    /* Linkurile din body rămân lizibile */
    --ar-link-color: var(--brand-dark);
    --ar-link-color-rgb: 138, 105, 0;
    --ar-link-hover-color: #6b5100;
    --ar-link-hover-color-rgb: 107, 81, 0;
}

/* Butoanele primary: Around le hardcodează cu text alb, care pe galben e ilizibil.
   --ar-btn-color are nevoie de !important pentru că Around îl setează printr-un
   selector cu specificitate (0,6,0):
   .btn:not([class^=btn-outline-]):not([class*=" btn-outline-"]):not(.btn-secondary):not(.btn-light):not(.btn-link) */
.btn-primary {
    --ar-btn-color: var(--brand-ink) !important;
    --ar-btn-bg: var(--brand);
    --ar-btn-border-color: var(--brand);
    --ar-btn-hover-color: var(--brand-ink);
    --ar-btn-hover-bg: #f0bc0c;
    --ar-btn-hover-border-color: #f0bc0c;
    --ar-btn-active-color: var(--brand-ink);
    --ar-btn-active-bg: #e0ae00;
    --ar-btn-active-border-color: #e0ae00;
    --ar-btn-disabled-color: var(--brand-ink);
    --ar-btn-disabled-bg: var(--brand);
    --ar-btn-disabled-border-color: var(--brand);
    --ar-btn-focus-shadow-rgb: var(--brand-rgb);
}

/* Around lasă aici verdele vechi hardcodat (#448c74) */
.btn-outline-primary {
    --ar-btn-color: var(--brand-dark);
    --ar-btn-border-color: var(--brand);
    --ar-btn-hover-color: var(--brand-ink);
    --ar-btn-hover-bg: var(--brand);
    --ar-btn-hover-border-color: var(--brand);
    --ar-btn-active-color: var(--brand-ink);
    --ar-btn-active-bg: var(--brand);
    --ar-btn-active-border-color: var(--brand);
    --ar-btn-focus-shadow-rgb: var(--brand-rgb);
}

/* ==========================================================================
   Câmpuri de formular
   ========================================================================== */

/* Focus. Around lasă .form-control complet fără inel (box-shadow: unset) și
   hardcodează pentru .form-select / .form-check-input verdele temei originale —
   rgba(68,140,116,.25) — care nu trece prin --ar-primary. Deci nu se poate
   rezolva dintr-o variabilă, trebuie rescris explicit. */
.form-control:focus,
.form-select:focus,
.form-check-input:focus {
    border-color: var(--brand);
    box-shadow: 0 0 0 0.25rem rgba(var(--brand-rgb), 0.25);
}

/* Bifa și bulina sunt SVG-uri cu alb hardcodat. Pe fundalul galben ies la 1.4:1,
   adică aproape invizibile — aceeași problemă pe care o are .btn-primary mai
   sus. Refolosim exact SVG-urile din temă, schimbată doar culoarea în
   --brand-ink (#1c1a12). */
.form-check-input:checked[type=checkbox] {
    --ar-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%231c1a12' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e");
}

.form-check-input:checked[type=radio] {
    --ar-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%231c1a12'/%3e%3c/svg%3e");
}

/* Erorile de validare. October umple doar textul din [data-validate-for]; clasa
   n-are stil propriu nicăieri în temă, deci fără regula asta erorile ar apărea
   ca text negru obișnuit. Stă aici, nu într-un CSS de pagină, fiindcă e
   mecanismul standard pe orice formular de pe site. */
.form-error {
    color: var(--ar-danger, #ef4444);
    font-size: 0.875rem;
}

/* Span-ul există în markup chiar și când nu e nicio eroare — fără :empty ar
   ocupa spațiu degeaba sub câmp. */
.form-error:empty {
    display: none !important;
}


/* ==========================================================================
   Header
   ========================================================================== */

.navbar {
    --ar-navbar-color: var(--brand-ink);
    --ar-navbar-hover-color: var(--brand-ink);
    --ar-navbar-active-color: var(--brand-ink);
    --ar-navbar-disabled-color: rgba(28, 26, 18, 0.5);
    --ar-navbar-brand-color: var(--brand-ink);
    --ar-navbar-brand-hover-color: var(--brand-ink);
    --ar-navbar-toggler-color: var(--brand-ink);
    --ar-navbar-stuck-bg: var(--brand);
    --ar-navbar-collapse-bg: var(--brand);
    --ar-navbar-collapse-border-color: rgba(28, 26, 18, 0.15);

    background-color: var(--brand);
}

/* Around face navbarul transparent la început și îl colorează abia la scroll */
.navbar.navbar-stuck {
    background-color: var(--brand);
    box-shadow: 0 0.25rem 1rem rgba(28, 26, 18, 0.12);
}

/* Underline animat pe item-ele de meniu */
.navbar-nav .nav-link {
    position: relative;
}

.navbar-nav .nav-link::after {
    content: '';
    position: absolute;
    bottom: 8px;
    left: 1rem;
    right: 1rem;
    height: 2px;
    background: var(--brand-ink);
    border-radius: 99px;
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.3s ease;
}

.navbar-nav .nav-link:hover::after,
.navbar-nav .nav-link.active::after {
    transform: scaleX(1);
}

@media (max-width: 991.98px) {
    .navbar-nav .nav-link::after {
        display: none;
    }

    .navbar-nav .nav-link.active {
        text-decoration: underline;
        text-decoration-color: var(--brand-ink);
        text-decoration-thickness: 2px;
        text-underline-offset: 4px;
    }
}

/* Headerul e fixed-top, deci conținutul are nevoie de spațiu sub el */
.page-wrapper {
    padding-top: 4.5rem;
}

/* ==========================================================================
   Footer
   ========================================================================== */

.footer {
    background-color: var(--brand);
    color: var(--brand-ink);
}

/* Around setează --ar-nav-link-color direct pe .nav-link, deci variabila de pe
   .footer nu ajunge la ele — culoarea trebuie declarată explicit. */
.footer,
.footer a,
.footer .nav-link,
.footer .text-body-secondary,
.footer .text-dark {
    color: var(--brand-ink) !important;
}

.footer a:hover,
.footer .nav-link:hover {
    color: var(--brand-ink) !important;
    text-decoration: underline;
}

/* ==========================================================================
   Aici vin stilurile proprii ale site-ului
   ========================================================================== */
