/* ===== VARIABLES ===== */
:root {
    --brand-purple: #924E7D;
    --brand-pink: #A05888;
}

/* ===== MENU BAR TEXT + LINK COLORS ===== */
#sp-header a, span.sp-menu-heading {
    color: white !important;
    font-size: 15px;
    font-weight: bold;
    text-transform: uppercase;
}

#sp-header #sp-menu .sp-megamenu-parent > li.current-item.active > a,
#sp-header #sp-menu .sp-megamenu-parent > li.sp-has-child.active > a {
    color: var(--brand-pink) !important;
}

.sp-megamenu-parent > li > a {
    color: white !important;
    font-weight: bold;
    text-transform: uppercase;
}

.sp-megamenu-parent > li > a:hover {
    color: var(--brand-pink) !important;
}

/* ===== LOGO SIZING ===== */
div.logo a img.logo-image,
div.logo a img.logo-image-phone {
    max-height: 70px !important;
    height: auto !important;
    width: auto !important;
}

/* ===== LOGO FIX: stop sticky-logo duplicate from rendering ===== */
.logo-image.logo-sticky {
    display: none !important;
}

/* ===== TOP BAR: hidden (language switcher moved into menu bar) ===== */
#sp-top-bar {
    display: none;
}
#sp-top-bar a {
    color: white !important;
    font-weight: bold !important;
}

/* ===== STICKY HEADER BACKGROUND (only visible once sticky triggers) ===== */
.sticky-menu #sp-header {
    background-color: rgba(0, 0, 0, 0.75) !important;
}

/* ===== SLIDER + LOGO RESPONSIVE ADJUSTMENTS (1014px and 333px breakpoints) ===== */
@media (max-width: 1014px) {
    #sp-header.header-sticky .logo-sticky {
        display: none !important;
    }
    div.logo a img.logo-image,
    div.logo a img.logo-image-phone {
        max-height: 35px !important;
        height: auto !important;
        width: auto !important;
    }
    .hx-slide-content {
        max-width: 400px !important;
    }
    h3.hx-slide-title {
        font-size: 1.3rem !important;
    }
}

@media (max-width: 333px) {
    h3.hx-slide-title {
        font-size: 1rem !important;
    }
    .hx-slide-content {
        max-width: 320px !important;
    }
}

/* ===== MENU BREAKPOINT: switch to hamburger below 1310px instead of 992px ===== */
/* Verify the hamburger actually opens the menu in the 992-1310px range --
   if not, Helix's JS may be checking window width independently of this CSS. */
@media (max-width: 1309.98px) {
    #sp-menu .sp-megamenu-parent {
        display: none !important;
    }
    #sp-menu #offcanvas-toggler {
        display: flex !important;
    }
    #sp-logo .logo-default {
        display: none !important;
    }
}

@media (min-width: 1310px) {
    #sp-menu .sp-megamenu-parent {
        display: block !important;
    }
    #sp-menu #offcanvas-toggler {
        display: none !important;
    }
    #sp-logo .logo-default {
        display: inline-block !important;
    }
    #sp-logo .logo-image-phone {
        display: none !important;
    }
}

/* ===== HAMBURGER ICON COLOR ===== */
.burger-icon span {
    background-color: var(--brand-pink) !important;
}

/* ===== LANGUAGE SWITCHER (inline flag list, real confirmed markup) ===== */
.mod-languages__list.lang-inline,
.sp-module-content .mod-languages ul.lang-inline {
    display: flex;
    align-items: center;
    margin: 0;
    padding: 0;
    list-style: none;
    min-width: 64px;
    border-left: none !important;
    border-right: none !important;
}
.sp-module-content .mod-languages ul.lang-inline li {
    margin-left: 12px;
}
.sp-module-content .mod-languages ul.lang-inline img {
    width: 24px;
    height: auto;
    vertical-align: middle;
}

