/*
Theme Name: Lab Expertise Ultimate v2
Author: ChatGPT
Description: Полная тема WordPress с точным HTML-структурным переносом, полным CSS, и демо-страницей.
\g<1>22.0.0
Text Domain: lab-expertise
*/

/* Подключение шрифтов происходит через functions.php (Google Fonts, FA) */
:root {
            --dark-bg: #0a0a0a;
            --dark-card: #151515;
            --dark-card-alt: #1a1a1a;
            --dark-border: #2a2a2a;
            --dark-border-light: #3a3a3a;
            --accent-blue: #2563eb;
            --accent-blue-light: #3b82f6;
            --accent-dark-blue: #1e40af;
            --text-primary: #f5f5f5;
            --text-secondary: #a3a3a3;
            --success: #10b981;
            --whatsapp-green: #25D366;
            --telegram-blue: #0088cc;
            --map-marker-color: #ef4444;
            --phone-color: #10b981;
            --email-color: #8b5cf6;
            --clock-color: #f59e0b;
        }

        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
            font-family: 'Inter', sans-serif;
        }

        body {
            background-color: var(--dark-bg);
            color: var(--text-primary);
            line-height: 1.6;
            overflow-x: hidden;
        }

        .container {
            max-width: 1200px;
            margin: 0 auto;
            padding: 0 20px;
        }

        /* Header */
        header {
            padding: 15px 0;
            position: sticky;
            top: 0;
            z-index: 100;
            background-color: rgba(15, 15, 15, 0.98);
            backdrop-filter: blur(10px);
            border-bottom: 1px solid var(--dark-border-light);
            box-shadow: 0 2px 15px rgba(0, 0, 0, 0.5);
        }

        .header-content {
            display: flex;
            justify-content: space-between;
            align-items: center;
        }

        .logo {
            display: flex;
            align-items: center;
            gap: 12px;
            text-decoration: none;
        }

        .logo-icon {
            width: 45px;
            height: 45px;
            display: flex;
            align-items: center;
            justify-content: center;
            border-radius: 10px;
            background: linear-gradient(135deg, var(--accent-blue), var(--accent-dark-blue));
            color: white;
            font-weight: bold;
            font-size: 18px;
            box-shadow: 0 4px 10px rgba(37, 99, 235, 0.3);
        }

        .logo-text {
            display: flex;
            flex-direction: column;
        }

        .logo-title {
            font-weight: 700;
            font-size: 1.2rem;
            color: var(--text-primary);
            line-height: 1.2;
        }

        nav ul {
            display: flex;
            list-style: none;
            gap: 20px;
        }

        nav a {
            text-decoration: none;
            color: var(--text-secondary);
            font-weight: 500;
            position: relative;
            padding: 6px 0;
            transition: color 0.3s;
            font-size: 0.9rem;
        }

        nav a:hover {
            color: var(--text-primary);
        }

        nav a::after {
            content: '';
            position: absolute;
            bottom: 0;
            left: 0;
            width: 0;
            height: 2px;
            background: var(--accent-blue);
            transition: width 0.3s;
        }

        nav a:hover::after {
            width: 100%;
        }

        .header-buttons {
            display: flex;
            gap: 12px;
            align-items: center;
        }

        .btn {
            padding: 10px 18px;
            border-radius: 8px;
            font-weight: 600;
            text-decoration: none;
            transition: all 0.3s;
            display: inline-flex;
            align-items: center;
            gap: 6px;
            cursor: pointer;
            border: none;
            font-size: 0.9rem;
        }

        .btn-primary {
            background: linear-gradient(135deg, var(--accent-blue), var(--accent-dark-blue));
            color: white;
            box-shadow: 0 4px 15px rgba(37, 99, 235, 0.3);
        }

        .btn-primary:hover {
            transform: translateY(-2px);
            box-shadow: 0 6px 20px rgba(37, 99, 235, 0.4);
        }

        .btn-outline {
            background: transparent;
            color: var(--text-primary);
            border: 1px solid var(--dark-border-light);
        }

        .btn-outline:hover {
            background: rgba(255, 255, 255, 0.05);
            border-color: var(--accent-blue);
        }

        .btn-telegram {
            background: linear-gradient(135deg, var(--telegram-blue), #004d80);
            color: white;
            box-shadow: 0 4px 15px rgba(0, 136, 204, 0.3);
        }

        .btn-telegram:hover {
            transform: translateY(-2px);
            box-shadow: 0 6px 20px rgba(0, 136, 204, 0.4);
        }

        .btn-whatsapp {
            background: linear-gradient(135deg, var(--whatsapp-green), #128C7E);
            color: white;
            box-shadow: 0 4px 15px rgba(37, 211, 102, 0.3);
        }

        .btn-whatsapp:hover {
            transform: translateY(-2px);
            box-shadow: 0 6px 20px rgba(37, 211, 102, 0.4);
        }

        /* Hero Section */
        .hero {
            padding: 80px 0 20px;
            position: relative;
            overflow: hidden;
            background: linear-gradient(to bottom, var(--dark-bg), #0f0f0f);
            border-bottom: 1px solid var(--dark-border-light);
        }

        .hero-content {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 60px;
            align-items: center;
        }

        .hero-text h1 {
            font-size: 3.2rem;
            font-weight: 700;
            line-height: 1.2;
            margin-bottom: 20px;
            background: linear-gradient(to right, var(--text-primary), var(--accent-blue-light));
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
        }

        .hero-text p {
            font-size: 1.1rem;
            color: var(--text-secondary);
            margin-bottom: 40px;
            max-width: 500px;
        }

        .hero-buttons {
            display: flex;
            gap: 20px;
        }

        .hero-image {
            position: relative;
        }

        .hero-img {
            width: 100%;
            border-radius: 16px;
            overflow: hidden;
            box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.5);
            position: relative;
            border: 1px solid var(--dark-border-light);
            background: linear-gradient(45deg, #1e40af, #3b82f6);
            min-height: 350px;
            display: flex;
            align-items: center;
            justify-content: center;
            color: white;
        }

        .hero-img-content {
            text-align: center;
            padding: 20px;
            z-index: 2;
        }

        .hero-img-icon {
            font-size: 4rem;
            margin-bottom: 20px;
            color: white;
        }

        .hero-img-text {
            font-size: 1.2rem;
            font-weight: 600;
        }

        .hero-img::before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: linear-gradient(45deg, rgba(37, 99, 235, 0.2), rgba(30, 64, 175, 0.2));
            z-index: 1;
        }

        .floating-element {
            position: absolute;
            width: 70px;
            height: 70px;
            border-radius: 16px;
            background: linear-gradient(135deg, var(--accent-blue), var(--accent-dark-blue));
            display: flex;
            align-items: center;
            justify-content: center;
            color: white;
            font-size: 1.8rem;
            box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.5);
            z-index: 2;
            animation: float 6s ease-in-out infinite;
            border: 1px solid rgba(255, 255, 255, 0.1);
        }

        .element-1 {
            top: -15px;
            right: 30px;
            animation-delay: 0s;
        }

        .element-2 {
            bottom: 30px;
            left: -15px;
            animation-delay: 2s;
        }

        /* Section Styles */
        .section {
            padding: 60px 0;
        }

        .section-title {
            text-align: center;
            margin-bottom: 40px;
        }

        .section-title h2 {
            font-size: 2.5rem;
            margin-bottom: 15px;
            color: var(--text-primary);
        }

        .section-title p {
            font-size: 1.1rem;
            color: var(--text-secondary);
            max-width: 600px;
            margin: 0 auto;
        }

        /* Card Styles */
        .card {
            background: var(--dark-card);
            border-radius: 16px;
            padding: 25px;
            transition: all 0.3s;
            border: 1px solid var(--dark-border-light);
            position: relative;
            overflow: hidden;
            box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);
        }

        .card:hover {
            transform: translateY(-5px);
            border-color: var(--accent-blue);
            box-shadow: 0 15px 30px -5px rgba(37, 99, 235, 0.3);
        }

        .card-icon {
            width: 50px;
            height: 50px;
            background: linear-gradient(135deg, var(--accent-blue), var(--accent-dark-blue));
            border-radius: 12px;
            display: flex;
            align-items: center;
            justify-content: center;
            margin-bottom: 20px;
            color: white;
            font-size: 20px;
            box-shadow: 0 5px 15px rgba(37, 99, 235, 0.3);
        }

        .card h3 {
            font-size: 1.2rem;
            margin-bottom: 12px;
            color: var(--text-primary);
        }

        .card p {
            color: var(--text-secondary);
            margin-bottom: 15px;
            font-size: 0.95rem;
        }

        /* Grid Styles */
        .why-grid, .services-grid, .price-cards {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
            gap: 25px;
        }

        /* Background Sections */
        #why, #services {
            background: linear-gradient(to bottom, #0c0c0c, var(--dark-bg));
            border-top: 1px solid var(--dark-border-light);
            border-bottom: 1px solid var(--dark-border-light);
            padding: 50px 0;
        }

        #objects {
            background: linear-gradient(to bottom, var(--dark-bg), #0c0c0c);
            border-top: 1px solid var(--dark-border-light);
            border-bottom: 1px solid var(--dark-border-light);
            padding: 50px 0;
        }

        /* Objects Section */
        .objects-grid {
            display: grid;
            grid-template-columns: repeat(4, 1fr);
            gap: 20px;
        }

        .object-card {
            background: var(--dark-card-alt);
            border-radius: 16px;
            overflow: hidden;
            transition: all 0.3s;
            border: 1px solid var(--dark-border-light);
            box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);
            display: flex;
            flex-direction: column;
            height: 100%;
        }

        .object-card:hover {
            transform: translateY(-5px);
            border-color: var(--accent-blue);
            box-shadow: 0 15px 30px -5px rgba(37, 99, 235, 0.3);
        }

        .object-image {
            height: 150px;
            position: relative;
            overflow: hidden;
            display: flex;
            align-items: center;
            justify-content: center;
            background: linear-gradient(45deg, #1e40af, #3b82f6);
            color: white;
            flex-shrink: 0;
        }

        .object-icon {
            font-size: 3rem;
        }

        .object-content {
            padding: 20px;
            display: flex;
            align-items: center;
            justify-content: center;
            flex-grow: 1;
            min-height: 80px;
        }

        .object-content h3 {
            font-size: 1.2rem;
            color: var(--text-primary);
            text-align: center;
            margin: 0;
            width: 100%;
        }

        /* Process Section */
        .process {
            background: linear-gradient(to bottom, #121212, var(--dark-bg));
            border-top: 1px solid var(--dark-border-light);
            border-bottom: 1px solid var(--dark-border-light);
            position: relative;
            padding: 40px 0;
        }

        .process::before, .process::after {
            content: '';
            position: absolute;
            left: 0;
            right: 0;
            height: 1px;
            background: linear-gradient(to right, transparent, var(--dark-border-light), transparent);
        }

        .process::before {
            top: 0;
        }

        .process::after {
            bottom: 0;
        }

        .process-steps {
            display: grid;
            grid-template-columns: repeat(2, 1fr);
            gap: 20px;
            margin-top: 30px;
        }

        .step {
            background: var(--dark-card);
            border-radius: 12px;
            padding: 20px;
            border: 1px solid var(--dark-border-light);
            position: relative;
        }

        .step-header {
            display: flex;
            align-items: flex-start;
            margin-bottom: 12px;
        }

        .step-number {
            width: 40px;
            height: 40px;
            border-radius: 50%;
            background: linear-gradient(135deg, var(--accent-blue), var(--accent-dark-blue));
            color: white;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 1rem;
            font-weight: 700;
            margin-right: 15px;
            box-shadow: 0 5px 15px rgba(37, 99, 235, 0.3);
            border: 2px solid rgba(255, 255, 255, 0.1);
            flex-shrink: 0;
        }

        .step h4 {
            font-size: 1.1rem;
            color: var(--text-primary);
            margin: 0;
            padding-top: 4px;
        }

        .step-content {
            color: var(--text-secondary);
            padding-left: 55px;
        }

        .step-content ul {
            list-style-type: none;
            padding: 0;
        }

        .step-content li {
            margin-bottom: 6px;
            display: flex;
            align-items: flex-start;
            font-size: 0.9rem;
        }

        .step-content li i {
            color: var(--accent-blue);
            margin-right: 10px;
            margin-top: 5px;
            flex-shrink: 0;
            font-size: 0.7rem;
        }

        /* Price Section */
        #prices {
            padding: 50px 0;
        }

        .price-card {
            background: var(--dark-card);
            border-radius: 16px;
            padding: 30px;
            text-align: center;
            border: 1px solid var(--dark-border-light);
            transition: all 0.3s;
            position: relative;
            overflow: hidden;
            box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);
        }

        .price-card.featured {
            border-color: var(--accent-blue);
            transform: scale(1.03);
            box-shadow: 0 15px 30px -5px rgba(37, 99, 235, 0.3);
            background: linear-gradient(to bottom, var(--dark-card), #121212);
        }

        .price-card.featured::before {
            content: 'ПОПУЛЯРНО';
            position: absolute;
            top: 15px;
            right: -30px;
            background: var(--accent-blue);
            color: white;
            padding: 5px 30px;
            font-size: 0.8rem;
            font-weight: 600;
            transform: rotate(45deg);
        }

        .price-card h3 {
            font-size: 1.4rem;
            margin-bottom: 15px;
            color: var(--text-primary);
        }

        .price {
            font-size: 2rem;
            font-weight: 700;
            margin-bottom: 20px;
            color: var(--text-primary);
            display: flex;
            justify-content: center;
            align-items: baseline;
        }

        .price span {
            font-size: 0.9rem;
            color: var(--text-secondary);
            margin-left: 5px;
        }

        .price-features {
            list-style: none;
            margin-bottom: 25px;
        }

        .price-features li {
            margin-bottom: 12px;
            color: var(--text-secondary);
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 10px;
            font-size: 0.9rem;
        }

        .price-features li i {
            color: var(--success);
        }

        /* Footer */
        footer {
            background: var(--dark-card-alt);
            color: white;
            padding: 60px 0 20px;
            border-top: 1px solid var(--dark-border-light);
            position: relative;
        }

        footer::before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            height: 1px;
            background: linear-gradient(to right, transparent, var(--dark-border-light), transparent);
        }

        .footer-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
            gap: 30px;
            margin-bottom: 30px;
        }

        .footer-col h3 {
            font-size: 1.3rem;
            margin-bottom: 20px;
            position: relative;
            padding-bottom: 12px;
            color: var(--text-primary);
        }

        .footer-col h3::after {
            content: '';
            position: absolute;
            bottom: 0;
            left: 0;
            width: 40px;
            height: 3px;
            background: linear-gradient(to right, var(--accent-blue), var(--accent-dark-blue));
        }

        .footer-col p {
            color: var(--text-secondary);
            margin-bottom: 15px;
            font-size: 0.95rem;
            line-height: 1.5;
        }

        .footer-links {
            list-style: none;
            margin-bottom: 10px;
        }

        .footer-links a {
            color: var(--text-secondary);
            text-decoration: none;
            transition: color 0.3s;
            display: flex;
            align-items: center;
            gap: 10px;
            font-size: 0.9rem;
            margin-bottom: 8px;
        }

        .footer-links a:hover {
            color: var(--text-primary);
        }

        .footer-links a i {
            width: 20px;
            text-align: center;
        }

        .footer-links a .fa-map-marker-alt {
            color: var(--map-marker-color);
        }

        .footer-links a .fa-phone {
            color: var(--phone-color);
        }

        .footer-links a .fa-envelope {
            color: var(--email-color);
        }

        .footer-links a .fa-clock {
            color: var(--clock-color);
        }

        .social-links {
            display: flex;
            gap: 12px;
            margin-top: 15px;
            margin-bottom: 15px;
        }

        .social-links a {
            width: 35px;
            height: 35px;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            color: white;
            transition: all 0.3s;
        }

        .social-links a.telegram {
            background: linear-gradient(135deg, var(--telegram-blue), #004d80);
            box-shadow: 0 4px 15px rgba(0, 136, 204, 0.3);
        }

        .social-links a.telegram:hover {
            background: linear-gradient(135deg, var(--telegram-blue), #004d80);
            box-shadow: 0 6px 20px rgba(0, 136, 204, 0.4);
            transform: translateY(-3px);
        }

        .social-links a.whatsapp {
            background: linear-gradient(135deg, var(--whatsapp-green), #128C7E);
            box-shadow: 0 4px 15px rgba(37, 211, 102, 0.3);
        }

        .social-links a.whatsapp:hover {
            background: linear-gradient(135deg, var(--whatsapp-green), #128C7E);
            box-shadow: 0 6px 20px rgba(37, 211, 102, 0.4);
            transform: translateY(-3px);
        }

        .social-links a.phone {
            background: linear-gradient(135deg, var(--accent-blue), var(--accent-dark-blue));
            box-shadow: 0 4px 15px rgba(37, 99, 235, 0.3);
        }

        .social-links a.phone:hover {
            background: linear-gradient(135deg, var(--accent-blue), var(--accent-dark-blue));
            box-shadow: 0 6px 20px rgba(37, 99, 235, 0.4);
            transform: translateY(-3px);
        }

        .copyright {
            text-align: center;
            padding-top: 25px;
            border-top: 1px solid var(--dark-border-light);
            color: var(--text-secondary);
            font-size: 0.9rem;
        }

        /* Animations */
        @keyframes float {
            0%, 100% {
                transform: translateY(0) rotate(0deg);
            }
            50% {
                transform: translateY(-15px) rotate(5deg);
            }
        }

        /* Responsive Design */
        @media (max-width: 1200px) {
            .objects-grid {
                grid-template-columns: repeat(3, 1fr);
            }
        }

        @media (max-width: 992px) {
            .hero-content {
                grid-template-columns: 1fr;
                text-align: center;
                gap: 40px;
            }

            .hero-text h1 {
                font-size: 2.8rem;
            }

            .hero-buttons, nav ul {
                justify-content: center;
            }

            nav ul {
                gap: 15px;
            }

            .price-card.featured {
                transform: scale(1);
            }

            .process-steps {
                grid-template-columns: 1fr;
            }

            .objects-grid {
                grid-template-columns: repeat(2, 1fr);
            }
        }

        @media (max-width: 768px) {
            .header-content {
                flex-direction: column;
                gap: 15px;
            }

            nav ul {
                flex-wrap: wrap;
                justify-content: center;
                gap: 10px;
                margin-top: 15px;
            }

            .hero-text h1 {
                font-size: 2.2rem;
            }

            .hero-buttons {
                flex-direction: column;
                align-items: center;
                gap: 15px;
            }

            .section-title h2 {
                font-size: 2rem;
            }

            .card, .object-card {
                max-width: 100%;
                margin: 0 auto;
            }

            .header-buttons {
                flex-direction: column;
                width: 100%;
                margin-top: 15px;
            }

            .header-buttons .btn {
                width: 100%;
                justify-content: center;
                padding: 12px;
                margin-bottom: 10px;
            }

            .section {
                padding: 40px 0;
            }

            .step-header {
                flex-direction: column;
                align-items: flex-start;
            }

            .step-number {
                margin-bottom: 15px;
                margin-right: 0;
            }

            .step-content {
                padding-left: 0;
            }

            .objects-grid, .why-grid, .services-grid, .price-cards, .process-steps {
                grid-template-columns: 1fr;
                gap: 15px;
            }

            .object-image {
                height: 120px;
            }

            .object-icon {
                font-size: 2.5rem;
            }

            .object-card {
                min-height: 220px;
            }

            .social-links {
                display: flex !important;
                margin-top: 20px;
                justify-content: center;
            }

            .social-links a {
                width: 44px;
                height: 44px;
                font-size: 1.2rem;
            }

            .footer-grid {
                grid-template-columns: 1fr;
                text-align: center;
            }

            .footer-col h3::after {
                left: 50%;
                transform: translateX(-50%);
            }
        }

        @media (max-width: 480px) {
            .logo-title {
                font-size: 1.1rem;
            }

            nav a {
                font-size: 0.8rem;
            }

            .btn {
                font-size: 0.8rem;
                padding: 10px 15px;
            }

            .hero-text h1 {
                font-size: 1.8rem;
            }

            .hero-text p {
                font-size: 1rem;
                margin-bottom: 30px;
            }

            .section-title h2 {
                font-size: 1.8rem;
            }

            .section-title p {
                font-size: 1rem;
            }

            .object-image {
                height: 100px;
            }

            .object-icon {
                font-size: 2rem;
            }

            .object-card {
                min-height: 200px;
            }

            .card {
                padding: 20px;
            }

            .card-icon {
                width: 45px;
                height: 45px;
                font-size: 18px;
            }

            .step {
                padding: 15px;
            }

            .price-card {
                padding: 20px;
            }

            .price {
                font-size: 1.8rem;
            }

            .floating-element {
                width: 50px;
                height: 50px;
                font-size: 1.2rem;
            }

            .hero-img {
                min-height: 250px;
            }

            .hero-img-icon {
                font-size: 3rem;
            }

            .hero-img-text {
                font-size: 1rem;
            }
        }
/* === v12: mobile header icon row === */
@media (max-width: 768px){
  

  .header-buttons{
    display:flex !important;
    flex-direction: row !important;
    align-items: center;
    justify-content: center;
    gap: 12px;
    width: auto !important;
    margin: 0 auto !important;
  }
  .header-buttons .btn{
    width: auto !important;
    margin: 0 !important;
    padding: 10px 12px;
  }
  .header-buttons .phone-text{ display:none !important; }
}


/* === v13: overridden by v16 === */
@media (max-width: 768px){
  .header-content{
    display:flex;
    flex-direction: row !important;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
  }
  .header-buttons{
    display:flex !important;
    flex-direction: row !important;
    align-items: center;
    gap: 10px;
    width: auto !important;
    margin: 0 !important;
  }
  .header-buttons .btn{
    width: auto !important;
    margin: 0 !important;
    padding: 8px 10px;
  }
  .header-buttons .phone-text{ display:none !important; }
}

/* === v16: mobile header three rows (logo+name, menu, icons) === */
@media (max-width: 768px){
  .header-content{
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 12px !important;
  }
  /* order rows */
  .header-content .logo{ order: 1 !important; margin-bottom: 2px; }
  .header-content nav{ order: 2 !important; width: 100%; }
  .header-content nav ul{
    display:flex; flex-wrap: wrap; justify-content: center; gap: 12px;
    padding: 0; margin: 0;
  }
  .header-buttons{
    order: 3 !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: center;
    justify-content: center !important;
    gap: 10px !important;
    width: 100% !important;
    margin: 0 !important;
  }
  .header-buttons .btn{
    width: auto !important;
    margin: 0 !important;
    padding: 8px 10px !important;
  }
  /* phone number text hidden on mobile, icon only */
  .header-buttons .phone-text{ display: none !important; }
}

/* === v22: normalize icons in "Объекты экспертизы" on mobile === */
.objects .card img,
.objects-expertise .icon img,
.objects-expertise .icon svg{
  display:block;
  margin:0 auto 10px;
  object-fit:contain;
}
@media (max-width: 768px){
  .objects .card img,
  .objects-expertise .icon img,
  .objects-expertise .icon svg{
    width: 72px !important;
    height: 72px !important;
    max-width: 72px !important;
    max-height: 72px !important;
  }
  .objects .card h3,
  .objects-expertise .card h3{
    text-align:center;
  }
}

/* === v23: hard normalize icons in "Объекты экспертизы" (all types) === */
@media (max-width: 1024px){
  /* create a virtual icon box */
  .objects .card, .objects-expertise .card{
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
  }
  .objects .card :is(img, svg, i, .le-svg, .wp-block-image img){
    display:block !important;
    width: 64px !important;
    height: 64px !important;
    max-width: 64px !important;
    max-height: 64px !important;
    aspect-ratio: 1 / 1 !important;
    object-fit: contain !important;
    margin: 0 auto 10px !important;
    line-height: 1 !important;
    vertical-align: middle !important;
  }
  /* if icons drawn via background */
  .objects .card .icon, .objects-expertise .icon{
    width: 64px !important;
    height: 64px !important;
    background-size: contain !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
    margin: 0 auto 10px !important;
  }
  /* remove stray padding/margins */
  .objects .card .wp-block-image{ margin: 0 !important; }
  .objects .card h3{ margin-top: 2px !important; }
}

/* === v24: absolute normalization for "Объекты экспертизы" icons === */
/* 1) If иконки как псевдоэлементы перед заголовками */
.objects h3::before,
.objects-expertise h3::before,
.section-objects h3::before {
  content: "" !important;
  display: block !important;
  width: 64px !important;
  height: 64px !important;
  background-size: contain !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  margin: 0 auto 10px !important;
}
.objects h3,
.objects-expertise h3,
.section-objects h3 {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;
}

/* 2) Если иконки внутри IMG/SVG/I */
.objects :is(img, svg, i, .le-svg, .wp-block-image img),
.objects-expertise :is(img, svg, i, .le-svg, .wp-block-image img),
.section-objects :is(img, svg, i, .le-svg, .wp-block-image img){
  display:block !important;
  width:64px !important;
  height:64px !important;
  max-width:64px !important;
  max-height:64px !important;
  aspect-ratio: 1 / 1 !important;
  object-fit: contain !important;
  margin:0 auto 10px !important;
  line-height:1 !important;
  vertical-align:middle !important;
}

/* 3) Если иконки заданы через background на .icon */
.objects .icon, .objects-expertise .icon, .section-objects .icon{
  width:64px !important;
  height:64px !important;
  background-size: contain !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  margin:0 auto 10px !important;
}

/* 4) Выровнять карточки */
.objects .card, .objects-expertise .card, .section-objects .card{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  text-align:center !important;
}

/* === v25: reinforce icon box for 'Объекты экспертизы' */
@media (max-width: 768px){
  .objects-expertise .card .icon-box,
  .objects .card .icon-box{
    width:64px !important; height:64px !important;
    display:flex !important; align-items:center !important; justify-content:center !important;
    margin:0 auto 10px !important;
  }
  .objects-expertise .card .icon-box > :is(img,svg,i),
  .objects .card .icon-box > :is(img,svg,i){
    max-width:100% !important; max-height:100% !important; object-fit:contain !important;
  }
}

/* === v26: uniform icon sizing in 'Объекты экспертизы' (mobile) === */
@media (max-width: 768px){
  .objects, .objects-expertise, .section-objects { --obj-icon-size: 40px; }
  /* Common icon wrappers used in cards */
  .objects .card .icon, .objects .card .card-icon, .objects .card .card__icon, .objects .card .icon-badge,
  .objects-expertise .card .icon, .objects-expertise .card .card-icon, .objects-expertise .card .card__icon, .objects-expertise .card .icon-badge,
  .section-objects .card .icon, .section-objects .card .card-icon, .section-objects .card .card__icon, .section-objects .card .icon-badge{
    width: var(--obj-icon-size) !important;
    height: var(--obj-icon-size) !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    margin: 0 auto 10px !important;
  }
  /* Direct media elements */
  .objects .card :is(svg,img),
  .objects-expertise .card :is(svg,img),
  .section-objects .card :is(svg,img){
    width: var(--obj-icon-size) !important;
    height: var(--obj-icon-size) !important;
    max-width: var(--obj-icon-size) !important;
    max-height: var(--obj-icon-size) !important;
    object-fit: contain !important;
    display:block !important;
    margin: 0 auto 10px !important;
  }
  /* Font-icon tags */
  .objects .card i,
  .objects-expertise .card i,
  .section-objects .card i{
    font-size: var(--obj-icon-size) !important;
    line-height: var(--obj-icon-size) !important;
    width: var(--obj-icon-size) !important;
    height: var(--obj-icon-size) !important;
    display:block !important;
    margin: 0 auto 10px !important;
  }
  /* Background icons */
  .objects .card .icon, .objects-expertise .card .icon, .section-objects .card .icon{
    background-size: contain !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
  }
}


/* === Mobile fix: normalize icon sizes in "Объекты экспертизы" === */
@media (max-width: 768px){
  #objects .object-image{
    height: 150px; /* keep section visual height */
    display:flex;
    align-items:center;
    justify-content:center;
  }
  #objects .object-icon{
    display:inline-flex;
    width:72px;
    height:72px;
    align-items:center;
    justify-content:center;
    font-size:48px;
    line-height:1;
    flex:0 0 72px;
  }
}
/* === End mobile fix === */


/* === Mobile icon normalization v2 === */
@media (max-width: 768px){
  #objects .object-image{
    height: 150px;
    display:flex;
    align-items:center;
    justify-content:center;
  }
  #objects .object-icon{
    display:inline-block;
    width:72px;
    height:72px;
    line-height:72px;
    text-align:center;
    font-size:60px;
    vertical-align:middle;
    transform-origin:center center;
  }
  /* Per-glyph optical tweaks (Font Awesome glyph boxes differ) */
  #objects .fa-cogs,
  #objects .fa-cog,
  #objects .fa-tools{
    transform: scale(1.15);
  }
  #objects .fa-gas-pump,
  #objects .fa-car,
  #objects .fa-car-side{
    transform: scale(0.92);
  }
}
/* === End Mobile icon normalization v2 === */


