/*
 Theme Name:   Atlantic Chemicals
 Theme URI:    https://atlantic-chemicals.com
 Description:  Atlantic Research Chemicals child theme. Built on Unify by Unify Studio. Replaces the Divi child theme; chemistry features come from the AC Chemical Core plugin.
 Author:       Unify Studio for Atlantic Research Chemicals
 Author URI:   https://unify-studio.co.uk
 Template:     unify
 Version:      1.2.0
 Requires PHP: 7.4
 License:      GNU General Public License v2 or later
 Text Domain:  atlantic-chemicals
*/

/* ══════════════════════════════════════════════════════
   BRAND TOKENS
   Set here, not in the Customizer (a saved Customizer
   colour would override these).
   ══════════════════════════════════════════════════════ */

:root {
    /* Brand */
    --ac-purple:            #701370;
    --ac-purple-header:     #6A1B6E;
    --ac-navy:              #004D99;
    --ac-navy-deep:         #003874;
    --ac-cyan:              #00AEEF;
    --ac-cyan-soft:         #e6f6fd;
    --ac-slate:             #2F2E38;
    --ac-slate-deep:        #1d1c24;

    /* Unify mapping */
    --unify-primary:        var(--ac-navy);
    --unify-secondary:      var(--ac-navy-deep);
    --unify-accent:         var(--ac-purple);
    --unify-bg:             #ffffff;
    --unify-bg-alt:         #f5f7fa;
    --unify-text:           #1a1a1a;
    --unify-text-muted:     #4a4a4a;
    --unify-border:         #e0e0e0;

    --unify-font-heading:   'Figtree', -apple-system, BlinkMacSystemFont, sans-serif;
    --unify-font-body:      'Figtree', -apple-system, BlinkMacSystemFont, sans-serif;
    --unify-font-mono:      Consolas, 'Courier New', monospace;
    --unify-line-height:    1.6;

    --unify-max-width:      1240px;
    --unify-radius-md:      8px;
    --unify-radius-lg:      12px;

    --unify-nav-height:     76px;
    --unify-nav-bg:         var(--ac-purple-header);
    --unify-nav-color:      #ffffff;
    --unify-nav-logo-height: 40px;

    /* Shop */
    --unify-woo-price:      var(--ac-navy);
    --unify-woo-button-bg:  var(--ac-navy);
    --unify-woo-card-radius: 12px;
}


/* ══════════════════════════════════════════════════════
   TYPE
   ══════════════════════════════════════════════════════ */

h1, h2, h3 {
    font-weight: 800;
    color: var(--ac-purple);
    line-height: 1.15;
}

a {
    color: var(--ac-navy);
}

a:hover {
    color: var(--ac-navy-deep);
}


/* ══════════════════════════════════════════════════════
   HEADER  (one bar: logo · menu · search · structure · account · cart)
   ══════════════════════════════════════════════════════ */

.unify-nav__menu a {
    font-size: 15px;
    font-weight: 600;
}

.unify-nav__menu a:hover,
.unify-nav__menu .current-menu-item > a {
    opacity: 1;
    text-decoration: underline;
    text-underline-offset: 6px;
}

.unify-nav__actions {
    gap: 8px;
    flex: 1 1 auto;
    justify-content: flex-end;
}

.ac-header-search {
    display: flex;
    flex: 0 1 300px;
    min-width: 0;
}

.ac-header-search input {
    flex: 1;
    min-width: 0;
    min-height: 44px;
    padding: 0 18px;
    border: 0;
    border-radius: 999px;
    font: inherit;
    font-size: 15px;
    color: var(--unify-text);
}

.ac-header-structure {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 44px;
    padding: 0 16px;
    border: 1.5px solid rgba(255, 255, 255, 0.7);
    border-radius: 999px;
    color: #ffffff;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    white-space: nowrap;
}

.ac-header-structure:hover {
    color: #ffffff;
    background: rgba(255, 255, 255, 0.12);
}

