:root {
    --gold: #c9a24a;
    --gold-2: #f3dfaa;
    --black: #111;
    --green: #8aa889;
    --baby: #cfe8f6;
    --soft: #fbfaf7
}

* {
    scroll-behavior: smooth
}

.btn-primary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: linear-gradient(135deg, #111, #3b3323 45%, #c9a24a);
    color: #fff;
    font-weight: 800;
    padding: .85rem 1.25rem;
    box-shadow: 0 15px 35px rgba(201, 162, 74, .25)
}

.btn-secondary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    border: 1px solid rgba(201, 162, 74, .55);
    background: #fff;
    color: #111;
    font-weight: 800;
    padding: .8rem 1.15rem
}

.btn-ghost {
    display: inline-flex;
    border-radius: 999px;
    border: 1px solid rgba(0, 0, 0, .12);
    padding: .8rem 1.15rem;
    font-weight: 800
}

.btn-small {
    display: inline-flex;
    margin-top: 1rem;
    border-radius: 999px;
    background: #111;
    color: #fff;
    padding: .55rem .9rem;
    font-weight: 800;
    font-size: .85rem
}

.brand-mark {
    display: inline-flex;
    width: 44px;
    height: 44px;
    border-radius: 16px;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #111, #c9a24a);
    color: white
}

.badge-gold,
.badge {
    display: inline-flex;
    border-radius: 999px;
    background: #fff7df;
    border: 1px solid #efd688;
    color: #8a651a;
    padding: .45rem .8rem;
    font-weight: 800;
    font-size: .82rem
}

