/* Refinamiento visual del portal publico: conserva la estructura del tema. */
:root {
    --sc-primary: #18a999;
    --sc-primary-dark: #117f75;
    --sc-ink: #183b3b;
    --sc-muted: #647574;
    --sc-surface: #ffffff;
    --sc-soft: #f4f8f7;
    --sc-border: #e3ecea;
    --sc-radius: 14px;
    --sc-shadow: 0 10px 32px rgba(25, 70, 67, .08);
}

html { scroll-behavior: smooth; }

body {
    color: var(--sc-muted);
    background: #fff;
    font-family: "Open Sans", Arial, sans-serif;
    line-height: 1.72;
    -webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4, h5, h6 {
    color: var(--sc-ink);
    letter-spacing: -.02em;
}

p { color: var(--sc-muted); }
a, button, .btn { transition: color .2s ease, background-color .2s ease, border-color .2s ease, box-shadow .2s ease, transform .2s ease; }

/* Navegacion */
nav.navbar.bootsnav {
    border: 0;
    box-shadow: 0 4px 22px rgba(22, 61, 59, .07);
}

nav.navbar.bootsnav .navbar-header { padding-top: 10px !important; }
nav.navbar.bootsnav .navbar-header img { height: 54px; width: auto; object-fit: contain; }
nav.navbar.bootsnav ul.nav > li > a {
    color: #294947;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: .01em;
    padding-left: 14px;
    padding-right: 14px;
}
nav.navbar.bootsnav ul.nav > li > a:hover,
nav.navbar.bootsnav ul.nav > li.active > a { color: var(--sc-primary-dark); }
nav.navbar.bootsnav ul.nav > li:last-child > a {
    background: var(--sc-primary);
    border-radius: 999px;
    color: #fff;
    margin: 22px 0 22px 10px;
    padding: 12px 20px;
}
nav.navbar.bootsnav ul.nav > li:last-child > a:hover {
    background: var(--sc-primary-dark);
    box-shadow: 0 8px 20px rgba(24, 169, 153, .22);
    color: #fff;
    transform: translateY(-1px);
}
.attr-nav > ul > li > a { color: var(--sc-primary-dark); }
.top-search { background: var(--sc-primary-dark); }

/* Titulos y ritmo vertical */
.default-padding { padding-top: 88px; padding-bottom: 88px; }
.site-heading { margin-bottom: 48px; }
.site-heading h2 {
    font-size: 34px;
    font-weight: 700;
    line-height: 1.22;
    margin-bottom: 16px;
    text-transform: none;
}
.site-heading h2 span { color: var(--sc-primary-dark); }
.site-heading p { font-size: 16px; margin: 0 auto; max-width: 680px; }
.site-heading h2::after { background: var(--sc-primary); border-radius: 4px; height: 3px; }
.bg-gray { background-color: var(--sc-soft); }

/* Encabezados interiores */
.breadcrumb-area { padding: 92px 0; }
.breadcrumb-area::after { background: linear-gradient(90deg, rgba(10, 48, 46, .82), rgba(17, 127, 117, .55)); }
.breadcrumb-area h1 { font-size: clamp(32px, 5vw, 48px); font-weight: 700; text-transform: none; }
.breadcrumb-area .breadcrumb { background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.2); border-radius: 999px; padding: 8px 18px; }

/* Botones y formularios */
.btn, button[type="submit"] { border-radius: 999px; font-weight: 600; letter-spacing: .01em; }
.btn.btn-theme, .btn.btn-success, .contact-area button[type="submit"] {
    background: var(--sc-primary);
    border-color: var(--sc-primary);
    box-shadow: 0 7px 18px rgba(24, 169, 153, .16);
}
.btn.btn-theme:hover, .btn.btn-success:hover, .contact-area button[type="submit"]:hover {
    background: var(--sc-primary-dark);
    border-color: var(--sc-primary-dark);
    box-shadow: 0 10px 24px rgba(24, 169, 153, .24);
    transform: translateY(-1px);
}
.form-control {
    background: #fff;
    border: 1px solid #dce7e5;
    border-radius: 10px;
    box-shadow: none;
    min-height: 48px;
    padding: 10px 15px;
}
.form-control:focus {
    border-color: var(--sc-primary);
    box-shadow: 0 0 0 3px rgba(24, 169, 153, .11);
}
textarea.form-control { min-height: 130px; resize: vertical; }

