/*
Theme Name: Hello Elementor Child
Theme URI: https://nyc-construction-injury-lawyers.com
Description: Child theme for NYC Construction Accident Lawyers, P.C.
Author: NYC Construction Accident Lawyers, P.C.
Template: hello-elementor
Version: 1.1.0
Text Domain: hello-elementor-child
*/

/* =========================================================
   1. DESIGN TOKENS
   ========================================================= */
:root {
    --nyc-red:        #cc0700;
    --nyc-red-dark:   #a30600;
    --nyc-red-darker: #7d0400;
    --nyc-ink:        #221c1d;
    --nyc-ink-2:      #1d1617;
    --nyc-bg:         #f7f6f3;
    --nyc-border:     #e5e1d8;
    --nyc-body:       #33393f;
    --nyc-body-2:     #5b6675;
    --nyc-muted:      #8a94a3;
    --nyc-footer-bg:  #181214;
    --nyc-footer-tx:  #a49395;
    --nyc-footer-tx2: #d2c8c9;
    --nyc-footer-brd: #332a2b;
    --nyc-pink:       #f2b8b5;
    --nyc-input-bg:   #fbfaf7;
    --nyc-input-brd:  #d8d2c4;

    --nyc-font-heading: 'Marcellus', Georgia, serif;
    --nyc-font-body:    'Mulish', Helvetica, Arial, sans-serif;
}

/* =========================================================
   2. GLOBALS
   ========================================================= */
body {
    margin: 0;
    background: var(--nyc-bg);
    font-family: var(--nyc-font-body);
    color: #1c2430;
}
a { color: var(--nyc-red-dark); text-decoration: none; }
a:hover { color: var(--nyc-red-darker); }
details > summary { list-style: none; cursor: pointer; }
details > summary::-webkit-details-marker { display: none; }
a:focus-visible, button:focus-visible, summary:focus-visible,
input:focus-visible, textarea:focus-visible {
    outline: 3px solid var(--nyc-red) !important;
    outline-offset: 2px;
}

/* Hide Hello Elementor's default header/footer — we render our own */
.site-header, .site-footer { display: none !important; }

/* =========================================================
   3. TOP BAR
   ========================================================= */