/* ===== OFFCANVAS MOBILE MENU PANEL (selectors unverified against real panel HTML) ===== */
.offcanvas-menu {
    background-color: var(--brand-pink) !important;
}
.offcanvas-menu .offcanvas-inner .sp-module ul > li a,
.offcanvas-menu .offcanvas-inner .sp-module ul > li .nav-header,
.offcanvas-menu .offcanvas-inner .sp-module ul > li .separator {
    color: white !important;
}
.offcanvas-menu .offcanvas-inner > div.sp-module > h3.sp-module-title {
    color: white !important;
    font-weight: bold;
}
a.close-offcanvas {
    color: white !important;
}

/* ===== GENERIC MODULE / BODY SPACING ===== */
.sp-module ul > li > a {
    color: #ffffff;
}
#sp-main-body {
    padding: 0px;
}
.sp-module {
    margin-bottom: -1%;
}
#sp-footer1 > .sp-column {
    text-align: center;
}

/* ===== TEAM MODULE TITLE (mod-custom118/124) ===== */
#mod-custom118 .team-title, #mod-custom124 .team-title {
    text-align: center;
    color: white;
    font-weight: 300;
    font-size: 36px;
    letter-spacing: 2px;
    text-transform: uppercase;
    margin-bottom: 50px;
    line-height: 36px;

}

/* ===== ARTICLE PAGE TITLE BAR (purple bar, e.g. "Despre", "De ce sa ne alegi") ===== */
.article-details .article-header h1,
.article-details .article-header h2,
.article-details .article-header h4 {
    background-color: var(--brand-pink);
    border-top: 3px solid #6d3a5e;
    color: white;
    font-weight: 700;
    font-size: 28px;
    padding: 0.8% 3.3%;
}
div.sp-page-title-no-img > div.container > h2 {
    font-weight: bold !important;
}

/* ===== ICONS ===== */
.pe-7s-phone:before,
.pe-7s-mail:before {
    color: var(--brand-pink) !important;
    font-weight: bold !important;
}
.pe-7s-angle-up:before {
    color: white !important;
    font-weight: bold !important;
}
.pe-7s-angle-down:before {
    display: none;
}

/* ===== ABOUT US SECTION (not yet rebuilt) ===== */
img.customPicAbout {
    width: 73%;
    margin: auto;
    margin-top: 16%;
}
div#aboutUs {
    padding: 64px;
    background: url("/../images/pictures/background_About_Us.png");
    background-size: cover;
}
.col-md-6.col-sm-6.customTextAbout > p {
    text-align: justify;
}
div.textAboutUsHomepage {
    text-align: justify;
    color: white;
    font-weight: 400;
}
#sp-main-body.customCSSAbout,
.contactZone {
    background: url(/../images/pictures/background_About_Us.png) center center fixed;
    background-size: cover;
}

/* ===== "DE CE SA NE ALEGI PE NOI?" ARTICLE (photo + text row) ===== */
.why-us-row {
    display: flex;
    flex-wrap: wrap;
    gap: 40px;
    align-items: flex-start;
    max-width: 1100px;
    margin: 0 auto;
    padding: 20px;
}
.why-us-photo {
    flex: 0 0 30%;
    max-width: 30%;
}
.why-us-photo img {
    width: 100%;
    height: auto;
    display: block;
}
.why-us-text {
    flex: 1;
    min-width: 300px;
}
.why-us-text p {
    text-align: justify;
}
@media (max-width: 767px) {
    .why-us-row {
        flex-direction: column;
    }
    .why-us-photo {
        flex: 1 1 100%;
        max-width: 60%;
        margin: 0 auto;
    }
  p.customWidthInFooter {
    width: 100%;
    text-align: justify;
}
}

/* ===== MOTO SECTION ===== */
div#moto {
    padding: 64px;
    background: url("/../images/pictures/motoBackground.png");
    text-align: center;
    color: white;
    background-size: cover;
}
img.imagesMoto {
    margin-left: auto;
    margin-right: auto;
}
div.textMoto {
    font-weight: bold;
    font-size: 23px;
}