/* === Mobile icon strict normalization v3 === */
@media (max-width: 768px){
  #objects .object-image{
    height: 150px;
    display:flex;
    align-items:center;
    justify-content:center;
  }
  #objects .object-icon{
    width:64px;
    height:64px;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:40px !important;
    line-height:1 !important;
    flex-shrink:0;
    box-sizing:content-box;
  }
}
/* === End Mobile icon strict normalization v3 === */


/* === Mobile icon normalization v3 (more tweaks) === */
@media (max-width: 768px){
  #objects .object-icon{ /* base box */
    display:inline-block;
    width:72px; height:72px;
    line-height:72px; text-align:center;
    font-size:60px; vertical-align:middle;
    transform-origin:center center;
  }
  /* Gear-like icons can look visually smaller */
  #objects .fa-cogs, #objects .fa-cog, #objects .fa-tools{ transform: scale(1.18); }
  /* Vehicle silhouettes read smaller */
  #objects .fa-car, #objects .fa-car-side, #objects .fa-gas-pump{ transform: scale(1.04); }
  /* Car crash tends to be tiny in FA */
  #objects .fa-car-crash{ transform: scale(1.28); }
  /* Warning triangle is optically large */
  #objects .fa-exclamation-triangle{ transform: scale(0.88); }
}
/* === End v3 === */


