/* UNKA Contact — layout fix v1.0.0. Icons survive RichText edits. */

body.unka-contact-page-view :where(#main) {
    --content-vertical-spacing: 0px;
}

.unka-contact-page-view #main .hero-section,
.unka-contact-page-view :where(#main) article > header.entry-header,
.unka-contact-page-view :where(#main) article > .ct-featured-image,
.unka-contact-page-view :where(#main) article > .post-thumbnail,
.unka-contact-page-view :where(#main) article > figure.wp-block-post-featured-image {
    display: none !important;
}

.unka-contact-page-view :where(#main) article,
.unka-contact-page-view #main,
.unka-contact-page-view :where(#main) .site-main,
.unka-contact-page-view :where(#main) .content-area,
.unka-contact-page-view :where(#main) .entry-content,
.unka-contact-page-view :where(#main) [data-content="normal"] {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
}

.unka-contact-page-view :where(#main) .entry-content > :first-child {
    margin-top: 0;
}

.unka-contact-page-view :where(#main) .unka-contact-site {
    --contact-navy: #092852;
    --contact-navy-deep: #061d3c;
    --contact-blue: #0879ed;
    --contact-yellow: #ffbf16;
    --contact-yellow-deep: #f4ae00;
    --contact-text: #193858;
    --contact-border: #dce5ee;
    width: 100vw;
    max-width: 100vw;
    margin: 0 calc(50% - 50vw);
    overflow-x: clip;
    color: var(--contact-text);
    background: #ffffff;
    font-family: inherit;
}

.unka-contact-page-view :where(#main) .unka-contact-site,
.unka-contact-page-view :where(#main) .unka-contact-site *,
.unka-contact-page-view :where(#main) .unka-contact-site *::before,
.unka-contact-page-view :where(#main) .unka-contact-site *::after {
    box-sizing: border-box;
}

.unka-contact-page-view :where(#main) .unka-contact-site a {
    text-decoration: none;
}

.unka-contact-page-view :where(#main .unka-contact-site) .unka-contact-container {
    width: min(1240px, calc(100% - 48px));
    max-width: none;
    margin: 0 auto;
    padding: 28px 0 40px;
}

.unka-contact-page-view :where(#main .unka-contact-site) .unka-contact-container > * {
    margin-right: 0;
    margin-left: 0;
}

.unka-contact-page-view :where(#main .unka-contact-site) .unka-contact-breadcrumb {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 9px;
    margin: 0 0 21px;
    color: #71839a;
    font-size: 14px;
    line-height: 1.45;
}

.unka-contact-page-view :where(#main .unka-contact-site) .unka-contact-breadcrumb a {
    color: #5d7da4;
}

.unka-contact-page-view :where(#main .unka-contact-site) .unka-contact-breadcrumb a:hover,
.unka-contact-page-view :where(#main .unka-contact-site) .unka-contact-breadcrumb a:focus-visible {
    color: var(--contact-blue);
}

.unka-contact-page-view :where(#main .unka-contact-site) .unka-contact-breadcrumb span {
    color: #a2adba;
}

.unka-contact-page-view :where(#main .unka-contact-site) .unka-contact-breadcrumb strong {
    color: #334a64;
    font-weight: 650;
}

.unka-contact-page-view :where(#main .unka-contact-site) .unka-contact-title {
    position: relative;
    max-width: 820px;
    margin: 0 0 19px;
    padding: 0 0 14px;
    color: var(--contact-navy-deep);
    font-size: 28px;
    font-weight: 800;
    letter-spacing: -0.025em;
    line-height: 1.14;
}

.unka-contact-page-view :where(#main .unka-contact-site) .unka-contact-title::after {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 58px;
    height: 4px;
    border-radius: 999px;
    background: var(--contact-yellow);
    content: "";
}

.unka-contact-page-view :where(#main .unka-contact-site) .unka-contact-intro {
    max-width: 760px;
    margin: 0 0 27px;
    color: #536c87;
    font-size: 13px;
    line-height: 1.55;
}

.unka-contact-page-view :where(#main .unka-contact-site) .unka-contact-grid {
    display: grid;
    grid-template-columns: minmax(360px, 0.82fr) minmax(0, 1.25fr);
    align-items: stretch;
    gap: 16px;
    margin: 0;
}

.unka-contact-page-view :where(#main .unka-contact-site) .unka-contact-card {
    min-width: 0;
    margin: 0;
    padding: 22px;
    border: 1px solid var(--contact-border);
    border-radius: 8px;
    background: #ffffff;
    box-shadow: 0 5px 18px rgba(7, 35, 67, 0.06);
}

.unka-contact-page-view :where(#main .unka-contact-site) .unka-contact-card > * {
    margin-block-start: 0;
    margin-block-end: 0;
}

.unka-contact-page-view :where(#main .unka-contact-site) .unka-contact-card-title {
    position: relative;
    margin: 0;
    padding: 0 0 12px;
    color: var(--contact-navy-deep);
    font-size: 20px;
    font-weight: 800;
    letter-spacing: -0.018em;
    line-height: 1.18;
}

.unka-contact-page-view :where(#main .unka-contact-site) .unka-contact-card-title::after {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 40px;
    height: 3px;
    border-radius: 999px;
    background: var(--contact-yellow);
    content: "";
}

.unka-contact-page-view :where(#main .unka-contact-site) .unka-contact-campus-name {
    margin: 20px 0 14px;
    color: var(--contact-navy-deep);
    font-size: 16px;
    font-weight: 800;
    line-height: 1.3;
}

.unka-contact-page-view :where(#main .unka-contact-site) .unka-contact-item {
    position: relative;
    display: block;
    width: 100%;
    min-width: 0;
    min-height: 48px;
    margin: 0 0 8px;
    padding: 13.85px 0 13.85px 62px;
    color: #294666;
    font-size: 14px;
    line-height: 1.45;
    word-break: normal;
    overflow-wrap: break-word;
}

.unka-contact-page-view :where(#main .unka-contact-site) .unka-contact-item a {
    width: fit-content;
    color: inherit;
}

.unka-contact-page-view :where(#main .unka-contact-site) .unka-contact-item a:hover,
.unka-contact-page-view :where(#main .unka-contact-site) .unka-contact-item a:focus-visible {
    color: var(--contact-blue);
}

/* Decorative spans may be removed when Gutenberg saves a paragraph.
 * Both legacy markup and ordinary RichText use the same CSS-only icon. */
.unka-contact-page-view :where(#main .unka-contact-site) .unka-contact-item > .unka-contact-item-icon {
    display: none;
}

.unka-contact-page-view :where(#main .unka-contact-site) .unka-contact-item::before {
    position: absolute;
    top: 50%;
    left: 0;
    display: block;
    width: 35px;
    height: 35px;
    border-radius: 50%;
    background: linear-gradient(135deg, #ffd443 0%, #ffb400 100%);
    content: "";
    transform: translateY(-50%);
}

.unka-contact-page-view :where(#main .unka-contact-site) .unka-contact-item::after {
    position: absolute;
    top: 50%;
    left: 7px;
    display: block;
    width: 21px;
    height: 21px;
    background: var(--contact-navy-deep);
    content: "";
    -webkit-mask: var(--contact-icon) center / contain no-repeat;
    mask: var(--contact-icon) center / contain no-repeat;
    transform: translateY(-50%);
}

.unka-contact-page-view :where(#main .unka-contact-site) .unka-contact-button .wp-block-button__link::before {
    display: block;
    width: 21px;
    height: 21px;
    background: var(--contact-navy-deep);
    content: "";
    -webkit-mask: var(--contact-icon) center / contain no-repeat;
    mask: var(--contact-icon) center / contain no-repeat;
}

.unka-contact-page-view :where(#main .unka-contact-site) .unka-contact-item--location {
    --contact-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 22s7-5.2 7-13a7 7 0 1 0-14 0c0 7.8 7 13 7 13Zm0-10a3 3 0 1 0 0-6 3 3 0 0 0 0 6Z'/%3E%3C/svg%3E");
}

.unka-contact-page-view :where(#main .unka-contact-site) .unka-contact-item--phone {
    --contact-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m7.1 2.7 3 4.7-2.4 2.3c1.2 2.6 3.2 4.6 5.8 5.8l2.3-2.4 4.7 3c.6.4.8 1.1.5 1.7l-1 2.8c-.3.8-1.1 1.3-2 1.2C9.6 20.8 3.2 14.4 2.2 6c-.1-.9.4-1.7 1.2-2l2.8-1c.6-.3 1.3-.1 1.7.5Z'/%3E%3C/svg%3E");
}

.unka-contact-page-view :where(#main .unka-contact-site) .unka-contact-item--whatsapp,
.unka-contact-page-view :where(#main .unka-contact-site) .unka-contact-button--whatsapp {
    --contact-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a9.5 9.5 0 0 0-8.1 14.4L2.5 21.5l5.2-1.4A9.5 9.5 0 1 0 12 2Zm5.4 13.4c-.2.7-1.2 1.3-1.9 1.5-.5.1-1.2.2-3.6-.8-3-1.2-4.9-4.3-5-4.5-.1-.2-1.2-1.6-1.2-3.1s.8-2.2 1.1-2.5c.3-.3.7-.4 1-.4h.7c.2 0 .5.1.7.6l.9 2.1c.1.3.1.5 0 .7l-.4.7-.6.6c-.2.2-.4.4-.2.7.2.4.8 1.4 1.8 2.2 1.2 1.1 2.3 1.4 2.7 1.6.3.2.6.1.8-.1l1.1-1.3c.2-.3.5-.3.8-.2l2 .9c.4.2.6.3.7.5.1.1.1.7-.1 1.4Z'/%3E%3C/svg%3E");
}

.unka-contact-page-view :where(#main .unka-contact-site) .unka-contact-item--email,
.unka-contact-page-view :where(#main .unka-contact-site) .unka-contact-button--email {
    --contact-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 4h18c1.1 0 2 .9 2 2v12c0 1.1-.9 2-2 2H3c-1.1 0-2-.9-2-2V6c0-1.1.9-2 2-2Zm9 9L3.6 6.3C3.3 6.1 3 6.3 3 6.7V18h18V6.7c0-.4-.4-.6-.7-.4L12 13Z'/%3E%3C/svg%3E");
}

.unka-contact-page-view :where(#main .unka-contact-site) .unka-contact-item--hours {
    --contact-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill-rule='evenodd' d='M12 22a10 10 0 1 0 0-20 10 10 0 0 0 0 20Zm1-16h-2v7l5 3 1-1.7-4-2.4V6Z' clip-rule='evenodd'/%3E%3C/svg%3E");
}

.unka-contact-page-view :where(#main .unka-contact-site) .unka-contact-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin: 17px 0 0;
}

.unka-contact-page-view :where(#main .unka-contact-site) .unka-contact-button,
.unka-contact-page-view :where(#main .unka-contact-site) .unka-contact-button .wp-block-button__link {
    width: 100%;
}

.unka-contact-page-view :where(#main .unka-contact-site) .unka-contact-button .wp-block-button__link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 40px;
    padding: 11px 15px;
    border: 1px solid var(--contact-navy);
    border-radius: 6px;
    color: var(--contact-navy-deep) !important;
    background: #ffffff !important;
    box-shadow: none;
    font-size: 13px;
    font-weight: 800;
    line-height: 1.2;
    transition:
        color 160ms ease,
        background-color 160ms ease,
        border-color 160ms ease,
        transform 160ms ease;
}

.unka-contact-page-view :where(#main .unka-contact-site) .unka-contact-button .wp-block-button__link::before {
    width: 19px;
    height: 19px;
}

.unka-contact-page-view :where(#main .unka-contact-site)
    .unka-contact-button--email
    .wp-block-button__link {
    border-color: var(--contact-yellow);
    background: var(--contact-yellow) !important;
}

.unka-contact-page-view :where(#main .unka-contact-site) .unka-contact-button .wp-block-button__link:hover,
.unka-contact-page-view :where(#main .unka-contact-site) .unka-contact-button .wp-block-button__link:focus-visible {
    border-color: var(--contact-yellow-deep);
    background: #fff3ca !important;
    transform: translateY(-1px);
}

.unka-contact-page-view :where(#main .unka-contact-site) .unka-contact-button .wp-block-button__link:focus-visible,
.unka-contact-page-view :where(#main .unka-contact-site) .unka-contact-breadcrumb a:focus-visible,
.unka-contact-page-view :where(#main .unka-contact-site) .unka-contact-item a:focus-visible {
    outline: 3px solid rgba(8, 121, 237, 0.3);
    outline-offset: 3px;
}

.unka-contact-page-view :where(#main .unka-contact-site) .unka-contact-map-card {
    display: flex;
    flex-direction: column;
}

.unka-contact-page-view :where(#main .unka-contact-site) .unka-contact-map-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    margin: 0 0 15px;
}

.unka-contact-page-view :where(#main .unka-contact-site) .unka-contact-map-heading > * {
    margin: 0;
}

.unka-contact-page-view :where(#main .unka-contact-site) .unka-contact-map-actions {
    flex: 0 0 auto;
    margin: -2px 0 0;
}

.unka-contact-page-view :where(#main .unka-contact-site) .unka-contact-button--map {
    --contact-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M14 3h7v7h-2V6.4l-8.3 8.3-1.4-1.4L17.6 5H14V3ZM5 5h6v2H5v12h12v-6h2v6c0 1.1-.9 2-2 2H5c-1.1 0-2-.9-2-2V7c0-1.1.9-2 2-2Z'/%3E%3C/svg%3E");
}

.unka-contact-page-view :where(#main .unka-contact-site)
    .unka-contact-button--map
    .wp-block-button__link {
    width: auto;
    min-height: 40px;
    padding: 8px 13px;
    border-color: #8dbef4;
    color: #1265b9 !important;
    font-size: 13px;
}

.unka-contact-page-view :where(#main .unka-contact-site)
    .unka-contact-button--map
    .wp-block-button__link::before {
    width: 17px;
    height: 17px;
    background: #1265b9;
}

.unka-contact-page-view :where(#main .unka-contact-site) .unka-contact-map {
    position: relative;
    flex: 1 1 auto;
    min-height: 350px;
    margin: 0;
    overflow: hidden;
    border: 1px solid #e2e8ef;
    border-radius: 5px;
    background: #eef3f7;
}

.unka-contact-page-view :where(#main .unka-contact-site) .unka-contact-map iframe {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 350px;
    border: 0;
}

@media (max-width: 920px) {
    .unka-contact-page-view :where(#main .unka-contact-site) .unka-contact-grid {
        grid-template-columns: 1fr;
    }

    .unka-contact-page-view :where(#main .unka-contact-site) .unka-contact-map,
    .unka-contact-page-view :where(#main .unka-contact-site) .unka-contact-map iframe {
        min-height: 390px;
    }
}

@media (max-width: 600px) {
    .unka-contact-page-view :where(#main .unka-contact-site) .unka-contact-container {
        width: calc(100% - 28px);
        padding: 22px 0 30px;
    }

    .unka-contact-page-view :where(#main .unka-contact-site) .unka-contact-breadcrumb {
        margin-bottom: 17px;
        font-size: 13px;
    }

    .unka-contact-page-view :where(#main .unka-contact-site) .unka-contact-title {
        margin-bottom: 16px;
        padding-bottom: 12px;
        font-size: 30px;
    }

    .unka-contact-page-view :where(#main .unka-contact-site) .unka-contact-intro {
        margin-bottom: 22px;
        font-size: 16px;
    }

    .unka-contact-page-view :where(#main .unka-contact-site) .unka-contact-card {
        padding: 19px 17px;
    }

    .unka-contact-page-view :where(#main .unka-contact-site) .unka-contact-card-title {
        font-size: 23px;
    }

    .unka-contact-page-view :where(#main .unka-contact-site) .unka-contact-campus-name {
        font-size: 18px;
    }

    .unka-contact-page-view :where(#main .unka-contact-site) .unka-contact-actions {
        grid-template-columns: 1fr;
    }

    .unka-contact-page-view :where(#main .unka-contact-site) .unka-contact-map-heading {
        display: block;
    }

    .unka-contact-page-view :where(#main .unka-contact-site) .unka-contact-map-actions {
        margin-top: 14px;
    }

    .unka-contact-page-view :where(#main .unka-contact-site) .unka-contact-button--map,
    .unka-contact-page-view :where(#main .unka-contact-site)
        .unka-contact-button--map
        .wp-block-button__link {
        width: 100%;
    }

    .unka-contact-page-view :where(#main .unka-contact-site) .unka-contact-map,
    .unka-contact-page-view :where(#main .unka-contact-site) .unka-contact-map iframe {
        min-height: 310px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .unka-contact-page-view :where(#main .unka-contact-site) .unka-contact-button .wp-block-button__link {
        transition: none;
    }
}
