/* ==========================================================================
   Stiluri proprii cabinetului. Se incarca DUPA main.css si extinde tema.
   Paleta temei: accent #cc263d, borduri #e1e1e1, fundal secundar #f9f9fa.
   ========================================================================== */

/* =Corectii de baza ale temei
   ========================================================================== */

/* Tema aplica `word-break: break-all` pe TOATE titlurile, ceea ce rupe cuvintele
   la orice litera ("medicina intern-a"). Il anuleaza singura doar sub 767px. */
h1, h2, h3, h4, h5, h6 {
    word-break: normal;
    overflow-wrap: break-word;
    hyphens: none;
}

/* =Logo
   Logo-ul real al cabinetului (inima + stetoscop). Inainte era folosit, absurd,
   ca imagine de fundal a sectiunii "Programari", iar in header era doar text.
   ========================================================================== */
#logo img {
    display: block;
    width: auto;
    max-width: 100% !important;
    height: 56px;
}

@media (max-width: 991px) {
    #logo img {
        height: 46px;
    }
}

/* =Banda de titlu a paginilor interioare
   Tema ii dadea `padding: 98px 0` PLUS `margin-bottom: 70px` -- peste 260px de gol
   inainte de orice informatie utila.
   ========================================================================== */
#page-header {
    margin-bottom: 0 !important;
    padding: 42px 0 !important;
    background-color: #f9f9fa;
    border-bottom: 1px solid #e1e1e1;
}

#page-header h1,
#page-header h2 {
    margin: 0;
    font-size: 34px;
}

#content > .container {
    padding-top: 42px;
    padding-bottom: 42px;
}

@media (max-width: 767px) {
    #page-header {
        padding: 28px 0 !important;
    }

    #page-header h1,
    #page-header h2 {
        font-size: 26px;
    }

    #content > .container {
        padding-top: 28px;
        padding-bottom: 28px;
    }
}

/* =Hero
   Doua coloane reale: text stanga, fotografie dreapta. Inainte fotografia era
   background-size:cover, iar titlul cadea peste chipul doctoritei.
   ========================================================================== */
.intro-section {
    padding: 56px 0 !important;
    background-image: none !important;
    background-color: #f9f9fa;
}

/* Pe desktop tema scoate antetul din flux (`.home #header {position:absolute}`),
   ca sa pluteasca peste imaginea de fundal. Fara spatiu de garda, titlul urca sub logo. */
@media (min-width: 992px) {
    .intro-section {
        padding-top: 132px !important;
    }
}

.hero-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}

.hero-copy h1 {
    margin-bottom: 21px;
    font-size: 40px;
    line-height: 1.2;
}

.hero-lead {
    margin-bottom: 28px;
    font-size: 18px;
    line-height: 1.6;
}

.hero-actions .btn {
    margin-right: 14px;
}

.btn-link {
    display: inline-block;
    font-weight: 700;
    line-height: 44px;
    white-space: nowrap;
}

.hero-media img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 3px;
}

/* Cele doua argumente-cheie de sub butoane (CJAS + telefon).
   Tema le randa ca tooltipuri position:absolute, latime fixa 252px, unul singur
   vizibil la hover -- imposibil pe telefon, motiv pentru care fusesera ascunse
   complet cu display:none. Aici sunt o lista normala, mereu vizibila. */
.hero-facts {
    margin: 35px 0 0;
    padding: 28px 0 0;
    border-top: 1px solid #e1e1e1;
    list-style: none;
}

.hero-facts li {
    position: relative;
    margin-bottom: 21px;
    padding-left: 38px;
    line-height: 1.6;
}

.hero-facts li:last-child {
    margin-bottom: 0;
}

.hero-facts i {
    position: absolute;
    top: 3px;
    left: 0;
    width: 22px;
    color: #cc263d;
    font-size: 18px;
    text-align: center;
}

.hero-facts strong {
    display: block;
    color: #cc263d;
}

/* Telefonul si orarul: informatia dupa care suna omul. Trebuie sa sara in ochi. */
.fact-strong {
    display: block;
    color: #1a171c;
    font-weight: 700;
}

.fact-strong a {
    font-weight: 700;
}

@media (max-width: 767px) {
    .intro-section {
        padding: 35px 0 !important;
    }

    .hero-media {
        margin-top: 28px;
    }

    .hero-copy h1 {
        font-size: 28px;
    }

    .hero-lead {
        font-size: 16px;
    }

    /* Butoanele pe toata latimea: tinte mari, usor de atins cu degetul */
    .hero-actions .btn,
    .hero-actions .btn-link {
        display: block;
        margin: 0 0 14px;
        text-align: center;
    }
}

/* =Sectiunea "Despre mine" / servicii
   ========================================================================== */
.specialities-section {
    padding: 63px 0;
}

@media (max-width: 767px) {
    .specialities-section {
        padding: 35px 0;
    }

    .icon-box {
        margin-bottom: 35px;
    }
}

/* =Recenzii
   ========================================================================== */
.reviews-section {
    padding: 63px 0;
    border-top: 1px solid #e1e1e1;
    background-color: #f9f9fa;
}

.reviews-head {
    margin-bottom: 42px;
    text-align: center;
}

.reviews-head h2 {
    margin-bottom: 7px;
}

.reviews-head p {
    margin: 0;
    color: #8a8a8a;
}

.reviews-score {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 10px;
}

.score-value {
    color: #1a171c;
    font-size: 30px;
    font-weight: 700;
    line-height: 1;
}

.score-stars {
    color: #f5a623;
    font-size: 16px;
    letter-spacing: 2px;
}

.score-count {
    color: #8a8a8a;
}