/* === Mobile icon normalization v4 (strong override) === */
@media (max-width: 768px){
  #objects .object-image{
    height: 140px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
  }
  #objects .object-icon{
    display:inline-block !important;
    width:72px !important; height:72px !important;
    line-height:72px !important; text-align:center !important;
    font-size:64px !important; vertical-align:middle !important;
    transform-origin:center center !important;
  }
  /* Optical tweaks */
  #objects .fa-exclamation-triangle{ transform: scale(1.35) !important; }
  #objects .fa-car-crash{ transform: scale(1.35) !important; }
  #objects .fa-cogs, 
  #objects .fa-cog, 
  #objects .fa-tools{ transform: scale(1.18) !important; }
  #objects .fa-car, 
  #objects .fa-car-side, 
  #objects .fa-gas-pump{ transform: scale(1.08) !important; }
}
/* === End v4 === */


/* === Mobile fix v5: uniform object cards and centered content === */
@media (max-width: 768px){
  #objects .objects-grid{
    display:grid !important;
    grid-template-columns: 1fr !important;
    gap:20px !important;
  }
  #objects .object-card{
    width:100% !important;
    height:240px !important;
    display:flex !important;
    flex-direction:column !important;
    justify-content:center !important;
    align-items:center !important;
    text-align:center !important;
  }
  #objects .object-image{
    flex:0 0 auto !important;
    height:auto !important;
    display:flex !important;
    justify-content:center !important;
    align-items:center !important;
    background:none !important;
    margin-bottom:12px !important;
  }
  #objects .object-icon{
    width:72px !important;
    height:72px !important;
    font-size:56px !important;
    line-height:72px !important;
    text-align:center !important;
    display:inline-flex !important;
    justify-content:center !important;
    align-items:center !important;
  }
  #objects .object-content{
    flex:0 0 auto !important;
    display:flex !important;
    justify-content:center !important;
    align-items:center !important;
  }
  #objects .object-content h3{
    margin:0 !important;
    text-align:center !important;
  }
}
/* === End Mobile fix v5 === */


