.elementor-41673 .elementor-element.elementor-element-4e83002{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-41673 .elementor-element.elementor-element-4e83002:not(.elementor-motion-effects-element-type-background), .elementor-41673 .elementor-element.elementor-element-4e83002 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-1fd94e3 );}.elementor-41673 .elementor-element.elementor-element-25969af{--display:flex;}.elementor-41673 .elementor-element.elementor-element-25969af:not(.elementor-motion-effects-element-type-background), .elementor-41673 .elementor-element.elementor-element-25969af > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-6e92963 );}.elementor-41673 .elementor-element.elementor-element-e407740{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-41673 .elementor-element.elementor-element-e407740:not(.elementor-motion-effects-element-type-background), .elementor-41673 .elementor-element.elementor-element-e407740 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-1fd94e3 );}.elementor-41673 .elementor-element.elementor-element-4be7470{--display:flex;}.elementor-41673 .elementor-element.elementor-element-4be7470:not(.elementor-motion-effects-element-type-background), .elementor-41673 .elementor-element.elementor-element-4be7470 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-6e92963 );}.elementor-41673 .elementor-element.elementor-element-120cc81{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-41673 .elementor-element.elementor-element-120cc81:not(.elementor-motion-effects-element-type-background), .elementor-41673 .elementor-element.elementor-element-120cc81 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-1fd94e3 );}.elementor-41673 .elementor-element.elementor-element-fa9b21e{--display:flex;}.elementor-41673 .elementor-element.elementor-element-fa9b21e:not(.elementor-motion-effects-element-type-background), .elementor-41673 .elementor-element.elementor-element-fa9b21e > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-6e92963 );}.elementor-41673 .elementor-element.elementor-element-813f6b4{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-41673 .elementor-element.elementor-element-813f6b4:not(.elementor-motion-effects-element-type-background), .elementor-41673 .elementor-element.elementor-element-813f6b4 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-1fd94e3 );}.elementor-41673 .elementor-element.elementor-element-115b96f{--display:flex;}.elementor-41673 .elementor-element.elementor-element-115b96f:not(.elementor-motion-effects-element-type-background), .elementor-41673 .elementor-element.elementor-element-115b96f > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-6e92963 );}@media(min-width:768px){.elementor-41673 .elementor-element.elementor-element-25969af{--content-width:800px;}.elementor-41673 .elementor-element.elementor-element-4be7470{--content-width:800px;}.elementor-41673 .elementor-element.elementor-element-fa9b21e{--content-width:800px;}.elementor-41673 .elementor-element.elementor-element-115b96f{--content-width:800px;}}/* Start custom CSS *//* Stiluri de bază reset & fonturi */
html {
  scroll-behavior: smooth;
  box-sizing: border-box;
}
*, *::before, *::after {
  box-sizing: inherit;
}
body {
    margin: 0;
    padding: 0;
    font-family: 'Open Sans', sans-serif;
    color: #3A3B3C; /* brand-text-dark */
    line-height: 1.5;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
h1, h2, h3, h4, h5, h6 {
    font-family: 'Montserrat', sans-serif;
    margin-top: 0;
    margin-bottom: 0;
}
ul {
    list-style: none;
    margin: 0;
    padding: 0;
}
a {
    text-decoration: none;
    color: inherit;
}
button {
    cursor: pointer;
    border: none;
    background: none;
    padding: 0;
}
img {
    max-width: 100%;
    height: auto;
    display: block;
}

/* Culori Brand */
:root {
    --brand-navy: #143362;
    --brand-turcoaz: #28B4A7;
    --brand-turcoaz-hover: #20A395;
    --brand-bg-light: #F0F4F8;
    --brand-text-dark: #3A3B3C;
    --brand-text-hero: #E9EFF5;
    --brand-footer-bg: #2D3748;
    --brand-footer-text: #A0AEC0;
}

/* Utilități generale */
.container {
    max-width: 1280px; /* max-w-7xl */
    margin-left: auto;
    margin-right: auto;
    padding-left: 16px; /* px-4 */
    padding-right: 16px; /* px-4 */
}
@media (min-width: 640px) { /* sm */
    .container {
        padding-left: 24px; /* sm:px-6 */
        padding-right: 24px; /* sm:px-6 */
    }
}
@media (min-width: 1024px) { /* lg */
    .container {
        padding-left: 32px; /* lg:px-8 */
        padding-right: 32px; /* lg:px-8 */
    }
}

.section-padding {
    padding-top: 48px; /* py-12 */
    padding-bottom: 48px; /* py-12 */
}
@media (min-width: 768px) { /* md */
    .section-padding {
        padding-top: 64px; /* md:py-16 */
        padding-bottom: 64px; /* md:py-16 */
    }
}

.section-white { background-color: white; }
.section-light-bg { background-color: var(--brand-bg-light); }
.text-brand-navy { color: #143362; }
.text-brand-turcoaz { color: #28B4A7; }
.text-brand-text-dark { color: #3A3B3C; }

.flex-row {
    display: flex;
    flex-wrap: wrap;
    margin-left: -16px; /* -mx-4 */
    margin-right: -16px; /* -mx-4 */
}
.flex-row > * {
    padding-left: 16px; /* px-4 */
    padding-right: 16px; /* px-4 */
    flex-basis: 100%;
    max-width: 100%;
}
@media (min-width: 768px) {
    .flex-row.items-center { align-items: center; }
    .flex-row.items-start { align-items: flex-start; }
    .flex-row.md-flex-nowrap { flex-wrap: nowrap; }
    .flex-row.flex-row-reverse-md { flex-direction: row; } /* Default is row */
    .flex-row.flex-row-reverse-md > div:first-child { order: 1; } /* Reset order for desktop */
    .flex-row.flex-row-reverse-md > div:last-child { order: 2; } /* Reset order for desktop */
    .flex-row > .col-half {
        flex-basis: 50%;
        max-width: 50%;
    }
    .flex-row > .col-third {
        flex-basis: 33.333333%;
        max-width: 33.333333%;
    }
    .flex-row > .col-two-third {
        flex-basis: 66.666667%;
        max-width: 66.666667%;
    }
    .flex-row.flex-row-reverse-md { flex-direction: row-reverse; } /* Apply row-reverse on desktop */
    .flex-row.flex-row-reverse-md > div:first-child { order: 2; } /* Change order for desktop */
    .flex-row.flex-row-reverse-md > div:last-child { order: 1; } /* Change order for desktop */
}

.grid-3-col {
    display: grid;
    grid-template-columns: 1fr; /* Default pe mobil */
    gap: 32px; /* gap-8 */
}
@media (min-width: 768px) { /* md */
    .grid-3-col {
        grid-template-columns: repeat(3, 1fr);
    }
}
.gap-large { gap: 32px; }

/* Carduri */
.card-base {
    border-radius: 8px; /* rounded-lg */
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05); /* shadow-lg */
    transition: all 0.3s ease;
}
.card-base:hover {
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04); /* hover:shadow-xl */
    transform: translateY(-4px); /* hover:-translate-y-1 */
}
.card-white { background-color: white; }
.card-title {
    font-family: 'Montserrat', sans-serif;
    font-size: 20px; /* text-xl */
    font-weight: 700; /* font-bold */
    margin-bottom: 12px; /* mb-3 */
    color: var(--brand-navy);
}
.card-text {
    font-size: 14px; /* text-sm */
    color: var(--brand-text-dark);
    margin-bottom: 16px; /* mb-4 */
}

/* Titluri de secțiune */
.section-title-center {
    font-family: 'Montserrat', sans-serif;
    font-size: 30px; /* text-3xl */
    font-weight: 700; /* font-bold */
    text-align: center;
    margin-bottom: 48px; /* mb-12 */
    color: var(--brand-navy);
}

/* Imagini */
.image-rounded { border-radius: 8px; }
.image-shadow { box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05); }
.image-full-width { width: 100%; height: auto; }
.object-cover { object-fit: cover; }
.map-container { /* Stiluri pentru containerul de iframe-uri Google Maps */
    width: 100%;
    height: 200px; /* Înălțime fixă pentru hărți */
    overflow: hidden;
    border-radius: 8px; /* rounded-lg */
    margin-top: 16px; /* mt-4 */
    margin-bottom: 16px; /* mb-2 */
}
.map-container iframe {
    width: 100%;
    height: 100%;
    border: 0;
}


/* Liste custom */
.list-disc { list-style-type: disc; }
.list-inside { list-style-position: inside; }
.margin-bottom-normal { margin-bottom: 16px; }
.space-y-small > li:not([hidden]) ~ li:not([hidden]) { margin-top: 8px; }


/* Butoane */
.btn-primary {
    display: inline-block;
    background-color: var(--brand-turcoaz);
    color: white;
    font-weight: 600;
    padding: 12px 32px; /* py-3 px-8 */
    border-radius: 8px; /* rounded-lg */
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06); /* shadow-md */
    transition: all 0.3s ease;
    transform: translateY(0);
    text-decoration: none;
    font-size: 14px; /* text-sm */
}
.btn-primary:hover {
    background-color: var(--brand-turcoaz-hover);
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05); /* hover:shadow-lg */
    transform: translateY(-2px) scale(1.05); /* hover:-translate-y-0.5 hover:scale-105 */
}
.btn-primary-mobile { /* Stilul butonului de programare din meniul mobil */
    display: block; /* Make it a block element */
    width: calc(100% - 32px); /* w-full mx-4 */
    padding: 12px 20px; /* py-3 px-5 */
    margin: 8px 16px; /* mt-2 mx-4 */
    background-color: var(--brand-turcoaz);
    color: white;
    font-weight: 600;
    border-radius: 6px;
    text-align: center;
    transition: background-color 0.3s ease;
    font-size: 16px; /* Adjusted font size */
}
.btn-primary-mobile:hover {
    background-color: var(--brand-turcoaz-hover);
}


