/* ── Responsive header ── */

/* Tablet and small laptop: contact shrinks to its essentials */
@media (max-width: 1100px) {
    .contact-box .ct-email { display: none; }
    .map { width: clamp(150px, 20vw, 220px); }
}

/* Narrow tablet: contact becomes three round buttons, map stays small */
@media (max-width: 860px) {
    .header-top { grid-template-columns: auto minmax(0, 1fr) auto; }
    .logo-box { order: -1; justify-content: flex-start; }
    .contact-box {
        order: 0;
        justify-self: end;
        flex-direction: row;
        gap: 8px;
        padding: 0;
        background: none;
        border: 0;
        box-shadow: none;
    }
    .contact-label { display: none; }
    .contact-box .ct-email { display: flex; }
    .contact-box a {
        justify-content: center;
        width: 42px;
        height: 42px;
        padding: 0;
        border-radius: 50%;
        background: var(--steel);
        border: 1px solid rgba(193,74,9,0.5);
        box-shadow: var(--steel-edge), 0 6px 14px -6px rgba(0,0,0,0.9);
    }
    .contact-box a span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
    .contact-box .icon { width: 18px; height: 18px; color: var(--teal-text); }
    .contact-box a:first-of-type { background: linear-gradient(180deg, #088C73, var(--teal-deep)); border-color: #0A9A7F; }
    .contact-box a:first-of-type .icon { color: #fff; }
    .map-box { order: 1; }
    .map { width: clamp(120px, 18vw, 170px); height: 64px; }
    .logo { --logo: clamp(2rem, 7vw, 3.4rem); }
}

/* Phones: logo left, round contact buttons right, map hidden, nav in one row */
@media (max-width: 700px) {
    .map-box { display: none; }
    .header-top { grid-template-columns: minmax(0, 1fr) auto; padding-top: 8px; padding-bottom: 4px; }
    .logo { --logo: clamp(1.9rem, 10.5vw, 3rem); }
    .contact-box a { width: 40px; height: 40px; }

    header nav { padding: 4px 8px 8px; }
    header nav > ul { gap: 4px; }
    header nav > ul > li { flex: 1 1 0; min-width: 0; }
    header nav > ul > li > a {
        height: 40px;
        min-height: 0;
        padding: 2px 4px;
        font-size: 0.62rem;
        letter-spacing: 0.04em;
        line-height: 1.15;
        white-space: normal;
        text-align: center;
    }
    .nav-caret { display: none; }
    .dropdown-menu { left: 0; transform: none; }
    header nav > ul > li:nth-child(n+4) .dropdown-menu { left: auto; right: 0; }
}

@media (max-width: 360px) {
    .contact-box .ct-email { display: none; }
}

/* Short screens (landscape phones, small laptops at high zoom) */
@media (max-height: 560px) and (min-width: 701px) {
    .contact-box { font-size: 0.72rem; padding: 4px 10px; }
    .contact-label { display: none; }
    .map { height: 58px; }
    .logo { --logo: clamp(1.8rem, 9vh, 3rem); }
}

@media (max-height: 460px) {
    .map-box, .contact-box .ct-addr { display: none; }
}

/* Footer on phones: name and legal links only, kept short */
@media (max-width: 700px) {
    .foot-addr { display: none; }
    .footer-content { justify-content: center; padding-top: 6px; padding-bottom: 6px; }
    #legal ul { justify-content: center; gap: 0 12px; font-size: 0.72rem; }
    #legal li:first-child { display: none; }
    #social-networks { display: none; }
}
