/* Features section */
.features {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 0.7rem;
    margin-top: 30px;
}
.feature {
    --icon: 54px;
    display: grid;
    grid-template-columns: var(--icon) minmax(8rem, 1fr);
    gap: 0.3rem;
}
.feature__icon {
    width: var(--icon);
    height: var(--icon);
}
.feature__icon img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
}
.feature__body {
    min-width: 0;
}
.feature__body h2 {
    margin-top: 1.5rem;
}
.feature__body p {
    font-size: 0.85rem;
}
@media (max-width: 768px) {
    .feature {
        grid-template-columns: 1fr;
        row-gap: .5rem;
        justify-items: start;
    }
}

/* Docked form */
:root {
    --dock-w: 340px;               /* desktop width of the dock */
    --dock-top-safe: 66px;        /* min distance from top (header clearance) */
}
.contact-dock{
    margin-block: 24px; 
    background: var(--dark-gray);
    color: var(--white);
    border-radius: 40px;
    padding: 14px 34px;
    border: 3px solid var(--blue);
    position: static;
    max-height: none;
}
.contact-dock p,
.contact-dock .highlight-text {
    font-size: 0.95rem;
}
p.form-instructions {
    font-size: 0.7rem;
}
@media (min-width: 992px) {
    .contact-dock {
        margin: 0;
        position: fixed;
        bottom: 0;
        max-width: var(--dock-w);
        border-radius: 40px 40px 0 0;
        border-bottom: none;
        box-shadow: 0 -20px 40px rgba(0,0,0,.25);
        z-index: 1000;
        padding: 14px 34px 0;
        /* key line: the dock can’t grow taller than the viewport minus a safe top offset */
        max-height: calc(100dvh - (var(--dock-top-safe) + var(--adminbar)));

        /* layout: head stays; form area grows/shrinks */
        display: flex;
        flex-direction: column;
        overflow: hidden; /* hide any overflow; only the inner area scrolls */
    }
    .dock-head {
        flex: 0 0 auto;
        padding-bottom: 10px;
    }
    .dock-scroll {
        flex: 1 1 auto;
        min-height: 0;            /* important for flex children to allow shrinking */
        overflow: auto;                     /* the dock scrolls internally only when needed */
        overscroll-behavior: contain;       /* keep scroll from rubber-banding the page */
    }
    /* nicer (subtle) scrollbar */
    .dock-scroll::-webkit-scrollbar{ width: 10px; }
    .dock-scroll::-webkit-scrollbar-track{ background: transparent; }
    .dock-scroll::-webkit-scrollbar-thumb{ background: rgba(255,255,255,.25); border-radius: 10px; }
    .dock-scroll{ scrollbar-width: thin; scrollbar-color: rgba(255,255,255,.25) transparent; }
    @keyframes dockSlideUp {
        from { transform: translateY(200px); opacity: 0; }
        to   { transform: translateY(0);    opacity: 1; }
    }
    .contact-dock { animation: dockSlideUp 1s ease both; }
}
.cdx-contact-form {
    margin: 10px auto 20px !important;
}