/* Antet specific (header#header-site) */
header#header-site {
    position: sticky; /* Make it sticky on all screen sizes */
    top: 0;
    z-index: 9999 !important; /* Asigură că este deasupra altor elemente */
    width: 100%;
    background-color: white;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    padding: 8px 16px; /* py-1 px-4 */
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 56px; /* Default h-14 */
}
@media (min-width: 768px) {
    header#header-site {
        padding: 8px 32px; /* md:py-2 md:px-8 */
        min-height: 64px; /* Default h-16 */
    }
}

.header-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    max-width: 1280px;
    margin: 0 auto;
}

.logo-img {
    height: 80px !important; /* Increased logo height */
    width: auto;
    object-fit: contain;
}
@media (min-width: 768px) {
    .logo-img {
        height: 96px !important; /* Increased logo height */
    }
}

.menu-desktop { display: none; }
@media (min-width: 768px) {
    .menu-desktop {
        display: flex;
        align-items: center;
    }
}

.menu-list {
    display: flex;
    gap: 24px; /* space-x-6 */
    list-style: none;
    margin: 0;
    padding: 0;
}
.meniu-link {
    font-weight: 600;
    color: var(--brand-text-dark);
    padding-bottom: 4px; /* pb-1 */
    border-bottom: 2px solid transparent;
    transition: all 0.3s ease; /* transition-colors duration-300 */
    text-decoration: none;
}
.meniu-link:hover {
    color: var(--brand-turcoaz);
    border-bottom-color: var(--brand-turcoaz);
}
.meniu-link.activ {
    color: var(--brand-turcoaz);
    border-bottom-color: var(--brand-turcoaz);
}