.unify-nav__icon:hover {
    background: rgba(255, 255, 255, 0.14);
}

.unify-cart-link__count {
    background: var(--ac-cyan);
    color: #002B4D;
}

@media (max-width: 1100px) {
    .ac-header-search { display: none; }
}

@media (max-width: 768px) {
    .ac-header-structure span { display: none; }
    .ac-header-structure { padding: 0 12px; }
    .unify-nav__burger span { height: 2px; }
}


/* ══════════════════════════════════════════════════════
   SHARED SECTION PIECES
   ══════════════════════════════════════════════════════ */

.ac-hex-bg {
    position: relative;
    overflow: hidden;
    background-color: var(--ac-navy-deep);
    color: #ffffff;
}

.ac-hex-bg::before {
    content: "";
    position: absolute;
    inset: 0;
    opacity: 0.14;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='84' height='97'%3E%3Cpolygon points='42,4 78,25 78,72 42,93 6,72 6,25' fill='none' stroke='%2300AEEF' stroke-width='2'/%3E%3Ccircle cx='42' cy='4' r='4' fill='%2300AEEF'/%3E%3Ccircle cx='78' cy='72' r='4' fill='%2300AEEF'/%3E%3C/svg%3E");
    pointer-events: none;
}

.ac-hex-bg > * {
    position: relative;
}

.ac-hex-bg h1,
.ac-hex-bg h2 {
    color: #ffffff;
}

/* unify gives every <p> var(--unify-text); on dark panels, inherit instead. */
.ac-hex-bg p,
.ac-portal-card p,
.ac-footer p {
    color: inherit;
}

.ac-eyebrow {
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: #7FD6F7;
}

.ac-section {
    padding-block: clamp(3rem, 7vw, 5rem);
}

.ac-section--alt {
    background: var(--unify-bg-alt);
}

.ac-section__head {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 28px;
}

.ac-section__head h2 {
    margin: 0;
    font-size: clamp(1.75rem, 3vw, 2.125rem);
}

.ac-big-search {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    max-width: 880px;
}

.ac-big-search input {
    flex: 1 1 380px;
    min-width: 0;
    min-height: 60px;
    padding: 0 22px;
    border: 0;
    border-radius: 12px;
    font: inherit;
    font-size: 18px;
    color: var(--unify-text);
}

.ac-big-search button,
.ac-btn {
    min-height: 60px;
    padding: 0 32px;
    border: 0;
    border-radius: 12px;
    background: var(--ac-purple);
    color: #ffffff;
    font: inherit;
    font-size: 17px;
    font-weight: 700;
    cursor: pointer;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
}

.ac-big-search button:hover,
.ac-btn:hover {
    color: #ffffff;
    filter: brightness(1.12);
}


/* ══════════════════════════════════════════════════════
   HOMEPAGE (front-page.php)
   ══════════════════════════════════════════════════════ */

.ac-hero {
    /* Photo shows through. A soft shade on the left, where the text sits,
       keeps it legible; the right side is left almost clear. */
    background-color: var(--ac-navy-deep);
    background-image:
        linear-gradient(90deg, rgba(0, 28, 64, 0.62) 0%, rgba(0, 28, 64, 0.38) 50%, rgba(0, 28, 64, 0.08) 100%),
        var(--ac-hero-image, none);
    background-size: cover;
    background-position: center;
}

.ac-hero.ac-hex-bg::before {
    display: none;
}

.ac-hero h1,
.ac-hero .ac-eyebrow,
.ac-hero__links a {
    text-shadow: 0 2px 16px rgba(0, 16, 40, 0.55);
}

.ac-hero .ac-eyebrow {
    color: #ffffff;
}

.ac-hero__facts li {
    background: rgba(0, 28, 64, 0.45);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
}

.ac-hero__inner {
    padding-block: clamp(4rem, 9vw, 6rem);
    display: flex;
    flex-direction: column;
    gap: 28px;
}

