/* Página pública de Veterinários — escopado em .mmv-wrap. Unidades em px (não rem)
   de propósito: muitos temas WordPress redefinem o font-size do <html>, o que
   encolheria qualquer medida em rem herdada por este bloco. */

.mmv-wrap, .mmv-wrap * {
    box-sizing: border-box !important;
}

.mmv-wrap {
    --mmv-bg: #0a0a0a;
    --mmv-gold: #D4AF37;
    --mmv-gold-light: #F0D060;
    --mmv-text: #F5E6D3;
    --mmv-text-secondary: #B87333;
    --mmv-accent-purple: #4A148C;
    --mmv-accent-blue: #1565C0;
    --mmv-whatsapp: #25D366;

    display: block;
    width: 100% !important;
    background: var(--mmv-bg) !important;
    color: var(--mmv-text) !important;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
    font-size: 16px !important;
    line-height: 1.65 !important;
}

body.mmv-full-page { margin: 0 !important; background: #0a0a0a !important; }

.mmv-wrap, .mmv-wrap *, .mmv-wrap *::before, .mmv-wrap *::after {
    box-sizing: border-box;
    text-shadow: none;
}
.mmv-wrap h1, .mmv-wrap h2, .mmv-wrap h3, .mmv-wrap h4, .mmv-wrap h5, .mmv-wrap h6,
.mmv-wrap p, .mmv-wrap span, .mmv-wrap a, .mmv-wrap label,
.mmv-wrap li, .mmv-wrap strong, .mmv-wrap small, .mmv-wrap button, .mmv-wrap input, .mmv-wrap select {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
}
.mmv-wrap a { text-decoration: none !important; }

.mmv-wrap .mmv-container { max-width: 1280px !important; margin: 0 auto !important; padding: 0 24px !important; }

/* ─── Navbar ─── */
.mmv-wrap .mmv-nav {
    position: sticky; top: 0; z-index: 50;
    background: #171717 !important;
    border-bottom: 1px solid rgba(212, 175, 55, 0.18) !important;
    padding: 18px 0 !important;
}
.mmv-wrap .mmv-nav-inner { display: flex; align-items: center; justify-content: space-between; min-height: 44px; }
.mmv-wrap .mmv-logo img { height: 36px !important; width: auto !important; display: block; }

.mmv-wrap .mmv-btn-partner {
    padding: 12px 24px !important;
    background: rgba(212, 175, 55, 0.12) !important;
    color: var(--mmv-gold) !important;
    border: 1px solid rgba(212, 175, 55, 0.30) !important;
    border-radius: 8px !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    display: inline-flex; align-items: center; gap: 8px !important;
    transition: background 0.2s ease;
}
.mmv-wrap .mmv-btn-partner:hover { background: rgba(212, 175, 55, 0.20) !important; }

/* ─── Hero ─── */
.mmv-wrap .mmv-hero {
    background: linear-gradient(135deg, #161616 0%, #0d0d0d 100%) !important;
    padding: 88px 0 72px !important;
    text-align: center !important;
}
.mmv-wrap .mmv-hero-badge {
    display: inline-flex; align-items: center; gap: 8px !important;
    padding: 9px 20px !important;
    background: rgba(212, 175, 55, 0.10) !important;
    border: 1px solid rgba(212, 175, 55, 0.25) !important;
    border-radius: 9999px !important;
    margin-bottom: 28px;
    font-size: 13px !important; font-weight: 700 !important; letter-spacing: 0.1em !important; text-transform: uppercase !important;
    color: var(--mmv-gold) !important;
}
.mmv-wrap .mmv-hero h1 {
    font-size: 60px !important; line-height: 1.05 !important; margin: 0 0 20px !important; letter-spacing: 0.01em !important; font-weight: 800 !important;
    color: var(--mmv-text) !important;
}
.mmv-wrap .mmv-hero h1 .mmv-gold {
    display: inline !important;
    background: none !important;
    background-image: none !important;
    -webkit-background-clip: initial !important;
    background-clip: initial !important;
    -webkit-text-fill-color: var(--mmv-gold) !important;
    color: var(--mmv-gold) !important;
}
.mmv-wrap .mmv-hero p { font-size: 19px !important; max-width: 720px !important; margin: 0 auto 40px !important; opacity: 0.82; color: var(--mmv-text) !important; }

.mmv-wrap .mmv-btn-primary {
    display: inline-flex; align-items: center; gap: 10px !important;
    padding: 18px 40px !important;
    background: linear-gradient(135deg, var(--mmv-gold), var(--mmv-gold-light)) !important;
    color: var(--mmv-bg) !important;
    border: none !important; border-radius: 10px !important;
    font-weight: 700 !important; font-size: 17px !important; cursor: pointer;
    box-shadow: 0 8px 28px rgba(212, 175, 55, 0.30) !important;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.mmv-wrap .mmv-btn-primary:hover { transform: translateY(-2px); box-shadow: 0 12px 36px rgba(212, 175, 55, 0.40) !important; }

.mmv-wrap .mmv-divider {
    height: 1px !important;
    background: linear-gradient(90deg, transparent, rgba(212, 175, 55, 0.30), transparent) !important;
    margin: 8px 32px !important;
}

/* ─── Main ─── */
.mmv-wrap .mmv-main { padding: 56px 0 !important; }

.mmv-wrap .mmv-morphplus-banner {
    background: linear-gradient(135deg, rgba(74, 20, 140, 0.25) 0%, rgba(21, 101, 192, 0.25) 100%) !important;
    border: 1px solid rgba(212, 175, 55, 0.15) !important;
    border-radius: 18px !important;
    padding: 36px !important;
    margin-bottom: 40px;
    display: flex; align-items: center; gap: 36px !important;
}
.mmv-wrap .mmv-morphplus-banner img { height: 96px !important; width: auto !important; object-fit: contain; flex-shrink: 0; }
.mmv-wrap .mmv-morphplus-banner h2 { font-size: 26px !important; margin-bottom: 10px; color: var(--mmv-gold-light) !important; line-height: 1.25 !important; }
.mmv-wrap .mmv-morphplus-banner p { font-size: 16px !important; line-height: 1.7 !important; margin-bottom: 8px; color: var(--mmv-text) !important; }
.mmv-wrap .mmv-morphplus-banner strong { color: var(--mmv-gold) !important; }
.mmv-wrap .mmv-small-note { font-size: 14px !important; margin-top: 8px; font-weight: 600 !important; opacity: 0.85; color: var(--mmv-text) !important; }

.mmv-wrap .mmv-btn-secondary {
    padding: 13px 28px !important;
    background: linear-gradient(135deg, var(--mmv-gold), var(--mmv-gold-light)) !important;
    color: var(--mmv-bg) !important;
    border: none !important; border-radius: 8px !important;
    font-weight: 700 !important; font-size: 15px !important; cursor: pointer;
    display: inline-block; margin-top: 8px;
}

/* ─── Filtros ─── */
.mmv-wrap .mmv-filters {
    background: #141414 !important;
    border: 1px solid rgba(212, 175, 55, 0.12) !important;
    border-radius: 16px !important;
    padding: 28px !important;
    margin-bottom: 36px;
}
.mmv-wrap .mmv-filters-header {
    display: flex; align-items: center; gap: 10px !important; margin-bottom: 20px;
    font-size: 17px !important; letter-spacing: 0.06em !important; text-transform: uppercase !important; color: var(--mmv-gold) !important; font-weight: 700 !important;
}
.mmv-wrap .mmv-filters-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 20px !important; }
.mmv-wrap .mmv-filter-group label {
    display: block; font-size: 13px !important; font-weight: 700 !important; text-transform: uppercase !important;
    letter-spacing: 0.05em !important; margin-bottom: 10px; color: var(--mmv-text-secondary) !important;
}
.mmv-wrap .mmv-filter-group input, .mmv-wrap .mmv-filter-group select {
    width: 100% !important; padding: 14px 16px !important;
    background: #1c1c1c !important; border: 1px solid rgba(212, 175, 55, 0.22) !important;
    border-radius: 8px !important; color: var(--mmv-text) !important; font-size: 16px !important;
}
.mmv-wrap .mmv-filter-group input::placeholder { color: rgba(245, 230, 211, 0.45) !important; }

/* ─── Resultados ─── */
.mmv-wrap .mmv-results-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 24px; flex-wrap: wrap; gap: 10px !important; }
.mmv-wrap .mmv-results-count { font-size: 22px !important; color: var(--mmv-gold) !important; letter-spacing: 0.02em !important; font-weight: 700 !important; }
.mmv-wrap .mmv-clear-filters { font-size: 14px !important; font-weight: 600 !important; color: var(--mmv-text-secondary) !important; cursor: pointer; text-decoration: underline !important; }

.mmv-wrap .mmv-vets-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(340px, 1fr)); gap: 24px !important; }