.nyc-topbar {
    background: var(--nyc-red);
    color: #fff;
    font-size: 14px;
    font-weight: 600;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 11px 40px;
    gap: 16px;
    flex-wrap: wrap;
}
.nyc-topbar a { color: #fff; }
.nyc-topbar .nyc-phone { font-weight: 700; }

/* =========================================================
   4. MAIN HEADER + LOGO
   ========================================================= */
.nyc-header {
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 40px;
    gap: 24px;
    flex-wrap: wrap;
    position: sticky;
    top: 0;
    z-index: 20;
    box-shadow: 0 1px 0 rgba(0,0,0,0.08);
}
.nyc-logo { display: inline-flex; align-items: center; color: var(--nyc-ink-2); text-decoration: none; line-height: 0; }
/* Horizontal lockup (scales + firm name side by side) so the name stays readable in a compact header. */
.nyc-logo-img { display: block; height: 60px; width: auto; max-width: 100%; object-fit: contain; }

/* =========================================================
   5. PRIMARY NAV + DROPDOWN
   ========================================================= */
.nyc-nav {
    display: flex;
    gap: 28px;
    align-items: center;
    font-weight: 600;
    font-size: 14px;
    letter-spacing: 0.5px;
    text-transform: none;
}
.navdrop-menu a { text-transform: none; letter-spacing: 0; }
.nyc-nav a { color: var(--nyc-ink-2); }
.navdrop { position: relative; }
.navdrop-menu {
    position: absolute;
    top: 100%;
    left: -8px;
    background: #fff;
    border: 1px solid var(--nyc-border);
    box-shadow: 0 10px 24px rgba(0,0,0,0.12);
    border-radius: 4px;
    padding: 8px 0;
    min-width: 250px;
    display: none;
    flex-direction: column;
    z-index: 30;
}
.navdrop-menu a {
    display: block;
    padding: 9px 18px;
    font-size: 12px;
    color: var(--nyc-ink-2);
}
.navdrop-menu a:hover { background: #f5dedf; color: var(--nyc-red); }
.navdrop:hover .navdrop-menu,
.navdrop:focus-within .navdrop-menu { display: flex !important; }

.nyc-lang-switch { color: var(--nyc-muted); font-size: 13px; letter-spacing: 0.5px; }
.nyc-lang-switch a { color: var(--nyc-muted); }
.nyc-lang-switch .active { color: var(--nyc-red); font-weight: 700; }

/* =========================================================
   6. MOBILE HAMBURGER
   ========================================================= */
.burger-box, .burger { display: none; }
@media (max-width: 1020px) {
    .burger {
        display: grid;
        place-items: center;
        margin-left: auto;
        order: 9;
        width: 44px; height: 44px;
        border: 1px solid var(--nyc-border);
        border-radius: 4px;
        font-size: 20px;
        color: var(--nyc-ink-2);
        cursor: pointer;
        user-select: none;
    }
    .nyc-header > .nyc-nav { display: none !important; }
    .burger-box:checked ~ .nyc-nav {
        display: flex !important;
        position: absolute;
        top: 100%; left: 0; right: 0;
        background: #fff;
        flex-direction: column;
        align-items: flex-start !important;
        gap: 2px !important;
        padding: 10px 18px 18px;
        border-bottom: 3px solid var(--nyc-red);
        box-shadow: 0 14px 28px rgba(0,0,0,0.14);
        z-index: 40;
    }
    .burger-box:checked ~ .nyc-nav > a,
    .burger-box:checked ~ .nyc-nav > div,
    .burger-box:checked ~ .nyc-nav > span { padding: 10px 0; font-size: 14px !important; }
}

/* =========================================================
   7. FOOTER
   ========================================================= */
.nyc-footer { background: var(--nyc-footer-bg); color: var(--nyc-footer-tx); font-size: 14px; }
.nyc-footer-grid {
    max-width: 1180px;
    margin: 0 auto;
    padding: 56px 40px 40px;
    display: grid;
    grid-template-columns: 1.1fr 1.2fr 0.9fr;
    gap: 44px;
}
.nyc-footer h3 {
    font-family: var(--nyc-font-heading);
    font-weight: 400;
    color: #fff;
    margin: 0 0 16px;
}
.nyc-footer h3.h-primary { font-size: 26px; }
.nyc-footer h3.h-secondary { font-size: 22px; margin: 24px 0 12px; }
.nyc-footer-contact { line-height: 2.1; }
.nyc-footer-contact strong { color: #fff; }
.nyc-footer-contact a { color: var(--nyc-footer-tx2); }
.nyc-footer-contact .nyc-phone-link { color: var(--nyc-pink); font-weight: 700; }

.nyc-socials { display: flex; gap: 10px; flex-wrap: wrap; }
.nyc-socials a {
    width: 38px; height: 38px;
    border-radius: 50%;
    border: 1.5px solid var(--nyc-red);
    color: var(--nyc-pink);
    display: grid;
    place-items: center;
    font-weight: 700;
    font-size: 14px;
}

.nyc-footer-map { border: 1px solid var(--nyc-footer-brd); border-radius: 6px; overflow: hidden; min-height: 280px; }
.nyc-footer-map iframe { width: 100%; height: 100%; min-height: 280px; border: 0; display: block; }

.nyc-footer-cta p { margin: 0 0 18px; line-height: 1.8; color: var(--nyc-footer-tx2); }
.nyc-footer-cta .nyc-btn {
    display: inline-block;
    background: var(--nyc-red);
    color: #fff;
    font-weight: 700;
    padding: 12px 22px;
    border-radius: 4px;
    margin-bottom: 8px;
}
.nyc-footer-cta .nyc-review-link { color: var(--nyc-pink); font-weight: 600; }

.nyc-resources { display: flex; flex-direction: column; gap: 8px; }
.nyc-resources a { color: var(--nyc-footer-tx2); }

.nyc-copyright { border-top: 1px solid var(--nyc-footer-brd); }
.nyc-copyright-inner {
    max-width: 1180px;
    margin: 0 auto;
    padding: 18px 40px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    flex-wrap: wrap;
    font-size: 13px;
}
.nyc-copyright-inner .nyc-copyright-text { color: #fff; }
.nyc-copyright-links { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }
.nyc-copyright-links a { color: var(--nyc-footer-tx2); }
.nyc-copyright-links .sep { color: var(--nyc-footer-brd); }

/* =========================================================
   8. BUTTONS
   ========================================================= */
.btn-red { background: var(--nyc-red) !important; }
.btn-red:hover { background: var(--nyc-red-dark) !important; }

/* =========================================================
   9. FORMS (CF7 + WPForms + generic)
   ========================================================= */
.inp:focus { border-color: var(--nyc-red) !important; outline: none; }

.wpcf7 form { display: flex; flex-direction: column; gap: 16px; margin: 0; }
.wpcf7 input[type="text"], .wpcf7 input[type="email"], .wpcf7 input[type="tel"], .wpcf7 select, .wpcf7 textarea {
    border: 1px solid var(--nyc-input-brd);
    border-radius: 4px;
    padding: 12px 14px;
    font-size: 15px;
    font-family: var(--nyc-font-body);
    background: var(--nyc-input-bg);
    width: 100%;
    box-sizing: border-box;
}
.wpcf7 input[type="submit"] {
    border: 0;
    background: var(--nyc-red);
    color: #fff;
    font-weight: 600;
    font-size: 16px;
    padding: 14px;
    border-radius: 4px;
    cursor: pointer;
    font-family: var(--nyc-font-body);
    width: 100%;
}
.wpcf7 input[type="submit"]:hover { background: var(--nyc-red-dark); }
.wpcf7 .wpcf7-response-output {
    border-color: var(--nyc-input-brd);
    border-radius: 4px;
    padding: 12px 14px;
    font-size: 14px;
}
.wpcf7-not-valid-tip { color: var(--nyc-red); font-size: 12px; }
.wpcf7 label { margin: 0; }

.wpforms-form .wpforms-field-container { display: flex; flex-direction: column; gap: 16px; }
.wpforms-form input[type="text"], .wpforms-form input[type="email"], .wpforms-form input[type="tel"],
.wpforms-form select, .wpforms-form textarea {
    border: 1px solid var(--nyc-input-brd) !important;
    border-radius: 4px !important;
    padding: 12px 14px !important;
    font-size: 15px !important;
    font-family: var(--nyc-font-body) !important;
    background: var(--nyc-input-bg) !important;
    width: 100% !important;
    box-sizing: border-box !important;
}
.wpforms-form input:focus, .wpforms-form select:focus, .wpforms-form textarea:focus {
    border-color: var(--nyc-red) !important;
    outline: none !important;
}
.wpforms-form .wpforms-submit,
.wpforms-form input[type="submit"],
.wpforms-form button[type="submit"] {
    border: 0 !important;
    background: var(--nyc-red) !important;
    color: #fff !important;
    font-weight: 600 !important;
    font-size: 16px !important;
    padding: 14px !important;
    border-radius: 4px !important;
    cursor: pointer !important;
    font-family: var(--nyc-font-body) !important;
    width: 100% !important;
}
.wpforms-form .wpforms-submit:hover,
.wpforms-form input[type="submit"]:hover,
.wpforms-form button[type="submit"]:hover { background: var(--nyc-red-dark) !important; }
.wpforms-form .wpforms-field-label {
    font-weight: 600 !important;
    font-size: 13px !important;
    color: var(--nyc-ink) !important;
    margin-bottom: 6px !important;
}
.wpforms-form .wpforms-error { color: var(--nyc-red) !important; font-size: 12px !important; }

/* =========================================================
   10. BLOG ARCHIVE (home.php)
   ========================================================= */
.nyc-blog-hero {
    background: linear-gradient(rgba(14,16,20,0.78), rgba(14,16,20,0.78)),
                url('/wp-content/uploads/2026/10/labor-law-240-fall-protection-harness-nyc.webp')
                center/cover;
    color: #fff;
    padding: 70px 40px;
    text-align: center;
}
.nyc-blog-hero .nyc-eyebrow {
    font-size: 12px;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: #fff;
    margin-bottom: 10px;
}
.nyc-blog-hero h1 {
    font-family: var(--nyc-font-heading);
    font-weight: 400;
    font-size: 48px;
    margin: 0 0 10px;
}
.nyc-blog-hero p { color: #fff; font-size: 17px; margin: 0 auto; max-width: 660px; }

.nyc-blog-wrap { max-width: 1180px; margin: 0 auto; padding: 56px 40px; }
.nyc-blog-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.nyc-blog-card {
    background: #fff;
    border: 1px solid var(--nyc-border);
    border-radius: 6px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    color: #1c2430;
}
.nyc-blog-card img { width: 100%; height: 190px; object-fit: cover; display: block; }
.nyc-blog-card-body { padding: 22px 22px 24px; display: flex; flex-direction: column; gap: 10px; flex: 1; }
.nyc-blog-card-meta { display: flex; gap: 10px; align-items: center; font-size: 12px; letter-spacing: 1px; text-transform: uppercase; }
.nyc-blog-card-cat  { color: var(--nyc-red); font-weight: 700; }
.nyc-blog-card-date { color: var(--nyc-muted); }
.nyc-blog-card h3 {
    margin: 0;
    font-family: var(--nyc-font-heading);
    font-weight: 400;
    font-size: 21px;
    line-height: 1.3;
    color: var(--nyc-ink);
}
.nyc-blog-card p { margin: 0; font-size: 14px; line-height: 1.65; color: var(--nyc-body-2); }
.nyc-blog-card .more { margin-top: auto; font-weight: 600; font-size: 13px; color: var(--nyc-red-dark); }
.nyc-blog-empty { text-align: center; color: var(--nyc-body-2); }
.nyc-blog-pagination { margin-top: 40px; text-align: center; }

/* =========================================================
   11. RESPONSIVE (mobile / tablet)
   ========================================================= */
/* Content-page inline grids collapse gracefully */
@media (max-width: 980px) {
    [style*="grid-template-columns:repeat"], [style*="grid-template-columns: repeat"] { grid-template-columns: 1fr 1fr !important; }
    [style*="grid-template-columns:1"], [style*="grid-template-columns:0"], [style*="grid-template-columns: 1"], [style*="grid-template-columns: 0"] { grid-template-columns: 1fr !important; }
    section > div[style*="lex"][style*="align-items:center"][style*="gap:4"],
    section > div[style*="lex"][style*="align-items:center"][style*="gap:5"],
    section > div[style*="lex"][style*="align-items:center"][style*="gap:6"],
    section > div[style*="lex"][style*="align-items: center"][style*="gap: 4"],
    section > div[style*="lex"][style*="align-items: center"][style*="gap: 5"],
    section > div[style*="lex"][style*="align-items: center"][style*="gap: 6"] {
        flex-direction: column !important;
        align-items: stretch !important;
    }
    section > div[style*="lex"] > img { width: 100% !important; max-width: 100% !important; height: 300px !important; }
    [style*="grid-template-columns"] > img { width: 100% !important; height: 300px !important; }
    .nyc-footer-grid { grid-template-columns: 1fr !important; }
    .nyc-blog-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 700px) {
    div[style*="grid-template-columns"] { grid-template-columns: 1fr !important; }
    section, article > div, section > div,
    div[style*="padding:11px 40px"], div[style*="padding: 11px 40px"] { padding-left: 18px !important; padding-right: 18px !important; }
    .nyc-header, .nyc-footer-grid, .nyc-copyright-inner { padding-left: 18px !important; padding-right: 18px !important; }
    h1 { font-size: 32px !important; }
    h2 { font-size: 26px !important; }
    h3 { font-size: 20px !important; }
    div[style*="font-size:62px"], div[style*="font-size:64px"], div[style*="font-size: 62px"], div[style*="font-size: 64px"] { font-size: 36px !important; letter-spacing: 1px !important; }
    div[style*="font-size:44px"], div[style*="font-size: 44px"] { font-size: 26px !important; }
    div[style*="font-size:36px"][style*="letter-spacing:4px"], div[style*="font-size: 36px"][style*="letter-spacing: 4px"] { font-size: 24px !important; letter-spacing: 2px !important; }
    .nyc-nav { gap: 12px !important; font-size: 12px !important; }
    .navdrop-menu { display: none !important; }
    img[style*="height:400px"], img[style*="height:440px"], img[style*="height:420px"],
    img[style*="height: 400px"], img[style*="height: 440px"], img[style*="height: 420px"] { height: 240px !important; }
    .nyc-blog-grid { grid-template-columns: 1fr; }
    .nyc-blog-hero { padding: 50px 20px; }
    .nyc-blog-hero h1 { font-size: 32px; }
}

/* Mobile top-bar — keep address + phone on ONE line */
@media (max-width: 700px) {
    .nyc-topbar {
        padding: 8px 12px !important;
        gap: 8px !important;
        flex-wrap: nowrap !important;
        font-size: 12px !important;
    }
    .nyc-topbar a { white-space: nowrap; }
    .nyc-topbar .nyc-address {
        font-size: 11px !important;
        overflow: hidden;
        text-overflow: ellipsis;
        min-width: 0;
        flex: 1 1 auto;
    }
    .nyc-topbar .nyc-phone { font-size: 12px !important; flex: 0 0 auto; }
    .nyc-logo-img { height: 44px !important; max-width: none !important; }
}
@media (max-width: 480px) {
    .nyc-topbar { flex-wrap: wrap !important; justify-content: center !important; row-gap: 2px !important; padding: 6px 12px !important; text-align: center; }
    .nyc-topbar .nyc-address { font-size: 12px !important; flex: 1 1 100%; white-space: normal; overflow: visible; }
    .nyc-topbar .nyc-address a, .nyc-topbar .nyc-address { white-space: normal !important; }
    .nyc-topbar .nyc-phone { font-size: 13px !important; }
    .nyc-logo-img { height: 38px !important; max-width: none !important; }
}

/* Hero breadcrumb — no wrap */
.nyc-breadcrumb,
section > div[style*="letter-spacing:2px"][style*="text-transform:uppercase"] {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
@media (max-width: 700px) {
    .nyc-breadcrumb,
    section > div[style*="letter-spacing:2px"][style*="text-transform:uppercase"] {
        font-size: 11px !important;
        letter-spacing: 1px !important;
    }
}

/* Free-consultation banner above footer */
.nyc-consult-banner { display: block; width: 100%; max-width: 2172px; margin: 0 auto; line-height: 0; }
.nyc-consult-banner img { display: block; width: 100%; height: auto; aspect-ratio: 1600 / 420; object-fit: cover; object-position: center; }
@media (max-width: 700px) {
    .nyc-consult-banner img { aspect-ratio: 16 / 9; }
}

/* Google Translate cleanup */
.goog-te-banner-frame.skiptranslate, .goog-logo-link, #goog-gt-tt, .goog-te-balloon-frame { display: none !important; }
.goog-te-gadget { height: 0; overflow: hidden; }
body { top: 0 !important; }
font { background: transparent !important; box-shadow: none !important; }

/* =========================================================
   12. HOMEPAGE HELPERS
   (layout itself lives in style-content.css, generated from
   wordpress_handoff/site/index.html — these are only the hover
   states and the embedded form, which need stable class names)
   ========================================================= */
.nyc-btn-solid:hover { background: var(--nyc-red-dark) !important; color: #fff !important; }
.nyc-btn-ghost:hover { background: var(--nyc-red) !important; color: #fff !important; }
.nyc-btn-white:hover { background: #f5dedf !important; color: var(--nyc-red) !important; }
.nyc-btn-ghost-white:hover { background: #fff !important; color: var(--nyc-red) !important; }

/* Hero banner: trim the artwork's blank top/bottom margins on desktop; on phones crop to the
   centre so the phone number and firm name stay large enough to read. */
.nyc-hero-banner img { width: 100%; height: auto; aspect-ratio: 1600 / 420; object-fit: cover; object-position: center; }
@media (max-width: 700px) {
    .nyc-hero-banner img { aspect-ratio: 16 / 9; }
}

/* Photo sits left of its text on desktop, but follows the heading once the columns stack. */
.nyc-photo-left { order: -1; }
@media (max-width: 980px) {
    .nyc-photo-left { order: 0; }
}

/* FAQ: the plus turns into a cross while its answer is open. */
.nyc-faq-plus { display: inline-block; transition: transform 0.2s ease; }
details[open] > summary .nyc-faq-plus { transform: rotate(45deg); }
@media (prefers-reduced-motion: reduce) { .nyc-faq-plus { transition: none; } }

.nyc-case-review .wpforms-container { margin: 0 !important; }
.nyc-case-review .wpforms-form .wpforms-field { padding: 0 !important; }
.nyc-case-review .wpforms-form .wpforms-field-container { gap: 12px; }
.nyc-case-review .wpforms-form input[type="text"], .nyc-case-review .wpforms-form input[type="email"],
.nyc-case-review .wpforms-form input[type="tel"], .nyc-case-review .wpforms-form select,
.nyc-case-review .wpforms-form textarea { background: #fff !important; max-width: 100% !important; }
.nyc-case-review .wpforms-form textarea { height: 96px !important; }
.nyc-case-review .wpforms-form .wpforms-submit-container { padding: 12px 0 0 !important; margin: 0 !important; }

@media (max-width: 700px) {
    h3.nyc-faq-q { font-size: 16px !important; }
    ul[style*="grid-template-columns"], ol[style*="grid-template-columns"] { grid-template-columns: 1fr !important; }
}

/* =========================================================
   HTML SITEMAP ([nyc_sitemap] on /sitemap/)
   ========================================================= */
.nyc-sitemap-wrap { background: #f7f6f3; }
.nyc-sitemap { max-width: 1180px; margin: 0 auto; padding: 56px 40px 72px; }
.nyc-sitemap-cols { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; align-items: start; margin-bottom: 28px; }
.nyc-sitemap-col { display: flex; flex-direction: column; gap: 28px; }
@media (max-width: 980px) { .nyc-sitemap-cols { grid-template-columns: repeat(2, minmax(0, 1fr)); } .nyc-sitemap-col:empty { display: none; } }
.nyc-sitemap-card { background: #fff; border: 1px solid #e5e1d8; border-top: 4px solid var(--nyc-red, #cc0700); border-radius: 8px; padding: 26px 28px 22px; }
.nyc-sitemap-wide { margin-top: 0; }
.nyc-sitemap-card h2 { font-family: 'Marcellus', Georgia, serif; font-weight: 400; font-size: 24px; margin: 0 0 14px; color: #221c1d; }
.nyc-sitemap-card ul { list-style: none; margin: 0; padding: 0; }
.nyc-sitemap-wide ul { columns: 2 340px; column-gap: 40px; }
.nyc-sitemap-card li { break-inside: avoid; padding: 9px 0; border-bottom: 1px solid #efebe3; display: flex; justify-content: space-between; gap: 12px; align-items: baseline; }
.nyc-sitemap-card li:last-child { border-bottom: 0; }
.nyc-sitemap-card a { color: #221c1d; font-weight: 600; font-size: 15px; text-decoration: none; }
.nyc-sitemap-card a::before { content: "\203A"; color: var(--nyc-red, #cc0700); font-weight: 700; margin-right: 8px; }
.nyc-sitemap-card a:hover { color: var(--nyc-red, #cc0700); text-decoration: underline; }
.nyc-sitemap-meta { font-size: 12px; color: #6b6466; white-space: nowrap; }
@media (max-width: 700px) {
  .nyc-sitemap { padding: 36px 16px 48px; }
  .nyc-sitemap-cols { grid-template-columns: 1fr; gap: 18px; margin-bottom: 18px; }
  .nyc-sitemap-col { gap: 18px; }
  .nyc-sitemap-card { padding: 22px 20px 16px; }
  .nyc-sitemap-card li { flex-direction: column; gap: 2px; }
}

/* =========================================================
   MOBILE POLISH (small phones, 320–414px)
   ========================================================= */
/* long words such as the email address must never push the page sideways */
body a[href^="mailto:"], .nyc-footer a[href^="mailto:"] { overflow-wrap: anywhere; word-break: break-word; }
body [style*="display:grid"] > *, body [style*="display: grid"] > * { min-width: 0; }
@media (max-width: 480px) {
    /* boxed cards keep their look but give the content more room */
    body div[style*="border-radius:8px"][style*="padding:32px"],
    body div[style*="border-radius:8px"][style*="padding:36px"],
    body div[style*="border-radius:8px"][style*="padding:28px"],
    .nyc-case-review { padding: 22px 18px !important; }
}
@media (max-width: 700px) {
    /* comfortable tap targets for footer and text links */
    .nyc-footer a:not([class*="btn"]):not([class*="social"]):not(.nyc-socials a):not([href^="tel:"]), .nyc-copyright-links a { display: inline-block; padding: 7px 0; min-height: 32px; }
    .nyc-copyright-links { row-gap: 0; }
    body a[class*="more"], body a[href*="#"] { min-height: 32px; }
}
@media (max-width: 420px) {
    body a[href^="mailto:"] { font-size: 14.5px; }
}

/* Spanish hero: keep the phone number on one line on phones */
@media (max-width: 480px) {
    a[href^="tel:"] div[style*="font-size:64px"] { font-size: 38px !important; letter-spacing: 0 !important; white-space: nowrap; }
    a[href^="tel:"] div[style*="letter-spacing:4px"][style*="text-transform:uppercase"] { letter-spacing: 2px !important; font-size: 15px !important; }
}
/* blog pagination */
.nyc-blog-pagination .nav-links { display: flex; gap: 8px; justify-content: center; flex-wrap: wrap; margin-top: 36px; }
.nyc-blog-pagination .page-numbers { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; height: 44px; padding: 0 14px; border: 1px solid #e5e1d8; border-radius: 6px; background: #fff; color: #221c1d; font-weight: 600; text-decoration: none; }
.nyc-blog-pagination .page-numbers.current { background: var(--nyc-red, #cc0700); border-color: var(--nyc-red, #cc0700); color: #fff; }
.nyc-blog-pagination a.page-numbers:hover { border-color: var(--nyc-red, #cc0700); color: var(--nyc-red, #cc0700); }
@media (max-width: 360px) {
    a[href^="tel:"] div[style*="font-size:64px"] { font-size: 32px !important; }
}
