/* ==========================================================
   HICAP SERVICES - SITE-WIDE DESIGN SYSTEM
   Applies to homepage, pages, menus, and submenus
========================================================== */

:root {
    --hicap-brand-navy: #123b4a;
    --hicap-brand-deep: #102b3b;
    --hicap-brand-teal: #176269;
    --hicap-brand-teal-light: #edf7f6;
    --hicap-brand-accent: #23a79a;
    --hicap-brand-text: #344b59;
    --hicap-brand-muted: #607581;
    --hicap-brand-border: #dce8e9;
    --hicap-brand-surface: #f6faf9;
    --hicap-brand-radius: 14px;
    --hicap-brand-shadow: 0 10px 30px rgba(18,59,74,.08);
}

/* TYPOGRAPHY */

body {
    color: var(--hicap-brand-text);
    -webkit-font-smoothing: antialiased;
}

body .wp-site-blocks h1,
body .wp-site-blocks h2,
body .wp-site-blocks h3,
body .wp-site-blocks h4 {
    text-wrap: balance;
}

body .wp-site-blocks a {
    text-underline-offset: 3px;
}

/* SHARED PAGE BANNERS */

body.page:not(.home) .hicap-shared-hero {
    background: linear-gradient(
        110deg,
        var(--hicap-brand-deep),
        var(--hicap-brand-teal)
    ) !important;
}

body.page:not(.home) .hicap-shared-title {
    color: #fff !important;
    font-weight: 800;
    letter-spacing: -.025em;
}

/* PAGE CONTENT */

body.page:not(.home) .hicap-shared-content {
    max-width: 1100px !important;
}

body.page:not(.home) .hicap-shared-content
.wp-block-post-content {
    color: var(--hicap-brand-text);
}

body.page:not(.home) .hicap-shared-content
.wp-block-post-content h2,
body.page:not(.home) .hicap-shared-content
.wp-block-post-content h3 {
    color: var(--hicap-brand-navy);
    letter-spacing: -.015em;
}

/* NAVIGATION AND SUBMENUS */

.wp-block-navigation a {
    text-decoration: none;
    transition: color .2s ease;
}

.wp-block-navigation a:hover,
.wp-block-navigation a:focus-visible {
    color: var(--hicap-brand-teal);
}

.wp-block-navigation .wp-block-navigation__submenu-container {
    min-width: 220px;
    padding: 8px;
    border: 1px solid var(--hicap-brand-border);
    border-radius: 12px;
    background: #fff;
    box-shadow: var(--hicap-brand-shadow);
}

.wp-block-navigation .wp-block-navigation__submenu-container
.wp-block-navigation-item__content {
    display: block;
    padding: 10px 12px;
    border-radius: 7px;
}

.wp-block-navigation .wp-block-navigation__submenu-container
.wp-block-navigation-item__content:hover,
.wp-block-navigation .wp-block-navigation__submenu-container
.wp-block-navigation-item__content:focus-visible {
    background: var(--hicap-brand-teal-light);
    color: var(--hicap-brand-navy);
}

/* CARDS */

body.page:not(.home) .hicap-info-card,
body.page:not(.home) .hicap-service-card,
body.page:not(.home) .hicap-feature-card {
    border: 1px solid var(--hicap-brand-border);
    border-radius: var(--hicap-brand-radius);
    background: #fff;
    box-shadow: var(--hicap-brand-shadow);
}

/* SECTION LABELS */

body.page:not(.home) .hicap-section-label {
    color: var(--hicap-brand-teal);
    font-size: .75rem;
    font-weight: 750;
    letter-spacing: .09em;
    text-transform: uppercase;
}

/* BUTTONS */

body .hicap-btn,
body .wp-block-button__link {
    border-radius: 9px;
    font-weight: 700;
    text-decoration: none;
    transition:
        background-color .2s ease,
        box-shadow .2s ease,
        transform .2s ease;
}

body .hicap-btn-primary {
    background: var(--hicap-brand-teal);
    color: #fff;
}

body .hicap-btn-primary:hover {
    background: var(--hicap-brand-navy);
    color: #fff;
    transform: translateY(-2px);
}

/* FORMS */

body.page:not(.home) input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="submit"]),
body.page:not(.home) select,
body.page:not(.home) textarea {
    max-width: 100%;
    border: 1px solid #cbdcde;
    border-radius: 9px;
    padding: 11px 13px;
    background: #fff;
    color: var(--hicap-brand-text);
}

body.page:not(.home) input:focus-visible,
body.page:not(.home) select:focus-visible,
body.page:not(.home) textarea:focus-visible,
body.page:not(.home) button:focus-visible,
body.page:not(.home) a:focus-visible {
    outline: 3px solid var(--hicap-brand-accent);
    outline-offset: 3px;
}

/* RESPONSIVE CONTENT */

body.page:not(.home) .hicap-shared-content img,
body.page:not(.home) .hicap-shared-content video,
body.page:not(.home) .hicap-shared-content iframe {
    max-width: 100%;
}

body.page:not(.home) .hicap-shared-content img {
    height: auto;
}

/* TABLES */

body.page:not(.home) .wp-block-post-content table {
    width: 100%;
    border-collapse: collapse;
}

body.page:not(.home) .wp-block-post-content th {
    background: var(--hicap-brand-navy);
    color: #fff;
    text-align: left;
}

body.page:not(.home) .wp-block-post-content th,
body.page:not(.home) .wp-block-post-content td {
    padding: 12px;
    border: 1px solid var(--hicap-brand-border);
}

/* MOBILE */

@media (max-width: 780px) {
    .wp-block-navigation .wp-block-navigation__submenu-container {
        box-shadow: none;
        border-radius: 8px;
    }

    body.page:not(.home) .hicap-shared-content {
        width: calc(100% - 32px);
    }
}

@media (prefers-reduced-motion: reduce) {
    body .hicap-btn,
    body .wp-block-button__link,
    .wp-block-navigation a {
        transition: none;
    }

    body .hicap-btn-primary:hover {
        transform: none;
    }
}