.desktop-button { display: none; }
@media (min-width: 768px) {
    .desktop-button {
        display: block;
        margin-left: 16px; /* ml-4 */
    }
}

.mobile-menu-toggle { display: block; }
@media (min-width: 768px) {
    .mobile-menu-toggle { display: none; }
}

.meniu-mobil-buton {
    display: flex;
    flex-direction: column;
    justify-content: space-around;
    width: 28px;
    height: 24px;
    background: transparent;
    border: none;
    cursor: pointer;
    padding: 0;
    z-index: 20;
}
.meniu-mobil-buton span {
    display: block;
    width: 28px;
    height: 2px;
    background-color: var(--brand-navy);
    border-radius: 9999px;
    transition: all 0.3s ease;
}

.menu-mobile {
    display: none; /* Ascuns inițial */
    flex-direction: column;
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    background-color: white;
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.04);
    padding-top: 8px;
    padding-bottom: 8px;
    z-index: 40;
}
.menu-mobile.show-menu { /* Clasa adăugată de JS pentru a afișa */
    display: flex;
}
.menu-mobile .menu-list-mobile {
    display: flex;
    flex-direction: column;
    width: 100%;
    list-style: none;
    margin: 0;
    padding: 0;
}
.menu-mobile .meniu-link {
    display: block;
    text-align: center;
    width: 100%;
    padding: 12px 16px;
    border-bottom: 1px solid #e2e8f0;
    color: var(--brand-text-dark);
    text-decoration: none;
}
.menu-mobile .meniu-link:hover {
    background-color: #f0f4f8;
}