/* === Mobile fix v6: restore gradient color section and keep uniform sizing === */
@media (max-width: 768px){
  #objects .object-card{
    width:100% !important;
    height:240px !important;
    display:flex !important;
    flex-direction:column !important;
    justify-content:center !important;
    align-items:center !important;
    text-align:center !important;
    background: var(--dark-card-alt) !important;
  }
  /* Restore blue gradient header area with fixed height */
  #objects .object-image{
    height:140px !important;
    width:100% !important;
    display:flex !important;
    justify-content:center !important;
    align-items:center !important;
    background: linear-gradient(45deg, #1e40af, #3b82f6) !important;
    color:#fff !important;
    margin:0 !important;
    flex:0 0 auto !important;
  }
  #objects .object-icon{
    width:72px !important;
    height:72px !important;
    font-size:56px !important;
    line-height:72px !important;
    text-align:center !important;
    display:inline-flex !important;
    justify-content:center !important;
    align-items:center !important;
    color:#fff !important;
  }
  #objects .object-content{
    height: calc(240px - 140px) !important; /* remaining space for title */
    display:flex !important;
    justify-content:center !important;
    align-items:center !important;
    padding: 0 16px !important;
    background: transparent !important;
  }
  #objects .object-content h3{
    margin:0 !important;
    text-align:center !important;
  }
}
/* === End v6 === */