.ac-hero h1 {
    margin: 0;
    max-width: 820px;
    font-size: clamp(2.25rem, 5vw, 3.5rem);
    line-height: 1.08;
}

.ac-hero__links {
    display: flex;
    flex-wrap: wrap;
    gap: 12px 28px;
    font-size: 16px;
}

.ac-hero__links a {
    color: #ffffff;
}

.ac-hero__links a:first-child {
    font-weight: 700;
}

.ac-hero__facts {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin: 12px 0 0;
    padding: 0;
    list-style: none;
}

.ac-hero__facts li {
    padding: 10px 16px;
    border-radius: 999px;
    font-size: 15px;
}

.ac-range {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 20px;
}

.ac-range__item {
    display: flex;
    gap: 18px;
    padding: 24px;
    border: 1px solid var(--unify-border);
    border-radius: 12px;
    color: var(--unify-text);
    text-decoration: none;
    transition: box-shadow var(--unify-transition-fast);
}

.ac-range__item:hover {
    color: var(--unify-text);
    box-shadow: var(--unify-shadow-md);
}

.ac-range__icon {
    flex: 0 0 48px;
    height: 48px;
    border-radius: 12px;
    background: var(--ac-cyan-soft);
    color: var(--ac-navy);
    display: flex;
    align-items: center;
    justify-content: center;
}

.ac-range__title {
    display: block;
    font-size: 18px;
    font-weight: 700;
    margin-bottom: 6px;
}

.ac-range__text {
    font-size: 15px;
    line-height: 1.5;
    color: var(--unify-text-muted);
}

.ac-why {
    display: flex;
    flex-wrap: wrap;
    gap: 48px;
}

.ac-why__list {
    flex: 999 1 560px;
    min-width: 0;
}

.ac-why__grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
    gap: 24px 32px;
}

.ac-why__grid h3 {
    margin: 0 0 6px;
    font-size: 17px;
    color: var(--ac-navy-deep);
}

.ac-why__grid p {
    margin: 0;
    font-size: 15px;
    line-height: 1.55;
    color: var(--unify-text-muted);
}