.mmv-wrap .mmv-vet-card {
    background: #141414 !important;
    border: 1px solid rgba(212, 175, 55, 0.12) !important;
    border-radius: 16px !important;
    padding: 28px !important;
    display: flex; flex-direction: column; gap: 18px !important;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.mmv-wrap .mmv-vet-card:hover { border-color: rgba(212, 175, 55, 0.28) !important; box-shadow: 0 12px 32px rgba(212, 175, 55, 0.12) !important; }

.mmv-wrap .mmv-vet-card-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px !important; }
.mmv-wrap .mmv-vet-card-avatar {
    width: 56px !important; height: 56px !important; border-radius: 50% !important; font-size: 24px !important;
    background: linear-gradient(135deg, var(--mmv-accent-purple), var(--mmv-accent-blue)) !important;
    border: 2px solid rgba(212, 175, 55, 0.35) !important;
    display: flex; align-items: center; justify-content: center; flex-shrink: 0;
}
.mmv-wrap .mmv-vet-card-info h3 { font-size: 20px !important; font-weight: 700 !important; color: var(--mmv-gold-light) !important; line-height: 1.25 !important; margin: 0 !important; }
.mmv-wrap .mmv-vet-card-crmv { font-size: 14px !important; color: var(--mmv-text-secondary) !important; margin-top: 6px; display: flex; align-items: center; gap: 6px !important; }
.mmv-wrap .mmv-vet-card-badge {
    background: rgba(212, 175, 55, 0.12) !important; color: var(--mmv-gold) !important;
    border: 1px solid rgba(212, 175, 55, 0.28) !important;
    padding: 6px 12px !important; border-radius: 6px !important; font-size: 13px !important; font-weight: 700 !important; flex-shrink: 0;
}

