/* Aizyne Group Scottish Professional Design System v3
   This is a real design layer, not a dark-theme override.
   Palette: Saltire blue, white, mist grey, stone, heather.
*/

:root{
    --az-blue:#0065BD;
    --az-blue-700:#084B83;
    --az-blue-900:#062B4A;
    --az-sky:#EAF5FF;
    --az-sky-2:#F4FAFF;
    --az-white:#FFFFFF;
    --az-mist:#F6F9FC;
    --az-stone:#D8E5F0;
    --az-line:#C7D8E8;
    --az-text:#142236;
    --az-muted:#5B6F84;
    --az-heather:#6F5FA8;
    --az-green:#1F7A5A;
    --az-warn:#946200;
    --az-red:#A82828;
    --az-radius:18px;
    --az-radius-sm:12px;
    --az-shadow:0 16px 38px rgba(6,43,74,.10);
    --az-shadow-sm:0 8px 22px rgba(6,43,74,.08);
    --az-max:1180px;
}

*{box-sizing:border-box}

html{
    background:#F6F9FC;
}

body{
    margin:0;
    min-height:100vh;
    background:
        radial-gradient(circle at 8% 0%, rgba(0,101,189,.13), transparent 28rem),
        radial-gradient(circle at 96% 6%, rgba(111,95,168,.09), transparent 26rem),
        linear-gradient(180deg,#FFFFFF 0%,#F6F9FC 50%,#EDF5FB 100%);
    color:var(--az-text);
    font-family:Inter, Arial, Helvetica, sans-serif;
    line-height:1.55;
}

body,
p,
li,
label,
input,
select,
textarea,
button{
    color:var(--az-text);
}

a{
    color:var(--az-blue);
}

/* Clean platform navigation */
.aizyne-platform-nav{
    background:rgba(255,255,255,.94)!important;
    border-bottom:1px solid var(--az-line)!important;
    box-shadow:0 10px 30px rgba(6,43,74,.08)!important;
    backdrop-filter:blur(12px);
}

.az-nav-inner{
    max-width:var(--az-max)!important;
    margin:0 auto!important;
    padding:.8rem 1rem!important;
}

.az-brand{
    background:linear-gradient(135deg,var(--az-blue),var(--az-blue-900))!important;
    color:#fff!important;
    border:0!important;
    letter-spacing:.06em!important;
    box-shadow:0 8px 20px rgba(0,101,189,.18)!important;
}

.az-brand::before{
    background:#fff!important;
    box-shadow:0 0 0 3px rgba(255,255,255,.25)!important;
}

.az-nav-link,
.az-drop-button{
    color:var(--az-blue-900)!important;
    font-weight:760!important;
    border-radius:10px!important;
}

.az-nav-link:hover,
.az-drop-button:hover,
.az-dropdown.az-open .az-drop-button{
    background:var(--az-sky)!important;
    color:var(--az-blue-900)!important;
}

.az-nav-cta,
.az-mobile-cta{
    background:linear-gradient(135deg,var(--az-blue),var(--az-blue-900))!important;
    border:0!important;
    color:#fff!important;
    box-shadow:0 10px 24px rgba(0,101,189,.18)!important;
}

.az-body-mega-overlay{
    width:min(1040px,calc(100vw - 2rem))!important;
}

.az-body-mega-panel{
    background:#fff!important;
    border:1px solid var(--az-line)!important;
    border-radius:18px!important;
    box-shadow:0 26px 60px rgba(6,43,74,.16)!important;
    padding:1rem!important;
}

.az-mega-section{
    background:var(--az-sky-2)!important;
    border:1px solid var(--az-stone)!important;
    border-radius:14px!important;
    padding:.9rem!important;
}

.az-mega-heading,
.az-mobile-summary{
    color:var(--az-blue-900)!important;
}

.az-mega-description,
.az-mega-item span{
    color:var(--az-muted)!important;
}

.az-mega-item,
.az-mobile-links a{
    color:var(--az-blue-900)!important;
}

.az-mega-item:hover,
.az-mobile-links a:hover{
    background:var(--az-sky)!important;
}

/* Mobile nav */
.az-mobile-toggle{
    background:#fff!important;
    border:1px solid var(--az-line)!important;
    color:var(--az-blue-900)!important;
}

.az-mobile-panel,
.az-mobile-links{
    background:#fff!important;
    color:var(--az-text)!important;
}

.az-mobile-group{
    border-color:var(--az-stone)!important;
}

.az-mobile-summary{
    background:var(--az-sky)!important;
}

/* General layout defaults for existing pages */
main,
.wrap,
#tf-app,
#pb-app,
#pq-app,
#rr-app,
#isc-app,
#rh-app,
#alc-app,
#uc-app,
#er-app,
#wc-app,
.azw-wrap{
    width:min(var(--az-max),calc(100% - 2rem))!important;
    max-width:var(--az-max)!important;
    margin:0 auto!important;
    padding:1.3rem 0 3rem!important;
}

/* Proper panels/cards */
.panel,
.card,
.service-card,
.azw-panel,
.azw-card,
.tf-panel,
.tf-card,
.tool-card,
.pb-panel,
.pb-card,
.pq-panel,
.pq-card,
.rr-panel,
.rr-card,
.isc-panel,
.isc-card,
.rh-panel,
.rh-card,
.alc-panel,
.alc-card,
.uc-panel,
.uc-card,
.er-panel,
.er-card,
.wc-panel,
.wc-card,
.result-header,
.question-card,
.form-section,
.consent-and-acknowledgement{
    background:#fff!important;
    color:var(--az-text)!important;
    border:1px solid var(--az-stone)!important;
    border-radius:var(--az-radius)!important;
    box-shadow:var(--az-shadow-sm)!important;
    padding:1.2rem!important;
}

.hero,
.azw-hero,
.tf-hero-main,
.pb-hero-main,
.pq-hero-main,
.rr-hero-main,
.isc-hero-main,
.rh-hero-main,
.alc-hero-main,
.uc-hero-main,
.er-hero-main,
.wc-hero-main{
    background:
        linear-gradient(135deg,rgba(0,101,189,.10),rgba(255,255,255,.96) 55%,rgba(111,95,168,.07)),
        #fff!important;
    border:1px solid var(--az-stone)!important;
    border-radius:24px!important;
    box-shadow:var(--az-shadow)!important;
}

/* Typography */
h1,h2,h3,h4,h5,h6{
    color:var(--az-blue-900)!important;
    letter-spacing:-.02em;
    line-height:1.16;
    margin-top:0;
}

h1{
    font-size:clamp(2rem,4.2vw,4.4rem);
}

h2{
    font-size:clamp(1.45rem,2.4vw,2.1rem);
}

h3{
    font-size:1.08rem;
}

p,
li,
.meta,
.note,
.azw-muted,
.tf-muted,
.pb-muted,
.pq-muted,
.rr-muted,
.isc-muted,
.rh-muted,
.alc-muted,
.uc-muted,
.er-muted,
.wc-muted{
    color:var(--az-muted)!important;
}

/* Buttons */
.az-btn,
.btn-clean,
.azw-btn,
.tf-btn,
.pb-btn,
.pq-btn,
.rr-btn,
.isc-btn,
.rh-btn,
.alc-btn,
.uc-btn,
.er-btn,
.wc-btn,
.az-assessment-submit,
button[type="submit"],
input[type="submit"],
button.primary,
.btn.primary,
.button.primary{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:.45rem!important;
    min-height:44px!important;
    padding:.72rem 1.05rem!important;
    border-radius:12px!important;
    border:0!important;
    background:linear-gradient(135deg,var(--az-blue),var(--az-blue-900))!important;
    color:#fff!important;
    text-decoration:none!important;
    font-weight:800!important;
    font-size:.94rem!important;
    line-height:1.15!important;
    box-shadow:0 12px 26px rgba(0,101,189,.20)!important;
    cursor:pointer!important;
    transition:transform .16s ease, box-shadow .16s ease, background .16s ease!important;
}

.az-btn:hover,
.btn-clean:hover,
.azw-btn:hover,
.tf-btn:hover,
button[type="submit"]:hover,
input[type="submit"]:hover{
    transform:translateY(-1px);
    box-shadow:0 16px 32px rgba(0,101,189,.25)!important;
}

.az-btn.secondary,
.btn-clean.secondary,
.azw-btn.secondary,
.tf-btn.tf-secondary,
.pb-btn.pb-secondary,
.pq-btn.pq-secondary,
.rr-btn.rr-secondary,
.isc-btn.isc-secondary,
.rh-btn.rh-secondary,
.alc-btn.alc-secondary,
.uc-btn.uc-secondary,
.er-btn.er-secondary,
.wc-btn.wc-secondary,
.azw-strip-btn,
.azw-save-link,
button.secondary,
.btn.secondary{
    background:#fff!important;
    color:var(--az-blue-900)!important;
    border:1px solid var(--az-line)!important;
    box-shadow:0 8px 18px rgba(6,43,74,.08)!important;
}

.azw-btn.danger,
button.danger{
    background:#FFF3F3!important;
    color:var(--az-red)!important;
    border:1px solid #F0B7B7!important;
}

/* Forms */
input,
select,
textarea{
    width:100%;
    background:#fff!important;
    color:var(--az-text)!important;
    border:1px solid var(--az-line)!important;
    border-radius:12px!important;
    padding:.75rem .85rem!important;
    font-size:.95rem!important;
    box-shadow:inset 0 1px 0 rgba(6,43,74,.03)!important;
}

input:focus,
select:focus,
textarea:focus{
    outline:3px solid rgba(0,101,189,.18)!important;
    border-color:var(--az-blue)!important;
}

label{
    font-weight:760!important;
    color:var(--az-blue-900)!important;
}

fieldset{
    border:1px solid var(--az-stone)!important;
    border-radius:16px!important;
    background:var(--az-sky-2)!important;
}

/* Badges */
.badge,
.azw-badge,
.tf-badge,
.pb-badge,
.pq-badge,
.rr-badge,
.isc-badge,
.rh-badge,
.alc-badge,
.uc-badge,
.er-badge,
.wc-badge,
.tool-rank,
.azw-pill{
    display:inline-flex!important;
    align-items:center!important;
    gap:.35rem!important;
    padding:.32rem .65rem!important;
    border-radius:999px!important;
    background:var(--az-sky)!important;
    border:1px solid rgba(0,101,189,.20)!important;
    color:var(--az-blue-900)!important;
    font-weight:820!important;
    font-size:.78rem!important;
}

/* Notices */
.notice,
.azw-notice,
.tf-notice,
.wc-notice{
    background:#FFF8E8!important;
    border:1px solid #E8CB7C!important;
    color:var(--az-warn)!important;
    border-radius:14px!important;
}

.azw-ok,
.free-pill,
.tf-free-pill{
    background:#EEF9F3!important;
    border:1px solid #A7D7BE!important;
    color:var(--az-green)!important;
    border-radius:14px!important;
}

.azw-error{
    background:#FFF1F1!important;
    border:1px solid #F0B7B7!important;
    color:var(--az-red)!important;
    border-radius:14px!important;
}

/* Workspace strip */
.aizyne-workspace-strip{
    background:#fff!important;
    color:var(--az-text)!important;
    border-bottom:1px solid var(--az-line)!important;
    box-shadow:0 6px 18px rgba(6,43,74,.05)!important;
}

/* Tables and outputs */
.azw-table th{
    background:var(--az-sky)!important;
    color:var(--az-blue-900)!important;
}

.azw-table td,
.azw-table th{
    border-color:var(--az-stone)!important;
}

.azw-output,
pre,
code{
    background:#fff!important;
    color:var(--az-text)!important;
    border:1px solid var(--az-stone)!important;
    border-radius:14px!important;
}

/* Save panels */
.azw-save-panel,
.azw-assessment-save{
    background:var(--az-sky)!important;
    border:1px solid rgba(0,101,189,.22)!important;
    border-radius:16px!important;
    color:var(--az-text)!important;
}

/* Home page specific */
.az-home{
    width:min(var(--az-max),calc(100% - 2rem));
    margin:0 auto;
    padding:1.4rem 0 4rem;
}

.az-home-hero{
    display:grid;
    grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);
    gap:1rem;
    align-items:stretch;
    margin:1rem 0 1.2rem;
}

