/* Kill transition:all from Astra - only re-enable composited properties */
    *, *::before, *::after {
        transition-property: none !important;
    }
    /* Re-enable composited-only transitions (safe from CLS) */
    img, video, .litespeed-loading {
        transition-property: opacity 0.3s ease !important;
    }

img[loading="lazy"] {
        min-height: 150px;
        background-color: #f5f5f5;
    }
    /* Prevent layout shifts from embedded content */
    iframe, embed, object {
        contain: layout style;
    }
    /* Reserve space for product images */
    .woocommerce img.wp-post-image {
        aspect-ratio: 1;
        object-fit: contain;
    }

body .entry-title {
        display: block !important;
    }
    body .page-title {
        display: block !important;
    }

/* Fix Menu z-index vs Calculator - Sticky header */
    .ast-main-header-wrap, .main-header-bar {
        position: sticky !important;
        top: 0 !important;
        z-index: 9999999 !important;
        box-shadow: 0 2px 10px rgba(0,0,0,0.06) !important;
    }
    /* Compensate admin bar */
    .admin-bar .ast-main-header-wrap {
        top: 32px !important;
    }
    /* Mobile: hide logo, better menu */
    @media (max-width: 768px) {
        .site-logo-img, .custom-logo-link img, .ast-site-logo {
            max-width: 120px !important;
        }
        .main-header-bar {
            padding: 5px 10px !important;
        }
        .ast-mobile-popup-inner {
            width: 100% !important;
        }
        .ast-mobile-popup-inner .main-header-bar-navigation a {
            padding: 15px 20px !important;
            font-size: 1.05rem !important;
            border-bottom: 1px solid #f1f1f1;
        }
    }
    /* WhatsApp header button */
    .ast-header-button-1 .ast-custom-button,
    a[href*="wa.me/522213727935"].ast-custom-button {
        background: linear-gradient(135deg, #25d366, #128c7e) !important;
        border-radius: 30px !important;
        padding: 8px 18px !important;
        font-size: 0.85rem !important;
        font-weight: 700 !important;
        display: flex !important;
        align-items: center;
        gap: 6px;
    }
    .tcalc-container {
        z-index: 0 !important;
        position: relative;
    }

    /* Focus visible - blue ring for keyboard navigation */
    a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible {
        outline: 3px solid #005a8c !important;
        outline-offset: 2px !important;
    }

    /* Touch targets minimum 44x44px */
    a, button, input[type="submit"], .menu-item a {
        min-width: 44px;
        min-height: 44px;
    }

    /* Mobile: prevent horizontal scroll at 200% zoom */
    body {
        overflow-x: hidden;
        word-wrap: break-word;
    }

    /* Mobile: improve tap responsiveness (no delay) */
    a, button, .menu-link {
        touch-action: manipulation;
    }

    /* Mobile: responsive tables and spacing */
    @media (max-width: 480px) {
        table {
            display: block;
            overflow-x: auto;
            -webkit-overflow-scrolling: touch;
        }
        .ast-container, .site-content, .entry-content {
            padding-left: 15px !important;
            padding-right: 15px !important;
        }
    }

    /* WhatsApp button contrast - green on white */
    #sendbtn, #sendbtn2, .wa-order-button, .gdpr_wa_button_input,
    .floating_button, .shortcode_wa_button, .shortcode_wa_button_nt {
        background-color: #25d366 !important;
        color: #ffffff !important;
        border: 2px solid #128c7e !important;
    }
    #sendbtn:hover, #sendbtn2:hover, .wa-order-button:hover,
    .gdpr_wa_button_input:hover, .floating_button:hover,
    .shortcode_wa_button:hover, .shortcode_wa_button_nt:hover {
        background-color: #128c7e !important;
        color: #ffffff !important;
    }

    /* Ver Ficha button contrast */
    .woocommerce a.button, .woocommerce-page a.button,
    a.button.alt, .wc-block-grid__product .wp-block-button__link {
        border: 2px solid #005a8c !important;
    }

    /* Links should be distinguishable */
    .entry-content a {
        text-decoration: underline !important;
        text-decoration-color: #005a8c !important;
    }
    /* Fix menu text contrast */
    .main-header-menu .menu-item > a,
    .ast-builder-menu .menu-item > a,
    .main-navigation a {
        color: #004b7a !important;
        font-weight: 600 !important;
    }

    /* Fix dropdown submenu overflowing on the right */
    .main-header-menu > .menu-item:last-child .sub-menu,
    .ast-builder-menu > .menu-item:last-child .sub-menu {
        right: 0 !important;
        left: auto !important;
    }

    /* Fix contrast in service pages dark and green sections */
    div[style*="#1a1a2e"] h2,
    div[style*="#1a1a2e"] h3,
    div[style*="#1a1a2e"] p,
    div[style*="#25d366"] h2,
    div[style*="#25d366"] p {
        color: #ffffff !important;
    }

/* ===== CONSTruyamosH DESIGN SYSTEM ===== */
    /* Modern, professional, consistent */

    /* 1. TYPOGRAPHY */
    body, p, li, .entry-content {
        font-family: 'Source Sans Pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
        color: #1a1a2e;
        line-height: 1.7;
    }
    h1, h2, h3, h4, h5, h6, .main-header-menu a {
        font-family: 'Montserrat', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
        font-weight: 700;
        letter-spacing: -0.02em;
    }
    h1 { font-size: 2.2rem; line-height: 1.2; }
    h2 { font-size: 1.8rem; line-height: 1.3; }
    h3 { font-size: 1.3rem; line-height: 1.4; }
    @media (max-width: 768px) {
        h1 { font-size: 1.6rem; }
        h2 { font-size: 1.3rem; }
        h3 { font-size: 1.1rem; }
    }

    /* 2. BRAND COLORS */
    :root {
        --cm-primary: #005a8c;
        --cm-primary-dark: #004b7a;
        --cm-primary-light: #e8f4fd;
        --cm-accent: #25d366;
        --cm-accent-dark: #128c7e;
        --cm-dark: #1a1a2e;
        --cm-gray: #475569;
        --cm-light: #f8fafc;
        --cm-border: #e2e8f0;
        --cm-shadow: 0 4px 15px rgba(0,0,0,0.08);
        --cm-shadow-hover: 0 8px 30px rgba(0,0,0,0.12);
        --cm-radius: 12px;
    }

    /* 3. BUTTON SYSTEM */
    .wp-block-button__link, a.button, button, input[type="submit"],
    .woocommerce a.button, .ast-button, .ast-btn {
        border-radius: 30px !important;
        padding: 12px 28px !important;
        font-weight: 600 !important;
        font-family: 'Montserrat', sans-serif !important;
        font-size: 0.95rem !important;
        transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
        text-transform: none !important;
        letter-spacing: 0.3px !important;
        border: none !important;
        box-shadow: 0 2px 8px rgba(0,0,0,0.1) !important;
    }
    .wp-block-button__link:hover, a.button:hover, button:hover {
        transform: translateY(-2px) !important;
        box-shadow: 0 6px 20px rgba(0,0,0,0.15) !important;
    }
    .wp-block-button__link:active, a.button:active, button:active {
        transform: translateY(0) !important;
    }

    /* Primary button */
    .wp-block-button .wp-block-button__link:not(.has-background),
    .ast-button.ast-btn-primary {
        background: linear-gradient(135deg, var(--cm-primary), var(--cm-primary-dark)) !important;
        color: #fff !important;
    }

    /* WhatsApp button override */
    a[href*="wa.me"], .wa-order-button, .shortcode_wa_button,
    .floating_button, #sendbtn, #sendbtn2 {
        background: linear-gradient(135deg, #25d366, #128c7e) !important;
        color: #fff !important;
        border-radius: 30px !important;
        padding: 12px 28px !important;
        font-weight: 600 !important;
        transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
        border: none !important;
        box-shadow: 0 2px 8px rgba(37, 211, 102, 0.3) !important;
    }
    a[href*="wa.me"]:hover, .wa-order-button:hover {
        transform: translateY(-2px) !important;
        box-shadow: 0 6px 20px rgba(37, 211, 102, 0.4) !important;
    }

    /* 4. CARD SYSTEM */
    .entry-content div[style*="border-radius:12px"],
    .entry-content div[style*="box-shadow:0 4px 15px"],
    .ast-article-single {
        border-radius: var(--cm-radius) !important;
    }
    .entry-content div[style*="padding:2rem;box-shadow:0 4px 15px"] {
        padding: 1.2rem 1rem !important;
    }
    .entry-content div[style*="box-shadow:0 4px 15px"]:hover {
        box-shadow: var(--cm-shadow-hover) !important;
        transform: translateY(-2px) !important;
    }
    /* Reduce grid gaps */
    .entry-content div[style*="gap:2rem"] {
        gap: 1.2rem !important;
    }

    /* 5. SECTION SPACING */
    .entry-content div[style*="padding:4rem 2rem;"] {
        padding: 5rem 2rem !important;
    }
    @media (max-width: 768px) {
        .entry-content div[style*="padding:4rem 2rem;"] {
            padding: 3rem 1.5rem !important;
        }
    }

    /* 6. MENU ENHANCEMENTS */
    .main-header-menu .menu-item > a {
        letter-spacing: 0.5px !important;
        font-size: 0.9rem !important;
    }
    .main-header-menu .sub-menu {
        border-radius: 0 0 var(--cm-radius) var(--cm-radius) !important;
        box-shadow: var(--cm-shadow) !important;
        border: 1px solid var(--cm-border) !important;
        border-top: 3px solid var(--cm-primary) !important;
    }
    .main-header-menu .sub-menu .menu-item a {
        padding: 12px 20px !important;
        transition: all 0.2s ease !important;
    }
    .main-header-menu .sub-menu .menu-item a:hover {
        background: var(--cm-primary-light) !important;
        color: var(--cm-primary) !important;
        padding-left: 28px !important;
    }

    /* 7. SMOOTH SCROLLING */
    html {
        scroll-behavior: smooth;
    }

    /* 8. IMAGE REFINEMENTS */
    img {
        border-radius: 8px;
        transition: transform 0.3s ease, box-shadow 0.3s ease;
    }
    img:hover {
        transform: scale(1.02);
        box-shadow: 0 8px 25px rgba(0,0,0,0.1);
    }
    .wp-post-image, .wc-block-grid__product-image img {
        border-radius: 12px;
        background: var(--cm-light);
        padding: 8px;
        border: 1px solid var(--cm-border);
    }

    /* 9. PRODUCT GRID */
    .wc-block-grid__product {
        border-radius: var(--cm-radius) !important;
        padding: 1.5rem !important;
        transition: all 0.3s ease !important;
        border: 1px solid var(--cm-border) !important;
        background: #fff !important;
    }
    .wc-block-grid__product:hover {
        box-shadow: var(--cm-shadow-hover) !important;
        border-color: var(--cm-primary) !important;
    }
    .wc-block-grid__product .wp-block-button__link {
        margin-top: 1rem !important;
    }

    /* 10. RESPONSIVE IMPROVEMENTS */
    @media (max-width: 768px) {
        .entry-content div[style*="grid-template-columns"] {
            grid-template-columns: 1fr !important;
            gap: 1rem !important;
        }
        /* Full width tables on mobile */
        .entry-content table {
            font-size: 0.85rem !important;
        }
        .entry-content table td, .entry-content table th {
            padding: 8px 10px !important;
        }
    }

    /* 11. CONTAINER REFINEMENTS */
    .entry-content div[style*="max-width:1100px"] {
        max-width: 1100px !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }

    /* 12. SEPARATOR */
    .wp-block-separator {
        max-width: 80px !important;
        border: 0 !important;
        height: 3px !important;
        background: linear-gradient(90deg, var(--cm-primary), var(--cm-accent)) !important;
        margin: 2rem auto !important;
    }

    /* 13. CONTRAST SAFEGUARDS */
    .entry-content div[style*="color:#1a1a2e"] h2,
    .entry-content div[style*="color:#1a1a2e"] h3,
    .entry-content div[style*="color:#1a1a2e"] h4 {
        color: #1a1a2e !important;
    }

    /* 14. IFRAME/MAP SAFEGUARDS */
    iframe {
        border-radius: 0;
        max-width: 100%;
    }
    iframe[src*="google.com/maps"] {
        border: 0 !important;
        width: 100% !important;
        height: 100% !important;
        min-height: 350px;
        border-radius: 12px !important;
        box-shadow: var(--cm-shadow);
    }

    /* 15. HERO SECTION — Consistente en todo el sitio */
    .entry-title, .page-title {
        font-size: 2.2rem !important;
        font-weight: 800 !important;
        line-height: 1.2 !important;
        color: var(--cm-dark) !important;
        text-align: center !important;
        max-width: 800px !important;
        margin: 1rem auto 0.3rem !important;
        letter-spacing: -0.02em !important;
    }
    /* Hero wrapper for pages with inline styles at top */
    .entry-content > div[style*="padding:4rem 2rem;background:linear-gradient"]:first-child,
    .entry-content > div[style*="padding:4rem 2rem;background:linear-gradient"]:first-of-type {
        padding: 3rem 2rem 2.5rem !important;
        position: relative;
        overflow: hidden;
    }
    .entry-content > div[style*="padding:4rem 2rem;background:linear-gradient"]:first-child h1,
    .entry-content > div[style*="padding:4rem 2rem;background:linear-gradient"]:first-of-type h1 {
        font-size: 2.2rem !important;
        color: #fff !important;
        margin-bottom: 0.5rem !important;
    }
    .entry-content > div[style*="padding:4rem 2rem;background:linear-gradient"]:first-child p {
        font-size: 1.05rem !important;
        color: rgba(255,255,255,0.85) !important;
        max-width: 650px;
        margin: 0 auto 1.5rem !important;
        line-height: 1.5;
    }
    /* Standardise h2 sections */
    .entry-content h2 {
        font-size: 1.6rem !important;
        margin-top: 1.5rem !important;
        margin-bottom: 1rem !important;
        color: var(--cm-primary) !important;
    }
    .entry-content h3 {
        font-size: 1.2rem !important;
        margin-top: 1rem !important;
        margin-bottom: 0.5rem !important;
    }
    /* Reduce padding in alternating sections */
    .entry-content div[style*="padding:4rem 2rem;background"] {
        padding: 2.5rem 2rem !important;
    }
    .entry-content div[style*="padding:4rem 2rem;max-width"] {
        padding: 2rem 2rem !important;
    }
    .entry-content div[style*="padding:4rem 2rem;background:#f5f5f5"] {
        padding: 2.5rem 2rem !important;
    }
    @media (max-width: 768px) {
        .entry-title, .page-title {
            font-size: 1.5rem !important;
            margin: 0.5rem auto 0.2rem !important;
        }
        .entry-content > div[style*="padding:4rem 2rem;background:linear-gradient"]:first-child {
            padding: 2rem 1.2rem 1.5rem !important;
        }
        .entry-content > div[style*="padding:4rem 2rem;background:linear-gradient"]:first-child h1 {
            font-size: 1.5rem !important;
        }
        .entry-content > div[style*="padding:4rem 2rem;background:linear-gradient"]:first-child p {
            font-size: 0.95rem !important;
            margin-bottom: 1rem !important;
        }
        .entry-content h2 {
            font-size: 1.3rem !important;
            margin-top: 1.2rem !important;
        }
        .entry-content div[style*="padding:4rem 2rem;background"] {
            padding: 1.5rem 1rem !important;
        }
        .entry-content div[style*="padding:4rem 2rem;max-width"] {
            padding: 1.2rem 1rem !important;
        }
        .entry-content div[style*="padding:4rem 2rem;background:#f5f5f5"] {
            padding: 1.5rem 1rem !important;
        }
    }
    /* Hero on homepage specifically */
    .home .entry-title {
        display: none !important;
    }
    /* Hide entry-title on pages with content H1 */
    .page-id-1082 .entry-title,
    .page-id-51 .entry-title,
    .post-type-archive-product .entry-title {
        display: none !important;
    }
    .page .entry-title {
        margin-top: 0.5rem !important;
    }

    /* 18. BLOG — Consistent design */
    /* Blog archive cards */
    .blog .ast-article-post, .archive .ast-article-post {
        background: #fff !important;
        border-radius: var(--cm-radius) !important;
        padding: 1.5rem !important;
        box-shadow: var(--cm-shadow) !important;
        border: 1px solid var(--cm-border) !important;
        transition: all 0.3s ease !important;
        margin-bottom: 1.5rem !important;
    }
    .blog .ast-article-post:hover, .archive .ast-article-post:hover {
        box-shadow: var(--cm-shadow-hover) !important;
        transform: translateY(-2px);
    }
    .blog .ast-article-post .entry-title,
    .archive .ast-article-post .entry-title {
        font-size: 1.3rem !important;
        margin: 0 0 0.8rem !important;
        text-align: left !important;
    }
    .blog .ast-article-post .entry-title a,
    .archive .ast-article-post .entry-title a {
        color: var(--cm-dark) !important;
        text-decoration: none !important;
    }
    .blog .ast-article-post .entry-title a:hover {
        color: var(--cm-primary) !important;
    }
    /* Blog single post */
    .single-post .ast-article-single {
        background: #fff !important;
        border-radius: var(--cm-radius) !important;
        padding: 2rem !important;
        box-shadow: var(--cm-shadow) !important;
        border: 1px solid var(--cm-border) !important;
    }
    .single-post .entry-title {
        font-size: 2rem !important;
        text-align: left !important;
        margin-bottom: 0.5rem !important;
    }
    .single-post .entry-meta {
        color: var(--cm-gray) !important;
        font-size: 0.9rem !important;
        margin-bottom: 1.5rem !important;
        padding-bottom: 1rem !important;
        border-bottom: 1px solid var(--cm-border) !important;
    }
    .single-post .entry-meta a {
        color: var(--cm-primary) !important;
    }
    /* Blog tables */
    .single-post .wp-block-table table {
        border-collapse: collapse !important;
        width: 100% !important;
        font-size: 0.9rem !important;
    }
    .single-post .wp-block-table th {
        background: var(--cm-primary-light) !important;
        color: var(--cm-dark) !important;
        font-weight: 700 !important;
        padding: 10px 12px !important;
        border: 1px solid var(--cm-border) !important;
    }
    .single-post .wp-block-table td {
        padding: 8px 12px !important;
        border: 1px solid var(--cm-border) !important;
    }
    .single-post .wp-block-table tr:nth-child(even) td {
        background: var(--cm-light) !important;
    }
    @media (max-width: 768px) {
        .single-post .ast-article-single {
            padding: 1rem !important;
        }
        .single-post .entry-title {
            font-size: 1.4rem !important;
        }
        .blog .ast-article-post, .archive .ast-article-post {
            padding: 1rem !important;
        }
        .blog .ast-article-post .entry-title,
        .archive .ast-article-post .entry-title {
            font-size: 1.1rem !important;
        }
    }

    /* 17. PRODUCT CATALOG — Consistent design */
    .post-type-archive-product .ct-hero-shop {
        background: linear-gradient(135deg, var(--cm-dark), var(--cm-primary-dark)) !important;
        border-radius: var(--cm-radius) !important;
        box-shadow: var(--cm-shadow) !important;
    }
    .post-type-archive-product .ct-hero-shop h1 {
        font-size: clamp(1.8rem, 4vw, 2.5rem) !important;
    }
    .post-type-archive-product .ct-hero-shop .ct-cta-pill {
        border-radius: 30px !important;
        padding: 14px 30px !important;
        font-weight: 700 !important;
        transition: all 0.3s ease !important;
    }
    .post-type-archive-product .ct-hero-shop .ct-cta-pill:first-child {
        background: linear-gradient(135deg, #25d366, #128c7e) !important;
        box-shadow: 0 4px 15px rgba(37,211,102,0.3) !important;
    }
    .post-type-archive-product .ct-hero-shop .ct-cta-pill:first-child:hover {
        transform: translateY(-2px);
        box-shadow: 0 6px 20px rgba(37,211,102,0.4) !important;
    }
    /* Category sections */
    .post-type-archive-product div[style*="background: #fff7f0"],
    .post-type-archive-product div[style*="background: #f0fdf4"],
    .post-type-archive-product div[style*="background: #eff6ff"] {
        border-radius: var(--cm-radius) !important;
        padding: 2rem 1.5rem !important;
        margin-bottom: 1.5rem !important;
        box-shadow: var(--cm-shadow) !important;
    }
    .post-type-archive-product div[style*="background: #fff7f0"] { background: var(--cm-light) !important; }
    .post-type-archive-product div[style*="background: #f0fdf4"] { background: var(--cm-light) !important; }
    .post-type-archive-product div[style*="background: #eff6ff"] { background: var(--cm-light) !important; }
    /* Category headings */
    .post-type-archive-product h2[id^="cat-"] {
        border-left: 4px solid var(--cm-primary) !important;
        padding-left: 15px !important;
        color: var(--cm-dark) !important;
        font-size: 1.4rem !important;
        margin-top: 0 !important;
    }
    /* Navigation pills */
    .post-type-archive-product .ct-nav-pill {
        border-radius: var(--cm-radius) !important;
        padding: 14px 20px !important;
        font-weight: 700 !important;
        border-bottom: 3px solid var(--cm-primary) !important;
        box-shadow: var(--cm-shadow) !important;
        transition: all 0.3s ease !important;
    }
    .post-type-archive-product .ct-nav-pill:hover {
        transform: translateY(-2px);
        box-shadow: var(--cm-shadow-hover) !important;
    }
    /* Final CTA */
    .post-type-archive-product div[style*="background: linear-gradient(135deg, #0f172a 0%, #1e40af 100%)"] {
        background: linear-gradient(135deg, var(--cm-dark), var(--cm-primary-dark)) !important;
        border-radius: var(--cm-radius) !important;
        box-shadow: var(--cm-shadow) !important;
    }
    .post-type-archive-product div[style*="background: linear-gradient(135deg, #0f172a 0%, #1e40af 100%)"] h3 {
        font-size: 1.6rem !important;
    }
    @media (max-width: 768px) {
        .post-type-archive-product .ct-nav-row {
            display: flex !important;
            flex-wrap: wrap !important;
            gap: 10px !important;
        }
        .post-type-archive-product .ct-nav-pill {
            flex: 1 1 calc(50% - 10px) !important;
            text-align: center !important;
            font-size: 0.85rem !important;
            padding: 12px 10px !important;
        }
        .post-type-archive-product div[style*="background: #fff7f0"],
        .post-type-archive-product div[style*="background: #f0fdf4"],
        .post-type-archive-product div[style*="background: #eff6ff"] {
            padding: 1.2rem 1rem !important;
        }
    }

    /* 19. MOBILE FULL-WIDTH FIX */
    @media (max-width: 768px) {
        html, body {
            overflow-x: hidden;
        }
        .ast-container {
            max-width: 100% !important;
            width: 100% !important;
            padding-left: 0 !important;
            padding-right: 0 !important;
        }
        .entry-content > * {
            max-width: 100% !important;
            width: 100% !important;
            margin-left: 0 !important;
            margin-right: 0 !important;
            padding-left: 10px !important;
            padding-right: 10px !important;
            box-sizing: border-box !important;
        }
        /* Also force grids to single column */
        .entry-content div[style*="grid-template-columns"] {
            grid-template-columns: 1fr !important;
            gap: 0.8rem !important;
        }
        .entry-content div[style*="padding:2rem"] {
            padding: 1rem 0.8rem !important;
        }
        /* Service page cards on mobile */
        .entry-content div[style*="grid-template-columns"] {
            gap: 0.8rem !important;
        }
        .entry-content div[style*="box-shadow:0 4px 15px"] {
            padding: 1rem 0.8rem !important;
        }
        /* Full width images */
        .entry-content img {
            max-width: 100% !important;
            height: auto !important;
        }
        /* Reduce section padding further */
        .entry-content div[style*="padding:4rem 2rem"] {
            padding: 2rem 1rem !important;
        }
        .entry-content div[style*="padding:5rem 2rem"] {
            padding: 2rem 1rem !important;
        }
        .entry-content div[style*="padding:3rem 2rem"] {
            padding: 1.5rem 0.8rem !important;
        }
        /* Blog single */
        .single-post .ast-article-single {
            padding: 0.8rem !important;
        }
        /* Portrait mode: tighter padding */
        @media (orientation: portrait) {
            .entry-content > * {
                padding-left: 6px !important;
                padding-right: 6px !important;
            }
            .entry-content div[style*="padding:2rem"] {
                padding: 0.8rem 0.5rem !important;
            }
            .entry-content div[style*="padding:4rem 2rem"] {
                padding: 1.5rem 0.5rem !important;
            }
        }
    }

    /* 16. SKELETON SHIMMER — Loading states */
    .cm-skeleton {
        background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
        background-size: 200% 100%;
        animation: cm-shimmer 1.5s infinite;
        border-radius: 6px;
    }
    @keyframes cm-shimmer {
        0% { background-position: 200% 0; }
        100% { background-position: -200% 0; }
    }
    .cm-skeleton-text {
        height: 16px;
        margin-bottom: 10px;
        width: 100%;
    }
    .cm-skeleton-text.short { width: 60%; }
    .cm-skeleton-text.tiny { width: 30%; }
    .cm-skeleton-title {
        height: 28px;
        margin-bottom: 15px;
        width: 70%;
    }
    .cm-skeleton-card {
        height: 200px;
        border-radius: 12px;
        margin-bottom: 20px;
    }
    .cm-skeleton-circle {
        width: 50px;
        height: 50px;
        border-radius: 50%;
    }
    .cm-skeleton-thumb {
        width: 100%;
        aspect-ratio: 1;
        border-radius: 8px;
        margin-bottom: 10px;
    }
    /* Skeleton containers */
    .cm-skeleton-wrapper {
        padding: 20px;
    }
    .cm-skeleton-row {
        display: flex;
        gap: 15px;
        margin-bottom: 15px;
    }
    .cm-skeleton-row > * { flex: 1; }