@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100..900;1,100..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400..900;1,400..900&family=Roboto:ital,wght@0,100..900;1,100..900&display=swap');

    /* --------- Custom presets ------------*
    :root {
        --font-principal: Roboto, Open Sans, Cambria, Calibri, Arial, Verdana, system-ui, sans-serif;
        --font-serif: 'Playfair Display', Georgia, serif;

        --font-min-base-size: 14px;
        --font-max-base-size: 17px;
        --ink: #1a1814;
        --ink-mid: #4a4540;
        --ink-light: #7a756e;
        --gold: #ffb400;
        --gold-dark: #d99700;
        --gold-light: #fff3cc;
        --gold-pale: #fffaed;
        --gold-border: rgba(255, 180, 0, 0.30);

        --navy: #1a2b4a;



        --text-color: rgb(99, 99, 99);
        --text-color-light: black;
        --h-text-color: black;
        --bg-color: #fafaf8;
        --border: #d8d2c4;

        --accent-color: #ffb400;
        --accent-color-light: #ffb400;
        --white: white;
        --golden: #ffb400;
        --paper: #f9f7f2;
        --crem: #fafaf8;


        --gutter-x: 1.5rem;

    }
/*
    .schema-dark {
        --bg-color: #1a1814;
        --text-color: #ffffff;
        --accent-color: #ffb400;
    }

    .schema-muted {
        --bg-color: #f5f3ee;
        --text-color: #4a4540;
        --accent-color: #d99700;
    }


    /* ---- Typography ------*

    html {
        font-size: clamp(var(--font-min-base-size), 1vw + 8px, var(--font-max-base-size));
        /*font-size de baza intre 14px-18px in functie de marimea ecranului. E baza dupa care se calculeaza rem *
        -webkit-text-size-adjust: 100%;
        /* previne zoom automat pe iOS la rotire *
        scroll-behavior: smooth;
    }

    body {
        font-family: var(--font-principal);
        font-weight: 300;
        line-height: 1.5;
        /* corectează line-height inconsistent între browsere *
        color: var(--ink-mid);
        background-color: var(--bg_color);
    }

    /* Tipografie adaptabilă (Fluid Typography) 
    h1 {
        font-size: 2rem;
        line-height: 1.2;
        letter-spacing: -0.02em;
        margin-bottom: 1.25rem;
    }

    h2 {
        font-size: 1.625rem;
        line-height: 1.2;
        margin-top: 1.5rem;
    }

    h3 {
        font-size: 1.375rem;
    }

    h4 {
        font-size: 1.125rem;
    }

    h5,
    h6 {
        font-size: 1.125rem;
    }


    h1,
    h2,
    h3,
    h4,
    h5,
    h6 {
        font-family: var(--font-serif);
        color: var(--ink);
        font-weight: 400;

    }
	

    h1 em,
    h2 em {
        color: var(--gold-dark);
        font-style: italic;
    }

    a:hover,
    a:focus,
    a:active {
        color: var(--accent-color);
    }

    section {
        margin: 15px;
    }

    strong {
        color: var(--ink);
    }

    .grid2,
    .grid3 {
        display: grid;
        gap: 2rem;
        padding: 15px;
    }

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

    .grid3 {
        grid-template-columns: repeat(3, 1fr);
    }

    @media (max-width: 992px) {
        .grid2 {
            grid-template-columns: 1fr
        }

        .grid3 {
            grid-template-columns: 1fr
        }
    }

    /*---- Header----*
    #sp-header .row,
	#sp-topbar {margin:0px;}
    #sp-topbar .row {
        width: 100%;
        padding-right: calc(var(--gutter-x) * .5);
        padding-left: calc(var(--gutter-x) * .5);
        margin-right: auto;
        margin-left: auto
    }

    @media (min-width: 576px) {

        #sp-header .row,
        #sp-topbar .row {
            max-width: 540px;
        }
    }

    @media (min-width: 768px) {

        #sp-header .row,
        #sp-topbar .row {
            max-width: 720px;
        }
    }

    @media (min-width: 992px) {

        #sp-header .row,
        #sp-topbar .row {
            max-width: 960px;
        }
    }

    @media (min-width: 1200px) {

        #sp-header .row,
        ,
        #sp-topbar .row {
            max-width: 1140px;
        }
    }

    @media (min-width: 1400px) {

        #sp-header .row,
        #sp-topbar .row {
            max-width: 1320px;
        }
    }

    /*----- Meniu ------*
    .sp-megamenu-parent>li>a,
    .sp-megamenu-parent>li>span {
        font-size: 1rem;
        text-transform: uppercase;
    }

    .burger-icon {
        margin-left: 20px;
    }

    /* --- Topbar --- 
    #sp-topbar {
        height: 50px;
        background-color: var(--accent-color);
        color: var(--white);
        font-size: 0.9rem;
        padding-top: 10px;
        padding-bottom: 10px;
    }

    #sp-topbar,
    #sp-topbar a,
    #sp-topbar a:hover,
    #sp-topbar a:focus,
    #sp-topbar a:active {
        color: var(--white);
    }

    #sp-topbar div {
        height: 100%;
        display: flex;
        align-items: center;
        /* Centrează vertical 
    }

    #sp-topbar-right {
        justify-content: right;
    }

    .topbar-contact .fas {
        padding-left: 15px;
        padding-right: 10px;
    }

    .topbar-contact .fa-phone {
        animation: shake 2s infinite;
    }

    @keyframes shake {

        0%,
        100% {
            transform: rotate(0deg);
        }

        10%,
        30%,
        50% {
            transform: rotate(-10deg);
        }

        20%,
        40%,
        60% {
            transform: rotate(10deg);
        }
    }

    .topbar_info {
        font-size: 11px !important;
    }

    .topbar_em {
        font-size: 18px;
        font-style: normal;
        line-height: 1;
        font-weight: 200;
    }
*/
    /*---- Main Body---*
    #sp-main-body {
        padding: 30px 0;
    }

    @media (max-width: 576px) {
        #sp-main-body {
            padding-top: 0px;
        }

        .container,
        .container-sm {
            padding-left: 0px;
            padding-right: 0px;
        }
    }

    /*------------Pagina ACASA --------------------------------------------------------------------------------*/

    /* ── HERO ── */
    .hero-wrap {
        background: var(--bg-color);
        overflow: hidden;
        position: relative;
    }

    /* decorative large circle */

    .hero-wrap::before {
        content: '';
        position: absolute;
        top: -120px;
        right: -120px;
        width: 560px;
        height: 560px;
        border-radius: 50%;
        background: radial-gradient(circle, rgba(255, 180, 0, 0.10) 0%, transparent 70%);
        pointer-events: none;
    }

    /* ok */
    .hero {
        max-width: 1160px;
        margin: 0 auto;
        padding: 0 2.5rem;
        display: grid;
        grid-template-columns: 1fr 350px;
        gap: 4rem;
        align-items: center;
    }

    .hero-left {
        padding: 2rem 0;
    }

    .eyebrow {
        display: inline-flex;
        align-items: center;
        gap: 10px;
        font-size: 12px;
        font-weight: 600;
        letter-spacing: 0.1em;
        text-transform: uppercase;
        color: var(--ink-mid);
        padding: 5px 0px;
        margin-bottom: 2rem;
    }

    .eyebrow::before {
        content: '';
        width: 28px;
        height: 2px;
        background: var(--gold);
        border-radius: 2px;
    }

    .hero h1 em1 {
        color: var(--gold-dark);
        font-style: italic;
        position: relative;
        display: inline-block;
    }

    .hero-desc {
        color: var(--ink-light);
        font-weight: 400;
        margin-bottom: 2.5rem;
    }

    .hero-actions {
        display: flex;
        gap: 1rem;
        flex-wrap: wrap;
    }

    .btn-primary {
        background: var(--gold);
        color: var(--ink);
        padding: 14px 30px;
        border-radius: 8px;
        text-decoration: none;
        font-weight: 700;
        font-size: 15px;
        display: inline-flex;
        align-items: center;
        gap: 9px;
        box-shadow: 0 4px 20px rgba(255, 180, 0, 0.40);
        transition: background .2s, transform .15s, box-shadow .2s;
    }

    .btn-primary:hover {
        background: var(--gold-dark);
        transform: translateY(-2px);
        box-shadow: 0 8px 28px rgba(255, 180, 0, 0.45);
    }

    .btn-outline {
        background: transparent;
        color: var(--ink-mid);
        padding: 14px 30px;
        border-radius: 8px;
        text-decoration: none;
        font-weight: 600;
        font-size: 15px;
        border: 1.5px solid var(--border);
        display: inline-flex;
        align-items: center;
        gap: 9px;
        transition: border-color .2s, color .2s, background .2s;
    }

    .btn-outline:hover {
        border-color: var(--gold);
        color: var(--gold-dark);
        background: var(--gold-pale);
    }

    /* hero trust badges */
    .hero-trust {
        display: flex;
        gap: 1.5rem;
        margin-top: 2.5rem;
        flex-wrap: wrap;
    }

    .trust-item {
        display: flex;
        align-items: center;
        gap: 7px;
        font-size: 13px;
        color: var(--ink-light);
    }

    .trust-item::before {
        content: '✓';
        width: 20px;
        height: 20px;
        background: var(--gold-light);
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 11px;
        color: var(--gold-dark);
        font-weight: 700;
        flex-shrink: 0;
    }

    /* hero card */
    .hero-right {
        padding: 2rem 0;
    }

    .card-main {
        border: 1px solid var(--border);
        border-radius: 16px;
        overflow: hidden;
        box-shadow: 0 8px 40px rgba(0, 0, 0, 0.08), 0 0 0 1px rgba(255, 180, 0, 0.08);
    }

    .card-header {
        padding: 1.75rem;
        display: flex;
        align-items: center;
        gap: 1rem;
    }

    .doc-avatar {
        width: 52px;
        height: 52px;
        border-radius: 50%;
        background: var(--gold);
        display: flex;
        align-items: center;
        justify-content: center;
        font-family: var(--serif);
        font-size: 18px;
        font-weight: 700;
        color: var(--ink);
        flex-shrink: 0;
    }

    .card-header-text h2 {
        margin-bottom: 2px;
    }

    .card-section {
        padding: 1.25rem 1.5rem;
        border-bottom: 1px solid var(--border);
        font-size: 14px;
    }

    .card-section:last-child {
        border-bottom: none;
    }

    .card-section-label {
        font-size: 11px;
        letter-spacing: 0.15em;
        text-transform: uppercase;
        color: var(--ink-mid);
        font-weight: 600;
        margin-bottom: 0.85rem;
    }

    .sch-row {
        display: flex;
        align-items: center;
        gap: 10px;
        padding: 7px 0;
        border-bottom: 1px solid var(--ink);
    }

    .sch-row:last-child {
        border-bottom: none;
    }

    .sch-pip {
        width: 7px;
        height: 7px;
        border-radius: 50%;
        background: var(--gold);
        flex-shrink: 0;
    }

    .sch-pip.online {
        background: #22c55e;
    }

    .sch-day {
        font-weight: 400;
        min-width: 70px;
        color: var(--ink);
    }

    .sch-time {
        color: var(--ink-mid);
    }

    .sch-badge {
        margin-left: auto;
        font-size: 10px;
        font-weight: 400;
        padding: 2px 8px;
        border-radius: 99px;
        background: var(--gold-light);
        color: var(--gold-dark);
    }

    .sch-badge.online {
        background: #dcfce7;
        color: #15803d;
    }

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

    .phone-row a {
        font-size: 1.5rem;
        font-weight: 400;
        color: var(--gold);
        text-decoration: none;
        transition: color .2s;
    }

    .phone-row a:hover {
        color: var(--gold-dark);
    }

    .phone-call-btn {
        background: var(--gold);
        color: var(--ink);
        padding: 8px 18px;
        border-radius: 6px;
        font-size: 13px;
        font-weight: 700;
        text-decoration: none;
        transition: background .2s;
    }

    .phone-call-btn {
        color: var(--white) !important;
        font-size: 1rem !important;
        font-weight: 400;
    }

    .phone-call-btn:hover {
        background: var(--gold-dark);
    }


    /* ── SECTIONS ── */
    .section {
        max-width: 1160px;
        margin: 0 auto;
        padding: 5.5rem 2.5rem;
    }

    .section-alt {
        background: var(--bg-color);
        border-top: 1px solid var(--border);
        border-bottom: 1px solid var(--border);
    }


    /* SERVICII */
    .services-grid {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 1.25rem;
        margin-top: 3rem;
    }

    .svc-card {
        background: var(--bg-color);
        border: 1.5px solid var(--border);
        border-radius: 12px;
        padding: 2rem 1.75rem;
        transition: border-color .25s, box-shadow .25s, transform .25s;
        cursor: default;
    }

    .svc-card:hover {
        border-color: var(--gold);
        box-shadow: 0 6px 30px rgba(255, 180, 0, 0.12);
        transform: translateY(-3px);
    }

    .svc-card p {
        font-size: clamp(var(--font-min-base-size), 0.9rem, 16px);
        color: var(--ink-mid);
    }

    /* ABOUT */
    .about-grid {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 5rem;
        align-items: center;
    }

    .about-text h22 {
        margin-bottom: 1.25rem;
    }

    .about-text p2 {
        font-size: 16px;
        color: var(--ink-mid);
        line-height: 1.85;
        margin-bottom: 1rem;
        font-weight: 400;
    }

    .creds {
        list-style: none;
        margin-top: 1.75rem;
    }

    .creds li {
        display: flex;
        gap: 12px;
        padding: 10px 0;
        border-bottom: 1px solid var(--border);
        font-size: 14px;
        color: var(--ink-mid);
        align-items: flex-start;
    }

    .creds li:last-child {
        border-bottom: none;
    }

    .creds li::before {
        content: '✓';
        width: 22px;
        height: 22px;
        background: var(--gold);
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 11px;
        font-weight: 700;
        color: var(--ink);
        flex-shrink: 0;
        margin-top: 0;
    }

    .quote-panel {
        background: var(--navy);
        border-radius: 16px;
        padding: 3rem 2.5rem;
        position: relative;
        overflow: hidden;
    }

    .quote-panel::before {
        content: '';
        position: absolute;
        top: -60px;
        right: -60px;
        width: 200px;
        height: 200px;
        border-radius: 50%;
        background: rgba(255, 180, 0, 0.08);
        pointer-events: none;
    }

    .quote-glyph {
        font-family: var(--font-serif);
        font-size: 4rem;
        font-weight: 700;
        color: var(--gold);
        line-height: 0.7;
        display: block;
    }

    blockquote {
        font-family: var(--font-serif);
        font-size: 1.2rem;
        font-style: italic;
        font-weight: 400;
        line-height: 1.8;
        color: rgba(255, 255, 255, 0.88);
        margin-bottom: 2rem;
    }

    .quote-author {
        display: flex;
        align-items: center;
        gap: 12px;
    }

    .qa-line {
        width: 28px;
        height: 2px;
        background: var(--gold);
        border-radius: 2px;
    }

    cite {
        font-size: 13px;
        color: var(--gold);
        font-style: normal;
        font-weight: 600;
    }