.az-home-hero-main,
.az-home-hero-side{
    background:#fff;
    border:1px solid var(--az-stone);
    border-radius:28px;
    box-shadow:var(--az-shadow);
    padding:clamp(1.4rem,3vw,2.4rem);
}

.az-home-hero-main{
    background:
        linear-gradient(135deg,rgba(0,101,189,.12),rgba(255,255,255,.96) 56%,rgba(111,95,168,.08)),
        #fff;
}

.az-home-kicker{
    display:inline-flex;
    padding:.35rem .7rem;
    border-radius:999px;
    background:var(--az-sky);
    border:1px solid rgba(0,101,189,.22);
    color:var(--az-blue-900);
    font-size:.82rem;
    font-weight:850;
}

.az-home-title{
    font-size:clamp(2.2rem,5.3vw,5rem);
    max-width:900px;
    margin:.75rem 0;
    color:var(--az-blue-900);
}

.az-home-lead{
    font-size:clamp(1rem,1.3vw,1.2rem);
    max-width:720px;
    color:var(--az-muted);
}

.az-home-actions{
    display:flex;
    flex-wrap:wrap;
    gap:.7rem;
    margin-top:1.2rem;
}

.az-home-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:1rem;
    margin:1rem 0;
}

.az-home-card{
    background:#fff;
    border:1px solid var(--az-stone);
    border-radius:20px;
    padding:1.1rem;
    box-shadow:var(--az-shadow-sm);
}

