/* =========================================================
   Tema DERMA — "busca primeiro". Branco clínico, carvão quente, rosé.
   Estrutura própria: header com busca (Ctrl+K), abertura com combobox,
   índice filtrável, horários livres ao vivo, fichas para imprimir.
   ========================================================= */
:root {
  --c-bg: #ffffff; --c-surface: #f7f3f0; --c-surface-2: #efe7e2; --c-ink: #1f1b1a; --c-muted: #6a625e; --c-line: #e9e1dc;
  --c-primary: #1f1b1a; --c-primary-ink: #ffffff; --c-accent: #9e5f57; --c-accent-ink: #ffffff;
  --c-hero-ink: #1f1b1a; --c-dark: #1f1b1a; --c-dark-ink: #f4eeea;
  --rose: #9e5f57; --rose-soft: #f6e8e4; --rose-line: #ead3cd; --sage-soft: #e8efe9; --sage: #4f6b5a;
  --f-display: 'Instrument Serif', Georgia, serif; --f-body: 'Inter Tight', system-ui, sans-serif;
  --fw-display: 400; --ls-display: -0.012em; --tt-kicker: none; --ls-kicker: .01em;
  --r-sm: 12px; --r: 18px; --r-lg: 28px; --r-btn: 999px; --r-img: 26px;
  --sec: clamp(76px, 10vw, 136px); --hd-h: 72px;
  --sh: 0 30px 70px -44px rgba(60, 35, 28, .45); --sh-sm: 0 10px 26px -18px rgba(60, 35, 28, .45);
  --fs-hero: clamp(3.1rem, 6.6vw, 6.1rem); --fs-h1: clamp(2.7rem, 5.6vw, 4.6rem); --fs-h2: clamp(2.2rem, 4vw, 3.3rem);
}
body { color: var(--c-ink); }
.sr { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
h1, h2, h3 { line-height: 1.02; }
::selection { background: var(--rose-soft); }
.kicker { font-weight: 500; font-size: .84rem; color: var(--rose); display: inline-flex; align-items: center; gap: 10px; letter-spacing: .01em; }
.kicker::before { content: ''; width: 18px; height: 1px; background: currentColor; }
.btn { font-weight: 500; letter-spacing: .005em; }
.btn--primary { box-shadow: none; }
.btn--primary:hover { background: var(--rose); }
.btn--ghost { border-color: var(--c-line); background: var(--c-bg); }
.btn--ghost:hover { border-color: var(--c-ink); }
.link-arrow { color: var(--c-ink); font-weight: 500; border-bottom: 1px solid var(--rose-line); padding-bottom: 3px; }
.link-arrow:hover { border-color: var(--rose); }
.link-arrow .ic { color: var(--rose); }
.dx-h2 { font-size: var(--fs-h2); }
.dx-head { display: grid; gap: 18px 56px; align-items: end; margin-bottom: clamp(30px, 4vw, 48px); }
@media (min-width: 900px) { .dx-head { grid-template-columns: 1.1fr .9fr; } }
.dx-head .kicker { margin-bottom: 12px; }
.dx-head__p { color: var(--c-muted); font-size: 1.04rem; max-width: 520px; display: grid; gap: 16px; justify-items: start; }
kbd { font: 500 .72rem/1 var(--f-body); padding: 4px 7px; border-radius: 6px; border: 1px solid var(--c-line); background: var(--c-surface); color: var(--c-muted); }

/* ---------- cabeçalho ---------- */
.dx-hd { background: rgba(255, 255, 255, .94); border-bottom: 1px solid var(--c-line); }
.dx-hd .hd__in { gap: 28px; }
.dx-brand .brand__mark { width: 40px; height: 40px; background: var(--rose-soft); color: var(--rose); font-size: 1.05rem; font-style: italic; }
.dx-brand .brand__name { font-size: 1.35rem; }
.dx-brand .brand__sub { color: var(--c-muted); letter-spacing: .14em; font-size: .64rem; }
.dx-nav { margin-left: 12px; margin-right: auto; }
.dx-nav .nav__list a { font-size: .92rem; color: var(--c-muted); padding: 9px 12px; }
.dx-nav .nav__list a:hover { background: var(--c-surface); color: var(--c-ink); }
.dx-nav .nav__list a[aria-current] { color: var(--c-ink); background: var(--c-surface); }
.dx-findbtn { display: inline-flex; align-items: center; gap: 10px; height: 42px; padding: 0 8px 0 14px; border-radius: 999px; border: 1px solid var(--c-line); background: var(--c-bg); color: var(--c-muted); cursor: pointer; font-size: .9rem; transition: border-color .2s, color .2s; }
.dx-findbtn:hover { border-color: var(--c-ink); color: var(--c-ink); }
.dx-findbtn kbd { padding: 5px 7px; }
.dx-hd .hd__cta { min-height: 42px; }
@media (max-width: 1100px) { .dx-nav { margin: 0; } .dx-findbtn kbd { display: none; } }
@media (max-width: 720px) { .dx-findbtn { width: 44px; height: 44px; padding: 0; justify-content: center; } .dx-findbtn__t { display: none; } }
@media (max-width: 560px) { .dx-hd .hd__act { gap: 6px; } .dx-hd .hd__cta, .dx-hd .nav-toggle { width: 44px; height: 44px; min-height: 44px; } .dx-brand .brand__name { font-size: 1.12rem; } .dx-brand .brand__mark { width: 36px; height: 36px; font-size: .95rem; } .dx-brand { gap: 10px; } }

/* ---------- busca (combobox) ---------- */
.dx-sb { position: relative; }
.dx-sb__label { display: block; font-weight: 500; font-size: .95rem; margin-bottom: 12px; }
.dx-sb__field { position: relative; display: flex; align-items: center; gap: 12px; padding: 0 14px 0 20px; min-height: 66px; border-radius: 20px; border: 1.5px solid var(--c-line); background: var(--c-bg); box-shadow: var(--sh-sm); transition: border-color .2s, box-shadow .2s; }
.dx-sb__field:focus-within { border-color: var(--c-ink); box-shadow: 0 0 0 5px var(--rose-soft), var(--sh-sm); }
.dx-sb__ic { width: 22px; height: 22px; color: var(--rose); }
.dx-sb__input { flex: 1; min-width: 0; border: 0; outline: 0; background: transparent; font-size: 1.08rem; padding: 18px 0; color: var(--c-ink); }
.dx-sb__input::placeholder { color: #9b918c; }
.dx-sb__input::-webkit-search-cancel-button, .dx-grid__filter input::-webkit-search-cancel-button { -webkit-appearance: none; appearance: none; width: 18px; height: 18px; cursor: pointer; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236a625e' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M18 6 6 18M6 6l12 12'/%3E%3C/svg%3E") center / contain no-repeat; }
.dx-sb.is-open .dx-sb__field { border-bottom-left-radius: 20px; border-bottom-right-radius: 20px; }
.dx-sb__panel { position: absolute; z-index: 30; left: 0; right: 0; top: calc(100% + 10px); background: var(--c-bg); border: 1px solid var(--c-line); border-radius: 20px; box-shadow: 0 40px 80px -36px rgba(40, 20, 15, .35); overflow: hidden; }
.dx-sb__list { list-style: none; max-height: min(420px, 52vh); overflow-y: auto; padding: 8px; }
.dx-opt { display: grid; grid-template-columns: 1fr auto; gap: 2px 14px; padding: 12px 14px; border-radius: 12px; cursor: pointer; }
.dx-opt[aria-selected=true] { background: var(--c-surface); }
.dx-opt__t { font-weight: 600; }
.dx-opt__t mark { background: var(--rose-soft); color: inherit; border-radius: 3px; box-shadow: 0 0 0 2px var(--rose-soft); }
.dx-opt__c { font-size: .74rem; color: var(--rose); align-self: center; text-align: right; white-space: nowrap; }
.dx-opt--g .dx-opt__c, .dx-opt--p .dx-opt__c { color: var(--sage); }
@media (max-width: 600px) { .dx-opt { grid-template-columns: 1fr; } .dx-opt__c { order: -1; text-align: left; } .dx-opt__p { white-space: normal; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; } }
.dx-opt__p { grid-column: 1 / -1; font-size: .86rem; color: var(--c-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.dx-sb__foot:empty, .dx-sb__list:empty { display: none; }
.dx-sb__list:empty + .dx-sb__foot { border-top: 0; }
.dx-sb__foot { display: flex; justify-content: space-between; align-items: center; gap: 14px; padding: 12px 22px; border-top: 1px solid var(--c-line); font-size: .86rem; color: var(--c-muted); background: #fcfaf9; }
.dx-sb__foot a { color: var(--c-ink); font-weight: 500; text-decoration: none; }
.dx-none { display: grid; gap: 6px; padding: 8px 0; }
.dx-none strong { color: var(--c-ink); }
.dx-none__a { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 8px; }
.dx-none__a .btn--primary { color: #fff !important; }
.dx-kbd { flex: none; }
.dx-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.dx-chip { padding: 8px 14px; border-radius: 999px; border: 1px solid var(--c-line); background: var(--c-bg); font-size: .88rem; cursor: pointer; color: var(--c-ink); transition: background .2s, border-color .2s; }
.dx-chip:hover { background: var(--rose-soft); border-color: var(--rose-line); }

/* ---------- abertura ---------- */
.dx-hero { padding: clamp(36px, 5vw, 72px) 0 clamp(64px, 8vw, 110px); }
.dx-hero__in { display: grid; gap: clamp(44px, 6vw, 84px); align-items: center; }
@media (min-width: 1000px) { .dx-hero__in { grid-template-columns: 1.08fr .92fr; } }
.dx-hero__t { font-size: var(--fs-hero); margin-top: 14px; }
.dx-hero__p { margin: 22px 0 34px; font-size: 1.12rem; color: var(--c-muted); max-width: 560px; }
.dx-hero .dx-sb { max-width: 600px; }
.dx-hero__chips { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; margin-top: 18px; max-width: 600px; }
.dx-hero__chipsl { font-size: .82rem; color: var(--c-muted); }
.dx-hero__go { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 20px; margin-top: 30px; padding-top: 22px; border-top: 1px solid var(--c-line); max-width: 600px; font-size: .9rem; color: var(--c-muted); }
.dx-go { display: inline-flex; align-items: center; gap: 8px; color: var(--c-ink); font-weight: 600; text-decoration: none; }
.dx-go .ic { color: var(--rose); }
.dx-go:hover { text-decoration: underline; text-underline-offset: 4px; }
.dx-hero__art { position: relative; margin: 0; padding: 0 0 64px 0; }
.dx-hero__a1 { width: 84%; margin-left: auto; border-radius: var(--r-img); overflow: hidden; }
.dx-hero__a1 .dx-hero__img, .dx-hero__a1 .ph { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; display: block; }
.dx-hero__a2 { position: absolute; left: 0; bottom: 18%; width: 40%; border-radius: 22px; overflow: hidden; border: 8px solid var(--c-bg); box-shadow: var(--sh); }
.dx-hero__a2 .dx-hero__img, .dx-hero__a2 .ph { width: 100%; aspect-ratio: 1; object-fit: cover; display: block; }
.dx-hero__cap { position: absolute; right: 0; bottom: 0; display: flex; gap: 14px; align-items: center; max-width: min(380px, 86%); padding: 16px 20px; background: var(--c-bg); border: 1px solid var(--c-line); border-radius: 18px; box-shadow: var(--sh); }
.dx-hero__cap strong { display: block; font-weight: 600; }
.dx-hero__cap small { display: block; color: var(--c-muted); font-size: .8rem; line-height: 1.4; margin-top: 2px; }
.dx-hero__capic { display: grid; place-items: center; width: 40px; height: 40px; flex: none; border-radius: 50%; background: var(--rose-soft); color: var(--rose); }
.dx-hero__tag { position: absolute; top: 18px; right: 18px; padding: 8px 14px; border-radius: 999px; background: rgba(255, 255, 255, .92); backdrop-filter: blur(6px); font-size: .8rem; font-weight: 500; }
@media (max-width: 999px) { .dx-hero__art { max-width: 560px; } }
@media (max-width: 560px) { .dx-hero__a2 { width: 44%; bottom: 22%; border-width: 6px; } .dx-sb__field { min-height: 58px; padding-left: 16px; } .dx-sb__input { font-size: 1rem; } .dx-kbd { display: none; } }

/* ---------- faixa de agenda (check-up) ---------- */
.dx-check { padding: 0 0 var(--sec); }
.dx-check__in { display: grid; gap: 28px 56px; align-items: center; padding: clamp(28px, 4vw, 48px); border-radius: var(--r-lg); background: var(--rose-soft); }
@media (min-width: 900px) { .dx-check__in { grid-template-columns: 1fr 1.05fr; } }
.dx-check__t { font-size: clamp(1.9rem, 3.2vw, 2.6rem); margin: 10px 0 12px; }
.dx-check__p { color: #5c4a45; max-width: 520px; }
.dx-check__meta { display: flex; align-items: center; gap: 8px; margin-top: 16px; font-size: .9rem; color: #5c4a45; }
.dx-check__meta a { color: var(--c-ink); font-weight: 500; }
.dx-check__slots { display: grid; gap: 14px; }
.dx-check__l { font-size: .82rem; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--rose); }
.dx-check__list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; min-height: 86px; }
.dx-slot { display: grid; gap: 4px; padding: 16px 18px; border-radius: 16px; background: var(--c-bg); border: 1px solid var(--rose-line); text-decoration: none; transition: transform .2s var(--ease), border-color .2s, box-shadow .2s; }
.dx-slot span { font-size: .84rem; color: var(--c-muted); }
.dx-slot strong { font: 400 1.9rem/1 var(--f-display); font-variant-numeric: tabular-nums; }
.dx-slot:hover { transform: translateY(-2px); border-color: var(--rose); box-shadow: var(--sh-sm); }
.dx-slot--sk { min-height: 86px; background: linear-gradient(90deg, #fff 0, #fbf3f0 50%, #fff 100%); background-size: 200% 100%; animation: dxsk 1.2s linear infinite; }
@keyframes dxsk { to { background-position: -200% 0; } }
.dx-check__none { grid-column: 1 / -1; color: #5c4a45; font-size: .92rem; }
.dx-check__all { display: inline-flex; align-items: center; gap: 8px; justify-self: start; font-weight: 500; color: var(--c-ink); text-decoration: none; border-bottom: 1px solid var(--rose); padding-bottom: 2px; }
@media (max-width: 560px) { .dx-check__list { grid-template-columns: 1fr; } .dx-slot { grid-template-columns: 1fr auto; align-items: center; } .dx-slot strong { font-size: 1.5rem; } }

/* ---------- índice filtrável ---------- */
.dx-procs { padding-top: 0; }
.dx-grid__bar { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 14px 24px; padding-bottom: 20px; border-bottom: 1px solid var(--c-line); }
.dx-grid__chips { display: flex; flex-wrap: wrap; gap: 8px; }
.dx-fchip { display: inline-flex; align-items: center; gap: 8px; padding: 10px 16px; border-radius: 999px; border: 1px solid var(--c-line); background: var(--c-bg); cursor: pointer; font-weight: 500; font-size: .92rem; color: var(--c-ink); transition: all .2s; }
.dx-fchip span { font-size: .78rem; color: var(--c-muted); font-variant-numeric: tabular-nums; }
.dx-fchip:hover { border-color: var(--c-ink); }
.dx-fchip[aria-pressed=true] { background: var(--c-ink); border-color: var(--c-ink); color: #fff; }
.dx-fchip[aria-pressed=true] span { color: rgba(255, 255, 255, .7); }
.dx-grid__filter { display: flex; align-items: center; gap: 10px; min-height: 46px; padding: 0 16px; border-radius: 999px; border: 1px solid var(--c-line); flex: 0 1 320px; color: var(--c-muted); background: var(--c-bg); }
.dx-grid__filter:focus-within { border-color: var(--c-ink); box-shadow: 0 0 0 4px var(--rose-soft); }
.dx-grid__filter input { border: 0; outline: 0; background: transparent; flex: 1; min-width: 0; padding: 10px 0; }
.dx-grid__desc { margin-top: 18px; padding: 16px 20px; border-radius: var(--r); background: var(--c-surface); color: var(--c-muted); max-width: 760px; }
.dx-grid__count { margin: 18px 0 14px; font-size: .86rem; color: var(--c-muted); }
.dx-grid__list { list-style: none; display: grid; gap: 12px; }
@media (min-width: 860px) { .dx-grid__list { grid-template-columns: 1fr 1fr; gap: 14px 18px; } }
.dx-card__a { display: grid; grid-template-columns: 108px 1fr auto; gap: 20px; align-items: center; padding: 14px 20px 14px 14px; border-radius: 22px; border: 1px solid var(--c-line); text-decoration: none; background: var(--c-bg); transition: border-color .2s, transform .3s var(--ease), box-shadow .3s; height: 100%; }
.dx-card__a:hover { border-color: var(--c-ink); transform: translateY(-2px); box-shadow: var(--sh-sm); }
.dx-card__img { display: block; width: 108px; height: 108px; border-radius: 16px; overflow: hidden; background: var(--c-surface); }
.dx-card__img img, .dx-card__img .ph { width: 100%; height: 100%; object-fit: cover; aspect-ratio: 1; font-size: 1.4rem; }
.dx-card__b { display: grid; gap: 4px; min-width: 0; }
.dx-card__cat { font-size: .74rem; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--rose); }
.dx-card__t { font: 400 1.5rem/1.1 var(--f-display); }
.dx-card__p { font-size: .9rem; color: var(--c-muted); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.dx-card__m { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 4px; }
.dx-card__m span { font-size: .74rem; padding: 3px 9px; border-radius: 999px; background: var(--c-surface); color: var(--c-muted); }
.dx-card__go { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; border: 1px solid var(--c-line); color: var(--c-ink); transition: background .2s, color .2s, border-color .2s; }
.dx-card__a:hover .dx-card__go { background: var(--c-ink); color: #fff; border-color: var(--c-ink); }
.dx-grid__more { display: none; }
@media (min-width: 701px) {
  .dx-grid.is-collapsed.is-long .dx-card:nth-child(n+11) { display: none; }
  .dx-grid.is-collapsed.is-long .dx-grid__more { display: flex; justify-content: center; margin-top: 22px; }
}
@media (max-width: 700px) {
  .dx-grid.is-collapsed .dx-card:nth-child(n+7) { display: none; }
  .dx-grid.is-collapsed .dx-grid__more { display: flex; justify-content: center; margin-top: 18px; }
}
.dx-grid__empty { margin-top: 18px; padding: 28px; border-radius: var(--r-lg); border: 1px dashed var(--rose-line); background: #fffaf8; display: grid; gap: 14px; }
.dx-grid__emptya { display: flex; flex-wrap: wrap; gap: 10px; }
@media (max-width: 560px) { .dx-card__a { grid-template-columns: 76px 1fr; gap: 14px; padding: 12px; } .dx-card__img { width: 76px; height: 76px; } .dx-card__go { display: none; } .dx-card__t { font-size: 1.3rem; } .dx-grid__filter { flex-basis: 100%; } }
.dx-help { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 18px 28px; margin-top: clamp(40px, 5vw, 64px); padding: 26px 30px; border-radius: var(--r-lg); background: var(--c-surface); }
.dx-help p { max-width: 720px; color: var(--c-muted); }
.dx-help strong { color: var(--c-ink); }
.dx-inlinebtn { display: inline-flex; align-items: center; gap: 6px; padding: 4px 12px; margin: 0 4px; border-radius: 999px; border: 1px solid var(--c-line); background: var(--c-bg); cursor: pointer; font-size: .88rem; color: var(--c-ink); vertical-align: middle; }
.dx-inlinebtn .ic { width: 15px; height: 15px; }

/* ---------- credencial ---------- */
.dx-cred__card { display: grid; gap: clamp(28px, 4vw, 64px); padding: clamp(18px, 2.4vw, 28px); border-radius: 36px; background: var(--c-surface); align-items: stretch; }
@media (min-width: 900px) { .dx-cred__card { grid-template-columns: .82fr 1.18fr; } }
.dx-cred__photo { border-radius: 26px; overflow: hidden; min-height: 360px; }
.dx-cred__img, .dx-cred__photo .ph { width: 100%; height: 100%; object-fit: cover; aspect-ratio: 4 / 5; }
.dx-cred__body { padding: clamp(6px, 2vw, 26px) clamp(4px, 2vw, 22px) clamp(6px, 2vw, 22px) 0; display: grid; gap: 16px; align-content: center; }
.dx-cred__id { display: flex; gap: 10px; align-items: flex-start; font-size: .92rem; font-weight: 500; }
.dx-cred__id .ic { color: var(--rose); margin-top: 2px; }
.dx-cred__bio { color: var(--c-muted); font-size: 1.02rem; }
.dx-cred__facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 18px 24px; margin: 6px 0 0; padding-top: 20px; border-top: 1px solid var(--c-line); }
.dx-cred__facts dt { font-size: .74rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--rose); margin-bottom: 6px; }
.dx-cred__facts dd { margin: 0; display: grid; gap: 4px; font-size: .9rem; }
.dx-cred__act { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 8px; }
@media (max-width: 899px) { .dx-cred__body { padding: 0 6px 10px; } .dx-cred__photo { min-height: 0; } }

/* ---------- etapas ---------- */
.dx-steps__in { display: grid; gap: 36px clamp(40px, 6vw, 96px); align-items: start; }
@media (min-width: 900px) { .dx-steps__in { grid-template-columns: .8fr 1.2fr; } .dx-steps__h { position: sticky; top: calc(var(--hd-h) + 32px); } }
.dx-steps__h { display: grid; gap: 14px; justify-items: start; }
.dx-steps__list { list-style: none; border-top: 1px solid var(--c-line); }
.dx-step { display: grid; grid-template-columns: 76px 1fr; gap: 20px; padding: 26px 0; border-bottom: 1px solid var(--c-line); }
.dx-step__n { font: 400 2.6rem/1 var(--f-display); color: var(--rose); font-variant-numeric: tabular-nums; }
.dx-step__t { font-family: var(--f-body); font-weight: 600; font-size: 1.12rem; letter-spacing: 0; margin-bottom: 6px; line-height: 1.3; }
.dx-step__p { color: var(--c-muted); }
.dx-promises { list-style: none; display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 18px; margin-top: clamp(40px, 5vw, 64px); }
.dx-promises li { display: grid; gap: 8px; padding: 22px; border-radius: var(--r); border: 1px solid var(--c-line); align-content: start; }
.dx-promises__ic { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 12px; background: var(--rose-soft); color: var(--rose); }
.dx-promises span:last-child { color: var(--c-muted); font-size: .92rem; }

/* ---------- fichas ---------- */
.dx-fichas { background: var(--c-surface); padding-top: var(--sec) !important; }
.dx-fichas__list { list-style: none; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr)); gap: 22px; }
.dx-ficha__a { position: relative; display: grid; gap: 8px; height: 100%; padding: 46px 26px 22px; border-radius: 6px 6px 18px 18px; background: #fff; border: 1px solid var(--c-line); box-shadow: 0 2px 0 #fff, 0 3px 0 var(--c-line), 0 18px 40px -30px rgba(40, 20, 10, .35); text-decoration: none; transition: transform .3s var(--ease), box-shadow .3s; }
.dx-ficha:nth-child(odd) .dx-ficha__a { transform: rotate(-.5deg); }
.dx-ficha:nth-child(even) .dx-ficha__a { transform: rotate(.5deg); }
.dx-ficha__a:hover { transform: rotate(0) translateY(-4px); box-shadow: 0 2px 0 #fff, 0 3px 0 var(--c-line), 0 28px 50px -30px rgba(40, 20, 10, .45); }
.dx-ficha__tab { position: absolute; top: 0; left: 26px; padding: 6px 12px 7px; border-radius: 0 0 10px 10px; font-size: .72rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; background: var(--rose-soft); color: var(--rose); }
.dx-ficha--pos .dx-ficha__tab { background: var(--sage-soft); color: var(--sage); }
.dx-ficha__svc { font-size: .8rem; color: var(--c-muted); }
.dx-ficha__t { font: 400 1.5rem/1.12 var(--f-display); }
.dx-ficha__p { font-size: .9rem; color: var(--c-muted); }
.dx-ficha__lines { display: grid; gap: 7px; margin: 8px 0 6px; }
.dx-ficha__lines i { display: block; height: 1px; background: repeating-linear-gradient(90deg, var(--c-line) 0 6px, transparent 6px 10px); }
.dx-ficha__lines i:nth-child(2) { width: 82%; } .dx-ficha__lines i:nth-child(3) { width: 64%; }
.dx-ficha__f { display: inline-flex; align-items: center; gap: 8px; margin-top: auto; font-size: .82rem; font-weight: 500; color: var(--c-ink); }
.dx-ficha__f .ic { color: var(--rose); width: 16px; height: 16px; }
.dx-fichas + .sec { padding-top: var(--sec); }
.dx-fgroup { display: grid; gap: 18px 48px; padding: 36px 0; border-top: 1px solid var(--c-line); }
.dx-fgroup:first-child { border-top: 0; padding-top: 0; }
@media (min-width: 960px) { .dx-fgroup { grid-template-columns: .62fr 1.38fr; } .dx-fgroup__t { position: sticky; top: calc(var(--hd-h) + 28px); align-self: start; } }
.dx-fgroup__t { font-size: 2rem; display: grid; gap: 8px; }
.dx-fgroup__t span { font: 500 .82rem/1 var(--f-body); color: var(--c-muted); }
.dx-fichas--page { background: var(--c-bg); padding-top: clamp(36px, 5vw, 64px) !important; }
.dx-fichas--page .dx-fichas__list { grid-template-columns: repeat(auto-fill, minmax(min(100%, 280px), 1fr)); }
.dx-fichas--page .dx-ficha__svc { display: none; }

/* ---------- convênios ---------- */
.dx-ins { border-block: 1px solid var(--c-line); }
.dx-ins__in { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 26px; padding-block: 26px; }
.dx-ins__l { display: inline-flex; align-items: center; gap: 10px; font-weight: 600; }
.dx-ins__l .ic { color: var(--rose); }
.dx-ins__list { list-style: none; display: flex; flex-wrap: wrap; gap: 6px 0; flex: 1; }
.dx-ins__list li { font: 400 1.35rem/1.2 var(--f-display); }
.dx-ins__list li + li::before { content: '·'; margin: 0 14px; color: var(--rose); }
.dx-ins + .sec { padding-top: var(--sec); }
@media (max-width: 700px) { .dx-ins__in { flex-direction: column; align-items: flex-start; } .dx-ins__list li { font-size: 1.2rem; } }

/* ---------- avaliações ---------- */
.dx-quotes__in { display: grid; gap: 40px clamp(40px, 6vw, 96px); }
@media (min-width: 900px) { .dx-quotes__in { grid-template-columns: 1.05fr .95fr; align-items: start; } }
.dx-quotes__lead { display: grid; gap: 16px; justify-items: start; }
.dx-quotes__big { margin: 18px 0 0; padding-left: 22px; border-left: 2px solid var(--rose-line); }
.dx-quotes__big p { font: 400 clamp(1.8rem, 3.1vw, 2.6rem)/1.18 var(--f-display); }
.dx-quotes__big footer { margin-top: 18px; font-size: .9rem; color: var(--c-muted); }
.dx-quotes__list { list-style: none; border-top: 1px solid var(--c-line); }
.dx-quotes__list li { padding: 22px 0; border-bottom: 1px solid var(--c-line); display: grid; gap: 6px; }
.dx-quotes__stars { color: var(--rose); letter-spacing: 3px; font-size: .86rem; }
.dx-quotes__q { font-size: 1rem; }
.dx-quotes__who { font-size: .84rem; color: var(--c-muted); }

/* ---------- blog em lista ---------- */
.dx-blog__in { display: grid; gap: 34px clamp(40px, 6vw, 96px); }
@media (min-width: 900px) { .dx-blog__in { grid-template-columns: .7fr 1.3fr; align-items: start; } .dx-blog__h { position: sticky; top: calc(var(--hd-h) + 32px); } }
.dx-blog__h { display: grid; gap: 14px; justify-items: start; }
.dx-posts { list-style: none; border-top: 1px solid var(--c-line); }
.dx-post__a { position: relative; display: grid; gap: 8px; padding: 28px 64px 28px 0; border-bottom: 1px solid var(--c-line); text-decoration: none; transition: padding .3s var(--ease); }
.dx-post__a:hover { padding-left: 10px; }
.dx-post__meta { display: flex; flex-wrap: wrap; gap: 6px 14px; font-size: .78rem; color: var(--c-muted); letter-spacing: .04em; text-transform: uppercase; }
.dx-post__meta span::before { content: '·'; margin-right: 14px; color: var(--rose); }
.dx-post__t { font: 400 clamp(1.5rem, 2.4vw, 2rem)/1.12 var(--f-display); }
.dx-post__p { color: var(--c-muted); max-width: 640px; }
.dx-post__go { position: absolute; right: 0; top: 50%; transform: translateY(-50%); display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; border: 1px solid var(--c-line); transition: background .2s, color .2s; }
.dx-post__a:hover .dx-post__go { background: var(--c-ink); color: #fff; border-color: var(--c-ink); }
.dx-blog--page .dx-posts { border-top: 0; }

/* ---------- perguntas (base reaproveitada) ---------- */
.faq__i summary { font-family: var(--f-body); font-weight: 500; font-size: 1.06rem; letter-spacing: 0; }
.faq__ic { border-color: var(--c-line); }
.sh .link-arrow { justify-self: start; }

/* ---------- fechamento ---------- */
.dx-end { padding: var(--sec) 0; background: var(--c-surface); }
.dx-end__in { display: grid; gap: 40px clamp(40px, 6vw, 96px); align-items: start; }
@media (min-width: 960px) { .dx-end__in { grid-template-columns: 1.2fr .8fr; } }
.dx-end__t { font-size: clamp(2.6rem, 5.4vw, 4.6rem); }
.dx-end__p { margin-top: 16px; color: var(--c-muted); font-size: 1.06rem; max-width: 560px; }
.dx-end__ways { list-style: none; display: grid; gap: 10px; margin-top: 32px; max-width: 620px; }
.dx-end__ways a, .dx-end__ways li > span { display: grid; grid-template-columns: auto 1fr auto; gap: 16px; align-items: center; padding: 16px 20px; border-radius: 18px; background: var(--c-bg); border: 1px solid var(--c-line); text-decoration: none; transition: border-color .2s, transform .3s var(--ease); }
.dx-end__ways a:hover { border-color: var(--c-ink); transform: translateX(4px); }
.dx-end__ways strong { display: block; font-weight: 600; }
.dx-end__ways small { display: block; color: var(--c-muted); font-size: .86rem; }
.dx-end__ic { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; background: var(--rose-soft); color: var(--rose); }
.dx-end__ways .ic:last-child { color: var(--c-muted); }
.dx-end__locs { display: grid; gap: 0; border-top: 1px solid var(--c-line); }
.dx-loc { display: grid; gap: 6px; padding: 22px 0; border-bottom: 1px solid var(--c-line); justify-items: start; }
.dx-loc__type { font-size: .74rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--rose); }
.dx-loc__t { font: 400 1.5rem/1.15 var(--f-display); }
.dx-loc__a, .dx-loc__h { color: var(--c-muted); font-size: .92rem; }

/* ---------- cabeçalho de páginas internas ---------- */
.dx-ph { padding: clamp(28px, 4vw, 52px) 0 clamp(20px, 3vw, 36px); border-bottom: 1px solid var(--c-line); }
.dx-ph__in { display: grid; gap: 16px 56px; align-items: end; }
@media (min-width: 900px) { .dx-ph__in { grid-template-columns: 1fr 1fr; } }
.dx-ph__t { font-size: var(--fs-h1); }
.dx-ph__p { color: var(--c-muted); font-size: 1.06rem; max-width: 560px; }
.dx-ph + .sec { padding-top: clamp(36px, 5vw, 64px); }

/* ---------- ficha para imprimir (página da orientação) ---------- */
.dx-sheet-wrap { padding-top: clamp(28px, 4vw, 52px); background: var(--c-surface); }
.dx-sheet__tools { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 22px; }
.dx-sheet { background: #fff; border: 1px solid var(--c-line); border-radius: 8px; padding: clamp(28px, 5vw, 64px); box-shadow: 0 2px 0 #fff, 0 4px 0 var(--c-line), 0 40px 80px -50px rgba(40, 20, 10, .4); }
.dx-sheet__hd { display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap; padding-bottom: 22px; margin-bottom: 30px; border-bottom: 2px solid var(--c-ink); }
.dx-sheet__brand { display: flex; align-items: center; gap: 12px; }
.dx-sheet__brand .brand__mark { width: 40px; height: 40px; background: var(--rose-soft); color: var(--rose); font-style: italic; }
.dx-sheet__brand strong { display: block; }
.dx-sheet__brand small { display: block; color: var(--c-muted); font-size: .8rem; }
.dx-sheet__tag { padding: 7px 14px; border-radius: 999px; font-size: .78rem; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; background: var(--rose-soft); color: var(--rose); }
.dx-sheet__tag--pos { background: var(--sage-soft); color: var(--sage); }
.dx-sheet__svc { font-size: .86rem; color: var(--c-muted); }
.dx-sheet__t { font-size: clamp(2.2rem, 4.6vw, 3.4rem); margin: 6px 0 14px; }
.dx-sheet__lead { font-size: 1.1rem; color: var(--c-muted); margin-bottom: 26px; }
.dx-sheet__body h2 { font-family: var(--f-body); font-weight: 600; font-size: 1.1rem; letter-spacing: .02em; text-transform: uppercase; color: var(--rose); margin-top: 1.8em; }
.dx-sheet__alert { display: flex; gap: 14px; margin-top: 34px; padding: 18px 20px; border-radius: 12px; border: 1.5px solid var(--rose-line); background: #fffaf8; }
.dx-sheet__alert .ic { flex: none; color: var(--rose); margin-top: 3px; }
.dx-sheet__alert a { color: var(--c-ink); font-weight: 600; }
.dx-sheet__ft { display: flex; flex-wrap: wrap; gap: 6px 18px; margin-top: 34px; padding-top: 18px; border-top: 1px dashed var(--c-line); font-size: .8rem; color: var(--c-muted); }
@media print {
  .dx-hd, .dx-pal, .dx-sheet__tools, .dx-end, .crumbs { display: none !important; }
  .dx-sheet-wrap { background: #fff !important; padding: 0 !important; }
  .dx-sheet { border: 0; box-shadow: none; padding: 0; }
  .dx-ficha__a { transform: none !important; }
}

/* ---------- paleta de busca ---------- */
.dx-pal { width: min(680px, calc(100vw - 32px)); max-width: none; margin: 10vh auto auto; padding: 0; border: 0; border-radius: 24px; background: transparent; overflow: visible; }
.dx-pal::backdrop { background: rgba(28, 20, 18, .42); backdrop-filter: blur(4px); }
.dx-pal__box { position: relative; padding: 18px; border-radius: 24px; background: var(--c-bg); box-shadow: 0 50px 100px -40px rgba(20, 10, 5, .5); }
.dx-pal .dx-sb__field { box-shadow: none; min-height: 60px; padding-right: 64px; }
.dx-pal .dx-sb__panel { position: static; margin-top: 10px; box-shadow: none; }
.dx-pal .dx-kbd { position: absolute; right: 16px; top: 50%; transform: translateY(-50%); }
.dx-pal__x { position: absolute; top: -14px; right: -14px; width: 40px; height: 40px; border-radius: 50%; border: 1px solid var(--c-line); background: var(--c-bg); display: grid; place-items: center; cursor: pointer; box-shadow: var(--sh-sm); }
.dx-pal__hint { display: grid; gap: 12px; padding: 18px 6px 4px; }
.dx-pal .is-open ~ .dx-pal__hint, .dx-pal__box:has(.dx-sb.is-open) .dx-pal__hint { display: none; }
.dx-pal__l { font-size: .78rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--c-muted); }
.dx-pal__keys { font-size: .8rem; color: var(--c-muted); }
.dx-pal__keys kbd { margin: 0 2px; }
@media (max-width: 560px) { .dx-pal { margin-top: 4vh; } .dx-pal__x { top: 8px; right: 8px; } .dx-pal .dx-sb__field { padding-right: 14px; } .dx-pal .dx-kbd { display: none; } }

/* ---------- páginas da base: ajustes de identidade ---------- */
.ph-hero { background: var(--c-bg); border-bottom: 1px solid var(--c-line); }
.svc-hero { background: var(--c-surface); }
.svc-hero__img { border-radius: var(--r-img); }
.facts-band { background: var(--c-bg); }
.fact .ic { color: var(--rose); }
.side-card { border-radius: 22px; }
.card { border-radius: 22px; }
.card__cat, .loc__type { color: var(--rose); }
.pro-hero__img { border-radius: var(--r-img); }
.cta { background: var(--c-ink); }
.ft { background: var(--c-dark); }
.brand--ft .brand__mark { background: var(--rose-soft); color: var(--rose); font-style: italic; }
.sticky-cta { border: 1px solid var(--c-line); }
.bk__step { border-radius: 24px; }
.opt__box { border-radius: 16px; }
.cal__d.is-av:hover { background: var(--rose-soft); }
.dx-reduce .dx-ficha__a { transform: none !important; }
@media (prefers-reduced-motion: reduce) { .dx-ficha__a, .dx-ficha:nth-child(n) .dx-ficha__a { transform: none !important; } .dx-slot--sk { animation: none; } }