/* Footer */
.footer-bg { background-color: var(--brand-footer-bg); }
.footer-text { color: var(--brand-footer-text); }
.footer-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 32px; /* gap-8 */
    margin-bottom: 40px; /* mb-10 */
}
@media (min-width: 768px) { /* md */
    .footer-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}
@media (min-width: 1024px) { /* lg */
    .footer-grid {
        grid-template-columns: repeat(4, 1fr);
    }
}
.footer-title {
    font-family: 'Montserrat', sans-serif;
    font-size: 18px; /* text-lg */
    font-weight: 600; /* font-semibold */
    color: white;
    margin-bottom: 16px; /* mb-4 */
}
.footer-description {
    font-size: 14px; /* text-sm */
}
.footer-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 8px; /* space-y-2 */
}
.footer-link {
    font-size: 14px; /* text-sm */
    color: var(--brand-footer-text);
    transition: color 0.3s;
}
.footer-link:hover {
    color: var(--brand-turcoaz);
}
.footer-bottom {
    text-align: center;
    border-top: 1px solid #4a5568; /* border-slate-700 */
    padding-top: 32px; /* pt-8 */
}
.copyright-text {
    font-size: 14px; /* text-sm */
}
.footer-legal-links {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    margin-top: 16px; /* mt-4 */
    gap: 16px; /* space-x-4 */
}
.footer-legal-links img {
    height: 48px; /* h-12 */
    width: auto;
    object-fit: contain;
}

/* Stiluri pentru modal (fereastra pop-up) */
.modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.7);
    display: none; /* Ascuns inițial */
    justify-content: center;
    align-items: center;
    z-index: 1000;
}
.modal-overlay.show {
    display: flex; /* Afișat când are clasa 'show' */
}
.modal-content {
    background-color: white;
    padding: 32px; /* 2rem */
    border-radius: 12px; /* 0.75rem */
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2);
    max-width: 500px;
    width: 90%;
    position: relative;
}
.modal-close-button {
    position: absolute;
    top: 16px; /* 1rem */
    right: 16px; /* 1rem */
    background: none;
    border: none;
    font-size: 24px; /* 1.5rem */
    cursor: pointer;
    color: #3A3B3C;
}
.modal-title {
    font-family: 'Montserrat', sans-serif;
    font-size: 24px; /* text-2xl */
    font-weight: 700; /* font-bold */
    text-align: center;
    margin-bottom: 24px; /* mb-6 */
    color: var(--brand-navy);
}
.modal-buttons-container {
    display: flex;
    flex-direction: column;
    gap: 16px; /* space-y-4 */
}
.btn-modal {
    width: 100%;
    background-color: var(--brand-turcoaz);
    color: white;
    font-weight: 600;
    padding: 12px 24px; /* py-3 px-6 */
    border-radius: 8px; /* rounded-lg */
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    transition: all 0.3s ease;
    font-size: 18px; /* text-lg */
}
.btn-modal:hover {
    background-color: var(--brand-turcoaz-hover);
    box-shadow: 0 8px 12px rgba(0, 0, 0, 0.2);
}

/* Stiluri pentru FAQ */
.faq-item {
    border-bottom: 1px solid #e2e8f0; /* gray-200 */
}
.faq-question {
    cursor: pointer;
    padding: 16px 0; /* 1rem 0 */
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-weight: 600;
    color: #143362; /* brand-navy */
}
.faq-answer {
    padding-bottom: 16px; /* 1rem */
    color: var(--brand-text-dark);
    display: none; /* Ascuns inițial */
}
.faq-question svg {
    transition: transform 0.3s ease;
}
.faq-question.active svg {
    transform: rotate(180deg);
}
/* Stiluri pentru pictogramele serviciilor */
.icon-xlarge {
    width: 96px; /* Increased size for icons */
    height: 96px; /* Increased size for icons */
    color: var(--brand-turcoaz); /* Set icon color to turcoaz */
    fill: currentColor !important; /* Ensure SVG fills with currentColor */
}
.flex-center {
    display: flex;
    justify-content: center;
    align-items: center;
}/* End custom CSS */