.mmv-wrap .mmv-vet-card-specialties { display: flex; flex-wrap: wrap; gap: 8px !important; }
.mmv-wrap .mmv-specialty-tag {
    display: inline-flex; align-items: center; gap: 6px !important;
    font-size: 13px !important; padding: 8px 14px !important; border-radius: 9999px !important; font-weight: 700 !important; border: 1px solid !important;
}
.mmv-wrap .mmv-specialty-tag.gold { background: rgba(212, 175, 55, 0.12) !important; color: var(--mmv-gold) !important; border-color: rgba(212, 175, 55, 0.30) !important; }
.mmv-wrap .mmv-specialty-tag.purple { background: rgba(206, 147, 216, 0.12) !important; color: #CE93D8 !important; border-color: rgba(206, 147, 216, 0.35) !important; }
.mmv-wrap .mmv-specialty-tag.blue { background: rgba(144, 202, 249, 0.12) !important; color: #90CAF9 !important; border-color: rgba(144, 202, 249, 0.35) !important; }

.mmv-wrap .mmv-vet-card-divider { height: 1px !important; background: linear-gradient(90deg, transparent, rgba(212, 175, 55, 0.20), transparent) !important; }

.mmv-wrap .mmv-vet-card-info-section { display: flex; align-items: flex-start; gap: 10px !important; }
.mmv-wrap .mmv-vet-card-info-section strong { font-size: 13px !important; text-transform: uppercase !important; letter-spacing: 0.05em !important; color: var(--mmv-text-secondary) !important; min-width: 84px !important; flex-shrink: 0; padding-top: 2px; }
.mmv-wrap .mmv-vet-card-info-section p { font-size: 15px !important; color: var(--mmv-text) !important; margin: 0 !important; }
.mmv-wrap .mmv-vet-card-info-section a { color: var(--mmv-text) !important; text-decoration: none !important; font-weight: 600 !important; font-size: 15px !important; }
.mmv-wrap .mmv-vet-card-info-section a:hover { text-decoration: underline !important; }

.mmv-wrap .mmv-vet-card-cta { margin-top: auto; }

.mmv-wrap .mmv-btn-whatsapp {
    width: 100% !important; padding: 15px !important;
    background: var(--mmv-whatsapp) !important; color: #fff !important; border: none !important; border-radius: 8px !important;
    font-weight: 700 !important; font-size: 15px !important; cursor: pointer;
    display: flex; align-items: center; justify-content: center; gap: 8px !important;
    transition: opacity 0.2s ease, transform 0.2s ease;
}
.mmv-wrap .mmv-btn-whatsapp:hover { opacity: 0.9; transform: translateY(-1px); }

.mmv-wrap .mmv-btn-call {
    width: 100% !important; padding: 15px !important;
    background: transparent !important; color: var(--mmv-gold) !important;
    border: 1px solid rgba(212, 175, 55, 0.35) !important; border-radius: 8px !important;
    font-weight: 700 !important; font-size: 15px !important; cursor: pointer;
    display: flex; align-items: center; justify-content: center; gap: 8px !important;
}

.mmv-wrap .mmv-empty-state { text-align: center !important; padding: 96px 20px !important; grid-column: 1 / -1; }
.mmv-wrap .mmv-empty-state h3 { font-size: 24px !important; color: var(--mmv-gold) !important; margin-bottom: 10px; }
.mmv-wrap .mmv-empty-state p { font-size: 16px !important; opacity: 0.55; color: var(--mmv-text) !important; }

.mmv-wrap .mmv-bottom-cta {
    background: #141414 !important;
    border: 1px solid rgba(212, 175, 55, 0.12) !important;
    border-radius: 18px !important;
    padding: 56px 24px !important;
    text-align: center !important;
    margin-top: 64px;
}
.mmv-wrap .mmv-bottom-cta h3 { font-size: 30px !important; color: var(--mmv-gold-light) !important; margin-bottom: 12px; line-height: 1.25 !important; }
.mmv-wrap .mmv-bottom-cta p { font-size: 16px !important; max-width: 520px !important; margin: 0 auto 28px !important; opacity: 0.78; color: var(--mmv-text) !important; }

.mmv-wrap .mmv-footer { border-top: 1px solid rgba(212, 175, 55, 0.12) !important; padding: 36px 0 !important; margin-top: 48px; }
.mmv-wrap .mmv-footer-inner { display: flex; flex-direction: column; align-items: center; gap: 16px !important; text-align: center !important; }
.mmv-wrap .mmv-footer img { height: 26px !important; width: auto !important; opacity: 0.8; }
.mmv-wrap .mmv-footer p { font-size: 13px !important; opacity: 0.4; margin: 0 !important; color: var(--mmv-text) !important; }

/* ─── Responsivo ─── */
@media (max-width: 1024px) {
    .mmv-wrap .mmv-container { padding: 0 20px !important; }
    .mmv-wrap .mmv-filters-grid { grid-template-columns: 1fr 1fr !important; }
    .mmv-wrap .mmv-vets-grid { grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)) !important; gap: 20px !important; }
    .mmv-wrap .mmv-hero h1 { font-size: 48px !important; }
}

