/* =====================================================
   THEME-YOSHIA.CSS
   Yoshia - Bootstrap overrides (global)
   Palette: #fff / #2c9eaf / #333
   NOTE:
   - Menu (nav/dropdown) è stato spostato in: css/menu.css
   - Questo file resta per override globali Bootstrap e componenti UI
   ===================================================== */


/* =====================================================
   BOOTSTRAP TOKENS / ROOT OVERRIDES
   ===================================================== */
:root{
    --bs-primary: var(--c-primary);
    --bs-primary-rgb: 44, 158, 175;

    --bs-light: var(--c-bg-warm);
    --bs-light-rgb: 251, 249, 245;

    --bs-link-color: var(--c-primary);
    --bs-link-hover-color: var(--c-primary);

    --bs-focus-ring-color: rgba(44,158,175,0.28);
    --bs-border-color: var(--c-border-warm);
}

.bg-light {
    background-color: var(--c-bg-warm) !important;
}


/* =====================================================
   LINKS & TEXT SELECTION
   (override no "default blue")
   ===================================================== */
a{
    color: var(--c-primary);
}
a:hover{
    color: var(--c-primary);
    filter: brightness(0.92);
}
a:focus{
    outline: none;
}

::selection{
    background: rgba(44,158,175,0.22);
}


/* =====================================================
   FOCUS (GLOBAL)
   Accessibile, coerente con palette Yoshia
   ===================================================== */
:focus-visible{
    outline: none;
    box-shadow: 0 0 0 0.2rem rgba(44,158,175,0.28);
    border-radius: 0.5rem;
}


/* =====================================================
   BUTTONS (Bootstrap)
   ===================================================== */
.btn{
    --bs-btn-focus-shadow-rgb: 44,158,175;
}

.btn-primary{
    --bs-btn-bg: var(--c-primary);
    --bs-btn-border-color: var(--c-primary);

    --bs-btn-hover-bg: color-mix(in srgb, var(--c-primary) 92%, #000 8%);
    --bs-btn-hover-border-color: color-mix(in srgb, var(--c-primary) 92%, #000 8%);

    --bs-btn-active-bg: color-mix(in srgb, var(--c-primary) 88%, #000 12%);
    --bs-btn-active-border-color: color-mix(in srgb, var(--c-primary) 88%, #000 12%);
}

.btn-outline-primary{
    --bs-btn-color: var(--c-primary);
    --bs-btn-border-color: rgba(44,158,175,0.5);

    --bs-btn-hover-bg: rgba(44,158,175,0.10);
    --bs-btn-hover-border-color: rgba(44,158,175,0.75);

    --bs-btn-active-bg: rgba(44,158,175,0.14);
    --bs-btn-active-border-color: rgba(44,158,175,0.75);
}

.btn-outline-primary:hover, .btn-outline-primary:active, .btn-outline-primary.active, :not(.btn-check)+.btn:active, .btn:first-child:active {
    color: var(--c-primary);
}

/* =====================================================
   PILLS & TABS
   ===================================================== */
.nav-pills .nav-link.active,
.nav-pills .show > .nav-link{
    background: var(--c-primary);
    color: #fff;
}

.nav-tabs .nav-link.active{
    color: var(--c-primary);
    border-color: rgba(0,0,0,0.10) rgba(0,0,0,0.10) #fff;
}

.nav-tabs .nav-link:hover{
    border-color: rgba(44,158,175,0.25);
    color: var(--c-primary);
}


/* =====================================================
   FORMS (Bootstrap)
   ===================================================== */
.form-control:focus,
.form-select:focus,
.form-check-input:focus{
    border-color: rgba(44,158,175,0.55);
    box-shadow: 0 0 0 0.25rem rgba(44,158,175,0.15);
}

.form-check-input:checked{
    background-color: var(--c-primary);
    border-color: var(--c-primary);
}

.form-range::-webkit-slider-thumb,
.form-range::-moz-range-thumb{
    background: var(--c-primary);
}


/* =====================================================
   BADGES / ALERTS
   ===================================================== */
.alert-primary{
    --bs-alert-color: color-mix(in srgb, var(--c-primary) 70%, #000 30%);
    --bs-alert-bg: rgba(44,158,175,0.10);
    --bs-alert-border-color: rgba(44,158,175,0.20);
}

.badge.text-bg-primary{
    background: var(--c-primary) !important;
}


/* =====================================================
   PAGINATION
   ===================================================== */
.page-link{
    color: var(--c-text);
}
.page-link:hover{
    color: var(--c-primary);
    background: rgba(44,158,175,0.08);
    border-color: rgba(44,158,175,0.25);
}
.page-item.active .page-link{
    background: var(--c-primary);
    border-color: var(--c-primary);
}


/* =====================================================
   ACCORDION
   ===================================================== */
.accordion-button:not(.collapsed){
    color: var(--c-primary);
    background: rgba(44,158,175,0.08);
    box-shadow: none;
}

.accordion-button:focus{
    border-color: rgba(44,158,175,0.55);
    box-shadow: 0 0 0 0.25rem rgba(44,158,175,0.15);
}


/* =====================================================
   LIST GROUP
   ===================================================== */
.list-group-item.active{
    background: var(--c-primary);
    border-color: var(--c-primary);
}


/* =====================================================
   PROGRESS
   ===================================================== */
.progress-bar{
    background: var(--c-primary);
}


/* =====================================================
   PRIMARY BUTTONS – HOVER = ACTIVE
   (uniforma btn-accent e btn-primary)
   ===================================================== */
.btn-accent,
.btn-primary{
    background-color: var(--c-primary) !important;
    border-color: var(--c-primary) !important;
    color: #fff !important;
    transition:
            background-color .2s ease,
            box-shadow .2s ease,
            transform .15s ease;
}

/* Hover identico ad active */
.btn.active,
.btn-accent:hover,
.btn-primary:hover,
.btn-accent:active,
.btn-primary:active{
    background-color: rgba(44,158,175,0.82) !important;
    border-color: rgba(44,158,175,0.82) !important;
    color: #fff;
    transform: translateY(0);
    box-shadow: 0 0.25rem 0.5rem rgba(0,0,0,0.15) inset;
}

/* Focus accessibile, coerente */
.btn-accent:focus-visible,
.btn-primary:focus-visible{
    outline: none;
    color: #fff;
    box-shadow:
            0 0 0 0.25rem rgba(44,158,175,0.35),
            0 0.25rem 0.5rem rgba(0,0,0,0.15) inset;
}

/* Disabled */
.btn-accent:disabled,
.btn-primary:disabled{
    background-color: rgba(44,158,175,0.45);
    border-color: rgba(44,158,175,0.45);
    color: rgba(255,255,255,0.85);
    box-shadow: none;
    transform: none;
}


/* =====================================================
   NEXT COURSE LINK
   ===================================================== */
.next-link{
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    font-family: var(--ff-display);
    font-size: 1.25rem;
    text-decoration: none;
    color: var(--c-text);
    padding: 0.75rem 1rem;
    border-radius: 999rem;
    border: 0.0625rem solid rgba(44,158,175,0.25);
    background: rgba(44,158,175,0.06);
}

.next-link:hover{
    color: var(--c-primary);
    background: rgba(44,158,175,0.10);
}