.az-home-card h3{
    margin:.15rem 0 .4rem;
    color:var(--az-blue-900);
}

.az-home-card p{
    margin:.2rem 0 .85rem;
}

.az-home-section{
    background:rgba(255,255,255,.78);
    border:1px solid var(--az-stone);
    border-radius:24px;
    padding:1.2rem;
    margin:1rem 0;
    box-shadow:var(--az-shadow-sm);
}

.az-home-tool-list{
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:.7rem;
}

.az-home-tool{
    display:block;
    background:#fff;
    border:1px solid var(--az-stone);
    border-radius:16px;
    padding:.85rem;
    min-height:104px;
    text-decoration:none;
    color:var(--az-text)!important;
    box-shadow:0 6px 18px rgba(6,43,74,.06);
}

.az-home-tool strong{
    display:block;
    color:var(--az-blue-900);
    margin-bottom:.25rem;
}

.az-home-tool span{
    display:block;
    color:var(--az-muted);
    font-size:.88rem;
}

.az-home-tool:hover{
    border-color:rgba(0,101,189,.45);
    box-shadow:0 14px 28px rgba(0,101,189,.12);
    transform:translateY(-1px);
}

.az-home-stat{
    display:grid;
    grid-template-columns:1fr;
    gap:.65rem;
}