.ac-portal-card {
    flex: 1 1 320px;
    align-self: flex-start;
    padding: 32px;
    border-radius: 16px;
    background: var(--ac-purple);
    color: #ffffff;
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.ac-portal-card .ac-eyebrow {
    color: #F3C8F4;
}

.ac-portal-card h2 {
    margin: 0;
    font-size: 24px;
    color: #ffffff;
}

.ac-portal-card p {
    margin: 0;
    font-size: 15px;
    line-height: 1.5;
}

.ac-portal-card a {
    align-self: flex-start;
    min-height: 48px;
    padding: 0 22px;
    display: inline-flex;
    align-items: center;
    border-radius: 10px;
    background: #ffffff;
    color: var(--ac-purple);
    font-weight: 700;
    text-decoration: none;
}


/* ══════════════════════════════════════════════════════
   PAGES  (page.php prints content full width; give
   ordinary pages a readable container)
   ══════════════════════════════════════════════════════ */

.page:not(.home) .unify-main > article {
    max-width: var(--unify-max-width);
    margin-inline: auto;
    padding: clamp(2rem, 5vw, 3.5rem) var(--unify-gutter);
}

.ac-page-title {
    margin: 0 0 1.5rem;
    font-size: clamp(2rem, 4vw, 2.75rem);
}

/* Page banner (page.php): light blue with the molecule network, as on the
   old About page. */
.ac-page-banner {
    background-color: #A9D1FF;
    background-image:
        var(--ac-banner-image, url("assets/img/molecule-network.svg")),
        linear-gradient(90deg, #A2CEFF 0%, #BFDDFF 55%, #D6EAFF 100%);
    background-size: cover, auto;
    background-position: center, center;
    text-align: center;
}

.ac-page-banner__inner {
    padding-block: clamp(3rem, 7vw, 5rem);
}

.ac-page-banner h1 {
    margin: 0;
    color: var(--ac-purple);
    font-size: clamp(2.25rem, 5vw, 3.25rem);
}

.ac-page-banner__intro {
    max-width: 760px;
    margin: 20px auto 0;
}

.ac-page-banner__intro p {
    margin: 0 0 0.75em;
    color: var(--ac-slate);
    font-size: 18px;
    line-height: 1.6;
}

/* Page body blocks: image + text rows (Media & Text), buttons, headings. */
.ac-page-body .wp-block-media-text {
    gap: 0;
    margin-block: 0 clamp(2.5rem, 6vw, 4rem);
}

.ac-page-body .wp-block-media-text__media img {
    border-radius: 16px;
    aspect-ratio: 4 / 3;
    object-fit: cover;
}

.ac-page-body .wp-block-media-text .wp-block-media-text__content {
    padding: 0 0 0 clamp(1.5rem, 5vw, 4rem);
}

.ac-page-body .wp-block-media-text.has-media-on-the-right .wp-block-media-text__content {
    padding: 0 clamp(1.5rem, 5vw, 4rem) 0 0;
}

.ac-page-body h2 {
    color: var(--ac-purple);
    font-size: clamp(1.75rem, 3vw, 2.25rem);
    margin: 0 0 16px;
}

.ac-page-body .wp-block-button__link {
    display: inline-flex;
    align-items: center;
    min-height: 48px;
    padding: 0 24px;
    border-radius: 10px;
    background: var(--ac-navy);
    color: #ffffff;
    font-weight: 700;
    text-decoration: none;
}

.ac-page-body .wp-block-button__link:hover {
    background: var(--ac-navy-deep);
}

@media (max-width: 600px) {
    .ac-page-body .wp-block-media-text .wp-block-media-text__content,
    .ac-page-body .wp-block-media-text.has-media-on-the-right .wp-block-media-text__content {
        padding: 24px 0 0;
    }
}

.ac-page-body {
    padding-block: clamp(2.5rem, 6vw, 4rem);
}

/* 50/50 image + text rows. Core's block CSS does this too; repeated here
   so the layout holds even if block styles load late or not at all. */
.ac-page-body .wp-block-media-text {
    display: grid;
    grid-template-columns: 50% 1fr;
    align-items: center;
}

.ac-page-body .wp-block-media-text.has-media-on-the-right {
    grid-template-columns: 1fr 50%;
}

.ac-page-body .wp-block-media-text.has-media-on-the-right .wp-block-media-text__media {
    grid-column: 2;
    grid-row: 1;
}

.ac-page-body .wp-block-media-text.has-media-on-the-right .wp-block-media-text__content {
    grid-column: 1;
    grid-row: 1;
}

.ac-page-body .wp-block-media-text__media {
    margin: 0;
}

.ac-page-body .wp-block-media-text__media img {
    display: block;
    width: 100%;
    height: auto;
}

@media (max-width: 600px) {
    .ac-page-body .wp-block-media-text,
    .ac-page-body .wp-block-media-text.has-media-on-the-right {
        grid-template-columns: 100%;
    }

    .ac-page-body .wp-block-media-text .wp-block-media-text__media,
    .ac-page-body .wp-block-media-text.has-media-on-the-right .wp-block-media-text__media {
        grid-column: 1;
        grid-row: 1;
    }

    .ac-page-body .wp-block-media-text .wp-block-media-text__content,
    .ac-page-body .wp-block-media-text.has-media-on-the-right .wp-block-media-text__content {
        grid-column: 1;
        grid-row: 2;
    }
}


/* ══════════════════════════════════════════════════════
   FOOTER (footer.php override)
   ══════════════════════════════════════════════════════ */

.ac-footer {
    background: var(--ac-slate);
    color: #e8e8ee;
    font-size: 15px;
}

.ac-footer a {
    color: #e8e8ee;
}

.ac-footer a:hover {
    color: #ffffff;
}

.ac-footer__cols {
    padding-block: 56px;
    display: flex;
    flex-wrap: wrap;
    gap: 40px 64px;
}

.ac-footer__brand {
    flex: 2 1 320px;
}

.ac-footer__brand img {
    height: 44px;
    width: auto;
    margin-bottom: 14px;
}

.ac-footer__brand p {
    max-width: 420px;
    line-height: 1.6;
    margin: 0;
}

.ac-footer__col {
    flex: 1 1 200px;
    line-height: 1.5;
}

.ac-footer__heading {
    margin: 0 0 14px;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: #ffffff;
}

.ac-footer__col ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.ac-footer__col address {
    font-style: normal;
    margin-bottom: 12px;
}

.ac-footer__bar {
    background: var(--ac-slate-deep);
    font-size: 13px;
}

.ac-footer__bar .unify-inner {
    padding-block: 16px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 8px;
}


/* Fixed header sits below the WordPress admin bar when logged in. */
.admin-bar .unify-nav {
    top: 32px;
}

@media (max-width: 782px) {
    .admin-bar .unify-nav {
        top: 46px;
    }
}

/* Customizer logo. Unify 1.1.0 nests the logo link inside another link,
   which browsers split, so size the image directly. */
.unify-nav .custom-logo-link {
    display: flex;
    align-items: center;
}

.unify-nav img.custom-logo {
    height: var(--unify-nav-logo-height);
    width: auto;
    max-width: none;
}


/* ══════════════════════════════════════════════════════
   50/50 ROWS (block patterns in /patterns, class ac-split)
   ══════════════════════════════════════════════════════ */

.wp-block-columns.ac-split {
    display: flex;
    gap: clamp(2rem, 5vw, 4rem);
    align-items: center;
    margin: 0;
}

.wp-block-columns.ac-split > .wp-block-column {
    flex: 1 1 0;
    min-width: 0;
}

.wp-block-columns.ac-split + .wp-block-columns.ac-split {
    margin-top: clamp(3rem, 7vw, 5rem);
}

.ac-split .ac-split__image {
    margin: 0;
}

.ac-split .ac-split__image img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    border-radius: 16px;
}

.ac-split h2 {
    margin: 0 0 16px;
    color: var(--ac-purple);
    font-size: clamp(1.75rem, 3vw, 2.25rem);
}

.ac-split p {
    margin: 0 0 1em;
    font-size: 17px;
    line-height: 1.65;
    color: #4a4a55;
}

.ac-split .wp-block-button__link {
    display: inline-flex;
    align-items: center;
    min-height: 48px;
    margin-top: 8px;
    padding: 0 24px;
    border-radius: 10px;
    background: var(--ac-navy);
    color: #ffffff;
    font-weight: 700;
    text-decoration: none;
}

.ac-split .wp-block-button__link:hover {
    background: var(--ac-navy-deep);
}

@media (max-width: 768px) {
    .wp-block-columns.ac-split {
        flex-direction: column;
    }

    .wp-block-columns.ac-split > .wp-block-column {
        flex-basis: auto;
        width: 100%;
    }

    /* Image first on mobile for the text-left row too. */
    .wp-block-columns.ac-split--flip {
        flex-direction: column-reverse;
    }
}


/* ══════════════════════════════════════════════════════
   CONTACT (pattern: patterns/contact-page.php)
   ══════════════════════════════════════════════════════ */

.wp-block-columns.ac-contact {
    display: flex;
    gap: 0;
    margin: 0 auto;
    max-width: 1100px;
    border-radius: 20px;
    overflow: hidden;
    background: #ffffff;
    box-shadow: 0 1px 2px rgba(20, 20, 40, 0.06), 0 12px 40px rgba(20, 20, 40, 0.08);
}

.wp-block-columns.ac-contact > .wp-block-column {
    flex: 1 1 0;
    min-width: 0;
    padding: clamp(2rem, 5vw, 3.5rem);
}

/* Left: brand panel */
.ac-contact__panel {
    background: linear-gradient(150deg, var(--ac-navy) 0%, var(--ac-navy-deep) 100%);
    color: #ffffff;
}

.ac-contact__panel h2 {
    margin: 0 0 12px;
    color: #ffffff;
    font-size: clamp(1.75rem, 3vw, 2.25rem);
}

.ac-contact__panel p {
    color: rgba(255, 255, 255, 0.85);
}

.ac-contact__help {
    margin: 16px 0 32px;
    padding: 0;
    list-style: none;
    display: grid;
    gap: 10px;
}

.ac-contact__help li {
    position: relative;
    padding-left: 28px;
    font-size: 17px;
}

.ac-contact__help li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.3em;
    width: 16px;
    height: 16px;
    background: var(--ac-cyan);
    clip-path: polygon(50% 0, 100% 25%, 100% 75%, 50% 100%, 0 75%, 0 25%);
}