/* Tarjetas compartidas */
.services-area .item,
.doctor-items .item,
.blog-items .item,
.contact-area .contact-form,
.sidebar-item,
.features-items li {
    background: var(--sc-surface);
    border: 1px solid var(--sc-border);
    border-radius: var(--sc-radius);
    box-shadow: var(--sc-shadow);
}
.services-area .item,
.doctor-items .item,
.blog-items .item { overflow: hidden; }
.services-area .item:hover,
.doctor-items .item:hover,
.blog-items .item:hover {
    border-color: rgba(24, 169, 153, .3);
    box-shadow: 0 16px 38px rgba(25, 70, 67, .12);
    transform: translateY(-4px);
}
.services-area .item .info { padding: 28px; }
.services-area .item h4, .doctor-items .item h4, .blog-items .item h4 { text-transform: none; }
.doctor-items .item .thumb img, .blog-items .item .thumb img { transition: transform .45s ease; }
.doctor-items .item:hover .thumb img, .blog-items .item:hover .thumb img { transform: scale(1.025); }
.doctor-items .item .info { padding: 24px 20px; }
.doctor-items .item .info h4 { margin-bottom: 7px; }
.doctor-items .item .info h5 { color: var(--sc-primary-dark); font-weight: 600; }
.blog-items .item .info { padding: 26px; }
.blog-items .item .meta { border-bottom-color: var(--sc-border); }

/* Inicio */
.banner-area .content h1 { font-size: clamp(38px, 5vw, 64px); line-height: 1.12; text-shadow: 0 3px 16px rgba(0,0,0,.18); }
.banner-area .content p { color: rgba(255,255,255,.9); font-size: 17px; }
.about-area .info > h4 { color: var(--sc-primary-dark); font-weight: 700; letter-spacing: .06em; }
.about-area .info > h2 { font-size: 34px; line-height: 1.3; text-transform: none; }
.about-area .info > img { border-radius: var(--sc-radius); box-shadow: var(--sc-shadow); margin-top: 20px; }
.features-items li { margin-bottom: 20px; padding: 25px; }
.features-items li .icon i { color: var(--sc-primary); }
.testimonials-area .testimonial-items .item { border-radius: var(--sc-radius); box-shadow: var(--sc-shadow); }

/* Pie */
footer.bg-dark { background: #123b39; }
footer .f-items { padding-top: 68px; padding-bottom: 48px; }
footer .f-item h4 { font-size: 17px; letter-spacing: .01em; text-transform: none; }
footer .f-item h4::after { background: var(--sc-primary); }
footer .f-item p, footer .f-item a { color: rgba(255,255,255,.72); }
footer .f-item a:hover { color: #fff; padding-left: 3px; }
footer .footer-bottom { background: #0d302e; border-top: 1px solid rgba(255,255,255,.08); }

@media (max-width: 991px) {
    .default-padding { padding-top: 68px; padding-bottom: 68px; }
    nav.navbar.bootsnav .navbar-header { padding: 8px 15px !important; }
    nav.navbar.bootsnav ul.nav > li:last-child > a { border-radius: 8px; margin: 8px 15px 14px; text-align: center; }
    .breadcrumb-area { padding: 72px 0; }
    .site-heading h2 { font-size: 30px; }
}

@media (max-width: 767px) {
    .default-padding { padding-top: 54px; padding-bottom: 54px; }
    .site-heading { margin-bottom: 34px; }
    .site-heading h2 { font-size: 27px; }
    .banner-area .content p { font-size: 15px; }
    .about-area .info > h2 { font-size: 27px; }
    .breadcrumb-area { padding: 58px 0; }
    .breadcrumb-area .breadcrumb { border-radius: 12px; }
    footer .footer-bottom, footer .footer-bottom .text-right { text-align: center; }
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; }
}
