/* GM Starter — Custom Styles */
/* Site de prezentare — FĂRĂ WooCommerce */

/* ============================================
   RESET & BASE
   ============================================ */

*, *::before, *::after {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

img {
    max-width: 100%;
    height: auto;
}

/* ============================================
   TOP BAR
   ============================================ */

.starter-topbar {
    background: var(--wp--preset--color--secondary, #1E293B);
    color: #e2e8f0;
    padding: 8px 0;
    font-size: 0.85rem;
    letter-spacing: 0.01em;
}
.starter-topbar a {
    color: #e2e8f0;
    text-decoration: none;
    transition: color 0.2s;
}
.starter-topbar a:hover {
    color: var(--wp--preset--color--accent, #F59E0B);
}

/* ============================================
   HEADER
   ============================================ */

.starter-header {
    background: #fff;
    box-shadow: 0 1px 3px rgba(0,0,0,0.06), 0 1px 2px rgba(0,0,0,0.04);
    position: sticky;
    top: 0;
    z-index: 999;
    transition: box-shadow 0.3s;
}
.starter-header.scrolled {
    box-shadow: 0 4px 12px rgba(0,0,0,0.08);
}
.starter-header .wp-block-site-logo img {
    max-height: 55px;
    width: auto;
    transition: opacity 0.2s;
}

/* === Navigation === */

.starter-nav .wp-block-navigation-item a {
    padding: 12px 18px;
    font-weight: 500;
    transition: color 0.2s;
    position: relative;
}
.starter-nav .wp-block-navigation-item a::after {
    content: '';
    position: absolute;
    bottom: 4px;
    left: 18px;
    right: 18px;
    height: 2px;
    background: var(--wp--preset--color--primary, #14248a);
    transform: scaleX(0);
    transition: transform 0.25s ease;
}
.starter-nav .wp-block-navigation-item a:hover::after,
.starter-nav .wp-block-navigation-item.current-menu-item a::after {
    transform: scaleX(1);
}
.starter-nav .wp-block-navigation-item a:hover {
    color: var(--wp--preset--color--primary, #14248a) !important;
}

/* CTA button in nav */
.starter-nav-cta a {
    background: var(--wp--preset--color--primary, #14248a) !important;
    color: #fff !important;
    border-radius: 8px !important;
    padding: 10px 24px !important;
    font-weight: 600 !important;
    transition: all 0.3s !important;
}
.starter-nav-cta a::after {
    display: none !important;
}
.starter-nav-cta a:hover {
    background: var(--wp--preset--color--dark-primary, #0f1b68) !important;
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(37, 99, 235, 0.3);
}

/* ============================================
   HERO SECTION
   ============================================ */

.starter-hero {
    position: relative;
    overflow: hidden;
    padding: 100px 20px;
    text-align: center;
    min-height: 500px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.starter-hero h1 {
    font-size: clamp(2rem, 5vw, 3.5rem);
    margin-bottom: 1rem;
    line-height: 1.15;
    font-weight: 800;
}
.starter-hero p {
    font-size: clamp(1rem, 2vw, 1.25rem);
    opacity: 0.9;
    max-width: 650px;
    margin: 0 auto 2rem;
    line-height: 1.7;
}

/* Hero with gradient background */
.starter-hero-gradient {
    background: linear-gradient(135deg, var(--wp--preset--color--secondary, #1E293B) 0%, var(--wp--preset--color--dark-gray, #334155) 100%);
    color: #fff;
}
.starter-hero-gradient h1 { color: #fff; }

/* Hero with image background (use via wp:cover) */
.starter-hero-image {
    color: #fff;
}
.starter-hero-image h1 { color: #fff; }

/* Hero split (2 columns) */
.starter-hero-split {
    text-align: left;
    padding: 80px 20px;
}
.starter-hero-split h1 {
    margin-bottom: 1.5rem;
}
.starter-hero-split img {
    border-radius: 16px;
    box-shadow: 0 20px 40px rgba(0,0,0,0.1);
}

/* ============================================
   SECTION SHARED STYLES
   ============================================ */

.starter-section {
    padding: 80px 0;
}
.starter-section-alt {
    padding: 80px 0;
    background: var(--wp--preset--color--light-gray, #F8FAFC);
}
.starter-section-dark {
    padding: 80px 0;
    background: var(--wp--preset--color--secondary, #1E293B);
    color: #e2e8f0;
}
.starter-section-dark h2,
.starter-section-dark h3 {
    color: #fff;
}

.starter-section-title {
    text-align: center;
    margin-bottom: 16px;
    font-size: clamp(1.5rem, 3vw, 2.25rem);
}
.starter-section-subtitle {
    text-align: center;
    color: #64748b;
    max-width: 600px;
    margin: 0 auto 48px;
    font-size: 1.05rem;
}

/* ============================================
   SERVICE CARDS
   ============================================ */

.starter-services-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 24px;
}
.starter-service-card {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    padding: 32px 24px;
    text-align: center;
    transition: all 0.3s ease;
}
.starter-service-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 12px 32px rgba(0,0,0,0.08);
    border-color: var(--wp--preset--color--primary, #14248a);
}
.starter-service-card .icon {
    font-size: 2.5rem;
    margin-bottom: 16px;
    display: block;
}
.starter-service-card h3 {
    font-size: 1.15rem;
    margin-bottom: 12px;
}
.starter-service-card p {
    color: #64748b;
    font-size: 0.95rem;
    line-height: 1.6;
}
.starter-service-card a {
    display: inline-block;
    margin-top: 16px;
    color: var(--wp--preset--color--primary, #14248a);
    font-weight: 600;
    text-decoration: none;
    font-size: 0.9rem;
}
.starter-service-card a:hover {
    text-decoration: underline;
}

/* Services list (alternating layout) */
.starter-service-row {
    display: flex;
    align-items: center;
    gap: 48px;
    margin-bottom: 48px;
}
.starter-service-row:nth-child(even) {
    flex-direction: row-reverse;
}
.starter-service-row img {
    border-radius: 12px;
    max-width: 45%;
}

/* ============================================
   ABOUT / NUMBERS SECTION
   ============================================ */

.starter-numbers {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 32px;
    text-align: center;
}
.starter-number-item {
    padding: 24px;
}
.starter-number-item .number {
    font-size: clamp(2rem, 4vw, 3rem);
    font-weight: 800;
    color: var(--wp--preset--color--primary, #14248a);
    display: block;
    line-height: 1.1;
    margin-bottom: 8px;
}
.starter-number-item .label {
    color: #64748b;
    font-size: 0.95rem;
    font-weight: 500;
}

/* ============================================
   ADVANTAGES / FEATURES
   ============================================ */

.starter-advantages {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 32px;
}
.starter-advantage {
    text-align: center;
    padding: 32px 20px;
}
.starter-advantage .icon {
    font-size: 2.5rem;
    margin-bottom: 16px;
    display: block;
}
.starter-advantage h3 {
    font-size: 1.1rem;
    margin-bottom: 10px;
}
.starter-advantage p {
    color: #64748b;
    font-size: 0.95rem;
    line-height: 1.6;
}

/* ============================================
   PROCESS STEPS (Cum lucrăm)
   ============================================ */

.starter-process {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 32px;
    counter-reset: process;
}
.starter-process-step {
    text-align: center;
    padding: 24px;
    position: relative;
}
.starter-process-step::before {
    counter-increment: process;
    content: counter(process);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: var(--wp--preset--color--primary, #14248a);
    color: #fff;
    font-weight: 700;
    font-size: 1.2rem;
    margin-bottom: 16px;
}
.starter-process-step h3 {
    font-size: 1.05rem;
    margin-bottom: 8px;
}
.starter-process-step p {
    color: #64748b;
    font-size: 0.9rem;
}

/* ============================================
   PORTFOLIO / GALERIE
   ============================================ */

.starter-portfolio-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 20px;
}
.starter-portfolio-item {
    position: relative;
    overflow: hidden;
    border-radius: 12px;
    aspect-ratio: 4/3;
}
.starter-portfolio-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.4s ease;
}
.starter-portfolio-item:hover img {
    transform: scale(1.05);
}
.starter-portfolio-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(0,0,0,0.7) 0%, transparent 60%);
    display: flex;
    align-items: flex-end;
    padding: 20px;
    opacity: 0;
    transition: opacity 0.3s;
}
.starter-portfolio-item:hover .starter-portfolio-overlay {
    opacity: 1;
}
.starter-portfolio-overlay h3 {
    color: #fff;
    font-size: 1rem;
    margin: 0;
}

/* ============================================
   TESTIMONIALS
   ============================================ */

.starter-testimonials {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 24px;
}
.starter-testimonial {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    padding: 32px;
    position: relative;
}
.starter-testimonial::before {
    content: '"';
    position: absolute;
    top: 16px;
    left: 24px;
    font-size: 4rem;
    color: var(--wp--preset--color--primary, #14248a);
    opacity: 0.15;
    font-family: Georgia, serif;
    line-height: 1;
}
.starter-testimonial p {
    font-style: italic;
    color: #475569;
    line-height: 1.7;
    margin-bottom: 20px;
}
.starter-testimonial-author {
    font-weight: 600;
    color: var(--wp--preset--color--secondary, #1E293B);
}
.starter-testimonial-role {
    font-size: 0.85rem;
    color: #94a3b8;
}

/* ============================================
   TEAM
   ============================================ */

.starter-team-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 32px;
    text-align: center;
}
.starter-team-member img {
    width: 160px;
    height: 160px;
    border-radius: 50%;
    object-fit: cover;
    margin: 0 auto 16px;
    border: 4px solid var(--wp--preset--color--light-gray, #F8FAFC);
    box-shadow: 0 4px 12px rgba(0,0,0,0.08);
    transition: transform 0.3s;
}
.starter-team-member:hover img {
    transform: scale(1.05);
}
.starter-team-member h3 {
    font-size: 1.05rem;
    margin-bottom: 4px;
}
.starter-team-member p {
    color: #64748b;
    font-size: 0.9rem;
}

/* ============================================
   CTA BANNER
   ============================================ */

.starter-cta {
    background: linear-gradient(135deg, var(--wp--preset--color--primary, #14248a) 0%, var(--wp--preset--color--dark-primary, #0f1b68) 100%);
    color: #fff;
    padding: 72px 20px;
    text-align: center;
    border-radius: 20px;
    margin: 40px 0;
    position: relative;
    overflow: hidden;
}
.starter-cta::before {
    content: '';
    position: absolute;
    top: -50%;
    right: -20%;
    width: 400px;
    height: 400px;
    border-radius: 50%;
    background: rgba(255,255,255,0.05);
}
.starter-cta h2 {
    color: #fff;
    margin-bottom: 16px;
    font-size: clamp(1.5rem, 3vw, 2rem);
}
.starter-cta p {
    opacity: 0.9;
    margin-bottom: 24px;
    max-width: 500px;
    margin-left: auto;
    margin-right: auto;
}
.starter-cta .wp-block-button .wp-block-button__link {
    background: #fff;
    color: var(--wp--preset--color--primary, #14248a);
    font-weight: 700;
    border-radius: 8px;
    padding: 14px 32px;
    transition: all 0.3s;
}
.starter-cta .wp-block-button .wp-block-button__link:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(0,0,0,0.15);
}

/* ============================================
   PARTNERS / BRANDS
   ============================================ */

.starter-partners {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 40px;
    padding: 40px 0;
}
.starter-partners img {
    max-height: 45px;
    filter: grayscale(1);
    opacity: 0.5;
    transition: all 0.3s;
}
.starter-partners img:hover {
    filter: grayscale(0);
    opacity: 1;
}

/* ============================================
   FAQ / ACCORDION
   ============================================ */

.starter-faq details {
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    margin-bottom: 12px;
    overflow: hidden;
    transition: border-color 0.2s;
}
.starter-faq details[open] {
    border-color: var(--wp--preset--color--primary, #14248a);
}
.starter-faq summary {
    padding: 18px 24px;
    font-weight: 600;
    cursor: pointer;
    list-style: none;
    display: flex;
    justify-content: space-between;
    align-items: center;
    transition: background 0.2s;
}
.starter-faq summary:hover {
    background: var(--wp--preset--color--light-gray, #F8FAFC);
}
.starter-faq summary::after {
    content: '+';
    font-size: 1.5rem;
    font-weight: 300;
    color: var(--wp--preset--color--primary, #14248a);
    transition: transform 0.3s;
}
.starter-faq details[open] summary::after {
    content: '−';
}
.starter-faq details > div,
.starter-faq details > p {
    padding: 0 24px 18px;
    color: #64748b;
    line-height: 1.7;
}

/* ============================================
   CONTACT FORM (CF7)
   ============================================ */

.starter-contact-form {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    padding: 40px;
}

.global-cf7-row {
    display: flex;
    gap: 16px;
    margin-bottom: 16px;
}
.global-cf7-col {
    flex: 1;
}
.global-cf7-col label {
    display: block;
    font-weight: 600;
    font-size: 0.9rem;
    color: var(--wp--preset--color--dark-gray, #334155);
    margin-bottom: 6px;
}

.starter-contact-form .wpcf7-form-control:not(.wpcf7-submit) {
    width: 100%;
    padding: 12px 16px;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    font-size: 1rem;
    background: #f9fafb;
    transition: border-color 0.2s, box-shadow 0.2s;
    box-sizing: border-box;
}
.starter-contact-form .wpcf7-form-control:focus {
    outline: none;
    border-color: var(--wp--preset--color--primary, #14248a);
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.1);
    background: #fff;
}
.starter-contact-form textarea.wpcf7-form-control {
    min-height: 120px;
    resize: vertical;
}
.starter-contact-form .wpcf7-submit {
    background: var(--wp--preset--color--primary, #14248a);
    color: #fff;
    border: none;
    padding: 14px 32px;
    font-weight: 700;
    font-size: 1.05rem;
    border-radius: 8px;
    cursor: pointer;
    width: 100%;
    transition: background 0.3s, transform 0.2s;
    margin-top: 8px;
}
.starter-contact-form .wpcf7-submit:hover {
    background: var(--wp--preset--color--dark-primary, #0f1b68);
    transform: translateY(-1px);
}
.starter-contact-form .wpcf7-not-valid-tip {
    color: #EF4444;
    font-size: 0.8rem;
    margin-top: 4px;
}
.starter-contact-form .wpcf7-response-output {
    border-radius: 8px !important;
    padding: 12px 16px !important;
}

/* ============================================
   FOOTER
   ============================================ */

.starter-footer {
    background: var(--wp--preset--color--secondary, #1E293B);
    color: #94a3b8;
    padding: 64px 0 24px;
}
.starter-footer h3,
.starter-footer h4 {
    color: #f1f5f9;
    font-size: 1.05rem;
    margin-bottom: 20px;
    position: relative;
    padding-bottom: 12px;
}
.starter-footer h3::after,
.starter-footer h4::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 32px;
    height: 2px;
    background: var(--wp--preset--color--primary, #14248a);
}
.starter-footer a {
    color: #94a3b8;
    text-decoration: none;
    transition: color 0.2s;
}
.starter-footer a:hover {
    color: var(--wp--preset--color--accent, #F59E0B);
}
.starter-footer-bottom {
    border-top: 1px solid #334155;
    padding-top: 24px;
    margin-top: 48px;
    text-align: center;
    font-size: 0.85rem;
    color: #64748b;
}
.starter-footer-bottom a {
    color: #94a3b8;
}
.starter-footer-bottom a:hover {
    color: #f1f5f9;
}

/* Social links */
.starter-social {
    display: flex;
    gap: 12px;
    margin-top: 16px;
}
.starter-social a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 8px;
    background: rgba(255,255,255,0.05);
    color: #94a3b8;
    transition: all 0.3s;
    font-size: 1.1rem;
}
.starter-social a:hover {
    background: var(--wp--preset--color--primary, #14248a);
    color: #fff;
    transform: translateY(-2px);
}

/* ============================================
   WHATSAPP FLOAT
   ============================================ */

.starter-whatsapp-float {
    position: fixed;
    bottom: 24px;
    right: 24px;
    background: #25D366;
    width: 56px;
    height: 56px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 15px rgba(37, 211, 102, 0.35);
    z-index: 9999;
    transition: transform 0.3s, box-shadow 0.3s;
}
.starter-whatsapp-float:hover {
    transform: scale(1.1);
    box-shadow: 0 6px 20px rgba(37, 211, 102, 0.5);
}

/* ============================================
   SCROLL TO TOP
   ============================================ */

.starter-scroll-top {
    position: fixed;
    bottom: 24px;
    right: 92px;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: var(--wp--preset--color--secondary, #1E293B);
    color: #fff;
    border: none;
    cursor: pointer;
    display: none;
    align-items: center;
    justify-content: center;
    z-index: 9998;
    transition: all 0.3s;
    box-shadow: 0 2px 8px rgba(0,0,0,0.15);
}
.starter-scroll-top:hover {
    background: var(--wp--preset--color--primary, #14248a);
    transform: translateY(-2px);
}
.starter-scroll-top.visible {
    display: flex;
}

/* ============================================
   BREADCRUMB
   ============================================ */

.starter-breadcrumb {
    padding: 16px 0;
    font-size: 0.85rem;
    color: #94a3b8;
}
.starter-breadcrumb a {
    color: var(--wp--preset--color--primary, #14248a);
    text-decoration: none;
}
.starter-breadcrumb a:hover {
    text-decoration: underline;
}

/* ============================================
   CUSTOM SELECTION
   ============================================ */

::selection {
    background-color: var(--wp--preset--color--primary, #14248a);
    color: #fff;
}

/* ============================================
   ANIMATIONS — Subtle fade-in on scroll
   ============================================ */

.starter-fade-in {
    opacity: 0;
    transform: translateY(24px);
    transition: opacity 0.6s ease, transform 0.6s ease;
}
.starter-fade-in.visible {
    opacity: 1;
    transform: translateY(0);
}

/* ============================================
   RESPONSIVE
   ============================================ */

@media (max-width: 768px) {
    .starter-hero {
        padding: 60px 16px;
        min-height: 400px;
    }
    .starter-section,
    .starter-section-alt,
    .starter-section-dark {
        padding: 48px 0;
    }
    .starter-services-grid,
    .starter-advantages,
    .starter-numbers {
        grid-template-columns: 1fr;
        gap: 16px;
    }
    .starter-portfolio-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 12px;
    }
    .starter-testimonials {
        grid-template-columns: 1fr;
    }
    .starter-team-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 24px;
    }
    .starter-service-row {
        flex-direction: column !important;
        gap: 24px;
    }
    .starter-service-row img {
        max-width: 100%;
    }
    .starter-cta {
        padding: 48px 16px;
        border-radius: 12px;
        margin: 20px 0;
    }
    .global-cf7-row {
        flex-direction: column;
        gap: 12px;
    }
    .starter-contact-form {
        padding: 24px;
    }
    .starter-process {
        grid-template-columns: 1fr;
    }
    .starter-footer {
        padding: 40px 0 20px;
    }
}

@media (max-width: 480px) {
    .starter-portfolio-grid {
        grid-template-columns: 1fr;
    }
    .starter-team-grid {
        grid-template-columns: 1fr;
    }
    .starter-hero h1 {
        font-size: 1.75rem;
    }
}

/* ============================================
   PRINT STYLES
   ============================================ */

@media print {
    .starter-whatsapp-float,
    .starter-scroll-top,
    .starter-topbar {
        display: none !important;
    }
    .starter-header {
        position: static;
        box-shadow: none;
    }
}

/* ============================================================
   VICONT EXPERT — Design premium navy (gm-*)
   ============================================================ */
:root{
  --navy:#14248a; --navy-deep:#101c6c; --navy-dark:#0c1656;
  --gold:#B08D57; --gold-soft:#c9a877;
  --steel:#8A94A6; --steel-line:#D6DBE3;
  --ink:#2A2F3A; --muted:#5B6472; --paper:#F4F6F9;
}
body{ color:var(--ink); }
h1,h2,h3,h4{ font-family:'Marcellus',serif; color:var(--navy); font-weight:400; letter-spacing:.2px; }

.gm-container{ max-width:1200px; margin:0 auto; padding-inline:24px; }
.gm-center{ text-align:center; }

/* Eyebrow + section heads */
.gm-eyebrow{ display:inline-block; font-family:'Jost',sans-serif; text-transform:uppercase; letter-spacing:.18em;
  font-size:.72rem; font-weight:600; color:var(--gold); margin-bottom:12px; }
.gm-head-center{ text-align:center; max-width:680px; margin:0 auto 44px; }
.gm-head-center h2{ font-size:clamp(1.7rem,3.2vw,2.5rem); margin:0 0 14px; }
.gm-head-center p{ color:var(--muted); font-size:1.05rem; line-height:1.7; margin:0; }
.gm-head-center::after{ content:""; display:block; width:56px; height:2px; background:var(--gold); margin:18px auto 0; }

/* Sections */
.gm-section{ padding:76px 0; }
.gm-section-alt{ background:var(--paper); }
.gm-section-dark{ background:var(--navy-deep); }
.gm-section-dark h2, .gm-section-dark h3{ color:#fff; }

/* Buttons */
.gm-btn{ display:inline-flex; align-items:center; gap:9px; font-family:'Jost',sans-serif; font-weight:600;
  font-size:.98rem; padding:14px 30px; border-radius:2px; text-decoration:none; cursor:pointer;
  transition:all .28s ease; border:1.5px solid transparent; letter-spacing:.02em; }
.gm-btn-gold{ background:var(--gold); color:#fff; }
.gm-btn-gold:hover{ background:#9d7c49; transform:translateY(-2px); box-shadow:0 10px 24px rgba(176,141,87,.32); }
.gm-btn-primary{ background:var(--navy); color:#fff; }
.gm-btn-primary:hover{ background:var(--navy-dark); transform:translateY(-2px); box-shadow:0 10px 24px rgba(20,36,138,.28); }
.gm-btn-outline{ background:transparent; color:#fff; border-color:rgba(255,255,255,.6); }
.gm-btn-outline:hover{ background:#fff; color:var(--navy); border-color:#fff; }
.gm-btn-ghost{ background:transparent; color:#fff; border-color:rgba(255,255,255,.4); }
.gm-btn-ghost:hover{ border-color:var(--gold); color:var(--gold-soft); }

/* Arrow link */
.gm-link-arrow{ display:inline-flex; align-items:center; gap:8px; color:var(--navy); font-weight:600;
  text-decoration:none; font-family:'Jost',sans-serif; transition:gap .25s,color .25s; }
.gm-link-arrow:hover{ gap:14px; color:var(--gold); }
.gm-section-dark .gm-link-arrow{ color:#fff; }

/* ---------- TOPBAR ---------- */
.starter-topbar{ background:var(--navy-deep); }
.gm-topbar-inner{ display:flex; justify-content:space-between; align-items:center; gap:16px; }
.gm-topbar-left .gm-topbar-badge, .gm-topbar-right a{ display:inline-flex; align-items:center; gap:7px; }
.gm-topbar-right{ display:flex; gap:26px; flex-wrap:wrap; }
.gm-topbar-badge svg{ color:var(--gold); }

/* ---------- HEADER ---------- */
.starter-header{ padding:0; }
.gm-header-inner{ max-width:1280px; margin:0 auto; padding:14px 24px; width:100%; align-items:center; }
.starter-header .wp-block-site-logo img{ max-height:52px; }
.starter-nav .wp-block-navigation-item a{ font-family:'Jost',sans-serif; font-weight:500; color:var(--navy);
  font-size:.96rem; letter-spacing:.01em; padding:10px 15px; }
.starter-nav .wp-block-navigation-item a::after{ background:var(--gold); bottom:2px; left:15px; right:15px; }
.starter-nav .wp-block-navigation-item a:hover{ color:var(--navy) !important; }
.starter-nav-cta a{ background:var(--navy) !important; color:#fff !important; border-radius:2px !important;
  padding:12px 26px !important; margin-left:8px; }
.starter-nav-cta a::after{ display:none !important; }
.starter-nav-cta a:hover{ background:var(--gold) !important; transform:translateY(-1px);
  box-shadow:0 6px 16px rgba(176,141,87,.3); }

/* ---------- HERO ---------- */
.gm-hero{ color:#fff; }
.gm-hero .wp-block-cover__inner-container{ width:100%; }
.gm-hero-inner{ max-width:1200px; margin:0 auto; padding:0 24px; text-align:left; }
.gm-hero-eyebrow{ display:inline-block; font-family:'Jost',sans-serif; text-transform:uppercase;
  letter-spacing:.2em; font-size:.78rem; font-weight:600; color:var(--gold-soft); margin-bottom:20px;
  padding-bottom:10px; border-bottom:1px solid rgba(255,255,255,.25); }
.gm-hero h1{ color:#fff; font-size:clamp(2.1rem,4.6vw,3.7rem); line-height:1.12; margin:0 0 20px; max-width:16ch; }
.gm-hero p{ color:#eef1f6; font-size:clamp(1rem,1.5vw,1.22rem); line-height:1.7; max-width:56ch; margin:0 0 32px; opacity:.95; }
.gm-hero-actions{ display:flex; gap:14px; flex-wrap:wrap; }

/* ---------- ABOUT ---------- */
.gm-about-grid{ display:grid; grid-template-columns:0.9fr 1.1fr; gap:56px; align-items:center; }
.gm-about-media{ position:relative; background:linear-gradient(160deg,var(--navy) 0%,var(--navy-deep) 100%);
  border-radius:4px; padding:24px 24px 0; display:flex; justify-content:center; align-items:flex-end; min-height:420px; }
.gm-about-media img{ max-height:440px; width:auto; filter:drop-shadow(0 20px 30px rgba(0,0,0,.35)); }
.gm-about-media::before{ content:""; position:absolute; top:22px; left:22px; right:22px; bottom:0;
  border:1px solid rgba(176,141,87,.4); border-bottom:none; border-radius:4px; }
.gm-about-badge{ position:absolute; bottom:26px; right:-14px; background:var(--gold); color:#fff;
  padding:14px 20px; border-radius:3px; box-shadow:0 12px 28px rgba(0,0,0,.25); text-align:center; }
.gm-about-badge strong{ display:block; font-family:'Marcellus',serif; font-size:1.7rem; line-height:1; }
.gm-about-badge span{ font-family:'Jost',sans-serif; font-size:.72rem; text-transform:uppercase; letter-spacing:.1em; }
.gm-about-text h2{ font-size:clamp(1.7rem,3vw,2.4rem); margin:0 0 18px; }
.gm-about-text p{ color:var(--muted); line-height:1.8; margin:0 0 16px; }
.gm-check-list{ list-style:none; padding:0; margin:22px 0; }
.gm-check-list li{ position:relative; padding-left:32px; margin-bottom:12px; color:var(--ink); font-weight:500; }
.gm-check-list li::before{ content:""; position:absolute; left:0; top:2px; width:20px; height:20px; border-radius:50%;
  background:var(--gold); background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:center; }

/* ---------- SERVICES ---------- */
.gm-services-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:22px; }
.gm-service-card{ background:#fff; border:1px solid var(--steel-line); border-radius:4px; padding:30px 26px;
  transition:all .3s ease; text-decoration:none; display:block; position:relative; overflow:hidden; }
.gm-service-card::before{ content:""; position:absolute; left:0; top:0; height:3px; width:0; background:var(--gold); transition:width .35s ease; }
.gm-service-card:hover{ transform:translateY(-6px); box-shadow:0 18px 40px rgba(20,36,138,.12); border-color:transparent; }
.gm-service-card:hover::before{ width:100%; }
.gm-service-ico{ display:inline-flex; align-items:center; justify-content:center; width:56px; height:56px;
  border-radius:3px; background:var(--paper); color:var(--navy); margin-bottom:18px; transition:all .3s; }
.gm-service-card:hover .gm-service-ico{ background:var(--navy); color:#fff; }
.gm-service-card h3{ font-size:1.18rem; margin:0 0 10px; }
.gm-service-card p{ color:var(--muted); font-size:.94rem; line-height:1.65; margin:0; }
.gm-service-card-cta{ background:var(--navy); border-color:var(--navy); }
.gm-service-card-cta h3, .gm-service-card-cta p{ color:#fff; }
.gm-service-card-cta p{ opacity:.8; }
.gm-service-card-cta .gm-service-ico{ background:rgba(255,255,255,.1); color:#fff; }
.gm-service-card-cta:hover .gm-service-ico{ background:var(--gold); }

/* ---------- PORTFOLIO + FILTER ---------- */
.gm-filter{ display:flex; flex-wrap:wrap; justify-content:center; gap:10px; margin-bottom:34px; }
.gm-filter-btn{ font-family:'Jost',sans-serif; font-weight:500; font-size:.92rem; color:var(--muted);
  background:transparent; border:1px solid var(--steel-line); padding:9px 20px; border-radius:2px; cursor:pointer; transition:all .25s; }
.gm-filter-btn:hover{ color:var(--navy); border-color:var(--navy); }
.gm-filter-btn.is-active{ background:var(--navy); color:#fff; border-color:var(--navy); }
.gm-portfolio-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.gm-pf-item{ position:relative; margin:0; overflow:hidden; border-radius:4px; aspect-ratio:4/3; cursor:pointer; }
.gm-pf-item img{ width:100%; height:100%; object-fit:cover; transition:transform .5s ease; }
.gm-pf-item:hover img{ transform:scale(1.07); }
.gm-pf-item figcaption{ position:absolute; inset:0; display:flex; flex-direction:column; justify-content:flex-end;
  padding:22px; background:linear-gradient(to top,rgba(20,32,56,.9) 0%,rgba(20,32,56,.15) 55%,transparent 100%);
  opacity:1; transform:translateY(0); transition:all .35s ease; }
.gm-pf-item:hover figcaption{ opacity:1; transform:translateY(0); }
.gm-pf-item figcaption span{ color:var(--gold-soft); font-family:'Jost',sans-serif; font-size:.74rem;
  text-transform:uppercase; letter-spacing:.14em; margin-bottom:6px; }
.gm-pf-item figcaption h3{ color:#fff; font-size:1.2rem; margin:0; }
.gm-pf-item.is-hidden{ display:none; }

/* ---------- NUMBERS ---------- */
.gm-numbers{ display:grid; grid-template-columns:repeat(4,1fr); gap:24px; text-align:center; }
.gm-number{ padding:12px; position:relative; }
.gm-number:not(:last-child)::after{ content:""; position:absolute; right:-12px; top:20%; height:60%; width:1px; background:rgba(255,255,255,.14); }
.gm-number strong{ display:block; font-family:'Marcellus',serif; font-size:clamp(2.4rem,4vw,3.2rem); color:#fff; line-height:1; }
.gm-number strong::after{ content:""; display:block; width:34px; height:2px; background:var(--gold); margin:14px auto 12px; }
.gm-number span{ color:#c3cad6; font-family:'Jost',sans-serif; font-size:.92rem; letter-spacing:.03em; }

/* ---------- PARTNERS ---------- */
.gm-partners-strip{ display:flex; flex-wrap:wrap; justify-content:center; gap:14px 12px; margin-bottom:28px; }
.gm-partners-strip span, .gm-partners-strip a{ font-family:'Marcellus',serif; color:var(--navy); font-size:1.1rem; padding:12px 24px;
  background:#fff; border:1px solid var(--steel-line); border-radius:2px; transition:all .25s; text-decoration:none; display:inline-block; }
.gm-partners-strip a{ cursor:pointer; }
.gm-partners-strip span:hover, .gm-partners-strip a:hover{ border-color:var(--gold); color:var(--gold); transform:translateY(-2px); box-shadow:0 8px 18px rgba(20,36,138,.08); }

/* ---------- CTA (in footer) ---------- */
.gm-cta{ background:linear-gradient(120deg,var(--navy) 0%,var(--navy-deep) 100%); position:relative; overflow:hidden; }
.gm-cta::before{ content:""; position:absolute; top:-40%; right:-8%; width:420px; height:420px; border-radius:50%;
  background:radial-gradient(circle,rgba(176,141,87,.18) 0%,transparent 70%); }
.gm-cta-inner{ display:flex; align-items:center; justify-content:space-between; gap:32px; padding:52px 24px; position:relative; z-index:1; flex-wrap:wrap; }
.gm-cta h2{ color:#fff; font-size:clamp(1.5rem,2.6vw,2.1rem); margin:0 0 10px; max-width:22ch; }
.gm-cta p{ color:#d7dce6; margin:0; max-width:52ch; line-height:1.6; }
.gm-cta-actions{ display:flex; gap:14px; flex-wrap:wrap; }

/* ---------- FOOTER ---------- */
.starter-footer{ background:var(--navy-deep); padding:62px 0 22px; }
.gm-footer-grid{ display:grid; grid-template-columns:1.5fr 1fr 1fr 1.4fr; gap:40px; }
.gm-footer-logo{ max-height:38px; width:auto; margin-bottom:18px; }
.gm-footer-about p{ color:#9aa4b4; line-height:1.7; font-size:.92rem; margin:0 0 14px; }
.gm-footer-legalid{ color:#7f8a9c; font-size:.85rem; }
.starter-footer h4{ color:#fff; font-family:'Marcellus',serif; font-size:1.1rem; margin:0 0 18px; padding-bottom:12px; position:relative; }
.starter-footer h4::after{ content:""; position:absolute; left:0; bottom:0; width:30px; height:2px; background:var(--gold); }
.gm-footer-col ul{ list-style:none; padding:0; margin:0; }
.gm-footer-col li{ margin-bottom:11px; }
.gm-footer-col a{ color:#9aa4b4; text-decoration:none; font-size:.93rem; transition:color .2s,padding .2s; }
.gm-footer-col a:hover{ color:var(--gold-soft); padding-left:4px; }
.gm-footer-contact li{ display:flex; gap:11px; align-items:flex-start; color:#9aa4b4; font-size:.92rem; line-height:1.6; }
.gm-footer-contact svg{ color:var(--gold); flex-shrink:0; margin-top:3px; }
.gm-footer-contact a{ color:#9aa4b4; text-decoration:none; }
.gm-footer-contact a:hover{ color:var(--gold-soft); }
.gm-footer-bottom{ display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:12px;
  border-top:1px solid rgba(255,255,255,.1); padding-top:22px; margin-top:46px; overflow:visible; }
.gm-footer-bottom .gm-footer-legal{ color:#7f8a9c; font-size:.85rem; }
.gm-footer-links{ display:flex; gap:18px; flex-wrap:wrap; }
.gm-footer-links a{ color:#9aa4b4; text-decoration:none; font-size:.85rem; white-space:nowrap; transition:color .2s; }
.gm-footer-links a:hover{ color:#fff; }
.gm-footer-credit a{ color:#7f8a9c; font-size:.82rem; text-decoration:none; }
.gm-footer-credit a:hover{ color:var(--gold-soft); }

/* ---------- INTERIOR PAGE HEADER ---------- */
.gm-page-hero{ background:linear-gradient(120deg,var(--navy) 0%,var(--navy-deep) 100%); color:#fff; padding:64px 0 58px; text-align:center; position:relative; overflow:hidden; }
.gm-page-hero::after{ content:""; position:absolute; bottom:0; left:0; width:100%; height:4px; background:var(--gold); opacity:.5; }
.gm-page-hero h1{ color:#fff; font-size:clamp(2rem,4vw,3rem); margin:0 0 8px; }
.gm-page-hero p{ color:#c3cad6; max-width:640px; margin:0 auto; font-size:1.05rem; }
.gm-page-hero .gm-crumb{ font-family:'Jost',sans-serif; font-size:.82rem; letter-spacing:.05em; color:var(--gold-soft); text-transform:uppercase; margin-bottom:14px; }

/* Prose (interior content) */
.gm-prose{ max-width:820px; margin:0 auto; }
.gm-prose h2{ font-size:1.7rem; margin:36px 0 14px; }
.gm-prose h3{ font-size:1.3rem; margin:26px 0 10px; color:var(--navy); }
.gm-prose p{ color:#3d4453; line-height:1.85; margin:0 0 16px; }
.gm-prose blockquote{ border-left:3px solid var(--gold); background:var(--paper); padding:22px 26px; margin:26px 0;
  font-family:'Marcellus',serif; font-style:normal; color:var(--navy); font-size:1.12rem; line-height:1.6; }
.gm-prose blockquote cite{ display:block; margin-top:12px; font-family:'Jost',sans-serif; font-size:.85rem; color:var(--muted); font-style:normal; }
.gm-prose ul{ padding-left:0; list-style:none; margin:16px 0; }
.gm-prose ul li{ position:relative; padding-left:28px; margin-bottom:10px; color:#3d4453; line-height:1.7; }
.gm-prose ul li::before{ content:""; position:absolute; left:0; top:9px; width:8px; height:8px; background:var(--gold); border-radius:50%; }

/* Info cards grid (partners/clients pages) */
.gm-cards{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.gm-card{ background:#fff; border:1px solid var(--steel-line); border-radius:4px; padding:26px; transition:all .3s; }
.gm-card:hover{ transform:translateY(-4px); box-shadow:0 14px 32px rgba(20,36,138,.1); border-color:transparent; }
.gm-card h3{ font-size:1.15rem; margin:0 0 8px; }
.gm-card .gm-card-tag{ display:inline-block; font-family:'Jost',sans-serif; font-size:.72rem; text-transform:uppercase;
  letter-spacing:.1em; color:var(--gold); margin-bottom:10px; }
.gm-card p{ color:var(--muted); font-size:.93rem; line-height:1.65; margin:0; }
.gm-card a{ color:var(--navy); font-weight:600; text-decoration:none; }
.gm-card a:hover{ color:var(--gold); }
a.gm-card{ display:block; text-decoration:none; color:inherit; cursor:pointer; }
a.gm-card:hover h3{ color:var(--gold); }

/* Contact page */
.gm-contact-grid{ display:grid; grid-template-columns:1.3fr 0.9fr; gap:44px; align-items:start; }
.gm-contact-info{ background:var(--navy-deep); color:#cfd6e2; border-radius:4px; padding:36px; }
.gm-contact-info h3{ color:#fff; margin:0 0 22px; }
.gm-contact-info ul{ list-style:none; padding:0; margin:0 0 22px; }
.gm-contact-info li{ display:flex; gap:13px; align-items:flex-start; margin-bottom:16px; line-height:1.55; }
.gm-contact-info svg{ color:var(--gold); flex-shrink:0; margin-top:3px; }
.gm-contact-info a{ color:#cfd6e2; text-decoration:none; }
.gm-contact-info a:hover{ color:var(--gold-soft); }
.gm-map iframe{ width:100%; border:0; border-radius:4px; margin-top:22px; }

/* ============================================================
   MOBILE NAV SAFETY (L28 / R27)
   ============================================================ */
@media (min-width:782px){
  .wp-block-navigation__responsive-container-open{ display:none !important; }
  .wp-block-navigation__responsive-container.is-menu-open{ display:none !important; }
}
@media (max-width:781px){
  .starter-nav .wp-block-navigation__responsive-container-open{ display:flex !important; color:var(--navy); }
  .wp-block-navigation__responsive-container.is-menu-open{ position:fixed !important; inset:0 !important; background:var(--navy-deep) !important; padding:32px 24px !important; }
  .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container{ justify-content:center !important; align-items:center !important; text-align:center !important; }
  .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-dialog,
  .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content{ width:100% !important; margin:0 !important; display:flex !important; justify-content:center !important; align-items:center !important; }
  .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item a{ color:#fff !important; font-size:1.15rem; padding:12px 0 !important; }
  .wp-block-navigation__responsive-container.is-menu-open .starter-nav-cta a{ background:var(--gold) !important; margin-top:12px; padding:12px 26px !important; }
  html.has-modal-open{ overflow:hidden; }
}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width:980px){
  .gm-services-grid{ grid-template-columns:repeat(2,1fr); }
  .gm-cards{ grid-template-columns:repeat(2,1fr); }
  .gm-about-grid{ grid-template-columns:1fr; gap:40px; }
  .gm-about-media{ min-height:340px; }
  .gm-contact-grid{ grid-template-columns:1fr; gap:28px; }
}
@media (max-width:781px){
  .gm-section{ padding:52px 0; }
  .gm-hero-inner{ text-align:left; }
  .gm-hero h1{ font-size:1.9rem; line-height:1.18; }
  .starter-hero.gm-hero, .wp-block-cover.gm-hero{ min-height:70vh !important; }
  .gm-portfolio-grid{ grid-template-columns:repeat(2,1fr); }
  .gm-numbers{ grid-template-columns:repeat(2,1fr); gap:28px 16px; }
  .gm-number:not(:last-child)::after{ display:none; }
  .gm-footer-grid{ grid-template-columns:1fr 1fr; gap:30px; }
  .gm-footer-about{ grid-column:1 / -1; }
  .gm-cta-inner{ flex-direction:column; align-items:flex-start; }
  .gm-topbar-left{ display:none; }
  .gm-topbar-inner{ justify-content:center; }
  .gm-footer-bottom{ flex-direction:column; text-align:center; padding-right:80px; }
}
@media (max-width:520px){
  .gm-services-grid{ grid-template-columns:1fr; }
  .gm-cards{ grid-template-columns:1fr; }
  .gm-portfolio-grid{ grid-template-columns:1fr; }
  .gm-hero h1{ font-size:1.55rem; }
  .gm-about-badge{ right:0; }
  .gm-footer-grid{ grid-template-columns:1fr; }
}

/* --- Hero centrat + titlu mai mic (cerere Stefan) --- */
.gm-hero-inner{ text-align:center; }
.gm-hero .gm-hero-eyebrow{ margin-left:auto; margin-right:auto; }
.gm-hero h1{ font-size:clamp(1.8rem,3.6vw,2.9rem); max-width:20ch; margin-left:auto; margin-right:auto; }
.gm-hero p{ margin-left:auto; margin-right:auto; }
.gm-hero-actions{ justify-content:center; }
@media (max-width:781px){ .gm-hero-inner{ text-align:center; } .gm-hero-actions{ justify-content:center; } }

/* --- About: team banner lat + text dedesubt --- */
.gm-about-banner{ margin:0 0 44px; border-radius:6px; overflow:hidden; box-shadow:0 22px 50px rgba(20,36,138,.16); }
.gm-about-banner img{ width:100%; display:block; }
.gm-about-body{ display:grid; grid-template-columns:0.85fr 1.15fr; gap:44px; align-items:start; }
.gm-about-body-head h2{ font-size:clamp(1.6rem,2.6vw,2.2rem); margin:0; }
.gm-about-body-head h2::after{ content:""; display:block; width:56px; height:2px; background:var(--gold); margin:18px 0 0; }
.gm-about-body-text p{ color:var(--muted); line-height:1.8; margin:0 0 16px; }
@media (max-width:900px){ .gm-about-body{ grid-template-columns:1fr; gap:22px; } }

/* --- About: foto echipă mai mică în stânga, text dreapta --- */
.gm-about-photo{ margin:0; border-radius:6px; overflow:hidden; box-shadow:0 18px 42px rgba(20,36,138,.16); }
.gm-about-photo img{ width:100%; display:block; }
.gm-about-text h2{ font-size:clamp(1.6rem,2.6vw,2.2rem); margin:0 0 16px; }
.gm-about-text h2::after{ content:""; display:block; width:56px; height:2px; background:var(--gold); margin:16px 0 0; }

/* --- SERVICII: layout editorial premium, fără chenare --- */
.gm-serv-list{ max-width:940px; margin:0 auto; }
.gm-serv-row{ display:grid; grid-template-columns:110px 1fr; gap:34px; padding:36px 0; border-bottom:1px solid var(--steel-line); align-items:start; transition:padding .3s ease; }
.gm-serv-row:first-child{ padding-top:8px; }
.gm-serv-row:last-child{ border-bottom:none; }
.gm-serv-index{ display:flex; align-items:flex-start; }
.gm-serv-num{ font-family:'Marcellus',serif; font-size:3rem; line-height:.9; color:var(--gold); position:relative; padding-bottom:14px; }
.gm-serv-num::after{ content:""; position:absolute; left:2px; bottom:0; width:38px; height:2px; background:var(--gold); opacity:.5; transition:width .3s ease; }
.gm-serv-body h3{ font-size:1.5rem; margin:0 0 12px; color:var(--navy); transition:color .25s; }
.gm-serv-body p{ color:var(--muted); line-height:1.85; margin:0; max-width:64ch; }
.gm-serv-row:hover{ padding-left:10px; }
.gm-serv-row:hover .gm-serv-num::after{ width:64px; }
.gm-serv-row:hover .gm-serv-body h3{ color:var(--gold); }
@media (max-width:640px){
  .gm-serv-row{ grid-template-columns:1fr; gap:8px; padding:26px 0; }
  .gm-serv-num{ font-size:2.2rem; }
  .gm-serv-body h3{ font-size:1.25rem; }
}

/* --- ZID LOGO-URI CLIENȚI --- */
.gm-logo-wall{ display:grid; grid-template-columns:repeat(5,1fr); gap:18px; }
.gm-logo-cell{ background:#fff; border:1px solid var(--steel-line); border-radius:4px; min-height:110px;
  display:flex; align-items:center; justify-content:center; padding:22px; transition:all .3s ease; }
.gm-logo-cell:hover{ transform:translateY(-4px); box-shadow:0 14px 30px rgba(20,36,138,.1); border-color:transparent; }
.gm-logo-cell img{ max-height:56px; max-width:100%; width:auto; object-fit:contain; }
.gm-logo-text{ font-family:'Marcellus',serif; color:var(--navy); font-size:1.05rem; text-align:center; }
.gm-logo-cell.gm-logo-text:hover{ color:var(--gold); }
@media (max-width:900px){ .gm-logo-wall{ grid-template-columns:repeat(3,1fr); } }
@media (max-width:520px){ .gm-logo-wall{ grid-template-columns:repeat(2,1fr); } }

/* --- SLIDER ECHIPĂ (stânga About) --- */
.gm-team-slider{ position:relative; aspect-ratio:4/5; border-radius:6px; overflow:hidden;
  box-shadow:0 24px 55px rgba(20,36,138,.24); background:var(--navy-deep); }
.gm-team-slider img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover;
  opacity:0; transition:opacity 1.2s ease; will-change:opacity,transform; }
.gm-team-slider img.is-active{ opacity:1; animation:gmKen 6s ease-out both; }
@keyframes gmKen{ from{ transform:scale(1.12); } to{ transform:scale(1); } }
.gm-team-slider::after{ content:""; position:absolute; inset:16px; border:1px solid rgba(255,255,255,.35);
  border-radius:4px; pointer-events:none; z-index:3; }
.gm-team-badge{ position:absolute; left:0; bottom:26px; z-index:4; background:var(--gold); color:#fff;
  padding:12px 22px 12px 18px; border-radius:0 3px 3px 0; box-shadow:0 12px 26px rgba(0,0,0,.28);
  display:flex; align-items:baseline; gap:8px; }
.gm-team-badge strong{ font-family:'Marcellus',serif; font-size:1.9rem; line-height:1; }
.gm-team-badge em{ font-style:normal; font-family:'Jost',sans-serif; font-size:.72rem;
  text-transform:uppercase; letter-spacing:.08em; }

/* --- HERO overlay gri pal + lizibilitate --- */
.gm-hero .wp-block-cover__background{ background-color:#5a5f6b !important; opacity:.46 !important; }
.gm-hero h1,.gm-hero p,.gm-hero-eyebrow{ text-shadow:0 2px 16px rgba(18,24,34,.5); }

/* --- Galerie La lucru --- */
.gm-gallery-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.gm-gallery-grid figure{ margin:0; overflow:hidden; border-radius:4px; position:relative; }
.gm-gallery-grid figure:first-child{ grid-column:span 2; grid-row:span 2; }
.gm-gallery-grid img{ width:100%; height:100%; min-height:170px; object-fit:cover; display:block; cursor:pointer; transition:transform .55s ease; }
.gm-gallery-grid img:hover{ transform:scale(1.09); }
@media (max-width:820px){ .gm-gallery-grid{ grid-template-columns:repeat(2,1fr); } .gm-gallery-grid figure:first-child{ grid-column:span 2; grid-row:auto; } .gm-gallery-grid img{ height:180px; } }

/* --- HOVER ZOOM poze --- */
.gm-about-photo img{ transition:transform .5s ease; }
.gm-about-photo:hover img{ transform:scale(1.06); }
.gm-logo-cell img{ transition:transform .35s ease; }
.gm-logo-cell:hover img{ transform:scale(1.08); }

/* --- HOVER ZOOM titluri + subtitluri --- */
.gm-hero h1,.gm-hero p,.gm-hero-eyebrow,.gm-head-center h2,.gm-head-center p,.gm-page-hero h1,.gm-page-hero p,.gm-about-text h2,.gm-serv-body h3,.gm-service-card h3,.gm-card h3{ transition:transform .35s ease, color .25s ease; }
.gm-hero h1:hover,.gm-hero p:hover,.gm-hero-eyebrow:hover,.gm-head-center h2:hover,.gm-head-center p:hover,.gm-page-hero h1:hover,.gm-page-hero p:hover{ transform:scale(1.04); }
.gm-about-text h2:hover,.gm-serv-body h3:hover,.gm-service-card h3:hover,.gm-card h3:hover{ transform:scale(1.04); transform-origin:left center; }

/* --- Lightbox --- */
.gm-lightbox{ position:fixed; inset:0; background:rgba(16,23,40,.93); display:none; align-items:center; justify-content:center; z-index:99999; }
.gm-lightbox.open{ display:flex; }
.gm-lightbox img{ max-width:92vw; max-height:88vh; border-radius:4px; box-shadow:0 24px 70px rgba(0,0,0,.55); }
.gm-lightbox .gm-lb-close{ position:absolute; top:18px; right:26px; color:#fff; font-size:2.4rem; line-height:1; background:none; border:none; cursor:pointer; }
.gm-lightbox .gm-lb-nav{ position:absolute; top:50%; transform:translateY(-50%); width:50px; height:50px; border-radius:50%; background:rgba(255,255,255,.12); color:#fff; border:none; font-size:1.7rem; cursor:pointer; transition:background .2s; }
.gm-lightbox .gm-lb-nav:hover{ background:var(--gold); }
.gm-lb-prev{ left:22px; } .gm-lb-next{ right:22px; }

/* --- Clienți: listă nume fără logo, sub subtitlu --- */
.gm-clients-intro{ max-width:760px; margin:0 auto 40px; text-align:center; }
.gm-clients-intro p{ color:var(--ink); font-size:1.1rem; margin:0 0 18px; }
.gm-clients-names{ list-style:none; padding:0; margin:0; display:flex; flex-wrap:wrap; justify-content:center; gap:10px 12px; }
.gm-clients-names li{ font-family:'Marcellus',serif; color:var(--navy); font-size:1.02rem; padding:9px 20px; background:#fff; border:1px solid var(--steel-line); border-radius:2px; transition:all .25s; }
.gm-clients-names li:hover{ border-color:var(--gold); color:var(--gold); transform:translateY(-2px); }
.gm-logo-wall-5{ grid-template-columns:repeat(5,1fr); max-width:1000px; margin:0 auto; }
@media (max-width:900px){ .gm-logo-wall-5{ grid-template-columns:repeat(3,1fr); } }
@media (max-width:520px){ .gm-logo-wall-5{ grid-template-columns:repeat(2,1fr); } }

/* --- Servicii: text mai lat (padding lateral redus) --- */
.gm-serv-list{ max-width:1140px; }
.gm-serv-row{ grid-template-columns:92px 1fr; gap:28px; }
.gm-serv-body p{ max-width:none; }
@media (min-width:1000px){ .gm-serv-list{ padding-inline:8px; } }
/* --- Banner echipă pe pagina Despre --- */
.gm-about-banner-page img{ max-height:460px; object-fit:cover; object-position:center 30%; }

/* --- HERO SLIDER (poze birou) + overlay --- */
.gm-hero-slides{ position:relative; min-height:88vh; display:flex; align-items:center; overflow:hidden; }
.gm-hero-bg{ position:absolute; inset:0; z-index:0; }
.gm-hero-bg img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:0; transition:opacity 1.4s ease; }
.gm-hero-bg img.is-active{ opacity:1; animation:gmKen 8s ease-out both; }
.gm-hero-overlay{ position:absolute; inset:0; z-index:1; background:linear-gradient(180deg, rgba(16,25,45,.60) 0%, rgba(16,25,45,.72) 100%); }
.gm-hero-slides .gm-hero-inner{ position:relative; z-index:2; }
@media (max-width:781px){ .gm-hero-slides{ min-height:72vh; } }

/* --- Subtitluri mai mici, întindere frumoasă --- */
.gm-head-center p{ font-size:.96rem; max-width:740px; }
.gm-page-hero p{ font-size:1rem; }
.gm-hero p{ font-size:clamp(.95rem,1.3vw,1.1rem); }

/* --- Brand text în header --- */
.gm-brand{ text-decoration:none; display:flex; flex-direction:column; line-height:1.05; }
.gm-brand-name{ font-family:'Marcellus',serif; color:var(--navy); font-size:1.55rem; letter-spacing:.5px; }
.gm-brand-sub{ font-family:'Jost',sans-serif; color:var(--gold); font-size:.71rem; text-transform:uppercase; letter-spacing:.15em; margin-top:4px; }
@media (max-width:520px){ .gm-brand-name{ font-size:1.15rem; } .gm-brand-sub{ font-size:.58rem; letter-spacing:.1em; } }

/* --- Portofoliu: grilă portrete echipă --- */
.gm-team-grid-pf{ display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.gm-team-grid-pf figure{ margin:0; overflow:hidden; border-radius:4px; aspect-ratio:3/4; }
.gm-team-grid-pf img{ width:100%; height:100%; object-fit:cover; cursor:pointer; transition:transform .5s ease; }
.gm-team-grid-pf img:hover{ transform:scale(1.07); }
@media (max-width:820px){ .gm-team-grid-pf{ grid-template-columns:repeat(2,1fr); } }

/* --- Despre noi: text mai lat (padding lateral redus) --- */
.gm-prose{ max-width:1000px; }

/* --- MOBILE: butoane centrate + aceeași mărime (hero + CTA) --- */
@media (max-width:781px){
  .gm-container{ padding-inline:18px; }
  .gm-hero-actions, .gm-cta-actions{ justify-content:center; align-items:center; width:100%; }
  .gm-hero-actions .gm-btn, .gm-cta-actions .gm-btn{ width:100%; max-width:300px; justify-content:center; text-align:center; }
  .gm-cta-inner{ align-items:center; text-align:center; }
  .gm-cta h2, .gm-cta p{ margin-left:auto; margin-right:auto; }
  .gm-prose{ max-width:100%; }
  .gm-serv-list{ padding-inline:0; }
  .gm-serv-body p{ text-align:left; }
}
@media (max-width:520px){
  .gm-container{ padding-inline:16px; }
}

/* --- Despre noi: prose și mai lat pe desktop (padding lateral mai mic) --- */
.gm-prose{ max-width:1140px; }

/* --- Badge 35 în colț slider echipă --- */
.gm-team-badge-img{ position:absolute; z-index:5; bottom:16px; right:16px; width:106px; height:auto; filter:drop-shadow(0 6px 16px rgba(0,0,0,.45)); }
@media (max-width:520px){ .gm-team-badge-img{ width:80px; bottom:12px; right:12px; } }

/* --- Footer 3 coloane, mai mic, centrat pe mobil --- */
.starter-footer{ padding:48px 0 20px; }
.gm-footer-grid{ grid-template-columns:1.6fr 1fr 1.5fr; gap:36px; }
.gm-footer-bottom{ margin-top:34px; }
@media (max-width:781px){
  .gm-footer-grid{ grid-template-columns:1fr !important; text-align:center; gap:26px; }
  .gm-footer-about{ grid-column:auto !important; }
  .gm-footer-logo{ margin-left:auto; margin-right:auto; display:block; }
  .gm-footer-legalid{ text-align:center; }
  .starter-footer h4{ text-align:center; }
  .starter-footer h4::after{ left:50%; transform:translateX(-50%); }
  .gm-footer-contact li{ justify-content:center; text-align:left; }
  .gm-footer-col a:hover{ padding-left:0; }
}

/* --- FIX: badge nu trebuie afectat de regula .gm-team-slider img --- */
.gm-team-slider img.gm-team-badge-img{
  position:absolute; inset:auto; top:auto; left:auto; bottom:16px; right:16px;
  width:106px; height:auto; opacity:1; object-fit:contain; z-index:5;
  animation:none; transform:none; filter:drop-shadow(0 6px 16px rgba(0,0,0,.45));
}
@media (max-width:520px){ .gm-team-slider img.gm-team-badge-img{ width:80px; bottom:12px; right:12px; } }

/* --- Servicii pe telefon: fără cifre, text pe toată lățimea --- */
@media (max-width:640px){
  .gm-serv-index{ display:none; }
  .gm-serv-row{ grid-template-columns:1fr; gap:0; }
}

/* Centered card rows (2 or 1 card) */
.gm-cards.gm-cards-center{ display:flex; flex-wrap:wrap; justify-content:center; }
.gm-cards.gm-cards-center .gm-card{ width:calc((100% - 40px)/3); }
@media(max-width:900px){ .gm-cards.gm-cards-center .gm-card{ width:calc((100% - 20px)/2); } }
@media(max-width:600px){ .gm-cards.gm-cards-center .gm-card{ width:100%; } }

/* --- Banner „un sfert de secol" sub hero --- */
.gm-banner-strip{ background:#eef1f5; text-align:center; line-height:0; }
.gm-banner-strip img{ width:100%; max-width:1600px; height:auto; display:inline-block; }

/* Logo imagine header (înlocuiește brand text) */
.gm-brand{ display:flex; align-items:center; }
.gm-brand-logo{ height:36px; width:auto; display:block; }
@media (max-width:520px){ .gm-brand-logo{ height:30px; } }

/* ===== Bloc decorativ hero pagina Despre noi ===== */
.vx-about-hero{ position:relative; margin-bottom:8px; }
.vx-about-panel{
  position:relative; display:flex; align-items:flex-end; gap:40px;
  background:linear-gradient(120deg,#fdf4f1 0%,#f7e9ec 45%,#f3eef5 100%);
  border-radius:18px; padding:46px 56px; min-height:340px; overflow:hidden;
  box-shadow:0 24px 60px -24px rgba(20,36,138,.35), 0 2px 8px rgba(20,36,138,.08);
}
.vx-about-panel::before{
  content:""; position:absolute; top:0; right:0; width:46%; height:100%; pointer-events:none;
  background:radial-gradient(120% 120% at 100% 0%, rgba(20,36,138,.06), transparent 60%);
}
.vx-about-photo{ flex:0 0 auto; align-self:flex-end; }
.vx-about-photo img{ display:block; height:520px; width:auto; filter:drop-shadow(0 18px 26px rgba(20,36,138,.28)); }
.vx-about-body{ flex:1 1 auto; padding-bottom:14px; }
.vx-about-title{ font-family:'Marcellus',serif; color:#14248a; font-size:clamp(2.4rem,5vw,4rem); letter-spacing:.06em; text-transform:uppercase; text-align:right; line-height:1; margin-bottom:38px; }
.vx-about-vlabel{ font-family:'Marcellus',serif; color:#14248a; font-size:2rem; margin-bottom:12px; }
.vx-about-vtext{ font-style:italic; color:#3a4f74; font-size:1.35rem; line-height:1.55; max-width:620px; }
.vx-about-divider{ height:5px; margin:26px 30px 0; border-radius:4px; background:linear-gradient(90deg,transparent,#14248a,transparent); box-shadow:0 14px 22px -8px rgba(20,36,138,.45); }
@media(max-width:760px){
  .vx-about-panel{ flex-direction:column; align-items:center; text-align:center; padding:34px 22px; }
  .vx-about-title{ text-align:center; margin-bottom:24px; }
  .vx-about-photo{ align-self:center !important; }
  .vx-about-photo img{ height:380px; margin:0 auto; }
  .vx-about-vtext{ text-align:center; margin:0 auto; }
}

/* Bloc Despre noi — full width */
.vx-about-hero .gm-container{ max-width:100%!important; padding-left:0!important; padding-right:0!important; }
.vx-about-panel{ border-radius:0; padding:52px clamp(18px,3.5vw,54px); box-shadow:0 18px 40px -22px rgba(20,36,138,.30); }
.vx-about-divider{ margin:22px clamp(18px,3.5vw,54px) 0; }

/* ===== Recolorare navy -> #14248a (topbar header, buton Contact, footer, hero pagini) ===== */
.starter-topbar{ background:#14248a !important; }
.starter-nav-cta a{ background:#14248a !important; }
.starter-nav-cta a:hover{ background:var(--gold) !important; }
.starter-footer{ background:#14248a !important; }
.gm-page-hero{ background:linear-gradient(120deg,#14248a 0%,#0f1b68 100%) !important; }

/* ===== Ajustari 1.3.0 ===== */
/* 1) Bara cu cifre (35+/1994/6+/3) -> #14248a */
.gm-numbers-sec{ background:#14248a !important; }

/* 2) CTA de deasupra footerului: fara fundal, text albastru */
.gm-cta{ background:#fff !important; }
.gm-cta::before{ display:none !important; }
.gm-cta h2{ color:#14248a !important; }
.gm-cta p{ color:#14248a !important; opacity:.85; }
/* Butonul secundar (argintiu) din hero si din CTA -> #14248a plin */
.gm-hero-actions .gm-btn-outline{ background:#14248a !important; border-color:#14248a !important; color:#fff !important; }
.gm-hero-actions .gm-btn-outline:hover{ background:#0f1b68 !important; border-color:#0f1b68 !important; color:#fff !important; }
.gm-cta-actions .gm-btn-ghost{ background:#14248a !important; border-color:#14248a !important; color:#fff !important; }
.gm-cta-actions .gm-btn-ghost:hover{ background:#0f1b68 !important; border-color:#0f1b68 !important; color:#fff !important; }

/* 3) Logo alb in footer, mai mic */
.gm-footer-logo{ max-height:30px !important; }

/* Butoanele aurii (Solicitati o oferta / Serviciile noastre) -> #14248a */
.gm-btn-gold{ background:#14248a !important; color:#fff !important; }
.gm-btn-gold:hover{ background:#0f1b68 !important; color:#fff !important; box-shadow:0 10px 24px rgba(20,36,138,.32) !important; }

/* ===== 1.3.2: eliminare auriu -> #14248a pe tot site-ul ===== */
:root{ --gold:#14248a; --gold-soft:#14248a; }
/* Pastram vizibile iconitele/liniile pe fundaluri INCHISE (le facem deschise) */
.gm-topbar-badge svg{ color:#fff !important; }
.gm-number strong::after{ background:rgba(255,255,255,.55) !important; }
.gm-page-hero::after{ background:rgba(255,255,255,.40) !important; }
.gm-page-hero .gm-crumb{ color:#cdd6e6 !important; }
.gm-hero-eyebrow{ color:#cdd6e6 !important; }
.gm-pf-item figcaption span{ color:#cdd6e6 !important; }
.starter-footer h4::after{ background:rgba(255,255,255,.40) !important; }
.gm-footer-contact svg{ color:#cdd6e6 !important; }
.gm-footer-col a:hover,
.gm-footer-contact a:hover,
.gm-footer-credit a:hover{ color:#fff !important; }
/* butonul CTA din meniul mobil (hover) sa nu fie navy pe navy */
.wp-block-navigation__responsive-container.is-menu-open .starter-nav-cta a{ background:#0f1b68 !important; }

/* 2) Logo header mai mic */
.gm-brand-logo{ height:30px !important; }
@media (max-width:520px){ .gm-brand-logo{ height:26px !important; } }

/* ===== 1.3.3 ===== */
/* Contact: chenarul (caseta Date de contact) + buton Trimite -> #14248a */
.gm-contact-info{ background:#14248a !important; }
.starter-contact-form .wpcf7-submit{ background:#14248a !important; }
.starter-contact-form .wpcf7-submit:hover{ background:#0f1b68 !important; }

/* Despre noi: banner fara roz -> alb neutru */
.vx-about-panel{ background:linear-gradient(120deg,#ffffff 0%,#f2f5fa 100%) !important; }

/* ===== 1.3.4: hover butoane -> #14248a ===== */
.gm-btn-gold:hover,
.gm-hero-actions .gm-btn-outline:hover,
.gm-cta-actions .gm-btn-ghost:hover,
.gm-btn-primary:hover,
.starter-nav-cta a:hover,
.starter-contact-form .wpcf7-submit:hover{ background:#14248a !important; color:#fff !important; box-shadow:0 10px 24px rgba(20,36,138,.30) !important; }

/* ===== 1.3.5: logo nou stacked ===== */
.gm-brand-logo{ height:48px !important; }
@media (max-width:520px){ .gm-brand-logo{ height:40px !important; } }
.gm-footer-logo{ max-height:56px !important; }

/* 1.3.6: logo header mai mare (vizibil) */
.gm-brand-logo{ height:72px !important; }
@media (max-width:520px){ .gm-brand-logo{ height:56px !important; } }

/* 1.3.7: logo +10% */
.gm-brand-logo{ height:79px !important; }
@media (max-width:520px){ .gm-brand-logo{ height:62px !important; } }

/* 1.5.6: logo putin mai mare */
.gm-brand-logo{ height:94px !important; }
@media (max-width:520px){ .gm-brand-logo{ height:72px !important; } }

/* 1.3.9: footer logo mai mare */
.gm-footer-logo{ max-height:80px !important; }

/* 1.4.0: hero slider - object-position putin mai jos */
.gm-hero-bg img{ object-position:center 68% !important; }

/* 1.4.2: cardul 'Toate serviciile' mai deschis -> #14248a */
.gm-service-card-cta{ background:#14248a !important; border-color:#14248a !important; }

/* 1.4.3: footer logo alb + texte mai albe */
.starter-footer{ color:#d6e5f3 !important; }
.starter-footer p, .starter-footer li, .starter-footer span,
.gm-footer-about p, .gm-footer-legalid,
.starter-footer-bottom, .gm-footer-legal{ color:#d6e5f3 !important; }
.starter-footer a, .gm-footer-col a, .gm-footer-contact a, .gm-footer-credit a{ color:#eaf2fb !important; }
.gm-footer-contact svg{ color:#eaf2fb !important; }

/* 1.4.4: galerie homepage - ultimele 2 poze centrate pe rand */
@media(min-width:821px){
  .gm-gallery-office figure:nth-child(6){ grid-column:2; }
  .gm-gallery-office figure:nth-child(7){ grid-column:3; }
}
/* servicii: scoate efectul (zoom) de pe titlu, ramane doar cel de rand */
.gm-serv-body h3:hover{ transform:none !important; }

/* 1.4.6: footer logo -30% (80 -> 56px) */
.gm-footer-logo{ max-height:56px !important; }

/* 1.4.7: Portofoliu - accente navy -> albastru nou #14248a */
.gm-filter-btn.is-active{ background:#14248a !important; border-color:#14248a !important; color:#fff !important; }
.gm-filter-btn:hover{ color:#14248a !important; border-color:#14248a !important; }
.page-id-23 .gm-head-center h2,
.page-id-23 .gm-card h3,
.page-id-23 .gm-clients-names li{ color:#14248a !important; }
.page-id-23 .gm-clients-names li{ border-color:rgba(20,36,138,.35) !important; }
.page-id-23 .gm-clients-names li:hover{ background:#14248a !important; color:#fff !important; border-color:#14248a !important; }
.page-id-23 .gm-card a:hover{ color:#14248a !important; }

/* 1.4.8: footer logo putin mai mic (56 -> 48px) */
.gm-footer-logo{ max-height:48px !important; }

/* 1.5.8: HERO mai aerisit pe mobil/tableta — padding vertical ca textul sa nu
   fie lipit de header (sus) si de butoane/jos. Continutul creste sectiunea
   peste min-height, deci nimic nu mai e taiat. */
@media (max-width:1024px){
  .gm-hero-inner{ padding-top:72px; padding-bottom:72px; }
}
@media (max-width:781px){
  .gm-hero-inner{ padding-top:64px; padding-bottom:64px; }
  .gm-hero-eyebrow{ margin-bottom:18px; }
}
@media (max-width:520px){
  .gm-hero-inner{ padding-top:52px; padding-bottom:52px; padding-left:20px; padding-right:20px; }
  .gm-hero-eyebrow{ margin-bottom:16px; letter-spacing:.14em; }
  .gm-hero h1{ margin-bottom:16px; }
  .gm-hero p{ margin-bottom:26px; }
}
