:root {
    /* Palette */
    --c-prim: #4A6FA5;
    --c-acc: #C05621;
    --c-bg: #F9FAFB;
    --c-text: #1F2937;
    --c-surf: #FFFFFF;
    --c-border: #E5E7EB;

    /* Fonts */
    --f-head: Inter, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;
    --f-body: Inter, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;

    /* Layout */
    --l-max-w: 1200px;
    --l-gap: 16px;

    /* Nav */
    --nav-txt: #1F2937;
    --nav-h-bg: #F3F4F6;
    --nav-act-c: #4A6FA5;
    --nav-act-w: 2px;

    /* Cards */
    --card-bg: #FFFFFF;
    --card-b-w: 1px;
    --card-b-c: #E5E7EB;
    --card-rad: 12px;
    --card-pad: 20px;
    --card-shd: 0 1px 2px rgba(0,0,0,0.06);

    /* Buttons */
    --btn-p-bg: #4A6FA5;
    --btn-p-txt: #FFFFFF;
    --btn-p-rad: 12px;
    --btn-s-bg: transparent;
    --btn-s-txt: #4A6FA5;
    --btn-s-b-w: 1px;
    --btn-s-b-c: #4A6FA5;
    --btn-s-rad: 12px;

    /* Links */
    --link-c: #3B5989;
    --link-h-c: #C05621;

    /* Header */
    --head-bg: #ffffff;
    --logo-w: 136px;
}

/* Global Application */
body {
    background-color: var(--c-bg);
    color: var(--c-text);
    font-family: var(--f-body);
}

h1, h2, h3, h4, h5, h6 {
    font-family: var(--f-head);
    color: var(--c-text);
}

a {
    color: var(--link-c);
    text-decoration: none;
    transition: color 0.2s ease;
}

a:hover {
    color: var(--link-h-c);
}

/* Header & Nav */
.site-header {
    background-color: var(--head-bg);
    border-bottom: 1px solid var(--c-border);
}

.main-navigation {
    background-color: var(--head-bg);
}

.main-navigation .main-nav ul li a {
    color: var(--nav-txt);
    font-weight: 500;
}

.main-navigation .main-nav ul li:hover > a, 
.main-navigation .main-nav ul li.sfHover > a {
    background-color: var(--nav-h-bg);
    color: var(--c-prim);
}

/* Nav Active - Logic for Type */
/* Using specific selector for current menu item */
.main-navigation .main-nav ul li[class*="current-menu-"] > a {
    color: var(--nav-act-c);
    background-color: transparent;
    /* Default to none, overridden below based on logical variable not truly available in CSS without container queries or JS, 
       but we can use the variable directly if we assume 'underline' style maps to box-shadow inset */
    box-shadow: inset 0 calc(var(--nav-act-w) * -1) 0 0 var(--nav-act-c); 
}

/* Cards */
.inside-article, .sidebar .widget, .site-main .post {
    background-color: var(--card-bg);
    border: var(--card-b-w) solid var(--card-b-c);
    border-radius: var(--card-rad);
    padding: var(--card-pad);
    box-shadow: var(--card-shd);
}

/* Buttons - Primary */
button, 
input[type="button"], 
input[type="reset"], 
input[type="submit"], 
.button, 
.wp-block-button__link:not(.is-style-outline) {
    background-color: var(--btn-p-bg);
    color: var(--btn-p-txt);
    border-radius: var(--btn-p-rad);
    border: none;
}

button:hover, 
.button:hover,
.wp-block-button__link:not(.is-style-outline):hover {
    background-color: var(--c-acc); /* Fallback or specific hover? Using accent for now */
    color: var(--btn-p-txt);
}

/* Buttons - Secondary (Outline) */
.wp-block-button.is-style-outline .wp-block-button__link {
    background-color: var(--btn-s-bg);
    color: var(--btn-s-txt) !important;
    border: var(--btn-s-b-w) solid var(--btn-s-b-c);
    border-radius: var(--btn-s-rad);
}

/* Logo */
.site-header .header-image, 
.site-header .custom-logo {
    max-width: var(--logo-w);
    height: auto;
}

/* Layout Polishes */
.site-content {
    max-width: var(--l-max-w);
    margin-left: auto;
    margin-right: auto;
}

.separate-containers .site-main > * {
    margin-bottom: var(--l-gap);
}
