/*
Theme Name: Onilov Group
Theme URI: https://onilov.com
Author: Gabriel Onilov
Description: Tema custom Onilov Group — administrare imobile Bucuresti. Setup automat la activare (pagini, meniuri, homepage), meniu cu dropdown pe servicii, galerie cu lightbox, zone shortcode pentru Forminator si CTA.
Version: 2.0.0
Requires at least: 6.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
Text Domain: onilov
*/
:root {
            --primary: #1a2b4a;
            --primary-light: #2d4a7a;
            --accent: #c8a45c;
            --accent-light: #e8c96d;
            --accent-dark: #a8843c;
            --brand: #0056ff;
            --brand-dark: #0042c4;
            --brand-light: #3d7bff;
            --text: #2c3e50;
            --text-light: #5a6c7d;
            --text-muted: #8899aa;
            --bg: #ffffff;
            --bg-warm: #faf9f7;
            --bg-section: #f5f3ef;
            --bg-dark: #0f1a2e;
            --border: #e8e4df;
            --shadow-sm: 0 2px 8px rgba(26,43,74,0.06);
            --shadow-md: 0 8px 30px rgba(26,43,74,0.08);
            --shadow-lg: 0 20px 60px rgba(26,43,74,0.12);
            --radius: 16px;
            --radius-sm: 8px;
        }

        * { margin: 0; padding: 0; box-sizing: border-box; }

        html { scroll-behavior: smooth; }

        body {
            font-family: 'Inter', -apple-system, sans-serif;
            color: var(--text);
            line-height: 1.7;
            background: var(--bg);
            -webkit-font-smoothing: antialiased;
        }

        h1, h2, h3, h4 {
            font-family: 'Plus Jakarta Sans', 'Inter', sans-serif;
            line-height: 1.2;
            color: var(--primary);
        }

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

        /* NAV */
        .nav {
            position: fixed;
            top: 0;
            left: 0;
            right: 0;
            z-index: 1000;
            background: rgba(255,255,255,0.92);
            backdrop-filter: blur(20px);
            border-bottom: 1px solid var(--border);
            transition: all 0.3s ease;
        }

        .nav-inner {
            display: flex;
            align-items: center;
            justify-content: space-between;
            padding: 16px 24px;
            max-width: 1200px;
            margin: 0 auto;
        }

        .logo {
            display: inline-flex;
            align-items: center;
            gap: 11px;
            font-family: 'Plus Jakarta Sans', sans-serif;
            font-size: 1.5rem;
            font-weight: 800;
            color: var(--primary);
            text-decoration: none;
            letter-spacing: 0.5px;
        }

        .logo-img { height: 30px; width: auto; display: block; }
        .logo span { color: var(--accent); }

        .nav-links {
            display: flex;
            gap: 32px;
            list-style: none;
            align-items: center;
        }

        .nav-links a {
            text-decoration: none;
            color: var(--text);
            font-size: 0.9rem;
            font-weight: 500;
            transition: color 0.2s;
        }

        .nav-links a:hover { color: var(--accent); }

        .nav-cta {
            background: var(--brand);
            color: #fff !important;
            padding: 10px 24px;
            border-radius: 50px;
            font-weight: 600;
            transition: all 0.3s;
        }

        .nav-cta:hover {
            background: var(--brand-dark);
            transform: translateY(-1px);
            box-shadow: 0 8px 24px rgba(0,86,255,0.3);
        }

        .mobile-toggle {
            display: none;
            background: none;
            border: none;
            cursor: pointer;
            padding: 8px;
        }

        .mobile-toggle span {
            display: block;
            width: 24px;
            height: 2px;
            background: var(--primary);
            margin: 6px 0;
            transition: 0.3s;
        }

        .mobile-toggle.open span:nth-child(1) { transform: translateY(8px) rotate(45deg); }
        .mobile-toggle.open span:nth-child(2) { opacity: 0; }
        .mobile-toggle.open span:nth-child(3) { transform: translateY(-8px) rotate(-45deg); }

        /* MOBILE MENU */
        .mobile-menu {
            position: fixed;
            top: 0;
            right: 0;
            bottom: 0;
            width: min(320px, 84vw);
            background: #fff;
            z-index: 1100;
            padding: 88px 32px 32px;
            transform: translateX(100%);
            transition: transform 0.35s cubic-bezier(0.4,0,0.2,1);
            box-shadow: -20px 0 60px rgba(15,26,46,0.18);
            display: flex;
            flex-direction: column;
            gap: 4px;
        }

        .mobile-menu.open { transform: translateX(0); }

        .mobile-menu a {
            text-decoration: none;
            color: var(--text);
            font-size: 1.05rem;
            font-weight: 500;
            padding: 14px 0;
            border-bottom: 1px solid var(--border);
            transition: color 0.2s;
        }

        .mobile-menu a:hover { color: var(--brand); }

        .mobile-menu a.mm-cta {
            margin-top: 20px;
            background: var(--brand);
            color: #fff;
            text-align: center;
            border: none;
            border-radius: 50px;
            padding: 15px;
            font-weight: 600;
        }

        .mobile-overlay {
            position: fixed;
            inset: 0;
            background: rgba(15,26,46,0.4);
            backdrop-filter: blur(2px);
            z-index: 1090;
            opacity: 0;
            visibility: hidden;
            transition: all 0.35s;
        }

        .mobile-overlay.open { opacity: 1; visibility: visible; }

        body.menu-open { overflow: hidden; }

        /* HERO */
        .hero {
            padding: 180px 0 120px;
            position: relative;
            overflow: hidden;
            background: linear-gradient(115deg, rgba(15,26,46,0.95) 0%, rgba(26,43,74,0.85) 45%, rgba(26,43,74,0.45) 100%),
                        url('assets/img/hero.jpg');
            background-size: cover;
            background-position: center;
        }

        .hero::after {
            content: '';
            position: absolute;
            bottom: 0;
            left: 0;
            right: 0;
            height: 120px;
            background: linear-gradient(to top, var(--bg), transparent);
        }

        .hero .container {
            position: relative;
            z-index: 1;
        }

        .hero h1, .hero .hero-text, .hero .hero-feature { color: #fff; }
        .hero h1 { color: #fff; }
        .hero .hero-text { color: rgba(255,255,255,0.82); }
        .hero .hero-feature { color: rgba(255,255,255,0.92); }
        .hero-badge {
            background: rgba(200,164,92,0.18);
            border-color: rgba(200,164,92,0.45);
            color: var(--accent-light);
        }
        .hero .btn-secondary {
            color: #fff;
            border-color: rgba(255,255,255,0.3);
        }
        .hero .btn-secondary:hover {
            border-color: var(--accent);
            color: var(--accent-light);
            background: rgba(200,164,92,0.1);
        }
        .hero .hero-feature-icon {
            background: rgba(255,255,255,0.1);
        }

        .hero-badge {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            background: rgba(200,164,92,0.12);
            border: 1px solid rgba(200,164,92,0.3);
            padding: 8px 18px;
            border-radius: 50px;
            font-size: 0.82rem;
            font-weight: 600;
            color: var(--accent-dark);
            margin-bottom: 32px;
            letter-spacing: 0.5px;
            text-transform: uppercase;
        }

        .hero h1 {
            font-family: 'Playfair Display', serif;
            font-size: clamp(2.6rem, 5.2vw, 4rem);
            font-weight: 600;
            max-width: 820px;
            margin-bottom: 28px;
            letter-spacing: -0.5px;
            line-height: 1.18;
        }

        .hero h1 .highlight { font-style: italic; }

        .section-header h2,
        .showcase-content h2,
        .cta-section h2 {
            font-family: 'Playfair Display', serif;
            font-weight: 600;
            letter-spacing: -0.3px;
        }

        .hero h1 .highlight {
            color: var(--accent);
            position: relative;
        }

        .hero-text {
            font-size: 1.15rem;
            color: var(--text-light);
            max-width: 620px;
            margin-bottom: 48px;
            line-height: 1.8;
        }

        .hero-actions {
            display: flex;
            gap: 16px;
            flex-wrap: wrap;
            margin-bottom: 64px;
        }

        .btn {
            display: inline-flex;
            align-items: center;
            gap: 10px;
            padding: 16px 36px;
            border-radius: 50px;
            font-size: 0.95rem;
            font-weight: 600;
            text-decoration: none;
            transition: all 0.3s ease;
            cursor: pointer;
            border: none;
        }

        .btn-primary {
            background: var(--brand);
            color: #fff;
            box-shadow: 0 4px 20px rgba(0,86,255,0.28);
        }

        .btn-primary:hover {
            background: var(--brand-dark);
            transform: translateY(-2px);
            box-shadow: 0 8px 30px rgba(0,86,255,0.35);
        }

        .btn-secondary {
            background: transparent;
            color: var(--primary);
            border: 2px solid var(--border);
        }

        .btn-secondary:hover {
            border-color: var(--accent);
            color: var(--accent-dark);
            background: rgba(200,164,92,0.05);
        }

        .btn-accent {
            background: var(--brand);
            color: #fff;
            box-shadow: 0 4px 20px rgba(0,86,255,0.3);
        }

        .btn-accent:hover {
            background: var(--brand-dark);
            transform: translateY(-2px);
            box-shadow: 0 8px 30px rgba(0,86,255,0.38);
        }

        .hero-features {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
            gap: 24px;
            max-width: 800px;
        }

        .hero-feature {
            display: flex;
            align-items: center;
            gap: 12px;
            font-size: 0.9rem;
            font-weight: 500;
            color: var(--text);
        }

        .hero-feature-icon {
            width: 36px;
            height: 36px;
            background: rgba(200,164,92,0.12);
            border-radius: 10px;
            display: flex;
            align-items: center;
            justify-content: center;
            flex-shrink: 0;
        }

        /* PROBLEM / SOLUTION */
        .problem-solution {
            padding: 100px 0;
            background: var(--bg);
        }

        .ps-grid {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 60px;
            align-items: start;
        }

        .ps-card {
            padding: 48px;
            border-radius: var(--radius);
            position: relative;
        }

        .ps-card.problem {
            background: #fef7f0;
            border: 1px solid #fde8d4;
        }

        .ps-card.solution {
            background: #f0f7f4;
            border: 1px solid #d4ede2;
        }

        .ps-card h3 {
            font-size: 1.4rem;
            margin-bottom: 20px;
            display: flex;
            align-items: center;
            gap: 12px;
        }

        .ps-card p {
            color: var(--text-light);
            line-height: 1.8;
        }

        .ps-card ul {
            list-style: none;
            margin-top: 16px;
        }

        .ps-card ul li {
            padding: 8px 0;
            padding-left: 28px;
            position: relative;
            color: var(--text-light);
        }

        .ps-card ul li::before {
            content: '';
            position: absolute;
            left: 0;
            top: 16px;
            width: 8px;
            height: 8px;
            border-radius: 50%;
        }

        .ps-card.problem ul li::before { background: #e8936c; }
        .ps-card.solution ul li::before { background: #4caf8a; }

        /* SHOWCASE */
        .showcase {
            padding: 100px 0;
            background: var(--bg);
        }

        .showcase-grid {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 64px;
            align-items: center;
        }

        .showcase-img {
            position: relative;
            border-radius: var(--radius);
            overflow: hidden;
            box-shadow: var(--shadow-lg);
            aspect-ratio: 4/3;
        }

        .showcase-img img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            display: block;
        }

        .showcase-badge {
            position: absolute;
            bottom: 24px;
            left: 24px;
            right: 24px;
            background: rgba(255,255,255,0.95);
            backdrop-filter: blur(10px);
            border-radius: var(--radius-sm);
            padding: 20px 24px;
            display: flex;
            gap: 28px;
        }

        .showcase-stat .num {
            font-family: 'Plus Jakarta Sans', sans-serif;
            font-size: 1.6rem;
            font-weight: 800;
            color: var(--primary);
        }

        .showcase-stat .lbl {
            font-size: 0.75rem;
            color: var(--text-light);
        }

        .showcase-content h2 {
            font-size: clamp(1.8rem, 3vw, 2.4rem);
            margin-bottom: 20px;
            letter-spacing: -0.5px;
        }

        .showcase-content > p {
            color: var(--text-light);
            margin-bottom: 28px;
            line-height: 1.8;
        }

        .showcase-list { list-style: none; }

        .showcase-list li {
            padding: 12px 0;
            padding-left: 36px;
            position: relative;
            color: var(--text);
            font-weight: 500;
            border-bottom: 1px solid var(--border);
        }

        .showcase-list li::before {
            content: '';
            position: absolute;
            left: 0;
            top: 14px;
            width: 22px;
            height: 22px;
            background: rgba(200,164,92,0.15);
            border-radius: 6px;
            background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' fill='none' stroke='%23a8843c' stroke-width='2.5' viewBox='0 0 24 24'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E");
            background-repeat: no-repeat;
            background-position: center;
        }

        @media (max-width: 968px) {
            .showcase-grid { grid-template-columns: 1fr; gap: 40px; }
        }

        /* SERVICES */
        .services {
            padding: 100px 0;
            background: var(--bg-section);
        }

        .section-header {
            text-align: center;
            margin-bottom: 64px;
        }

        .section-label {
            display: inline-block;
            font-size: 0.8rem;
            font-weight: 700;
            letter-spacing: 2px;
            text-transform: uppercase;
            color: var(--accent);
            margin-bottom: 16px;
        }

        .section-header h2 {
            font-size: clamp(2rem, 3.5vw, 2.8rem);
            margin-bottom: 16px;
            letter-spacing: -0.5px;
        }

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

        .services-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
            gap: 28px;
        }

        .service-card {
            background: #fff;
            border-radius: var(--radius);
            border: 1px solid var(--border);
            transition: all 0.4s ease;
            position: relative;
            overflow: hidden;
        }

        .service-card-img {
            height: 180px;
            background-size: cover;
            background-position: center;
            position: relative;
        }

        .service-card-img::after {
            content: '';
            position: absolute;
            inset: 0;
            background: linear-gradient(to top, rgba(26,43,74,0.35), transparent 60%);
        }

        .service-card-body { padding: 32px 36px 40px; }

        .service-card::before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            height: 4px;
            background: var(--accent);
            transform: scaleX(0);
            transition: transform 0.4s ease;
        }

        .service-card:hover {
            transform: translateY(-4px);
            box-shadow: var(--shadow-lg);
            border-color: transparent;
        }

        .service-card:hover::before { transform: scaleX(1); }

        .service-icon {
            width: 56px;
            height: 56px;
            background: linear-gradient(135deg, rgba(200,164,92,0.12), rgba(200,164,92,0.05));
            border-radius: 14px;
            display: flex;
            align-items: center;
            justify-content: center;
            margin-bottom: 24px;
            font-size: 1.5rem;
        }

        .service-card h3 {
            font-size: 1.2rem;
            margin-bottom: 12px;
            font-weight: 700;
        }

        .service-card p {
            color: var(--text-light);
            font-size: 0.95rem;
            line-height: 1.7;
        }

        .service-card .learn-more {
            display: inline-flex;
            align-items: center;
            gap: 6px;
            margin-top: 20px;
            font-size: 0.9rem;
            font-weight: 600;
            color: var(--accent-dark);
            text-decoration: none;
            transition: gap 0.3s;
        }

        .service-card:hover .learn-more { gap: 12px; }

        /* WHY ONILOV */
        .why-section {
            padding: 100px 0;
            background: var(--bg);
        }

        .why-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
            gap: 32px;
        }

        .why-item {
            padding: 32px;
            border-radius: var(--radius);
            background: var(--bg-warm);
            border: 1px solid var(--border);
            transition: all 0.3s;
        }

        .why-item:hover {
            background: #fff;
            box-shadow: var(--shadow-md);
        }

        .why-item h4 {
            font-size: 1.05rem;
            margin-bottom: 10px;
            font-weight: 700;
        }

        .why-item p {
            color: var(--text-light);
            font-size: 0.9rem;
        }

        /* GALLERY */
        .gallery {
            padding: 100px 0;
            background: var(--bg);
        }

        .gallery-grid {
            display: grid;
            grid-template-columns: repeat(4, 1fr);
            grid-auto-rows: 220px;
            gap: 16px;
        }

        .gallery-item {
            position: relative;
            overflow: hidden;
            border-radius: var(--radius-sm);
            cursor: pointer;
        }

        .gallery-item img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            transition: transform 0.6s ease;
        }

        .gallery-item::after {
            content: '';
            position: absolute;
            inset: 0;
            background: linear-gradient(to top, rgba(15,26,46,0.5), transparent 55%);
            opacity: 0;
            transition: opacity 0.4s;
        }

        .gallery-item:hover img { transform: scale(1.06); }
        .gallery-item:hover::after { opacity: 1; }

        .gallery-item .cap {
            position: absolute;
            left: 18px;
            bottom: 16px;
            color: #fff;
            font-size: 0.85rem;
            font-weight: 600;
            z-index: 1;
            opacity: 0;
            transform: translateY(8px);
            transition: all 0.4s;
        }

        .gallery-item:hover .cap { opacity: 1; transform: translateY(0); }

        .gallery-item.wide { grid-column: span 2; }
        .gallery-item.tall { grid-row: span 2; }

        @media (max-width: 768px) {
            .gallery-grid { grid-template-columns: 1fr 1fr; grid-auto-rows: 160px; }
            .gallery-item.wide { grid-column: span 2; }
            .gallery-item.tall { grid-row: span 1; }
        }

        /* PROCESS */
        .process {
            padding: 100px 0;
            color: #fff;
            position: relative;
            background: linear-gradient(rgba(15,26,46,0.94), rgba(15,26,46,0.97)),
                        url('assets/img/process-bg.jpg');
            background-size: cover;
            background-position: center;
            background-attachment: fixed;
        }

        .process .section-header h2 { color: #fff; }
        .process .section-header p { color: rgba(255,255,255,0.6); }

        .process-steps {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
            gap: 32px;
            margin-top: 60px;
        }

        .process-step {
            text-align: center;
            padding: 32px 20px;
            position: relative;
        }

        .step-number {
            width: 48px;
            height: 48px;
            background: var(--accent);
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            font-weight: 800;
            font-size: 1.1rem;
            color: #fff;
            margin: 0 auto 20px;
        }

        .process-step h4 {
            color: #fff;
            font-size: 1rem;
            margin-bottom: 10px;
        }

        .process-step p {
            color: rgba(255,255,255,0.55);
            font-size: 0.88rem;
            line-height: 1.6;
        }

        /* FAQ */
        .faq {
            padding: 100px 0;
            background: var(--bg-section);
        }

        .faq-list {
            max-width: 760px;
            margin: 0 auto;
        }

        .faq-item {
            background: #fff;
            border-radius: var(--radius-sm);
            margin-bottom: 12px;
            border: 1px solid var(--border);
            overflow: hidden;
        }

        .faq-question {
            padding: 24px 32px;
            font-weight: 600;
            font-size: 1rem;
            cursor: pointer;
            display: flex;
            justify-content: space-between;
            align-items: center;
            transition: background 0.2s;
        }

        .faq-question:hover { background: var(--bg-warm); }

        .faq-question::after {
            content: '+';
            font-size: 1.4rem;
            color: var(--accent);
            font-weight: 300;
            transition: transform 0.3s;
        }

        .faq-item.active .faq-question::after {
            transform: rotate(45deg);
        }

        .faq-answer {
            padding: 0 32px;
            max-height: 0;
            overflow: hidden;
            transition: all 0.3s ease;
        }

        .faq-item.active .faq-answer {
            padding: 0 32px 24px;
            max-height: 200px;
        }

        .faq-answer p {
            color: var(--text-light);
            font-size: 0.95rem;
            line-height: 1.7;
        }

        /* CTA */
        .cta-section {
            padding: 100px 0;
            background: linear-gradient(135deg, var(--primary) 0%, #243b5e 100%);
            text-align: center;
            position: relative;
            overflow: hidden;
        }

        .cta-section::before {
            content: '';
            position: absolute;
            top: -50%;
            left: 50%;
            transform: translateX(-50%);
            width: 1000px;
            height: 1000px;
            background: radial-gradient(circle, rgba(200,164,92,0.08) 0%, transparent 60%);
            border-radius: 50%;
        }

        .cta-section h2 {
            color: #fff;
            font-size: clamp(1.8rem, 3vw, 2.6rem);
            margin-bottom: 16px;
        }

        .cta-section p {
            color: rgba(255,255,255,0.7);
            font-size: 1.1rem;
            max-width: 560px;
            margin: 0 auto 40px;
        }

        .cta-actions {
            display: flex;
            gap: 16px;
            justify-content: center;
            flex-wrap: wrap;
            position: relative;
            z-index: 1;
        }

        /* FOOTER */
        .footer {
            padding: 80px 0 40px;
            background: var(--bg-dark);
            color: rgba(255,255,255,0.6);
        }

        .footer-grid {
            display: grid;
            grid-template-columns: 2fr 1fr 1fr 1fr;
            gap: 48px;
            margin-bottom: 60px;
        }

        .footer-brand p {
            margin-top: 16px;
            font-size: 0.9rem;
            line-height: 1.7;
        }

        .footer h4 {
            color: #fff;
            font-size: 0.9rem;
            font-weight: 700;
            margin-bottom: 20px;
            letter-spacing: 0.5px;
            text-transform: uppercase;
        }

        .footer-links {
            list-style: none;
        }

        .footer-links li { margin-bottom: 12px; }

        .footer-links a {
            color: rgba(255,255,255,0.5);
            text-decoration: none;
            font-size: 0.9rem;
            transition: color 0.2s;
        }

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

        .footer-bottom {
            border-top: 1px solid rgba(255,255,255,0.08);
            padding-top: 32px;
            display: flex;
            justify-content: space-between;
            align-items: center;
            font-size: 0.85rem;
        }

        .footer-bottom a {
            color: rgba(255,255,255,0.5);
            text-decoration: none;
        }

        .footer-bottom a:hover { color: var(--accent); }

        /* RESPONSIVE */
        @media (max-width: 968px) {
            .nav-links { display: none; }
            .mobile-toggle { display: block; }
            .ps-grid { grid-template-columns: 1fr; }
            .footer-grid { grid-template-columns: 1fr 1fr; }
        }

        @media (max-width: 640px) {
            .hero { padding: 130px 0 80px; }
            .hero-actions { flex-direction: column; }
            .btn { width: 100%; justify-content: center; }
            .services-grid { grid-template-columns: 1fr; }
            .process-steps { grid-template-columns: 1fr 1fr; }
            .footer-grid { grid-template-columns: 1fr; }
            .footer-bottom { flex-direction: column; gap: 12px; }
        }

/* ===== FIRSTESTATES TOUCHES ===== */
.section-label { position: relative; }
.section-header .section-label::before,
.section-header .section-label::after { content:''; display:inline-block; width:26px; height:1px; background:var(--accent); vertical-align:middle; margin:0 12px; opacity:.7; }

/* ===== SUBPAGE HERO ===== */
.page-hero{padding:170px 0 90px;position:relative;overflow:hidden;background:linear-gradient(120deg,rgba(15,26,46,.92),rgba(26,43,74,.72) 60%,rgba(26,43,74,.5)),var(--phi,url('assets/img/hero-generic.jpg'));background-size:cover;background-position:center;}
.page-hero::after{content:'';position:absolute;left:0;right:0;bottom:0;height:5px;background:var(--accent);}
.page-hero .container{position:relative;z-index:1;}
.breadcrumb{display:flex;gap:8px;align-items:center;font-size:.82rem;color:rgba(255,255,255,.6);margin-bottom:22px;}
.breadcrumb a{color:rgba(255,255,255,.72);text-decoration:none;}
.breadcrumb a:hover{color:var(--accent-light);}
.page-hero h1{font-family:'Playfair Display',serif;font-weight:600;color:#fff;font-size:clamp(2.1rem,4.4vw,3.3rem);max-width:880px;letter-spacing:-.5px;line-height:1.16;}
.page-hero .lead{color:rgba(255,255,255,.82);font-size:1.12rem;max-width:660px;margin-top:20px;line-height:1.75;}

/* ===== ARTICLE / PROSE ===== */
.page-body{padding:90px 0;background:var(--bg);}
.page-layout{display:grid;grid-template-columns:1fr 340px;gap:64px;align-items:start;}
.prose{max-width:800px;}
.prose h2{font-family:'Playfair Display',serif;font-weight:600;font-size:1.7rem;margin:44px 0 16px;letter-spacing:-.3px;}
.prose h2:first-child{margin-top:0;}
.prose h3{font-size:1.12rem;margin:26px 0 10px;}
.prose p{color:var(--text-light);margin-bottom:16px;line-height:1.85;}
.prose ul{list-style:none;margin:8px 0 22px;}
.prose ul li{position:relative;padding:9px 0 9px 34px;color:var(--text);border-bottom:1px solid var(--border);}
.prose ul li::before{content:'';position:absolute;left:0;top:13px;width:20px;height:20px;border-radius:6px;background:rgba(200,164,92,.15) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23a8843c' stroke-width='2.6' viewBox='0 0 24 24'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") no-repeat center;}
.sidebar-card{position:sticky;top:100px;background:var(--bg-dark);border-radius:var(--radius);padding:36px 32px;color:#fff;box-shadow:var(--shadow-lg);}
.sidebar-card h3{color:#fff;font-size:1.25rem;margin-bottom:12px;font-family:'Playfair Display',serif;font-weight:600;}
.sidebar-card p{color:rgba(255,255,255,.65);font-size:.92rem;margin-bottom:22px;}
.sidebar-card .btn{width:100%;justify-content:center;margin-bottom:12px;}
.sidebar-contact{margin-top:24px;padding-top:24px;border-top:1px solid rgba(255,255,255,.1);}
.sidebar-contact a{display:flex;gap:10px;align-items:center;color:rgba(255,255,255,.8);text-decoration:none;font-size:.92rem;margin-bottom:12px;}
.sidebar-contact a:hover{color:var(--accent-light);}
@media(max-width:968px){.page-layout{grid-template-columns:1fr;gap:40px;}.sidebar-card{position:static;}}
.feature-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;margin:30px 0;}
.feature-cards .fc{background:var(--bg-warm);border:1px solid var(--border);border-radius:var(--radius-sm);padding:24px;}
.feature-cards .fc h4{font-size:1rem;margin-bottom:8px;}
.feature-cards .fc p{font-size:.9rem;color:var(--text-light);margin:0;}

/* ===== FORMS ===== */
.form-section{padding:90px 0;background:var(--bg-section);}
.form-wrap{max-width:760px;margin:0 auto;background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:44px;box-shadow:var(--shadow-md);}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.form-field{display:flex;flex-direction:column;gap:7px;}
.form-field.full{grid-column:1/-1;}
.form-field label{font-size:.85rem;font-weight:600;color:var(--text);}
.form-field input,.form-field select,.form-field textarea{padding:13px 15px;border:1px solid var(--border);border-radius:var(--radius-sm);font-family:inherit;font-size:.95rem;color:var(--text);background:var(--bg-warm);transition:all .2s;}
.form-field input:focus,.form-field select:focus,.form-field textarea:focus{outline:none;border-color:var(--brand);background:#fff;box-shadow:0 0 0 3px rgba(0,86,255,.08);}
.form-field textarea{resize:vertical;min-height:110px;}
.form-check{display:flex;gap:10px;align-items:flex-start;font-size:.85rem;color:var(--text-light);}
.form-check input{margin-top:3px;}
.form-note{font-size:.85rem;color:var(--text-muted);margin-top:18px;line-height:1.6;}
@media(max-width:640px){.form-grid{grid-template-columns:1fr;}.form-wrap{padding:28px;}}
.contact-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;margin-bottom:48px;}
.contact-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:28px;text-align:center;}
.contact-card .ci{width:48px;height:48px;margin:0 auto 14px;border-radius:12px;background:rgba(0,86,255,.08);display:flex;align-items:center;justify-content:center;}
.contact-card h4{font-size:.95rem;margin-bottom:6px;}
.contact-card a,.contact-card p{color:var(--text-light);text-decoration:none;font-size:.92rem;}
.contact-card a:hover{color:var(--brand);}
.resource-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:22px;margin-top:10px;}
.resource-item{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:26px;transition:all .3s;display:flex;gap:18px;align-items:flex-start;}
.resource-item:hover{box-shadow:var(--shadow-md);transform:translateY(-2px);}
.resource-item .ri{width:44px;height:44px;flex-shrink:0;border-radius:10px;background:rgba(200,164,92,.14);display:flex;align-items:center;justify-content:center;}
.resource-item h4{font-size:1rem;margin-bottom:6px;}
.resource-item p{font-size:.88rem;color:var(--text-light);margin:0;}
.footer-contact{margin-top:16px;font-size:.9rem;line-height:1.9;}
.footer-contact a{color:rgba(255,255,255,.6);text-decoration:none;}
.footer-contact a:hover{color:var(--accent);}

/* ============================================
   WordPress core & tema — adaugiri v1.0
   ============================================ */
.screen-reader-text{clip:rect(1px,1px,1px,1px);position:absolute!important;height:1px;width:1px;overflow:hidden;}
.alignleft{float:left;margin:6px 24px 12px 0;}
.alignright{float:right;margin:6px 0 12px 24px;}
.aligncenter{display:block;margin:12px auto;}
.wp-caption{max-width:100%;}
.wp-caption-text{font-size:.85rem;color:var(--text-muted);text-align:center;margin-top:6px;}
img{max-width:100%;height:auto;}

/* Nav menu generat de WP */
.nav-links li{list-style:none;}
.nav-links .current-menu-item > a{color:var(--brand);}

/* Prose — stiluri pt editor Gutenberg */
.prose ol{margin:8px 0 22px 22px;}
.prose ol li{padding:6px 0;color:var(--text);}
.prose blockquote{border-left:3px solid var(--accent);padding:12px 20px;margin:20px 0;background:var(--bg-warm);border-radius:var(--radius-sm);color:var(--text-light);font-style:italic;}
.prose a{color:var(--brand);text-decoration:underline;text-underline-offset:3px;}
.prose table{width:100%;border-collapse:collapse;margin:22px 0;font-size:.95rem;}
.prose table th{background:var(--bg-section);text-align:left;}
.prose table th,.prose table td{border:1px solid var(--border);padding:10px 14px;}

/* ---------- Blog listing ---------- */
.blog-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:32px;margin-top:8px;}
.post-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-sm);transition:.25s;display:flex;flex-direction:column;}
.post-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);}
.post-card-img{height:200px;background-size:cover;background-position:center;background-color:var(--bg-section);display:block;}
.post-card-body{padding:26px 28px 30px;display:flex;flex-direction:column;flex:1;}
.post-card h2{font-size:1.15rem;margin-bottom:10px;}
.post-card h2 a{color:var(--primary);text-decoration:none;}
.post-card h2 a:hover{color:var(--brand);}
.post-card p{color:var(--text-light);font-size:.95rem;flex:1;}
.post-meta{font-size:.82rem;color:var(--text-muted);margin-bottom:10px;text-transform:uppercase;letter-spacing:.5px;}
.pagination{display:flex;gap:8px;justify-content:center;margin:48px 0 0;}
.pagination .page-numbers{padding:8px 16px;border:1px solid var(--border);border-radius:var(--radius-sm);text-decoration:none;color:var(--text);}
.pagination .page-numbers.current{background:var(--brand);color:#fff;border-color:var(--brand);}

/* ---------- Articol single: layout cu cuprins ---------- */
.single-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:64px;align-items:start;}
.toc-card{position:sticky;top:100px;background:var(--bg-warm);border:1px solid var(--border);border-radius:var(--radius);padding:26px 26px 20px;}
.toc-card h2{font-size:.8rem;text-transform:uppercase;letter-spacing:1.2px;color:var(--text-muted);margin-bottom:14px;font-family:'Inter',sans-serif;}
.toc-list{list-style:none;margin:0;padding:0;}
.toc-list li{padding:0;border:none;}
.toc-list li::before{display:none;}
.toc-list a{display:block;padding:7px 0;color:var(--text);text-decoration:none;font-size:.92rem;line-height:1.45;border-bottom:1px solid var(--border);}
.toc-list li:last-child a{border-bottom:none;}
.toc-list a:hover{color:var(--brand);}
.toc-list .toc-h3 a{padding-left:18px;font-size:.86rem;color:var(--text-light);}
.toc-aside .sidebar-card{position:static;margin-top:28px;}
.single-post-hero .post-meta{color:rgba(255,255,255,.7);margin-bottom:14px;}
.article-cta-zone{margin:40px 0;}
@media(max-width:968px){.single-layout{grid-template-columns:1fr;gap:36px;}.toc-card{position:static;}}

