/*
Theme Name: Kadence Child
Template:   kadence
Version:    1.1.0
*/

/* ═══════════════════════════════════════════════════════
   MEJORES ABOGADOS MALLORCA — Child Theme
   ═══════════════════════════════════════════════════════ */

@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;600;700&family=Inter:wght@300;400;500;600&display=swap');

:root {
  --navy:   #1A2B4A;
  --navy-l: #243660;
  --gold:   #B8922A;
  --gold-l: #D4A93A;
  --cream:  #F8F5EF;
  --text:   #1C1A17;
  --muted:  #6B6860;
  --border: #DDD9D0;
}

body {
  font-family: 'Inter', -apple-system, sans-serif !important;
  background: var(--cream) !important;
  color: var(--text) !important;
}

/* ── HEADER ─────────────────────────────────────────────── */
#masthead,
.site-header,
.kadence-header,
.header-wrap,
.header-top-wrap,
.header-main-wrap,
.header-bottom-wrap,
.header-top-inner,
.header-main-inner,
.header-bottom-inner,
[class*="header-wrap"],
[class*="header-inner"] {
  background: var(--navy) !important;
  background-color: var(--navy) !important;
}

/* Logo */
.site-branding .site-title a {
  color: #fff !important;
  font-family: 'Inter', sans-serif !important;
  font-weight: 600 !important;
  font-size: 16px !important;
  text-decoration: none !important;
}
.site-branding .site-title a::before {
  content: '';
  display: inline-block;
  width: 28px;
  height: 28px;
  background: var(--gold) url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='white' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 1L3 5v6c0 5.55 3.84 10.74 9 12 5.16-1.26 9-6.45 9-12V5L12 1z'/%3E%3C/svg%3E") center/16px no-repeat;
  border-radius: 6px;
  margin-right: 8px;
  vertical-align: middle;
}
.site-branding .site-title a span {
  color: var(--gold) !important;
}

/* Links del menú */
.main-navigation a,
.primary-navigation a,
.nav-primary a,
.header-navigation a,
.kadence-header a,
#site-navigation a {
  color: rgba(255,255,255,0.85) !important;
  font-size: 14px !important;
  font-family: 'Inter', sans-serif !important;
  text-decoration: none !important;
  transition: color .15s !important;
}
.main-navigation a:hover,
.header-navigation a:hover {
  color: #fff !important;
}

/* Botón Reclamar perfil */
.main-navigation a[href*="reclamar"],
.header-navigation a[href*="reclamar"],
nav a[href*="reclamar"] {
  background: var(--gold) !important;
  color: var(--navy) !important;
  padding: 8px 16px !important;
  border-radius: 6px !important;
  font-weight: 700 !important;
  font-size: 13px !important;
}
.main-navigation a[href*="reclamar"]:hover {
  background: var(--gold-l) !important;
}

/* Dropdown */
.main-navigation ul ul,
.header-navigation .sub-menu {
  background: var(--navy-l) !important;
  border: 1px solid rgba(255,255,255,.1) !important;
  border-radius: 8px !important;
}
.main-navigation ul ul a {
  color: rgba(255,255,255,.8) !important;
  font-size: 13px !important;
}

/* ── BLOG — Archivo de artículos ────────────────────────── */
.site-main .page-title,
.archive-title {
  font-family: 'Playfair Display', serif !important;
  color: var(--navy) !important;
  font-size: 32px !important;
  font-weight: 700 !important;
  margin-bottom: 8px !important;
}

/* Cards del blog */
.post-grid article,
.posts-container article,
article.post,
article.type-post {
  background: #fff !important;
  border: 1px solid var(--border) !important;
  border-radius: 10px !important;
  box-shadow: 0 2px 12px rgba(26,43,74,.08) !important;
  transition: all .2s !important;
  padding: 24px !important;
}
article.post:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 32px rgba(26,43,74,.12) !important;
  border-color: var(--gold) !important;
}
.entry-title a {
  color: var(--navy) !important;
  font-family: 'Playfair Display', serif !important;
  text-decoration: none !important;
}
.entry-title a:hover { color: var(--gold) !important; }
.entry-meta { color: var(--muted) !important; font-size: 12px !important; }
.more-link {
  color: var(--gold) !important;
  font-weight: 600 !important;
  text-decoration: none !important;
}