/* ---------------------------------
FOOTER
---------------------------------
    #sp-footer {
        color: var(--white);
    }

    #sp-footer-cols2 {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 2rem;
        font-size: 14px;
    }

    @media (max-width: 992px) {
        #sp-footer-cols {
            grid-template-columns: 1fr
        }

    }

    .footer-card h3 {
        font-family: var(--font-principal);
        font-size: 1.5em;
        font-weight: 300;
        color: var(--white);
        padding: 5px;
        border-bottom: 1px solid var(--gold);
        text-transform: uppercase;
        padding-bottom: 0.5em;
    }

    .footer-card h3 .fa {
        font-size: 1.5em;
        color: var(--gold);
        padding-right: 0.5em;
    }

    .footer-card a {
        color: var(--gold) !important;
    }

    .footer-card a:hover {
        padding: 3px;
        background-color: var(--gold);
        color: var(--white) !important;
        font-size: 1.2em
    }

    .footer-card .fa {
        font-size: 1.2em;
        padding-right: 1em;
    }

    .footer-card em {
        font-size: 1.3em;
        font-style: normal;
        color: var(--gold)
    }

    .footer-card-content {
        padding: 5px;
    }

    /*--------- Logoul si copyright------*
    #sp-footer-logo {
        text-align: center;
        margin-top: 50px;
    }

    #sp-footer-logo img {
        width: 150px;
        height: auto;
        margin: 0 auto;
    }

    .sp-copyright {
        display: block;
        font-size: 10px;
        text-align: center;
        padding: 10px;
        0px
    }
*/


    /* RESPONSIVE */
    @media (max-width: 992px) {
        .hero {
            grid-template-columns: 1fr;
            min-height: auto;
            gap: 2rem;
        }

        .hero-left {
            padding: 2rem 0 1rem;
        }

        .hero-right {
            padding: 0 0 2rem;
        }

        .about-grid,
        .contact-inner {
            grid-template-columns: 1fr;
            gap: 2.5rem;
        }

        .services-grid,
        .articles-grid {
            grid-template-columns: 1fr;
        }

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

        .stat-item:nth-child(2n) {
            border-right: none;
        }

        .nav-links {
            display: none;
        }
    }



    /*--------------------------------*/





    .art_intro {}





    .art-card {
        background: var(--bg-color);
        border: 1.5px solid var(--border);
        border-radius: 12px;
        padding: 1rem 1.5rem;
        transition: border-color .25s, box-shadow .25s, transform .25s;
        cursor: default;
    }

    .art-card:hover {
        border-color: var(--gold);
        box-shadow: 0 6px 30px rgba(255, 180, 0, 0.12);
        transform: translateY(-3px);
    }

    .art-card p {
        font-size: clamp(var(--font-min-base-size), 1rem, 16px);
    }

    .art_label {
        display: inline-flex;
        align-items: center;
        gap: 10px;
        font-size: .7rem;
        font-weight: 600;
        letter-spacing: 2px;
        text-transform: uppercase;
        color: var(--ink);
        padding: 5px 0px;
        margin-bottom: 1rem;
    }

    .art_label::before {
        content: '';
        width: 28px;
        height: 2px;
        background: var(--gold);
        border-radius: 2px;
    }

    .note-box {
        border: 1px solid var(--border);
        border-radius: 12px;
    }

    .note-info {
        font-size: 0.95rem;
        padding: 15px;
    }

    .note-warn {
        font-size: 0.95rem;
        padding: 15px;
    }



    /* ── STEP FLOW ── */
    .steps {
        display: flex;
        flex-direction: column;
        gap: 0
    }

    .step {
        display: flex;
        gap: 16px;
        align-items: flex-start;
        padding: 14px 0;
        border-bottom: 1px solid #d8eaea;
    }

    .step:last-child {
        border-bottom: none
    }

    .step-num {
        width: 32px;
        height: 32px;
        border-radius: 50%;
        background: var(--navy);
        color: white;
        display: flex;
        align-items: center;
        justify-content: center;
        font-weight: 700;
        font-size: .82rem;
        flex-shrink: 0;
        margin-top: 1px;
    }

    .step-content .s-title {
        font-weight: 600;
        color: var(--ink);
        margin-bottom: 3px
    }

    .step-content .s-text {
        color: var(--ink-mid);
        line-height: 1.5
    }


    /* ── FAQ STYLE ── */
    .faq-item {
        border: 1.5px solid #d8eaea;
        border-radius: 10px;
        padding: 14px 18px;
        margin-bottom: 10px;
        background: white;
    }

    .faq-q {
        font-family: 'Cormorant Garamond', serif;
        font-size: 1.05rem;
        font-weight: 600;
        color: var(--navy);
        margin-bottom: 8px;
        display: flex;
        gap: 10px;
        align-items: flex-start;
    }

    .faq-q .icon {
        color: var(--teal);
        flex-shrink: 0
    }

    .faq-a {
        font-size: .9rem;
        color: var(--gray);
        line-height: 1.6;
        padding-left: 26px
    }
	