/* Icon lines: phone, email, address */
.ac-contact__line {
    position: relative;
    margin: 0 0 14px;
    padding-left: 44px;
    min-height: 32px;
    display: flex;
    align-items: center;
    font-size: 18px;
    line-height: 1.5;
}

.ac-contact__line::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 32px;
    height: 32px;
    border-radius: 8px;
    background-color: rgba(255, 255, 255, 0.14);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 18px;
}

.ac-contact__line--phone::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.9v3a2 2 0 0 1-2.2 2 19.8 19.8 0 0 1-8.6-3.1 19.5 19.5 0 0 1-6-6A19.8 19.8 0 0 1 2.1 4.2 2 2 0 0 1 4.1 2h3a2 2 0 0 1 2 1.7c.1.9.4 1.8.7 2.7a2 2 0 0 1-.5 2.1L8 9.8a16 16 0 0 0 6 6l1.3-1.3a2 2 0 0 1 2.1-.4c.9.3 1.8.6 2.7.7a2 2 0 0 1 1.7 2z'/%3E%3C/svg%3E");
}

.ac-contact__line--email::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='4' width='20' height='16' rx='2'/%3E%3Cpath d='m22 7-10 6L2 7'/%3E%3C/svg%3E");
}

.ac-contact__line--pin {
    align-items: flex-start;
    color: var(--ac-slate);
    font-size: 17px;
}