/* Categorías en el blog */
.cat-links a, .category-label {
  background: var(--navy) !important;
  color: var(--gold-l) !important;
  padding: 3px 10px !important;
  border-radius: 4px !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
}

/* ── PÁGINAS INTERNAS (Metodología, Contacto) ───────────── */
.page-template-default .entry-title,
.single-post .entry-title,
.page .entry-title {
  font-family: 'Playfair Display', serif !important;
  color: var(--navy) !important;
}

/* Contenido de página */
.entry-content p {
  text-align: left !important;
  line-height: 1.8 !important;
  color: var(--text) !important;
}
.entry-content h2 {
  font-family: 'Playfair Display', serif !important;
  color: var(--navy) !important;
}
.entry-content a {
  color: var(--gold) !important;
}

/* Breadcrumb */
.site-breadcrumb,
.breadcrumb-trail {
  background: transparent !important;
  padding: 8px 0 !important;
  font-size: 13px !important;
  color: var(--muted) !important;
}
.breadcrumb-trail a { color: var(--gold) !important; }

/* ── FOOTER ─────────────────────────────────────────────── */
.site-footer,
#colophon {
  background: var(--navy) !important;
  color: rgba(255,255,255,.7) !important;
  border-top: none !important;
}
.site-footer a { color: rgba(255,255,255,.7) !important; }
.site-footer a:hover { color: var(--gold-l) !important; }
.site-footer .widget-title {
  color: #fff !important;
  font-family: 'Playfair Display', serif !important;
}

