﻿:root {
    --blue: #70A1FF; /* text + hover background */
    --red: #c01919; /* borders + active background */
    --white: #fff;
    --radius: .5rem;
    --gap: .4rem;
    --border: 2px;
}

h1, h2, h3, h4, .PortalWrap {
    /*color: #23393d;*/
    color: #1e3a8a !important;
}

hr {
    border: none;
    height: 2px;
    background-color: var(--accent);
    margin: 0 0 15px 0;
    opacity: 1 !important;
}

.hr2 {
    border: none;
    height: 2px;
    background-color: var(--primary);
    margin: 0 0 15px 0;
    opacity: 1 !important;
}

/*Nav*/
.tabnav {
    /*border-bottom: var(--border) solid var(--accent);*/ /* baseline for “tabs” */
}

.tabnav__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    gap: var(--gap);
    flex-wrap: wrap;
}

.tabnav__item {
    display: flex;
}

.tabnav__link {
    display: inline-block;
    padding: .55rem .9rem;
    text-decoration: none;
    color: var(--blue);
    background: var(--white);
    border: var(--border) solid var(--accent);
    border-bottom: 0; /* flat bottom edge */
    border-top-left-radius: var(--radius);
    border-top-right-radius: var(--radius);
    line-height: 1;
    transition: background-color .15s ease, color .15s ease, transform .05s ease;
}

    .tabnav__link:hover,
    .tabnav__link:focus-visible {
        background: var(--blue);
        color: var(--white);
        outline: none;
    }

    .tabnav__link.is-active {
        background: var(--accent);
        color: var(--white);
        cursor: default;
    }

.tabnav__item--right {
    margin-left: auto;
}

/* --- Burger toggle (mobile) --- */
.tabnav__toggle {
    display: none;
    background: var(--white);
    color: var(--blue);
    border: var(--border) solid var(--accent);
    border-radius: .4rem;
    padding: .5rem .7rem;
    margin-bottom: .5rem;
}

/* --- Responsive behaviour --- */
@media (max-width: 640px) {
    .tabnav__toggle {
        display: inline-block;
    }

    .tabnav__list {
        display: none; /* collapsed by default on small screens */
        flex-direction: column;
        gap: .3rem;
    }

    .tabnav.is-open .tabnav__list {
        display: flex;
    }

    /* On mobile, give tabs full borders so vertical stack looks tidy */
    .tabnav__link {
        border-bottom: var(--border) solid var(--accent);
        border-radius: .4rem; /* rounded all around on mobile */
    }
}

#questionnaire {
    position: relative;
    overflow: hidden; /* keeps animation inside */
    max-width: 100%; /* optional – adjust for your design */
    margin: 0 auto; /* center on page */
    /*min-height: 150px;*/ /* ensures consistent height for slides */
    border: solid 1px var(--accent);
    padding: 25px;
    border-radius: 16px;
   
}

.PortalContent {
    position: relative;
    overflow: hidden; /* keeps animation inside */
    /*max-width: 100%;*/ /* optional – adjust for your design */
    margin: 0 auto 50px auto; /* center on page */
    /*min-height: 150px;*/ /* ensures consistent height for slides */
    border: solid 1px var(--accent);
    padding: 25px;
    border-radius: 8px;
}


.question-panel {
    /*position: absolute;
    top: 0;
    left: 0;*/
    /*width: 100%;*/
    transition: transform 0.6s ease, opacity 0.6s ease;
    opacity: 0;
    transform: translateX(100%);
    
}

    .question-panel.active {
        opacity: 1;
        transform: translateX(0);
        z-index: 2;
    }

    .question-panel.slide-out-left {
        transform: translateX(-100%);
        opacity: 0;
    }

    .question-panel.slide-in-right {
        transform: translateX(100%);
        opacity: 0;
    }

    .question-panel.d-none {
        display: none !important;
    }


/*.password-wrapper {
    position: relative;
}

.toggle-password {
    position: absolute;
    right: 12px;
    top: 25%;
    transform: translateY(-50%);
    cursor: pointer;
    font-size: 1.2em;
    color: #666;
    user-select: none;
}*/

.password-wrapper {
    position: relative;
}

    /* Make room so text doesn't go under the icon */
    .password-wrapper .form-control {
        padding-right: 2.5rem;
    }

.toggle-password {
    position: absolute;
    right: 12px;
    top: 50%; /* center in container */
    transform: translateY(-50%);
    cursor: pointer;
    font-size: 1.2em;
    color: #666;
    user-select: none;
}


.currency-wrapper {
    position: relative;
    display: inline-block;
    width: 100%;
}

    .currency-wrapper .currency-symbol {
        position: absolute;
        left: 10px; /* adjust to suit your padding */
        top: 50%;
        transform: translateY(-50%);
        pointer-events: none; /* click goes through to the input */
    }

    .currency-wrapper input,
    .currency-wrapper .ContactControl {
        padding-left: 25px; /* make room for the £ symbol */
    }

















/*--------------------Calendar Style---------------*/
.MyCalendar .ajax__calendar_container {
    background-color: #ffffff;
    border: solid 1px #727272;
    text-align: center;
    line-height: 1;
    width: 100%;
}

.MyCalendar .ajax__calendar_header {
    background-color: #ffffff;
    margin-bottom: 4px;
    text-align: center;
    color: #d10101;
}

.MyCalendar .ajax__calendar_title {
    color: #004080;
}


.MyCalendar .ajax__calendar_title,
.MyCalendar .ajax__calendar_next,
.MyCalendar .ajax__calendar_prev {
    color: #004080;
    padding-top: 3px;
    text-align: center;
}

.MyCalendar .ajax__calendar_body {
    background-color: #ffffff;
    text-align: center;
}

.MyCalendar .ajax__calendar_dayname {
    text-align: center;
    font-weight: bold;
    margin-bottom: 4px;
    margin-top: 2px;
    text-align: center;
}

.MyCalendar .ajax__calendar_day {
    text-align: center;
}

.MyCalendar .ajax__calendar_hover .ajax__calendar_day,
.MyCalendar .ajax__calendar_hover .ajax__calendar_month,
.MyCalendar .ajax__calendar_hover .ajax__calendar_year,
.MyCalendar .ajax__calendar_active {
    color: #d10101;
    font-weight: bold;
    background-color: #ffffff;
    text-align: center;
}

.MyCalendar .ajax__calendar_active {
    color: #d10101;
    font-weight: bold;
    background-color: #e9e9e9;
    text-align: center;
}

.MyCalendar .ajax__calendar_today {
    font-weight: bold;
    text-align: center;
    color: #000000;
}

.MyCalendar .ajax__calendar_other,
.MyCalendar .ajax__calendar_hover .ajax__calendar_today,
.MyCalendar .ajax__calendar_hover .ajax__calendar_title {
    color: #dcdcdc;
    text-align: center;
}
/*------------------------------END----------------------------*/

.score-select option[value="3"] {
    color: #008000; /* green */
    font-weight: bold;
}

.score-select option[value="4"] {
    color: #cc0000; /* red */
    font-weight: bold;
}