.ac-contact__line--pin::before {
    background-color: rgba(112, 19, 112, 0.1);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23701370' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 10c0 6-8 12-8 12s-8-6-8-12a8 8 0 0 1 16 0z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E");
}

.ac-contact__panel .ac-contact__line a {
    color: #ffffff;
    font-weight: 700;
    text-decoration: none;
}

.ac-contact__panel .ac-contact__line a:hover {
    text-decoration: underline;
}

/* Right: address + quick links */
.ac-contact__side h3 {
    margin: 0 0 16px;
    color: var(--ac-purple);
    font-size: 20px;
}

.ac-contact__side h3:not(:first-child) {
    margin-top: 36px;
}

.ac-contact__links {
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
    gap: 10px;
}

.ac-contact__links a {
    display: block;
    padding: 14px 44px 14px 16px;
    border: 1px solid #e4e8ee;
    border-radius: 12px;
    color: var(--ac-slate);
    text-decoration: none;
    font-size: 15px;
    line-height: 1.4;
    position: relative;
    transition: border-color 0.15s, box-shadow 0.15s;
}

.ac-contact__links a strong {
    display: block;
    color: var(--ac-navy);
    font-size: 16px;
}

.ac-contact__links a::after {
    content: "→";
    position: absolute;
    right: 16px;
    top: 50%;
    transform: translateY(-50%);
    color: var(--ac-navy);
    font-size: 20px;
    font-weight: 700;
}

.ac-contact__links a:hover {
    border-color: var(--ac-navy);
    box-shadow: 0 4px 14px rgba(0, 77, 153, 0.12);
}

@media (max-width: 768px) {
    .wp-block-columns.ac-contact {
        flex-direction: column;
    }

    .wp-block-columns.ac-contact > .wp-block-column {
        flex-basis: auto;
        width: 100%;
    }
}