/* === New SVG Icons mapping for Objects (non-destructive) === */
#objects .object-image .object-icon{
  display:inline-block;
  width:1em; height:1em; /* scales with existing font-size (desktop) */
  background-size:contain; background-position:center; background-repeat:no-repeat;
  color:transparent !important; /* hide FA glyph */
  text-indent:-9999px; overflow:hidden;
}
/* Map FA classes to our SVGs */
#objects .fa-cogs.object-icon{ background-image:url('assets/icons/engine.svg'); }
#objects .fa-cog.object-icon{ background-image:url('assets/icons/transmission.svg'); }
#objects .fa-gas-pump.object-icon{ background-image:url('assets/icons/fuel.svg'); }
#objects .fa-car-side.object-icon{ background-image:url('assets/icons/suspension.svg'); }
#objects .fa-car.object-icon{ background-image:url('assets/icons/body.svg'); }
#objects .fa-exclamation-triangle.object-icon{ background-image:url('assets/icons/damage.svg'); }
#objects .fa-car-crash.object-icon{ background-image:url('assets/icons/crash.svg'); }

@media (max-width: 768px){
  #objects .object-image .object-icon{ width:72px; height:72px; } /* aligns with mobile sizing */
}
/* === End mapping === */


/* === PRICES-ONLY FIX v1 (safe, CSS-only) === */
/* Скрываем списки опций: превращаем их в пустой контейнер для описания */
#prices .price-features{ list-style:none !important; padding:0 !important; margin-top:8px !important; }
#prices .price-features li{ display:none !important; }