/* ===== TEAM FULL-PAGE LISTING (not yet rebuilt) ===== */
img.imgTeamPage {
    margin-left: auto;
    margin-right: auto;
    margin-top: 6%;
    width: 36%;
}
.col-md-6.col-sm-6.rightTextTeam {
    padding-right: 3%;
    text-align: justify;
}
.col-md-6.col-sm-6.leftTextTeam {
    padding-left: 5%;
    text-align: justify;
    margin-left: 8%;
    margin-right: -8%;
}
.col-md-6.col-sm-6.customMarginPictureAndra {
    margin-right: -10%;
}
.memberTitle {
    color: var(--brand-purple) !important;
    font-weight: bold;
    font-size: 20px;
}
.partner {
    font-weight: bold;
    font-size: 15px;
}
.experience {
    color: var(--brand-purple) !important;
    font-weight: bold;
    font-size: 17px;
    font-style: italic;
}
p.titleInOtherPage {
    font-size: 26px;
    font-weight: bold;
    color: var(--brand-pink);
}

/* ===== HOMEPAGE TEAM FLIP-CARD MODULE ===== */
.customBackgroundTeam {
    background: url(/../images/pictures/background_Echipa_.jpeg);
    background-size: cover;
}
.flipper {
    width: 78%;
}
.front.customWidthPerson {
    background: none !important;
    border: 2px solid white !important;
}
.sppb-person-introtext {
    text-align: justify !important;
}
.sppb-person-information.flip {
    text-align: center !important;
}

/* ===== EXPERTISE ACCORDION (detail page, module 121 -- page_ prefixed) ===== */
.page_expertise-detail-page {
    max-width: 700px;
    margin: 0 auto;
    padding: 20px;
}
.page_titleExpertise {
    font-weight: 600;
    color: black;
    text-align: center;
    font-size: 26px;
}
.page_expertise-item {
    border-bottom: 1px solid #ccc;
}
.page_expertise-item summary {
    padding: 16px 4px;
    color: var(--brand-pink);
    font-weight: 600;
    font-size: 15px;
    cursor: pointer;
    list-style: none;
}
.page_expertise-item summary::before {
    content: "+";
    display: inline-block;
    width: 20px;
    font-weight: bold;
    color: var(--brand-purple);
}
.page_expertise-item[open] summary::before {
    content: "\2013";
}
.page_expertise-item summary:hover {
    color: var(--brand-purple);
}
.page_expertise-body {
    padding: 0 4px 20px 24px;
    font-size: 15px;
    line-height: 1.6;
}
.page_expertise-body ul {
    margin: 0;
    padding-left: 20px;
}
.page_expertise-body li {
    margin-bottom: 10px;
    text-align: justify;
}
.page_expertise-item summary::-webkit-details-marker {
    display: none;
}

/* ===== HOMEPAGE EXPERTISE GRID (home_ prefixed, separate from above) ===== */
.contentExpertise {
    max-width: 1349px;
    padding-top: 80px;
    padding-bottom: 80px;
    margin: 0 auto;
}
.home_titleExpertise {
    font-weight: 600;
    color: black;
    text-align: center;
    font-size: 26px;
}
.home_expertise-divider {
    border-top: 2px solid var(--brand-pink);
    margin: 14px auto 30px;
    width: 4%;
}
.home_expertise-grid {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 10px;
}
.home_pictureAndTextExpertise {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    text-decoration: none;
    color: black !important;
    font-weight: bold;
    font-size: 17px;
    flex: 0 0 20%;
    max-width: 20%;
    margin-bottom: 40px;
    padding: 0 15px;
    box-sizing: border-box;
}
.home_pictureAndTextExpertise:hover {
    color: var(--brand-purple) !important;
}
.home_pictureAndTextExpertise span {
    margin-top: 10px;
    line-height: 1.3;
}
.home_imageExpertise,
.home_imageExpertise2 {
    width: 60px;
    height: auto;
}
@media (max-width: 767px) {
    .home_pictureAndTextExpertise {
        font-size: 14px;
        flex: 0 0 50%;
        max-width: 50%;
    }
	.customBackgroundTeam {
        margin-top: -1% !important;
    }
}
@media (max-width: 420px) {
    .home_pictureAndTextExpertise {
        flex: 0 0 100%;
        max-width: 100%;
    }
}