/*----Contact si harta	- Pagina principala --*/

    .contact-card h3 {
        font-family: var(--font-principal);
        font-size: 1.5em;
        font-weight: 300;
        padding: 5px;
        border-bottom: 1px solid var(--gold);
        text-transform: uppercase;
        padding-bottom: 0.5em;
    }

    .contact-card h3 .fa {
        font-size: 1.5em;
        color: var(--gold);
        padding-right: 0.5em;
    }

    .contact-card a {
        color: var(--gold) !important;
    }

    .contact-card a:hover {
        padding: 3px;
        background-color: var(--gold);
        color: var(--white) !important;
        font-size: 1.2em
    }

    .contact-card .fa {
        font-size: 1.2em;
        padding-right: 1em;
    }

    .contact-card em {
        font-size: 1.3em;
        font-style: normal;
        color: var(--gold)
    }

    .contact--card-content {
        padding: 5px;
    }




/*-------- modul cele mai citite articole --- */
#sp-articole1 .mod-articles-items li {list-style: none;}
#sp-articole .mod-articles-items li::marker {content: none;}
#sp-articole .list-inline-item {font-size: 0.8rem;}  /*autor, categorie*/

#sp-articole .mod-articles-items li  {display:flex;}
#sp-articole .mod-articles-items li article {display:flex;}



#sp-articole .mod-articles-item-content {
	border:1px solid var(--border);
	border-radius: 12px 12px 12px 12px;	
	padding:12px 0px;
	background-color:var(--white);
	}

#sp-articole .mod-articles-title {
	font-size:1.8rem;
}

#sp-articole .list-inline,
#sp-articole .mod-articles-image {
	border-bottom:1px solid var(--border)
}

#sp-articole dl {
	margin-bottom:0px;
}

#sp-articole .article-intro-image {
	display: flex;
    justify-content: center; 
}
/*
#sp-articole .article-intro-image a {
    display: block;
    width: 100%;
    height: 100%;
}

#sp-articole .article-intro-image img1 {
    width: 100%;
    height: 100%;
    object-fit:contain;
}
*/
#sp-articole .mod-articles-title,
#sp-articole .list-inline,
#sp-articole .intro,
#sp-articole .readmore {
	padding-left:12px;
	padding-right:12px;
}

/*
article {border:1px solid black}
    /* Breakpoints 576 768 992 1200 1400 */