.hero-premium {
    background: radial-gradient(circle at 20% 10%, #fff7df 0, #fbfaf7 28%, #fff 64%);
    background-size: cover;
    background-position: center
}

.floating-orb {
    position: absolute;
    border-radius: 999px;
    filter: blur(6px);
    opacity: .55
}

.orb-a {
    width: 260px;
    height: 260px;
    background: #f3dfaa;
    right: 6%;
    top: 12%
}

.orb-b {
    width: 180px;
    height: 180px;
    background: #cfe8f6;
    left: 3%;
    bottom: 8%
}

.hero-photo-grid {
    display: grid;
    grid-template-columns: 1.2fr .8fr;
    grid-template-rows: 210px 150px 120px;
    gap: 1rem
}

.photo-slot {
    border-radius: 2rem;
    background: linear-gradient(135deg, #fff, #f4eddb);
    border: 1px solid rgba(201, 162, 74, .35);
    box-shadow: 0 25px 60px rgba(17, 17, 17, .1);
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 900;
    color: #987431;
    text-align: center;
    padding: 1rem
}

.photo-main {
    grid-row: span 2;
    background: linear-gradient(135deg, #fff, #eaf5fb)
}

.photo-slot.accent {
    grid-column: span 2;
    background: linear-gradient(135deg, #fffefd, #e9e8e5);
    color: #f3dfaa
}

.mini-kpi {
    background: white;
    border: 1px solid #f0dfaf;
    border-radius: 1.2rem;
    padding: 1rem;
    text-align: center
}

.mini-kpi strong {
    display: block;
    font-size: 1.25rem
}

.mini-kpi span {
    font-size: .78rem;
    color: #666
}

.section-title {
    font-size: clamp(2rem, 4vw, 3.4rem);
    line-height: 1.05;
    font-weight: 950;
    color: #111
}

.eyebrow {
    text-transform: uppercase;
    letter-spacing: .14em;
    color: #9a7624;
    font-weight: 900;
    font-size: .78rem
}

.visual-card {
    background: white;
    border: 1px solid #f0dfaf;
    border-radius: 1.7rem;
    padding: 1rem;
    box-shadow: 0 20px 45px rgba(17, 17, 17, .06)
}

.visual-img,
.image-placeholder {
    min-height: 130px;
    border-radius: 1.2rem;
    background: linear-gradient(135deg, #fff7df, #cfe8f6);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #8a651a;
    font-weight: 900;
    margin-bottom: 1rem
}

.visual-img.blue {
    background: linear-gradient(135deg, #cfe8f6, #fff)
}

.visual-card h3,
.cms-public-card h3 {
    font-size: 1.1rem;
    font-weight: 900;
    color: #111
}

.visual-card p,
.cms-public-card p {
    margin-top: .5rem;
    color: #666;
    font-size: .92rem
}

.cms-public-card {
    background: white;
    background-size: cover;
    background-position: center;
    border: 1px solid #f0dfaf;
    border-radius: 1.7rem;
    padding: 1rem;
    box-shadow: 0 20px 50px rgba(17, 17, 17, .07)
}

.cms-public-card img {
    width: 100%;
    height: 170px;
    object-fit: cover;
    border-radius: 1.2rem;
    margin-bottom: 1rem
}

.gold-panel {
    border-radius: 2rem;
    background: linear-gradient(135deg, #fff, #fff7df 45%, #f1dfad);
    border: 1px solid #ecd484;
    padding: 2rem;
    box-shadow: 0 30px 80px rgba(201, 162, 74, .16)
}

.mosaic {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem
}

.mosaic div {
    min-height: 150px;
    border-radius: 1.5rem;
    background: linear-gradient(135deg, #fff, #cfe8f6);
    border: 1px solid rgba(255, 255, 255, .75)
}

.mosaic div:nth-child(2),
.mosaic div:nth-child(3) {
    background: linear-gradient(135deg, #111, #c9a24a)
}

.testimonial {
    background: rgba(255, 255, 255, .08);
    border: 1px solid rgba(243, 223, 170, .3);
    border-radius: 1.4rem;
    padding: 1.5rem;
    color: #f7f7f7
}

.admin-link {
    display: block;
    border-radius: 1rem;
    padding: .85rem 1rem;
    color: #eee;
    margin-bottom: .35rem
}

.admin-link:hover {
    background: rgba(201, 162, 74, .18);
    color: #f3dfaa
}

.admin-card {
    background: white;
    border: 1px solid #eee;
    border-radius: 1.5rem;
    padding: 1.5rem;
    box-shadow: 0 18px 45px rgba(0, 0, 0, .05)
}

.input {
    display: block;
    width: 100%;
    border: 1px solid #ddd;
    border-radius: 1rem;
    padding: .8rem .95rem;
    margin-top: .35rem;
    background: #fff
}

.tab {
    border: 1px solid #e6d49a;
    padding: .55rem .9rem;
    border-radius: 999px;
    font-weight: 800;
    background: white
}

.tab.active {
    background: #111;
    color: #f3dfaa
}

.sortable-row {
    background: #fff;
    border: 1px solid #ead89d;
    border-radius: 1.2rem;
    padding: 1rem;
    cursor: grab
}

.sortable-ghost {
    opacity: .5
}

.card {
    background: white;
    border-radius: 1.5rem;
    border: 1px solid #f0dfaf;
    padding: 1.5rem;
    box-shadow: 0 12px 30px rgba(17, 17, 17, .05)
}

@keyframes fade {
    from {
        opacity: 0;
        transform: translateY(16px)
    }

    to {
        opacity: 1;
        transform: translateY(0)
    }
}

.animate-fade {
    animation: fade .7s ease both
}

@media(max-width:768px) {
    [data-nav].open {
        display: flex;
        position: absolute;
        left: 1rem;
        right: 1rem;
        top: 72px;
        flex-direction: column;
        background: white;
        border: 1px solid #f0dfaf;
        border-radius: 1.2rem;
        padding: 1rem;
        box-shadow: 0 20px 50px rgba(0, 0, 0, .12)
    }

    .hero-photo-grid {
        grid-template-rows: 160px 120px 90px
    }
}

/* ===== V3 visual refinements ===== */
:root {
    --gold: #D8B76A;
    --gold-light: #F3E4B6;
    --gold-soft: #F8F1DC;
    --gold-dark: #A9812A;
    --white: #fff;
    --off: #FAF8F2;
    --gray: #6B7280;
    --black: #111;
    --green-soft: #CFE7D6;
    --blue-baby: #DCEFFD
}

.container {
    max-width: 1180px;
    margin: 0 auto;
    padding-left: 20px;
    padding-right: 20px
}

.site-brand {
    display: flex;
    align-items: center;
    gap: 12px;
    font-weight: 900;
    font-size: 28px;
    color: #111
}

.site-logo-img {
    max-height: 58px;
    max-width: 230px;
    width: auto;
    object-fit: contain
}

.brand-mark {
    width: 42px;
    height: 42px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, var(--gold-light), var(--gold));
    color: #2b2412;
    font-weight: 900
}

.brand-text {
    letter-spacing: -.03em
}

.site-header a {
    transition: .2s
}

.site-header nav>div a:not(.btn-primary):hover {
    color: var(--gold-dark)
}

.btn-primary,
.nav-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    padding: 14px 26px;
    font-weight: 800;
    background: linear-gradient(135deg, #F3E4B6, #D8B76A);
    color: #2B2412 !important;
    box-shadow: 0 12px 28px rgba(216, 183, 106, .24);
    border: 1px solid rgba(169, 129, 42, .18);
    transition: .2s
}

.btn-primary:hover,
.nav-cta:hover {
    background: linear-gradient(135deg, #F8EBC4, #CFAE5B);
    transform: translateY(-1px)
}

.btn-secondary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    padding: 13px 24px;
    font-weight: 800;
    color: #2B2412;
    border: 1px solid var(--gold);
    background: #fff
}

.btn-secondary:hover {
    background: var(--gold-soft)
}

.page-hero {
    padding: 82px 0;
    background: radial-gradient(circle at 80% 10%, rgba(243, 228, 182, .55), transparent 36%), linear-gradient(135deg, #fffaf0, #fff);
    border-bottom: 1px solid rgba(216, 183, 106, .25);
    background-size: cover;
    background-position: center
}

.page-hero-inner {
    max-width: 1180px
}

.eyebrow {
    display: inline-flex;
    align-items: center;
    border: 1px solid rgba(216, 183, 106, .65);
    background: rgba(248, 241, 220, .72);
    color: #8b6c1c;
    border-radius: 999px;
    padding: 7px 14px;
    font-weight: 800;
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: .08em
}

.page-hero h1 {
    font-size: clamp(2.1rem, 5vw, 4rem);
    font-weight: 900;
    line-height: .98;
    letter-spacing: -.055em;
    margin-top: 18px;
    color: #111
}

.page-hero p {
    margin-top: 18px;
    max-width: 760px;
    font-size: 1.16rem;
    color: #5f6368;
    line-height: 1.75
}

.section-soft {
    padding: 70px 0;
    background: #fbfaf7
}

.section-white {
    padding: 70px 0;
    background: #fff
}

.section-heading {
    margin-bottom: 32px
}

.section-heading h2 {
    font-size: clamp(2rem, 4vw, 3.3rem);
    font-weight: 900;
    letter-spacing: -.05em;
    margin-top: 12px
}

.section-heading p {
    color: #646464;
    font-size: 1.08rem;
    max-width: 720px;
    margin-top: 8px
}

.premium-card {
    background: #fff;
    border: 1px solid rgba(216, 183, 106, .45);
    border-radius: 28px;
    padding: 34px;
    box-shadow: 0 24px 70px rgba(17, 17, 17, .06)
}

.premium-card h2 {
    font-size: 1.8rem;
    font-weight: 900;
    letter-spacing: -.04em;
    margin-bottom: 16px
}

.premium-card p {
    font-size: 1.05rem;
    line-height: 1.75;
    color: #222
}

.premium-card.accent {
    background: linear-gradient(135deg, #fff, #fff8df)
}

.form-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.8fr) minmax(320px, .8fr);
    gap: 30px;
    align-items: start
}

.form-card,
.info-card {
    background: #fff;
    border: 1px solid rgba(216, 183, 106, .4);
    border-radius: 30px;
    padding: 32px;
    box-shadow: 0 22px 65px rgba(17, 17, 17, .07)
}

.form-card-head h2 {
    font-size: 2rem;
    font-weight: 900;
    letter-spacing: -.04em;
    margin-top: 10px
}

.form-card-head p,
.muted {
    color: #6B7280;
    margin-top: 8px
}

.form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
    margin-top: 24px
}

.form-grid.single {
    grid-template-columns: 1fr
}

.form-grid label,
.form-card label {
    font-weight: 750;
    color: #242424
}

.input {
    width: 100%;
    margin-top: 7px;
    border: 1px solid #d9d9d9;
    border-radius: 18px;
    padding: 16px 18px;
    background: #fff;
    color: #111;
    outline: none;
    transition: .18s;
    font-weight: 500
}

.input:focus {
    border-color: var(--gold);
    box-shadow: 0 0 0 5px rgba(216, 183, 106, .16)
}

.textarea {
    min-height: 130px;
    resize: vertical
}

.file-box {
    display: block;
    border: 1px dashed rgba(169, 129, 42, .55);
    background: #fffdf5;
    border-radius: 20px;
    padding: 18px
}

.file-box span {
    display: block;
    font-weight: 800;
    margin-bottom: 10px
}

.privacy-check {
    display: flex !important;
    align-items: flex-start;
    gap: 12px;
    margin-top: 20px;
    background: #f7f7f7;
    border: 1px solid #e9e9e9;
    border-radius: 18px;
    padding: 14px
}

.privacy-check input {
    margin-top: 5px
}

.form-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 24px
}

.info-card {
    position: sticky;
    top: 110px;
    background: linear-gradient(160deg, #fff, #fff8e4)
}

.info-card h3 {
    font-size: 1.7rem;
    font-weight: 900;
    margin-bottom: 16px
}

.info-card ol {
    list-style: decimal;
    margin-left: 20px;
    color: #333;
    line-height: 1.9
}

.mini-note {
    margin-top: 24px;
    padding: 16px;
    border-radius: 18px;
    background: #fff;
    border: 1px solid rgba(216, 183, 106, .32);
    color: #4b4b4b
}

.team-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 28px
}

.team-card {
    background: #fff;
    border: 1px solid rgba(216, 183, 106, .42);
    border-radius: 30px;
    overflow: hidden;
    box-shadow: 0 24px 70px rgba(17, 17, 17, .06)
}

.team-photo {
    height: 260px;
    background: linear-gradient(135deg, var(--gold-soft), #fff);
    display: flex;
    align-items: center;
    justify-content: center
}

.team-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.team-photo span {
    font-size: 4rem;
    font-weight: 900;
    color: var(--gold-dark)
}

.team-body {
    padding: 26px
}

.team-body h3 {
    font-size: 1.45rem;
    font-weight: 900
}

.team-role {
    font-weight: 800;
    color: #8b6c1c;
    margin-top: 3px
}

.team-crefito {
    font-size: .95rem;
    color: #555;
    margin: 8px 0
}

.team-body p {
    line-height: 1.65
}

.team-socials {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 16px
}

.team-socials a {
    font-size: .88rem;
    font-weight: 800;
    border: 1px solid rgba(216, 183, 106, .6);
    border-radius: 999px;
    padding: 8px 12px;
    color: #2b2412;
    background: #fffdf5
}

.admin-card {
    background: #fff;
    border-radius: 24px;
    padding: 24px;
    border: 1px solid #e5e7eb;
    box-shadow: 0 16px 50px rgba(17, 17, 17, .05)
}

.admin-thumb {
    width: 160px;
    height: 160px;
    object-fit: cover;
    border-radius: 22px;
    border: 1px solid #ddd;
    background: #f7f7f7;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #777
}

.admin-edit-row {
    border-top: 1px solid #eee;
    padding-top: 22px
}

.admin-link {
    display: block;
    padding: 11px 14px;
    border-radius: 14px;
    color: #eee;
    font-weight: 700
}

.admin-link:hover {
    background: rgba(255, 255, 255, .1);
    color: #F3E4B6
}

@media(max-width:900px) {
    .form-layout {
        grid-template-columns: 1fr
    }

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

    .info-card {
        position: static
    }

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

    .site-logo-img {
        max-width: 180px
    }

    .page-hero {
        padding: 58px 0
    }
}

/* ===== V4 CMS real mapping + analytics ===== */
.photo-slot,
.visual-img,
.mosaic div {
    overflow: hidden;
    position: relative
}

.photo-slot img,
.visual-img img,
.mosaic img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    border-radius: inherit
}

.photo-slot span,
.visual-img span,
.mosaic span {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    text-align: center;
    padding: 1rem
}

.photo-slot.accent img {
    object-fit: cover
}

.hero-photo-grid .photo-slot {
    min-height: 120px
}

.visual-img {
    height: 150px
}

.mosaic div {
    display: flex;
    align-items: center;
    justify-content: center
}

.mosaic img {
    min-height: 150px
}

.team-photo {
    height: 320px;
    background: #fbfaf7;
    padding: 10px
}

.team-photo img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
    border-radius: 22px;
    background: #fbfaf7
}

.team-card {
    display: flex;
    flex-direction: column
}

.team-body {
    flex: 1
}

.admin-preview-img {
    width: 100%;
    height: 150px;
    object-fit: contain;
    background: #fbfaf7;
    border: 1px solid #e5e7eb;
    border-radius: 18px;
    margin: 10px 0
}

.admin-empty-img {
    height: 90px;
    border: 1px dashed #d8b76a;
    border-radius: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #8b6c1c;
    background: #fffdf5;
    margin: 10px 0;
    font-weight: 800
}

.kpi-card {
    background: #fff;
    border: 1px solid rgba(216, 183, 106, .42);
    border-radius: 22px;
    padding: 18px;
    box-shadow: 0 18px 45px rgba(17, 17, 17, .05)
}

.kpi-card p {
    text-transform: uppercase;
    letter-spacing: .08em;
    font-size: .75rem;
    color: #607089;
    font-weight: 800
}

.kpi-card strong {
    display: block;
    font-size: 1.9rem;
    line-height: 1.1;
    margin-top: 8px;
    color: #111
}

.admin-pill {
    display: inline-flex;
    border: 1px solid rgba(216, 183, 106, .55);
    background: #fff8e4;
    border-radius: 999px;
    padding: 9px 14px;
    font-weight: 800;
    color: #513f16
}

.admin-table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0 8px
}

.admin-table th {
    text-align: left;
    color: #64748b;
    font-size: .85rem;
    text-transform: uppercase;
    letter-spacing: .04em
}

.admin-table td {
    background: #fbfaf7;
    border-top: 1px solid #eee;
    border-bottom: 1px solid #eee;
    padding: 10px
}

.admin-table td:first-child {
    border-left: 1px solid #eee;
    border-radius: 12px 0 0 12px
}

.admin-table td:last-child {
    border-right: 1px solid #eee;
    border-radius: 0 12px 12px 0
}

.status-badge {
    display: inline-flex;
    border-radius: 999px;
    padding: 5px 10px;
    background: #fff2c5;
    color: #6c5012;
    font-weight: 800;
    font-size: .82rem
}

.admin-card canvas {
    max-width: 100%
}

@media(max-width:900px) {
    .team-photo {
        height: 280px
    }

    .visual-img {
        height: 130px
    }
}

/* Ajustes incrementais v4.1 */
.admin-table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0 10px;
    min-width: 900px
}

.admin-table thead th {
    padding: 0 14px 8px;
    color: #64748b;
    font-size: .78rem;
    text-transform: uppercase;
    letter-spacing: .08em
}

.admin-table tbody td {
    padding: 15px 14px;
    vertical-align: middle;
    background: #fffdf8;
    border-top: 1px solid rgba(216, 183, 106, .3);
    border-bottom: 1px solid rgba(216, 183, 106, .3)
}

.admin-table tbody td:first-child {
    border-left: 1px solid rgba(216, 183, 106, .3);
    border-radius: 18px 0 0 18px
}

.admin-table tbody td:last-child {
    border-right: 1px solid rgba(216, 183, 106, .3);
    border-radius: 0 18px 18px 0
}

.modal-backdrop {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, .55);
    display: none;
    align-items: center;
    justify-content: center;
    padding: 24px;
    z-index: 999
}

.modal-backdrop.open {
    display: flex
}

.modal-card {
    width: min(760px, 96vw);
    max-height: 90vh;
    overflow: auto;
    background: #fff;
    border: 1px solid rgba(216, 183, 106, .55);
    border-radius: 28px;
    padding: 28px;
    position: relative;
    box-shadow: 0 35px 90px rgba(0, 0, 0, .22)
}

.modal-close {
    position: absolute;
    right: 22px;
    top: 14px;
    font-size: 32px;
    line-height: 1
}

.modal-details {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px
}

.modal-details div {
    background: #fbfaf7;
    border: 1px solid #eee;
    border-radius: 18px;
    padding: 14px
}

.modal-details strong {
    display: block;
    color: #8b6c1c;
    font-size: .82rem;
    text-transform: uppercase;
    letter-spacing: .06em
}

.modal-details span {
    display: block;
    margin-top: 5px;
    white-space: pre-wrap
}

.admin-list-avatar {
    width: 52px;
    height: 52px;
    object-fit: contain;
    background: #fbfaf7;
    border-radius: 14px;
    border: 1px solid #eee;
    margin-top: 8px
}

.pilates-gallery {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px
}

.pilates-gallery div {
    min-height: 190px;
    border-radius: 28px;
    background: linear-gradient(135deg, #fff7df, #cfe8f6);
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    border: 1px solid rgba(216, 183, 106, .35);
    font-weight: 900;
    color: #8b6c1c
}

.pilates-gallery img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block
}

@media(max-width:768px) {
    .modal-details {
        grid-template-columns: 1fr
    }

    .admin-table {
        min-width: 720px
    }

    .pilates-gallery {
        grid-template-columns: 1fr
    }
}

/* v4.2 - ajustes da página institucional Clinic */
.admin-preview-img {
    width: 100%;
    max-height: 260px;
    object-fit: cover;
    border-radius: 22px;
    border: 1px solid rgba(216, 183, 106, .35);
    box-shadow: 0 12px 28px rgba(0, 0, 0, .08)
}

/* ==============================
   CARD DE INFORMAÇÕES
============================== */

.contact-card {
    width: 100%;
    max-width: 100%;
    overflow: hidden;
    padding: 34px;
    border-radius: 28px;
    background: linear-gradient(145deg, #fffdf9 0%, #fbf7f1 100%);
    border: 1px solid rgba(205, 170, 112, 0.34);
    box-shadow: 0 22px 55px rgba(77, 57, 39, 0.10);
}

.contact-card h3 {
    margin: 0 0 24px;
    font-size: 2rem;
    line-height: 1.1;
    font-weight: 800;
    color: #3d3229;
}

.contact-grid {
    display: flex;
    flex-direction: column;
    gap: 18px;
    width: 100%;
}

.contact-section {
    width: 100%;
    padding: 20px;
    border-radius: 24px;
    background: rgba(255, 255, 255, 0.86);
    border: 1px solid rgba(185, 146, 92, 0.18);
    box-shadow: 0 14px 34px rgba(77, 57, 39, 0.06);
}

.contact-section h4 {
    margin: 0 0 16px;
    font-size: 1.08rem;
    font-weight: 800;
    color: #7b5737;
}

.contact-item {
    display: flex;
    align-items: center;
    gap: 14px;
    width: 100%;
    min-width: 0;
    padding: 14px;
    margin-bottom: 12px;
    border-radius: 18px;
    text-decoration: none;
    background: #ffffff;
    border: 1px solid rgba(104, 78, 54, 0.10);
    color: #3b3028;
    transition: all 0.22s ease;
}

.contact-item:last-child {
    margin-bottom: 0;
}

.contact-item:hover {
    transform: translateY(-2px);
    border-color: rgba(188, 145, 83, 0.34);
    box-shadow: 0 16px 32px rgba(77, 57, 39, 0.12);
}

.contact-icon {
    width: 52px;
    height: 52px;
    min-width: 52px;
    border-radius: 17px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.28rem;
    color: #ffffff;
    box-shadow: 0 10px 22px rgba(0, 0, 0, 0.10);
}

.contact-item span:last-child {
    min-width: 0;
    flex: 1;
}

.contact-item strong {
    display: block;
    margin-bottom: 4px;
    font-size: 1rem;
    line-height: 1.2;
    font-weight: 800;
    color: #302820;
}

.contact-item small {
    display: block;
    font-size: 0.9rem;
    line-height: 1.45;
    color: #74675d;
    white-space: normal;
    overflow-wrap: break-word;
}

/* Endereço */
.contact-item.map {
    align-items: flex-start;
}

.contact-item.map .contact-icon {
    margin-top: 2px;
}

.contact-item.map strong {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.contact-item.map strong::after {
    content: "Abrir no Google Maps";
    width: fit-content;
    padding: 5px 9px;
    border-radius: 999px;
    background: rgba(176, 128, 77, 0.13);
    color: #8a5d32;
    font-size: 0.68rem;
    font-weight: 800;
    line-height: 1;
}

/* Email */
.contact-section.full {
    padding: 0;
    background: transparent;
    border: none;
    box-shadow: none;
}

.contact-section.full .contact-item {
    margin-bottom: 0;
    background: linear-gradient(135deg, #ffffff 0%, #fff9f0 100%);
    border-color: rgba(201, 166, 109, 0.28);
}

/* Cores */
.contact-item.whatsapp .contact-icon {
    background: linear-gradient(135deg, #25d366 0%, #0c9f6a 100%);
}

.contact-item.instagram .contact-icon {
    background: radial-gradient(circle at 30% 30%, #feda75, #fa7e1e 28%, #d62976 58%, #962fbf 100%);
}

.contact-item.email .contact-icon {
    background: linear-gradient(135deg, #8a6543 0%, #c49a64 100%);
}

.contact-item.map .contact-icon {
    background: linear-gradient(135deg, #9c6235 0%, #c48a55 100%);
}

/* ==============================
   RESPONSIVO
============================== */

@media (max-width: 1180px) {
    .form-layout {
        grid-template-columns: 1fr;
    }

    .contact-card {
        max-width: 100%;
    }
}

@media (max-width: 768px) {
    .form-layout {
        gap: 24px;
    }

    .contact-card {
        padding: 26px 20px;
        border-radius: 24px;
    }

    .contact-card h3 {
        font-size: 1.6rem;
        margin-bottom: 20px;
    }

    .contact-section {
        padding: 16px;
        border-radius: 20px;
    }

    .contact-item {
        padding: 13px;
        gap: 12px;
        border-radius: 17px;
    }

    .contact-icon {
        width: 48px;
        height: 48px;
        min-width: 48px;
        border-radius: 15px;
    }
}

/* Patch Clinic: estrutura sem dependência de Tailwind */
.clinic-hero {
    min-height: 420px;
    display: flex;
    align-items: center;
    background: #fffaf0;
    background-size: cover;
    background-position: center;
    border-bottom: 1px solid rgba(213, 177, 94, .35);
    padding: 70px 0
}

.clinic-hero-inner {
    max-width: 980px;
    margin: 0 auto;
    padding: 0 24px
}

.clinic-hero h1 {
    font-size: clamp(48px, 6vw, 86px);
    line-height: .95;
    margin: 28px 0 22px;
    font-weight: 900;
    letter-spacing: -.05em;
    color: #111
}

.clinic-hero-text {
    font-size: clamp(19px, 2.1vw, 26px);
    line-height: 1.55;
    color: #4d5563;
    max-width: 920px
}

.clinic-hero-actions {
    display: flex;
    gap: 14px;
    flex-wrap: wrap;
    margin-top: 30px
}

.clinic-intro-section {
    padding: 64px 0
}

.clinic-info-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 32px;
    padding: 0 24px
}

.clinic-info-card {
    padding: 42px !important;
    min-height: 260px;
    display: flex;
    flex-direction: column;
    justify-content: center
}

.clinic-info-card.tinted {
    background: #fff9e8
}

.clinic-info-card h2 {
    font-size: clamp(28px, 3vw, 42px);
    line-height: 1.12;
    margin: 14px 0 20px;
    color: #070707;
    font-weight: 900;
    letter-spacing: -.035em
}

.clinic-areas-section {
    padding: 72px 0;
    background: #fff;
    border-top: 1px solid rgba(213, 177, 94, .18)
}

.section-heading-row {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 28px;
    margin-bottom: 36px;
    padding: 0 24px
}

.section-heading-row h2 {
    font-size: clamp(42px, 5vw, 72px);
    line-height: .98;
    margin: 22px 0 16px;
    font-weight: 900;
    letter-spacing: -.05em;
    color: #111
}

.clinic-specialties-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 30px;
    padding: 0 24px
}

.clinic-specialty-card {
    display: flex;
    flex-direction: column;
    text-decoration: none;
    color: inherit;
    background: #fff;
    border: 1px solid rgba(213, 177, 94, .65);
    border-radius: 28px;
    padding: 20px;
    box-shadow: 0 18px 45px rgba(0, 0, 0, .06);
    transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
    min-height: 100%
}

.clinic-specialty-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 24px 60px rgba(0, 0, 0, .10);
    border-color: #d5b15e
}

.clinic-specialty-img,
.clinic-specialty-placeholder {
    width: 100%;
    height: 190px;
    border-radius: 22px;
    object-fit: cover;
    object-position: center;
    background: linear-gradient(120deg, #fbf4d8, #d8eef7);
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    color: #8a6410;
    font-weight: 900;
    padding: 18px
}

.clinic-specialty-body {
    padding: 24px 2px 4px
}

.clinic-specialty-body h3 {
    font-size: 25px;
    line-height: 1.25;
    margin: 0 0 14px;
    color: #050505;
    font-weight: 900;
    letter-spacing: -.025em
}

.rich-content {
    font-size: 19px;
    line-height: 1.55;
    color: #4d5563
}

.rich-content p {
    margin: 0 0 12px
}

.rich-content p:last-child {
    margin-bottom: 0
}

.rich-content strong,
.rich-content b {
    font-weight: 900
}

.rich-content em,
.rich-content i {
    font-style: italic
}

.rich-content u {
    text-decoration: underline
}

.eyebrow.mini {
    font-size: 14px;
    padding: 9px 16px
}

.hide-mobile {
    white-space: nowrap
}

@media(max-width:1100px) {
    .clinic-specialties-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr))
    }

    .clinic-info-grid {
        grid-template-columns: 1fr
    }

    .section-heading-row {
        flex-direction: column
    }

    .hide-mobile {
        display: none
    }
}

@media(max-width:640px) {
    .clinic-hero {
        min-height: auto;
        padding: 48px 0
    }

    .clinic-hero-inner,
    .clinic-info-grid,
    .section-heading-row,
    .clinic-specialties-grid {
        padding-left: 18px;
        padding-right: 18px
    }

    .clinic-specialties-grid {
        grid-template-columns: 1fr
    }

    .clinic-info-card {
        padding: 28px !important
    }

    .clinic-specialty-img,
    .clinic-specialty-placeholder {
        height: 210px
    }

    .clinic-hero-actions .btn-primary,
    .clinic-hero-actions .btn-outline {
        width: 100%;
        justify-content: center;
        text-align: center
    }
}
/* Editor visual global das textareas do admin */
.admin-rich-wrap{border:1px solid #d9d4cb;border-radius:18px;overflow:hidden;background:#fff;margin-top:8px;box-shadow:0 10px 28px rgba(84,65,49,.04)}
.admin-rich-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:10px 12px;background:#fffaf1;border-bottom:1px solid #ead9b6}
.admin-rich-toolbar .rich-btn{appearance:none;border:1px solid #d6ad54;background:#fff;border-radius:999px;padding:8px 14px;font-weight:800;color:#5f4a3d;line-height:1;cursor:pointer;transition:.18s ease}
.admin-rich-toolbar .rich-btn:hover{background:#f5e8c5;transform:translateY(-1px)}
.admin-rich-editor{min-height:130px;padding:18px 22px;outline:none;color:#5f4a3d;font-size:1rem;line-height:1.75;background:#fff}
.admin-rich-editor:focus{box-shadow:inset 0 0 0 2px rgba(214,173,84,.28)}
.admin-rich-editor:empty:before{content:attr(data-placeholder);color:#a89a8d;pointer-events:none}
.admin-rich-hint{padding:8px 12px;font-size:.85rem;color:#7d736a;background:#fff;border-top:1px solid #f0e3ca}
textarea.admin-rich-source{display:none!important;visibility:hidden!important;position:absolute!important;left:-99999px!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}
.admin-rich-editor p{margin:0 0 .75rem}.admin-rich-editor p:last-child{margin-bottom:0}.admin-rich-editor ul,.admin-rich-editor ol{padding-left:1.35rem;margin:.5rem 0}.admin-rich-editor strong{font-weight:900}.admin-rich-editor em{font-style:italic}.admin-rich-editor u{text-decoration:underline}
.bg-neutral-950{background:rgba(56,52,26,0.73)!important; color:white!important}.bg-neutral-950 h2{color:white!important}
h1,h2{color:#575745!important}