/* ===== AFFILIATIONS SECTION (Domenii de expertiza page) ===== */
p.customTitleDomAfilieri {
    color: var(--brand-purple) !important;
    font-weight: bold;
    font-size: 25px;
    text-transform: uppercase;
    text-align: center;
    margin-bottom: 2%;
}
.afilieri {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 60px;
    max-width: 900px;
    margin: 0 auto;
    padding: 20px;
}
.afilieri > div {
    flex: 0 0 auto;
    text-align: center;
    width: 100% !important;
    max-width: 320px;
}
.afilieri .titlerPic {
    color: var(--brand-purple) !important;
    font-weight: bold;
    font-size: 17px;
    text-transform: uppercase;
    text-align: center;
    margin-bottom: 16px;
}
.afilieri .afilieriPic {
    width: 100%;
    max-width: 220px;
    height: auto;
    margin: 0 auto;
}


/* ===== CONTACT SECTION INFO TEXT ===== */
.contact-form-title {
    font-size: 24px;
    font-weight: bold;
    letter-spacing: 1px;
    color: #924E7D !important;
    margin-top: 0;
    margin-bottom: 0;
    text-transform: uppercase;
}

.contact-form #name,
.contact-form #email,
.contact-form #phone,
.contact-form #subject,
.contact-form #message {
    width: 100%;
    box-sizing: border-box;   
    padding: 12px 16px;      
    font-size: 16px;              
    border: 1px solid #c9c9c9;    
    border-radius: 6px;        
    background: transparent;
    outline: none;             
}

p.titleContentContact {
    color: var(--brand-purple);
    font-weight: bold;
}
p.contentContact {
    font-weight: bold;
    margin-bottom: 4% !important;
}
p.contentContact > a {
    color: black !important;
}
.customMarginTopMap {
    margin-top: 4%;
}
.customBackgroundContact {
    background: #f0f2f3;
}

/* ===== "READ MORE" BUTTONS ===== */
.butReadMore {
    text-align: right;
}
.butReadMore a {
    color: white !important;
    font-weight: bold;
    border: 2px solid white;
    padding: 12px;
}
.butReadMore a:hover {
    background: white !important;
    color: var(--brand-purple) !important;
    font-weight: bold;
    border: 2px solid white;
    padding: 12px;
}
.butReadMoreTeamHomepage {
    text-align: right;
}
.butReadMoreTeamHomepage a {
    color: white !important;
    font-weight: bold;
    border: 2px solid white;
    padding: 12px;
    font-size: 12px;
}
.butReadMoreTeamHomepage a:hover {
    background: white !important;
    color: var(--brand-purple) !important;
    font-weight: bold;
    border: 2px solid white;
    padding: 12px;
    font-size: 12px;
}

/* ===== FOOTER ===== */
.background_Footer {
    background: url(/../images/pictures/background_Footer.png);
    background-size: cover;
    padding-left: 13% !important;
}
.customFooterTexts,
.customFooterTexts > p > a {
    color: white !important;
}
img.logoFooter {
    width: 40%;
    margin-left: -3%;
}
.downText,
.downText > a {
    color: white !important;
    font-size: 16px !important;
    font-weight: bold !important;
}
.upText {
    font-size: 20px;
    font-weight: bold;
}
p.customWidthInFooter {
    width: 62%;
    text-align: justify;
}
a.customLinkColor {
    color: var(--brand-purple) !important;
    font-weight: bold !important;
}
img.imgSoimi {
    width: 26% !important;
    margin-right: auto;
    display: inline-block;
    border-radius: 20px;
    margin-left: 1%;
    margin-bottom: 3%;
}