@media (max-width: 768px) {
    .mmv-wrap .mmv-container { padding: 0 18px !important; }
    .mmv-wrap .mmv-nav { padding: 14px 0 !important; }
    .mmv-wrap .mmv-logo img { height: 30px !important; }
    .mmv-wrap .mmv-hero { padding: 56px 0 44px !important; }
    .mmv-wrap .mmv-hero h1 { font-size: 38px !important; }
    .mmv-wrap .mmv-hero p { font-size: 16px !important; margin-bottom: 28px !important; }
    .mmv-wrap .mmv-btn-primary { padding: 15px 28px !important; font-size: 16px !important; width: 100% !important; justify-content: center !important; }
    .mmv-wrap .mmv-morphplus-banner { flex-direction: column !important; text-align: center !important; padding: 24px !important; gap: 18px !important; }
    .mmv-wrap .mmv-morphplus-banner img { height: 72px !important; }
    .mmv-wrap .mmv-filters { padding: 20px !important; }
    .mmv-wrap .mmv-filters-grid { grid-template-columns: 1fr !important; }
    .mmv-wrap .mmv-vets-grid { grid-template-columns: 1fr !important; }
    .mmv-wrap .mmv-vet-card { padding: 22px !important; }
    .mmv-wrap .mmv-bottom-cta { padding: 40px 20px !important; }
    .mmv-wrap .mmv-bottom-cta h3 { font-size: 24px !important; }
    .mmv-wrap .mmv-btn-partner { display: none !important; }
    .mmv-wrap .mmv-results-header { flex-direction: column !important; align-items: flex-start !important; }
}

@media (max-width: 480px) {
    .mmv-wrap .mmv-hero-badge { font-size: 12px !important; padding: 8px 16px !important; }
    .mmv-wrap .mmv-hero h1 { font-size: 30px !important; }
    .mmv-wrap .mmv-hero p { font-size: 15px !important; }
    .mmv-wrap .mmv-vet-card-info h3 { font-size: 18px !important; }
    .mmv-wrap .mmv-vet-card-info-section { flex-direction: column !important; gap: 4px !important; }
    .mmv-wrap .mmv-vet-card-info-section strong { min-width: 0 !important; }
    .mmv-wrap .mmv-filters-header { font-size: 15px !important; }
}

/* ─── Ícones (SVG inline, substituem os antigos emojis) ─── */
.mmv-wrap .mmv-icon {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 1em !important;
    height: 1em !important;
    vertical-align: -0.15em;
    flex-shrink: 0;
    color: currentColor;
}
.mmv-wrap .mmv-icon svg { width: 100% !important; height: 100% !important; display: block; }
.mmv-wrap .mmv-vet-card-avatar .mmv-icon { width: 26px !important; height: 26px !important; }
.mmv-wrap .mmv-vet-card-info-section strong .mmv-icon { margin-right: 2px; }