.az-home-stat-item{
    background:var(--az-sky-2);
    border:1px solid var(--az-stone);
    border-radius:16px;
    padding:.9rem;
}

.az-home-stat-item strong{
    display:block;
    color:var(--az-blue-900);
    font-size:1.1rem;
}

.az-home-disclaimer{
    background:#FFF8E8;
    border:1px solid #E8CB7C;
    color:var(--az-warn);
    border-radius:18px;
    padding:1rem;
}

/* Hide the older black homepage nav if it still exists and platform nav has loaded */
body.az-platform-nav-ready header.site-header,
body.az-platform-nav-ready header.main-header,
body.az-platform-nav-ready .old-nav,
body.az-platform-nav-ready .legacy-nav{
    display:none!important;
}

@media(max-width:960px){
    .az-home-hero,
    .az-home-grid{
        grid-template-columns:1fr;
    }
    .az-home-tool-list{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

@media(max-width:640px){
    main,
    .wrap,
    #tf-app,
    #pb-app,
    #pq-app,
    #rr-app,
    #isc-app,
    #rh-app,
    #alc-app,
    #uc-app,
    #er-app,
    #wc-app,
    .azw-wrap,
    .az-home{
        width:calc(100% - 1.2rem)!important;
        padding-top:.85rem!important;
    }

    .az-home-tool-list{
        grid-template-columns:1fr;
    }

    .az-home-hero-main,
    .az-home-hero-side,
    .az-home-section{
        padding:1rem;
        border-radius:20px;
    }

    .az-home-actions .az-btn{
        width:100%;
    }
}

/* Print */
@media print{
    .aizyne-platform-nav,
    .aizyne-workspace-strip,
    .az-home-actions,
    .azw-actions{
        display:none!important;
    }

    body{
        background:#fff!important;
    }
}



/* Aizyne Workspace Sign-in Strip Contrast Fix v1
   Makes the guest/sign-in/account prompt text darker and easier to read.
*/

.aizyne-workspace-strip{
    background:#FFFFFF!important;
    border-bottom:1px solid #C7D8E8!important;
    color:#142236!important;
    box-shadow:0 6px 18px rgba(6,43,74,.06)!important;
}

.aizyne-workspace-strip,
.aizyne-workspace-strip div,
.aizyne-workspace-strip span,
.aizyne-workspace-strip p{
    color:#142236!important;
}

.aizyne-workspace-strip strong{
    color:#062B4A!important;
    font-weight:850!important;
}

.aizyne-workspace-strip .azw-strip-actions{
    display:flex!important;
    gap:.55rem!important;
    flex-wrap:wrap!important;
}

.aizyne-workspace-strip .azw-strip-btn{
    background:#EAF5FF!important;
    border:1px solid #9FC5E8!important;
    color:#062B4A!important;
    font-weight:850!important;
    text-decoration:none!important;
}

.aizyne-workspace-strip .azw-strip-btn:hover{
    background:#0065BD!important;
    color:#FFFFFF!important;
    border-color:#0065BD!important;
}

@media(max-width:760px){
    .aizyne-workspace-strip{
        font-size:.92rem!important;
        line-height:1.45!important;
    }
}