/* ===== ARTICLE CONTENT (general pages) ===== */
.articleClass {
    padding-left: 6% !important;
    padding-right: 6% !important;
}
hr {
    border-top: none !important;
}
p, li {
    font-weight: 400;
    font-size: 15px;
}
p.insideTitle {
    text-transform: uppercase;
    font-size: 22px;
    font-weight: bold;
    margin-bottom: 24px;
}
div.col-sm-12.col-md-12 {
    padding-left: 0;
    padding-right: 0;
}
p.titleSubsection {
    font-style: italic;
    font-weight: bold;
    font-size: 18px;
}

/* ===== COOKIE CONSENT (verify still in use) ===== */
li.cookieLi {
    margin-top: -2%;
}
.cookiesText {
    font-size: 14px;
    text-align: justify;
    width: 133%;
}
.sp-cookie-consent-action {
    margin-top: 9% !important;
}
input.customInputCookie {
    top: 2px;
    position: relative;
}
span.mobileCookiesButton {
    display: none;
    border: 2px solid white;
    width: 37%;
    text-align: center;
    margin-top: 2%;
    margin-left: auto;
    margin-right: auto;
}
div#cookieEN {
    display: none;
}
a.sp-cookie-close.sp-cookie-allow.disableCookieBtn {
    pointer-events: none !important;
    opacity: 0.4 !important;
}

/* ===== MISC (verify still applies) ===== */
.sp-horizontal .sp-arrow {
    top: 46% !important;
}
.hideOriginalFooter {
    display: none;
}

/* ===== MOBILE MEDIA QUERY (360-640px) ===== */
@media (min-width: 360px) and (max-width: 640px) {
    div.textAboutUsHomepage {
        padding-left: 5%;
        padding-right: 5%;
        font-size: 11px;
    }
    .downText, .downText > a {
        color: white !important;
        font-size: 15px !important;
        font-weight: bold !important;
    }
    .upText {
        margin-top: 16%;
    }
    img.imgTeamPage {
        width: 81%;
        margin-bottom: 10%;
    }
    .col-md-6.col-sm-6.customMarginPictureAndra {
        margin-right: 0;
    }
    .memberTitle, .partner {
        text-align: center;
    }
    .col-md-6.col-sm-6.leftTextTeam {
        margin-left: 0;
    }
    .col-md-6.col-sm-6.customFontAbout {
        width: inherit;
    }
    p.titleInOtherPage {
        text-align: left;
        margin-top: 11%;
    }
    .sp-accordion.sp-accordion-style1 .toggler,
    .sp-accordion.sp-accordion-style1 .toggler span,
    .sp-accordion.sp-accordion-style1 .toggler span span {
        margin-bottom: 7% !important;
        padding-bottom: 61px !important;
    }
    p.titleContentContact, p.contentContact, label.sppb-form-check-label, .sppb-text-left {
        text-align: center;
    }
    div.textMoto {
        font-size: 17px;
    }
    /*.customBackgroundTeam {
        margin-top: -50% !important;
    }*/
    div#moto {
        padding: 30px;
    }
    .front.customWidthPerson {
        background: none !important;
        border: none !important;
    }
    .cookiesText {
        width: inherit;
        position: relative;
        height: 281px;
        overflow-y: scroll;
        padding-left: 20px;
        padding-right: 30px;
    }
    ::-webkit-scrollbar {
        width: 10px;
    }
    ::-webkit-scrollbar-track {
        background: white !important;
        border-radius: 10px;
    }
    ::-webkit-scrollbar-thumb {
        background: red;
        border-radius: 10px;
    }
    img.imgSoimi {
        width: 25% !important;
    }
}

/* ===== TABLET MEDIA QUERY (768-1024px) ===== */
@media (min-width: 768px) and (max-width: 1024px) {
    .cookiesText {
        width: inherit;
    }
}