/* ---------- CTA box (shortcode [onilov_cta]) ---------- */
.cta-box{background:var(--bg-dark);color:#fff;border-radius:var(--radius);padding:34px 36px;margin:36px 0;box-shadow:var(--shadow-md);}
.cta-box h3{color:#fff;font-size:1.25rem;margin-bottom:8px;}
.cta-box p{color:rgba(255,255,255,.75);margin-bottom:18px;}
.cta-box .cta-actions{display:flex;gap:14px;flex-wrap:wrap;}

/* ---------- Sticky call-bar mobil ---------- */
.mobile-callbar{display:none;}
@media(max-width:768px){
  .mobile-callbar{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:900;background:var(--bg-dark);box-shadow:0 -6px 24px rgba(15,26,46,.25);}
  .mobile-callbar a{flex:1;text-align:center;padding:15px 8px;font-weight:600;font-size:.95rem;text-decoration:none;color:#fff;}
  .mobile-callbar a.cb-tel{background:var(--brand);}
  .mobile-callbar a.cb-oferta{background:var(--accent);color:var(--bg-dark);}
  body{padding-bottom:52px;}
}

/* ===== Dropdown submeniu (Servicii) ===== */
.nav-links li{position:relative;}
.nav-links .sub-menu{
  position:absolute;top:calc(100% + 10px);left:-14px;min-width:250px;
  background:#fff;border:1px solid var(--border);border-radius:14px;
  box-shadow:0 18px 44px rgba(15,26,46,.14);padding:10px;list-style:none;margin:0;
  opacity:0;visibility:hidden;transform:translateY(8px);
  transition:opacity .22s ease,transform .22s ease,visibility .22s;z-index:1200;
}
.nav-links .sub-menu::before{content:'';position:absolute;top:-12px;left:0;right:0;height:12px;}
.nav-links li:hover > .sub-menu,
.nav-links li:focus-within > .sub-menu,
.nav-links li.open > .sub-menu{opacity:1;visibility:visible;transform:translateY(0);}
.nav-links .sub-menu li{width:100%;}
.nav-links .sub-menu a{display:block;padding:10px 14px;border-radius:8px;font-size:.88rem;}
.nav-links .sub-menu a:hover{background:rgba(0,86,255,.06);color:var(--brand);}
.nav-links .menu-item-has-children > a::after{
  content:'';display:inline-block;margin-left:7px;width:7px;height:7px;
  border-right:1.8px solid currentColor;border-bottom:1.8px solid currentColor;
  transform:rotate(45deg) translateY(-2px);transition:transform .2s;vertical-align:middle;
}
.nav-links .menu-item-has-children:hover > a::after{transform:rotate(225deg) translateY(-1px);}
/* Submeniu în meniul mobil: indentat */
.mobile-menu a.mm-sub{padding-left:18px;font-size:.98rem;color:var(--text-muted, #5a6478);}

/* ===== Lightbox galerie ===== */
.gallery-item{cursor:zoom-in;}
.onilov-lightbox{
  position:fixed;inset:0;z-index:2000;background:rgba(10,16,28,.92);
  display:flex;align-items:center;justify-content:center;padding:32px;
  opacity:0;transition:opacity .25s ease;cursor:zoom-out;
}
.onilov-lightbox.show{opacity:1;}
.onilov-lightbox img{
  max-width:min(1200px,94vw);max-height:88vh;border-radius:12px;
  box-shadow:0 30px 80px rgba(0,0,0,.5);transform:scale(.96);transition:transform .25s ease;
}
.onilov-lightbox.show img{transform:scale(1);}
.onilov-lightbox .lb-cap{
  position:absolute;left:0;right:0;bottom:22px;text-align:center;color:#fff;
  font-size:.95rem;font-weight:500;text-shadow:0 2px 12px rgba(0,0,0,.6);
}
.onilov-lightbox .lb-close{
  position:absolute;top:18px;right:22px;background:none;border:none;color:#fff;
  font-size:2rem;line-height:1;cursor:pointer;opacity:.8;
}
.onilov-lightbox .lb-close:hover{opacity:1;}
