@import url('https://fonts.googleapis.com/css2?family=Bebas+Neue&family=Roboto:wght@400;500;600;700;800;900&display=swap');

:root {
    --heading-font-family: 'Roboto', sans-serif;
    --body-font-family: 'Roboto', sans-serif;
    --bs-font-sans-serif: 'Roboto', sans-serif;
    --bs-body-font-family: 'Roboto', sans-serif;
}

/* =============================================
   LAYOUT
   ============================================= */
.site-main { position:relative; z-index:2 }
.internal-page .site-main > div { margin-block:2rem }

@media (min-width:992px) {
    .internal-page .site-main > div { margin-block:3rem }
}

/* =============================================
   HEADINGS
   ============================================= */
.internal-page h1.page-heading { font-weight:700; color:var(--bs-primary) }

/* =============================================
   BUTTONS
   ============================================= */
.btn { --bs-btn-border-radius: 0 }

/* =============================================
   HEADER - UTILITY BAR
   ============================================= */
.site-header { position:relative; z-index:3 }
.site-header .utility-bar { padding-block:.5rem }
.site-header .utility-bar .component-nav.layout-standard .nav { justify-content:flex-end; gap:1rem }
.site-header .utility-bar .component-nav.layout-standard .nav-link {
    font-size:1.125rem;
    font-weight:600;
    text-transform:uppercase;
    letter-spacing:.05em;
    color:#fff;
    padding:.25rem 1rem;
}
.site-header .utility-bar .component-nav.layout-standard .nav-link:hover { color:var(--bs-secondary, var(--bs-secondary)); text-decoration:none }

/* =============================================
   HEADER - MAIN NAV
   ============================================= */
.site-header .main-nav { border-bottom:1px solid var(--bs-border-color); box-shadow:0 4px 12px rgba(0,0,0,.1) }
.site-header .main-nav .site-logo img { max-height:4rem }
.site-header .main-nav .site-logo a { display:block; padding:.625rem 0 }

@media (max-width:991px) {
    .site-header .utility-bar { display:none }
    .site-header .main-nav > .container { padding-left:1rem !important; padding-right:1rem !important }
    .site-header .main-nav .site-logo img { max-height:3.5rem }
}

@media (min-width:992px) {
    .site-header { overflow-x:clip }
    .site-header .utility-bar > .container,
    .site-header .main-nav > .container { padding-left:2.5rem !important; padding-right:2.5rem !important }
    .site-header .main-nav .site-logo img { max-height:4rem }
    .site-header .main-nav .site-logo a { padding:.5rem 0 }
}

/* =============================================
   FOOTER
   ============================================= */
.site-footer {
    background-color:var(--bs-primary);
    color:#fff;
    border-bottom:1rem solid var(--bs-secondary);
}
.site-footer a { color:#fff; text-decoration:none }
.site-footer a:hover { color:var(--bs-secondary); text-decoration:none }

/* Footer main section */
.site-footer .footer-main { padding:4.5rem 0 4rem }
.site-footer .site-logo img { max-width:14rem }

/* Category navigation — vertical list with red left border */
.site-footer .footer-categories {
    border-left:3px solid var(--bs-secondary);
    padding-left:1.5rem;
}
.site-footer .footer-categories .component-nav.layout-standard .nav {
    flex-direction:column;
    gap:.375rem;
}
.site-footer .footer-categories .component-nav.layout-standard .nav-link {
    font-size:1.3125rem;
    font-weight:700;
    text-transform:uppercase;
    color:#fff;
    padding:.5rem 0;
    letter-spacing:.02em;
}
.site-footer .footer-categories .component-nav.layout-standard .nav-link.active {
    color:var(--bs-secondary);
}
.site-footer .footer-categories .component-nav.layout-standard .nav-link:hover {
    color:var(--bs-secondary);
    text-decoration:none;
    cursor:pointer;
}

/* Tab panels — only active panel visible */
.site-footer .footer-tab-panel { display:none }
.site-footer .footer-tab-panel.active { display:block }

/* Detail links — 2-column grid, column-first flow */
.site-footer .footer-detail-links .component-nav.layout-standard .nav {
    display:grid;
    grid-template-columns:1fr 1fr;
    grid-template-rows:repeat(4, auto);
    grid-auto-flow:column;
    gap:.625rem 3.75rem;
}
.site-footer .footer-detail-links .component-nav.layout-standard .nav-link {
    font-size:1.0625rem;
    font-weight:400;
    color:#fff;
    padding:.375rem 0;
}
.site-footer .footer-detail-links .component-nav.layout-standard .nav-link:hover {
    color:var(--bs-secondary);
    text-decoration:none;
}

/* Copyright bar */
.site-footer .footer-bottom {
    border-top:1px solid rgba(255,255,255,.15);
    padding:1.5rem 0;
}
.site-footer .copyright {
    font-size:1rem;
    color:white;
}

/* Legal links */
.site-footer .footer-legal-links .component-nav.layout-standard .nav { gap:0 }
.site-footer .footer-legal-links .component-nav.layout-standard .nav-link {
    font-weight:400;
    padding:0 .75rem;
}
.site-footer .footer-legal-links .component-nav.layout-standard .nav-link:hover {
    color:var(--bs-secondary);
    text-decoration:none;
}

/* Social icons — clean style (no circle background) */
.site-footer .social-icons .component-nav.layout-standard .nav { gap:1.25rem }
.site-footer .social-icons .component-nav.layout-standard li a {
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:1.5rem;
    color:#fff;
    padding:0;
}
.site-footer .social-icons .component-nav.layout-standard li a:hover {
    color:var(--bs-secondary);
    text-decoration:none;
}

/* Mobile footer */
@media (max-width:991px) {
    .site-footer .footer-main { padding:2.5rem 0 2rem }
    .site-footer .site-logo { text-align:center }
    .site-footer .site-logo img { max-width:10rem }
    .site-footer .footer-categories { border-left:0; padding-left:0; text-align:center }
    .site-footer .footer-categories .component-nav.layout-standard .nav { align-items:center }
    .site-footer .footer-detail-links .component-nav.layout-standard .nav {
        grid-template-columns:1fr;
        grid-template-rows:none;
        grid-auto-flow:row;
        text-align:center;
    }
    .site-footer .footer-bottom { text-align:center }
    .site-footer .social-icons { margin-top:.5rem }
}

/* Desktop footer */
@media (min-width:992px) {
    .site-footer .footer-logo-col { flex:0 0 auto; padding-left:3rem; padding-right:5rem }
    .site-footer .footer-categories-col { flex:0 0 auto; padding-right:3.5rem }
    .site-footer .footer-detail-col { border-left:3px solid var(--bs-secondary); padding-left:3.5rem; display:flex; align-items:flex-start }
}
