/* Regular 400 */
@font-face {
    font-family: 'Poppins';
    src: url('/fonts/poppins/Poppins-Regular.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

/* SemiBold 600 */
@font-face {
    font-family: 'Poppins';
    src: url('/fonts/poppins/Poppins-SemiBold.woff2') format('woff2');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

/* Bold 700 (optional) */
@font-face {
    font-family: 'Poppins';
    src: url('/fonts/poppins/Poppins-Bold.woff2') format('woff2');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}


/* Global font */
html, body {
    font-family: 'Poppins', system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif;
}

/* Headings (you already had this) */
h1, h2, h3, h4, h5, h6 {
    font-weight: 600; /* ensure this weight is available */
}
html {
  font-size: 14px;
}

@media (min-width: 768px) {
  html {
    font-size: 16px;
  }
     
}

.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
  box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
}

html {
  position: relative;
  min-height: 100%;
}

/* remove the fixed bottom margin so footer can sit at the end of the viewport when using flex layout */
body {
  margin-bottom: 0;
}

/* helper if you want to mark the footer explicitly (optional) */
.site-footer {
  margin-top: auto;
}

.form-floating > .form-control-plaintext::placeholder, .form-floating > .form-control::placeholder {
  color: var(--bs-secondary-color);
  text-align: end;
}

.form-floating > .form-control-plaintext:focus::placeholder, .form-floating > .form-control:focus::placeholder {
  text-align: start;
}



.text-bg-standout span {
    background-color: #c00; /* UoR Red */
    color: #fff;
    white-space: nowrap; /* Prevent wrapping */
    display: inline-block;
    padding: 0.25em;
}

.button-primary {
    background-color: #00703c; /* UoR green */
    color: #fff;
    font-weight: 600;
    border: none;
    padding: 10px 10px 10px 10px; /* top, right, bottom, left */
    text-decoration: none;
    text-transform: none;
    transition: background-color 0.3s ease;
}

    .button-primary:hover {
        background-color: #005f32;
        color: #fff;
    }

@media (max-width: 768px) {
    .hero-banner {
        min-height: 32vh;
    }

    .text-size-40 {
        font-size: 1.6rem;
    }
}
.pt-10 {
    padding-top: 10px !important;
}

@media (max-width: 576px) {
    .pt-10 {
        padding-top: 8px !important; /* a bit smaller on mobile */
    }
}
.btn-uor {
    background-color: #00703c; /* UoR green */
    color: #fff;
    border: none;
    font-weight: 600;
    text-transform: none;
    padding: 10px 25px;
    border-radius: 0;
    text-decoration: none;
    display: inline-block;
    transition: background-color 0.3s ease, color 0.3s ease;
}

    .btn-uor:hover,
    .btn-uor:focus {
        background-color: #005f32; /* darker green on hover */
        color: #fff;
        text-decoration: none;
    }

.uor-header {
    background: #ececec !important;
}

.fsip-btn,
.fsip-btn:link,
.fsip-btn:visited {
    top: 343px;
    left: 470px;
    padding: 10px 20px;
    background-color: #333 !important; /* default */
    color: #fff !important;
    text-decoration: none !important;
    border: none !important;
    border-radius: 0;
    cursor: pointer;
    transition: all 0.25s ease;
    outline: none !important;
    box-shadow: none !important;
}

    /* Hover */
    .fsip-btn:hover {
        background-color: #fff !important;
        color: #d61926 !important;
        border: 1px solid #d61926 !important;
    }

    /* Keyboard Focus & Active */
    .fsip-btn:focus,
    .fsip-btn:focus-visible,
    .fsip-btn:active,
    .fsip-btn:first-child:active,
    .btn-check:checked + .fsip-btn,
    .btn:focus.fsip-btn,
    .btn:active.fsip-btn {
        background-color: #fff !important; /* same as hover */
        color: #d61926 !important;
        border: 1px solid #d61926 !important;
        outline: none !important;
        box-shadow: none !important; /* remove blue ring */
    }

    /* Optional: remove dotted focus outline for Firefox */
    .fsip-btn::-moz-focus-inner {
        border: 0 !important;
    }

.btn-outline-secondary:focus {
    border-color: #4A94FC !important;
}

.fsip-toggle:focus{
     background:black;
}

.btn-check:focus-visible + .btn-outline-secondary,
.btn-outline-secondary:focus-visible {
    border-color: #4A94FC !important;
    outline: none !important;
    box-shadow: 0 0 0 4px rgba(74,148,252,0.5) !important; /* semi-transparent */
}
.btn-outline-secondary:focus-visible {
    border-color: #4A94FC !important;
    box-shadow: none !important;
    outline: 5px #4A94FC !important;
}
.btn-check:focus-visible + .btn,
.btn:focus-visible {
    box-shadow: 0 0 0 3px #4A94FC !important;
}

button.accordion-button.uor-accordion-style.collapsed:focus,
button.accordion-button.uor-accordion-style:active,
button.accordion-button.uor-accordion-style :focus,
button.accordion-button:focus {
    box-shadow: 0 0 0 3px #4A94FC !important;
}