/* Описания под ценой для каждой карточки (по порядку) */
#prices .price-card:nth-of-type(1) .price-features::before,
#prices .price-card:nth-of-type(2) .price-features::before{
  content:"Стоимость указана за экспертизу I категории сложности. Итоговая стоимость зависит от поставленных вопросов.";
  display:block; margin:10px 0 0; font-size:.95rem; line-height:1.45; color:#b9c3d0;
}
#prices .price-card:nth-of-type(3) .price-features::before{
  content:"Юридическая поддержка профессиональных автоюристов по любым вопросам, связанным с транспортными средствами. Наши специалисты оказывают широкий спектр услуг от консультации и составления документации до представительства в суде и решения страховых споров. Мы поможем защитить ваши интересы!";
  display:block; margin:10px 0 0; font-size:.95rem; line-height:1.45; color:#b9c3d0;
}

/* Перекрываем цену в 1-й карточке на 'от 15 000 ₽' (не трогаем разметку) */
#prices .price-card:nth-of-type(1) .price{ position:relative; color:transparent !important; }
#prices .price-card:nth-of-type(1) .price span{ display:none !important; }
#prices .price-card:nth-of-type(1) .price::after{
  content:"от 15 000 ₽";
  position:absolute; inset:0;
  display:flex; align-items:center; justify-content:center;
  color:#fff; font:inherit; letter-spacing:.2px;
}
/* === /PRICES-ONLY FIX v1 === */


/* === PRICES: выравнивание кнопок "Заказать" по низу === */
#prices .price-card{
  display:flex !important;
  flex-direction:column !important;
  align-items:stretch !important;
  height:100%;
}
#prices .price-card .price,
#prices .price-card .price-desc,
#prices .price-card .price-features{ margin-bottom:16px; }

#prices .price-card .btn,
#prices .price-card a.btn,
#prices .price-card .button,
#prices .price-card a.button,
#prices .price-card button,
#prices .price-card .btn-primary,
#prices .price-card .btn-order,
#prices .price-card a[href*="order"],
#prices .price-card a[href*="zakaz"],
#prices .price-card a[href*="заказ"],
#prices .price-card a[href*="Заказать"]{
  margin-top:auto !important;
  align-self:center;
}
/* вытянуть колонки одинаковой высоты, если родитель — flex/grid */
#prices .row, #prices .prices-grid, #prices .cards, #prices .container > .row{
  align-items:stretch !important;
}
/* === /PRICES: выравнивание кнопок === */