.review {
    height: 100%;
    margin: 0;
    padding: 28px;
    border: 0;
    border-top: 3px solid #cc263d;
    background-color: #fff;
}

.review p {
    font-size: 15px;
    line-height: 1.7;
}

.review-stars {
    margin-bottom: 14px;
    color: #f5a623;
    font-size: 14px;
    letter-spacing: 2px;
}

.review-author {
    color: #1a171c;
    font-weight: 700;
    font-style: normal;
}

.review-author:before {
    content: none; /* tema pune ghilimele decorative pe <footer> din citate */
}

.reviews-more {
    margin: 35px 0 0;
    text-align: center;
}

.reviews-more a {
    font-weight: 700;
}

@media (max-width: 767px) {
    .reviews-section {
        padding: 35px 0;
    }

    .review {
        margin-bottom: 21px;
    }
}

/* =Tabel tarife
   ========================================================================== */
.price-table {
    table-layout: auto;
}

.price-table caption {
    padding-bottom: 14px;
    color: #8a8a8a;
    font-style: italic;
    text-align: left;
}

.price-table th {
    background-color: #f9f9fa;
}

.price-table .price-col {
    width: 120px;
    text-align: right;
    white-space: nowrap;
}

.price-table td.price-col {
    font-weight: 700;
}

.price-table .service-note {
    display: block;
    color: #8a8a8a;
    font-size: 14px;
}

/* Serviciile decontate prin CJAS: marcaj discret, nu badge tipator */
.price-table .cjas {
    display: block;
    margin-top: 6px;
    color: #cc263d;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

@media (max-width: 600px) {
    .price-table th,
    .price-table td {
        padding: 10px;
    }

    .price-table .price-col {
        width: 84px;
    }

    .price-table .service-note {
        font-size: 13px;
    }
}

/* =Intrebari frecvente
   Raspund la ce intreaba pacientii inainte sa sune, si sunt marcate ca FAQPage,
   deci Google le poate afisa direct in rezultatele cautarii.
   ========================================================================== */
.faq-section {
    padding: 63px 0;
    border-top: 1px solid #e1e1e1;
}

.faq-inner {
    max-width: 780px;
    margin: 0 auto;
    float: none;
}

.faq-title {
    margin-bottom: 35px;
    text-align: center;
}

.faq-list {
    margin: 0;
}

.faq-list dt {
    margin-bottom: 8px;
    padding-left: 26px;
    position: relative;
    color: #1a171c;
    font-family: 'Poppins', sans-serif;
    font-size: 17px;
    font-weight: 600;
}

.faq-list dt:before {
    content: '?';
    position: absolute;
    left: 0;
    color: #cc263d;
    font-weight: 700;
}

.faq-list dd {
    margin: 0 0 28px;
    padding-left: 26px;
    border-left: 2px solid #f0f0f2;
    color: #6d7280;
    line-height: 1.7;
}

.faq-list dd:last-child {
    margin-bottom: 0;
}

.faq-cta {
    margin-top: 35px;
    padding-top: 21px;
    border-top: 1px solid #e1e1e1;
    text-align: center;
}

.faq-cta a {
    font-weight: 700;
}

@media (max-width: 767px) {
    .faq-section {
        padding: 35px 0;
    }

    .faq-list dt {
        font-size: 16px;
    }
}

/* =Caseta de nota
   ========================================================================== */
.note {
    margin-bottom: 28px;
    padding: 21px;
    border-left: 3px solid #cc263d;
    background-color: #f9f9fa;
}

.note p:last-child {
    margin-bottom: 0;
}

/* =Date de contact
   ========================================================================== */
.contact-list {
    margin: 0 0 28px;
    padding: 0;
    list-style: none;
}

.contact-list li {
    position: relative;
    margin-bottom: 18px;
    padding-left: 34px;
    line-height: 1.6;
}

.contact-list li > i {
    position: absolute;
    top: 4px;
    left: 0;
    width: 20px;
    color: #cc263d;
    text-align: center;
}

.contact-list strong {
    display: block;
}

.contact-list a {
    font-weight: 700;
}

.contact-photo {
    display: block;
    width: 100%;
    max-width: 420px;
    height: auto;
    margin-left: auto;
    border-radius: 3px;
}

@media (max-width: 767px) {
    .contact-photo {
        margin: 0 auto;
    }
}

/* =Harta
   Wrapper cu raport de aspect fix: iframe-ul Google avea width/height hardcodate
   (600x450) si se rupea pe ecrane mici.
   ========================================================================== */
.map-embed {
    position: relative;
    height: 0;
    margin-bottom: 21px;
    padding-bottom: 56%;
    border: 1px solid #e1e1e1;
    background-color: #f9f9fa;
}

.map-embed iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 0;
}

/* =Diverse
   ========================================================================== */
.section-lead {
    max-width: 44em;
    margin-bottom: 28px;
}

/* Coloanele plugin-ului de layout se lipesc pe ecrane mici */
@media (max-width: 767px) {
    .gca-column {
        float: none;
        width: 100%;
        margin-left: 0;
    }

    .gca-column + .gca-column {
        margin-top: 28px;
    }
}

/* Link-ul catre panoul de administrare: prezent, dar discret.
   Nu e pentru pacienti, deci nu trebuie sa concureze cu datele de contact. */
.admin-link {
    display: inline-block;
    margin-top: 8px;
    opacity: 0.45;
    font-size: 12px;
    text-decoration: none;
}

.admin-link:hover {
    opacity: 1;
    text-decoration: underline;
}

/* Footer: coloanele se lipeau una de alta pe telefon */
@media (max-width: 767px) {
    #footer .widget {
        margin-bottom: 28px;
    }
}