/* ── ARTÍCULOS (info-box, step-box, etc.) ───────────────── */
.entry-content .info-box {
  background: linear-gradient(135deg,#1A2B4A,#1e3a6e) !important;
  border-radius: 10px !important; padding: 24px 28px !important; margin: 28px 0 !important;
}
.entry-content .info-box h3 {
  color: var(--gold-l) !important; border: none !important; padding: 0 !important;
}
.entry-content .info-box li { color: rgba(255,255,255,.88) !important; }
.entry-content .info-box strong { color: #FFE08A !important; }
.entry-content .warn-box {
  background: #FEF3CD !important; border-left: 5px solid var(--gold) !important;
  border-radius: 0 10px 10px 0 !important; padding: 18px 22px !important;
}
.entry-content .warn-box p { color: #7A5C10 !important; margin: 0 !important; }
.entry-content .success-box {
  background: #F0FDF4 !important; border-left: 5px solid #16A34A !important;
  border-radius: 0 10px 10px 0 !important; padding: 18px 22px !important;
}
.entry-content .step-box {
  display: flex !important; gap: 16px !important; align-items: flex-start !important;
  background: var(--cream) !important; border: 1px solid var(--border) !important;
  border-radius: 10px !important; padding: 18px !important; margin-bottom: 14px !important;
}
.entry-content .step-num {
  width: 40px !important; height: 40px !important; background: var(--navy) !important;
  color: var(--gold-l) !important; border-radius: 50% !important;
  display: flex !important; align-items: center !important; justify-content: center !important;
  font-weight: 700 !important; flex-shrink: 0 !important; min-width: 40px !important;
}
.entry-content .step-txt strong {
  display: block !important; color: var(--navy) !important;
  font-size: 15px !important; margin-bottom: 5px !important;
}
.entry-content .faq-item {
  border-bottom: 1px solid #F2EFE9 !important; padding: 18px 0 !important;
}
.entry-content .faq-item h3 {
  font-size: 15px !important; font-weight: 700 !important; color: var(--navy) !important;
  border: none !important; padding: 0 !important; margin-bottom: 10px !important;
}
.entry-content .cost-table thead tr { background: var(--navy) !important; }
.entry-content .cost-table th { color: #fff !important; }
.entry-content .cta-art {
  background: linear-gradient(135deg,#1A2B4A,#1e3a6e) !important;
  border-radius: 12px !important; padding: 32px !important;
  text-align: center !important; margin: 36px 0 !important;
}
.entry-content .cta-art h3 {
  color: var(--gold-l) !important; font-family: 'Playfair Display',serif !important;
  border: none !important; padding: 0 !important;
}
.entry-content .cta-art p { color: rgba(255,255,255,.8) !important; }
.entry-content .cta-art p a {
  color: #FFE08A !important; background: none !important;
  padding: 0 !important; display: inline !important;
}
.entry-content .cta-art > a {
  display: inline-block !important; background: var(--gold) !important;
  color: var(--navy) !important; text-decoration: none !important;
  padding: 13px 32px !important; border-radius: 8px !important; font-weight: 700 !important;
}
.entry-content .disc {
  background: var(--cream) !important; border-left: 4px solid var(--gold) !important;
  padding: 14px 18px !important; font-size: 13px !important;
  color: var(--muted) !important; font-style: italic !important;
}
.entry-content p { text-align: left !important; }
.entry-content strong { color: var(--navy) !important; font-weight: 600 !important; }

/* ── LOGO COLOR FIX ─────────────────────── */
/* Fuerza blanco en todo el header de Kadence */
#masthead *,
.site-header *,
.kadence-header *,
[class*="header-wrap"] *,
[class*="header-inner"] * {
  color: rgba(255,255,255,0.9) !important;
}
/* Título del sitio */
.site-title,
.site-title a,
.site-title a:visited,
.site-title span,
h1.site-title,
h2.site-title,
.custom-logo-link + .site-branding-text .site-title a {
  color: #ffffff !important;
}
/* "Mallorca" en dorado si está en <span> */
.site-title a .gold,
.site-title span:last-child {
  color: #D4A93A !important;
}
/* Descripción del sitio */
.site-description {
  color: rgba(255,255,255,0.6) !important;
}
/* Menú links blancos */
.main-navigation a,
.primary-menu a,
.nav-primary a,
header nav a {
  color: rgba(255,255,255,0.85) !important;
}
/* Botón Reclamar Perfil */
header nav a[href*="reclamar"],
.main-navigation a[href*="reclamar"] {
  color: #1A2B4A !important;
  background: #B8922A !important;
}

/* ── CONTACT FORM 7 ─────────────────────────────────── */
.wpcf7-form label {
  display: block;
  font-size: 14px;
  font-weight: 600;
  color: #1A2B4A;
  margin-bottom: 16px;
}
.wpcf7-form input[type="text"],
.wpcf7-form input[type="email"],
.wpcf7-form select,
.wpcf7-form textarea {
  width: 100% !important;
  padding: 10px 14px !important;
  border: 1px solid #DDD9D0 !important;
  border-radius: 8px !important;
  font-size: 14px !important;
  font-family: 'Inter', sans-serif !important;
  color: #1C1A17 !important;
  background: #F8F5EF !important;
  margin-top: 6px !important;
  transition: border-color .15s !important;
}
.wpcf7-form input:focus,
.wpcf7-form select:focus,
.wpcf7-form textarea:focus {
  outline: none !important;
  border-color: #B8922A !important;
  background: #fff !important;
}
.wpcf7-form textarea { min-height: 120px !important; resize: vertical !important; }
.wpcf7-form input[type="submit"] {
  background: #B8922A !important;
  color: #1A2B4A !important;
  border: none !important;
  padding: 12px 28px !important;
  border-radius: 8px !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  cursor: pointer !important;
  font-family: 'Inter', sans-serif !important;
  transition: background .15s !important;
  margin-top: 8px !important;
}
.wpcf7-form input[type="submit"]:hover { background: #D4A93A !important; }
.wpcf7-response-output {
  border-radius: 8px !important;
  padding: 12px 16px !important;
  margin-top: 16px !important;
  font-size: 14px !important;
}
.wpcf7-mail-sent-ok { background: #F0FDF4 !important; border-color: #16A34A !important; color: #14532D !important; }
.wpcf7-mail-sent-ng, .wpcf7-aborted { background: #FEF2F2 !important; border-color: #DC2626 !important; color: #991B1B !important; }
.wpcf7-not-valid-tip { color: #DC2626 !important; font-size: 12px !important; }

/* ── ARTÍCULOS: bullets y título ────────────────────────── */

/* Bullets menos apelotonados */
.mam-art-main .entry-content li,
.entry-content li {
  margin-bottom: 14px !important;
  padding-bottom: 2px !important;
  line-height: 1.8 !important;
}
.mam-art-main .entry-content ul,
.mam-art-main .entry-content ol,
.entry-content ul,
.entry-content ol {
  margin-top: 8px !important;
  margin-bottom: 22px !important;
}

/* Menos espacio entre h1 y primer párrafo */
.mam-art-main h1,
.entry-title,
h1.entry-title {
  margin-bottom: 14px !important;
  padding-bottom: 0 !important;
}
.mam-art-main .entry-content > p:first-of-type,
.entry-content > p:first-child {
  margin-top: 0 !important;
}
.mam-art-meta {
  margin-bottom: 16px !important;
}

/* H2 en artículos: espacio correcto */
.mam-art-main .entry-content h2,
.entry-content h2 {
  margin-top: 32px !important;
  margin-bottom: 10px !important;
}

/* Step-boxes: compactar un poco */
.step-txt strong {
  margin-bottom: 3px !important;
}
.step-txt span {
  margin-top: 0 !important;
  line-height: 1.6 !important;
}

/* FAQ: espacio consistente */
.faq-item {
  padding: 16px 0 !important;
}
.faq-item h3 {
  margin-bottom: 8px !important;
}

/* ── FIX CTA-ART: enlace inline sin fondo blanco ───────── */
.entry-content .cta-art,
.mam-art-main .cta-art {
  background: linear-gradient(135deg,#1A2B4A,#1e3a6e) !important;
  border-radius: 12px !important;
  padding: 32px !important;
  text-align: center !important;
  margin: 36px 0 !important;
}
.entry-content .cta-art h3,
.mam-art-main .cta-art h3 {
  color: #D4A93A !important;
  font-family: 'Playfair Display',serif !important;
  font-size: 22px !important;
  margin-bottom: 10px !important;
  border: none !important;
  padding: 0 !important;
  background: none !important;
}
.entry-content .cta-art p,
.mam-art-main .cta-art p {
  color: rgba(255,255,255,.8) !important;
  margin-bottom: 20px !important;
  text-align: center !important;
  background: none !important;
}
/* Enlace INLINE dentro del párrafo del CTA */
.entry-content .cta-art p a,
.mam-art-main .cta-art p a,
.cta-art p a {
  color: #FFE08A !important;
  background: none !important;
  background-color: transparent !important;
  display: inline !important;
  padding: 0 !important;
  border: none !important;
  border-radius: 0 !important;
  text-decoration: underline !important;
  font-weight: 600 !important;
  box-shadow: none !important;
}
/* Botón principal del CTA */
.entry-content .cta-art > a,
.mam-art-main .cta-art > a,
.cta-art > a {
  display: inline-block !important;
  background: #B8922A !important;
  color: #1A2B4A !important;
  text-decoration: none !important;
  padding: 13px 32px !important;
  border-radius: 8px !important;
  font-weight: 700 !important;
  font-size: 14px !important;
  margin-top: 4px !important;
}
.cta-art > a:hover { background: #D4A93A !important; }

/* ── FIX FOOTER: ocultar crédito Kadence ──────────────── */
.site-info .powered-by,
.site-info a[href*="kadence"],
.site-info a[href*="wordpress"],
.kadence-credit,
.site-info span:last-child,
.site-info span + span,
p.site-info,
.copyright span:last-child { display: none !important; }

/* Estilo del footer correcto */
.site-footer { background: #1A2B4A !important; }
.site-info {
  color: rgba(255,255,255,.4) !important;
  font-size: 12px !important;
  padding: 16px 0 !important;
  text-align: center !important;
  border-top: 1px solid rgba(255,255,255,.08) !important;
}

/* ══════════════════════════════════════════════
   RESPONSIVE — móvil y tablet
   ══════════════════════════════════════════════ */

/* Tablet */
@media (max-width: 1024px) {
  .mam-art-wrap {
    grid-template-columns: 1fr !important;
    padding: 24px 20px !important;
    gap: 24px !important;
  }
  .mam-art-sidebar { display: none !important; }
  .mam-page-wrap { padding: 24px 20px 40px !important; }
  .mam-page-content { padding: 24px !important; }
}

/* Móvil */
@media (max-width: 768px) {

  /* Layout general */
  .mam-art-wrap,
  .mam-page-wrap {
    padding: 16px !important;
    gap: 16px !important;
  }

  /* Artículo */
  .mam-art-main {
    padding: 20px 16px !important;
    border-radius: 8px !important;
  }

  /* Título */
  .mam-art-main h1,
  h1.entry-title {
    font-size: 22px !important;
    line-height: 1.3 !important;
    margin-bottom: 12px !important;
  }

  /* Meta */
  .mam-art-meta {
    gap: 8px !important;
    font-size: 12px !important;
    margin-bottom: 14px !important;
  }

  /* Párrafos */
  .mam-art-main .entry-content p,
  .entry-content p {
    font-size: 15px !important;
    line-height: 1.75 !important;
  }

  /* H2 */
  .mam-art-main .entry-content h2,
  .entry-content h2 {
    font-size: 18px !important;
    margin-top: 24px !important;
  }

  /* Info-box */
  .info-box {
    padding: 18px 16px !important;
    border-radius: 8px !important;
  }
  .info-box h3 { font-size: 15px !important; }
  .info-box li { font-size: 13px !important; }

  /* Step-boxes */
  .step-box {
    padding: 14px !important;
    gap: 12px !important;
  }
  .step-num {
    width: 34px !important;
    height: 34px !important;
    min-width: 34px !important;
    font-size: 15px !important;
  }
  .step-txt strong { font-size: 14px !important; }
  .step-txt span   { font-size: 12px !important; }

  /* Warn/success box */
  .warn-box, .success-box {
    padding: 14px 16px !important;
    font-size: 13px !important;
  }

  /* Tabla */
  .cost-table {
    font-size: 12px !important;
    display: block !important;
    overflow-x: auto !important;
  }
  .cost-table th, .cost-table td {
    padding: 8px 10px !important;
    white-space: nowrap !important;
  }

  /* FAQ */
  .faq-item h3 { font-size: 14px !important; }
  .faq-item p  { font-size: 13px !important; padding-left: 0 !important; }

  /* CTA */
  .cta-art {
    padding: 22px 16px !important;
    border-radius: 8px !important;
  }
  .cta-art h3 { font-size: 18px !important; }
  .cta-art > a {
    padding: 11px 22px !important;
    font-size: 13px !important;
  }

  /* Disclaimer */
  .disc { font-size: 12px !important; padding: 12px 14px !important; }

  /* Paginación del blog */
  .mam-pagination { gap: 6px !important; }
  .mam-pagination a,
  .mam-pagination span { width: 34px !important; height: 34px !important; font-size: 13px !important; }
  .mam-pagination .prev,
  .mam-pagination .next { padding: 0 12px !important; font-size: 12px !important; }

  /* Blog cards */
  .mam-blog-grid {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }
  .mam-card { padding: 18px !important; }
  .mam-card h2 { font-size: 16px !important; }

  /* Header responsive */
  header nav { gap: 4px !important; }
  header nav a { font-size: 12px !important; padding: 6px 8px !important; }
  header nav a[href*="reclamar"] { padding: 7px 12px !important; font-size: 12px !important; }

  /* Footer responsive */
  footer > div > div:first-of-type {
    grid-template-columns: 1fr 1fr !important;
    gap: 20px !important;
  }

  /* Página metodología/contacto */
  .mam-page-content { padding: 20px 16px !important; }
  .mam-page-header h1 { font-size: 22px !important; }

  /* Sidebar oculto en móvil */
  .mam-art-sidebar,
  .art-sb,
  aside { display: none !important; }
}

/* Móvil pequeño */
@media (max-width: 400px) {
  .mam-art-main { padding: 16px 12px !important; }
  .mam-art-main h1 { font-size: 20px !important; }
  header div { padding: 0 12px !important; }
  .hero { padding: 40px 16px !important; }
}
