/* ============================================================
   másfollowers — misc-pages.css
   Editorial Premium for the remaining static pages:
     · /sobre-nosotros
     · /herramientas (index)
     · /aviso-legal, /politica-privacidad, /cookies
   Mobile-first. Pure white surface, forest accent.
   Tokens from theme_style.css.
   ============================================================ */

.mf-misc{
  background:var(--mf-surface);
  color:var(--mf-ink);
  font-family:var(--mf-font);
}
.mf-misc *{box-sizing:border-box;}
.mf-misc img,.mf-misc svg{display:block;max-width:100%;}
.mf-misc .mf-container{
  max-width:var(--mf-container);
  margin:0 auto;
  padding-left:var(--mf-pad);
  padding-right:var(--mf-pad);
}

/* =========================================================
   SHARED HERO (about / tools / legal)
   ========================================================= */
.mf-misc-hero{
  padding:48px 0 32px;
  background:var(--mf-surface);
  border-bottom:1px solid var(--mf-line-soft);
}
@media (min-width:640px){.mf-misc-hero{padding:64px 0 48px;}}
@media (min-width:900px){.mf-misc-hero{padding:88px 0 64px;}}

.mf-misc-hero-inner{
  max-width:var(--mf-container);
  margin:0 auto;
  padding:0 var(--mf-pad);
  display:flex;flex-direction:column;
  gap:14px;
}
.mf-misc-hero-inner .mf-content-eyebrow{
  display:inline-flex;align-items:center;gap:10px;
  font-size:12px;font-weight:500;
  color:var(--mf-ink-muted);
  letter-spacing:-.005em;
}
.mf-misc-hero-inner .mf-content-eyebrow::before{
  content:"";width:24px;height:1px;background:var(--mf-line-strong);
}
.mf-misc-hero-inner .mf-content-eyebrow em{
  font-family:var(--mf-font-serif);font-style:italic;font-weight:400;
  font-size:1.12em;color:var(--mf-ink);
}
.mf-misc-hero-inner h1{
  font-size:clamp(34px, 6vw, 64px);
  line-height:1.02;letter-spacing:-.03em;
  font-weight:600;color:var(--mf-ink);margin:0;
  max-width:18ch;
}
.mf-misc-hero-inner h1 em,
.mf-misc-hero-inner h1 .ed{
  font-family:var(--mf-font-serif);font-style:italic;font-weight:400;
  letter-spacing:-.02em;
}
.mf-misc-hero-inner p.lede{
  font-size:16px;line-height:1.55;color:var(--mf-ink-soft);
  max-width:54ch;margin:0;
}
@media (min-width:640px){.mf-misc-hero-inner p.lede{font-size:17px;}}

/* Stats row (about) */
.mf-misc-stats{
  display:flex;flex-wrap:wrap;gap:18px 28px;
  margin-top:18px;
}
.mf-misc-stats .stat-item{display:flex;flex-direction:column;gap:2px;}
.mf-misc-stats .stat-value{
  font-family:var(--mf-font-mono);font-feature-settings:"tnum";
  font-size:22px;font-weight:600;letter-spacing:-.02em;color:var(--mf-ink);
  line-height:1;
}
.mf-misc-stats .stat-label{
  font-size:12px;color:var(--mf-ink-muted);font-weight:500;
}
.mf-misc-stats .stat-divider{display:none;}

/* =========================================================
   /SOBRE-NOSOTROS — sections
   ========================================================= */

/* Generic about band (alternates) */
.mf-about-band{padding:56px 0;}
@media (min-width:640px){.mf-about-band{padding:80px 0;}}
@media (min-width:900px){.mf-about-band{padding:112px 0;}}

.mf-about-band--alt{background:var(--mf-surface-2);}

.mf-about-band > .mf-container > header{
  text-align:left;max-width:680px;margin:0 0 36px;
}
.mf-about-band header .section-badge,
.mf-about-band header .mf-content-eyebrow{
  display:inline-flex;align-items:center;gap:8px;
  font-size:11px;font-weight:600;letter-spacing:.10em;text-transform:uppercase;
  color:var(--mf-accent);
  margin-bottom:12px;
}
.mf-about-band header .section-badge::before,
.mf-about-band header .mf-content-eyebrow::before{
  content:"";width:18px;height:1px;background:var(--mf-accent);
}
.mf-about-band h2{
  font-size:clamp(24px, 3.4vw, 36px);
  line-height:1.1;letter-spacing:-.025em;
  font-weight:600;color:var(--mf-ink);
  margin:0 0 14px;
}
.mf-about-band h2 em{font-family:var(--mf-font-serif);font-style:italic;font-weight:400;}
.mf-about-band header p,
.mf-about-band > .mf-container > p.lede{
  font-size:15.5px;line-height:1.65;color:var(--mf-ink-soft);margin:0;
}

/* Mission (two-column with editorial visual) */
.mf-about-mission{
  display:grid;grid-template-columns:1fr;gap:32px;align-items:start;
}
@media (min-width:900px){
  .mf-about-mission{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:64px;}
}
.mf-about-mission-content p{
  font-size:15.5px;line-height:1.7;color:var(--mf-ink-soft);
  margin:0 0 14px;
}
.mf-about-mission-content p strong{color:var(--mf-ink);font-weight:600;}
.mf-about-mission-highlights{
  display:flex;flex-direction:column;gap:10px;
  margin-top:24px;
}
.mf-about-mission-highlights .item{
  display:flex;align-items:flex-start;gap:10px;
  font-size:14px;color:var(--mf-ink);
  line-height:1.5;
}
.mf-about-mission-highlights .item svg{
  color:var(--mf-accent);flex:none;margin-top:3px;
}

/* Visual editorial card */
.mf-about-visual{
  background:var(--mf-surface-3);
  border:1px solid var(--mf-line);
  border-radius:var(--mf-r-xl);
  padding:32px;
  position:sticky;top:96px;
}
.mf-about-visual h3{
  font-size:18px;font-weight:600;letter-spacing:-.01em;
  color:var(--mf-ink);margin:14px 0 8px;
}
.mf-about-visual h3 em{font-family:var(--mf-font-serif);font-style:italic;font-weight:400;}
.mf-about-visual p{
  font-size:14px;color:var(--mf-ink-soft);line-height:1.55;margin:0;
}
.mf-about-visual-icon{
  width:56px;height:56px;border-radius:14px;
  background:var(--mf-accent-soft);
  display:grid;place-items:center;
  color:var(--mf-accent);
  margin-bottom:14px;
}
.mf-about-visual-icon svg{width:28px;height:28px;}

/* Team grid */
.mf-team-grid{
  display:grid;grid-template-columns:1fr;gap:14px;
}
@media (min-width:640px){.mf-team-grid{grid-template-columns:repeat(2,1fr);}}
@media (min-width:900px){.mf-team-grid{grid-template-columns:repeat(3,1fr);gap:18px;}}

.mf-team-card{
  display:flex;flex-direction:column;gap:14px;
  background:var(--mf-surface-3);
  border:1px solid var(--mf-line);
  border-radius:var(--mf-r-lg);
  padding:24px;
  transition:border-color .15s ease, transform .15s ease, box-shadow .15s ease;
}
.mf-team-card:hover{
  border-color:var(--mf-line-strong);
  transform:translateY(-2px);
  box-shadow:var(--mf-shadow-2);
}
.mf-team-photo{
  width:64px;height:64px;border-radius:50%;
  background:var(--mf-accent-soft);
  display:grid;place-items:center;
  font-size:32px;
}
.mf-team-card h3{
  font-size:17px;font-weight:600;letter-spacing:-.015em;
  color:var(--mf-ink);margin:0 0 2px;
}
.mf-team-role{
  font-size:12px;font-weight:500;letter-spacing:.04em;text-transform:uppercase;
  color:var(--mf-accent);margin:0 0 12px;
}
.mf-team-bio{
  font-size:13.5px;line-height:1.6;color:var(--mf-ink-soft);
  margin:0 0 14px;
}
.mf-team-tags{
  display:flex;flex-wrap:wrap;gap:6px;
  margin-top:auto;
}
.mf-team-tag{
  display:inline-flex;align-items:center;
  padding:4px 10px;
  background:var(--mf-surface);
  border:1px solid var(--mf-line);
  border-radius:var(--mf-r-pill);
  font:500 11px/1 var(--mf-font);
  color:var(--mf-ink-soft);
}

/* Values / certifications grid (3 col) */
.mf-values-grid{
  display:grid;grid-template-columns:1fr;gap:16px;
}
@media (min-width:640px){.mf-values-grid{grid-template-columns:repeat(2,1fr);}}
@media (min-width:900px){.mf-values-grid{grid-template-columns:repeat(3,1fr);}}

.mf-value-card{
  display:flex;flex-direction:column;gap:10px;
  background:var(--mf-surface-3);
  border:1px solid var(--mf-line);
  border-radius:var(--mf-r-lg);
  padding:24px;
}
.mf-value-icon{
  width:40px;height:40px;border-radius:10px;
  background:var(--mf-accent-soft);color:var(--mf-accent);
  display:grid;place-items:center;
  margin-bottom:6px;
}
.mf-value-icon svg{width:20px;height:20px;}
.mf-value-card h3{
  font-size:16px;font-weight:600;letter-spacing:-.01em;
  margin:0;color:var(--mf-ink);
}
.mf-value-card p{
  font-size:13.5px;line-height:1.55;color:var(--mf-ink-soft);margin:0;
}

/* Final CTA on about (reuses ink card pattern) */
.mf-about-cta-final{
  background:var(--mf-surface-ink);
  color:#fff;
  border-radius:var(--mf-r-xl);
  padding:40px 24px;
  text-align:center;
  position:relative;overflow:hidden;
}
@media (min-width:640px){.mf-about-cta-final{padding:64px 48px;}}

.mf-about-cta-final::before{
  content:"";position:absolute;
  right:-180px;bottom:-180px;
  width:480px;height:480px;border-radius:50%;
  background:radial-gradient(circle at center, rgba(14,92,58,.30), rgba(14,92,58,.06) 35%, transparent 65%);
  filter:blur(20px);pointer-events:none;
}
.mf-about-cta-final > *{position:relative;z-index:1;}
.mf-about-cta-final h2{
  font-size:clamp(24px, 3.4vw, 36px);
  line-height:1.1;letter-spacing:-.025em;
  font-weight:600;color:#fff;
  margin:0 0 12px;
  max-width:18ch;margin-inline:auto;
}
.mf-about-cta-final h2 em{font-family:var(--mf-font-serif);font-style:italic;font-weight:400;}
.mf-about-cta-final p{
  font-size:15px;color:var(--mf-ink-on-dark-soft);
  max-width:46ch;margin:0 auto 24px;line-height:1.6;
}
.mf-about-cta-final-actions{
  display:flex;flex-direction:column;gap:8px;justify-content:center;
}
@media (min-width:520px){.mf-about-cta-final-actions{flex-direction:row;}}

/* =========================================================
   /HERRAMIENTAS — index
   ========================================================= */
.mf-tools-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:16px;
}
@media (min-width:640px){.mf-tools-grid{grid-template-columns:repeat(2,1fr);}}
@media (min-width:1100px){.mf-tools-grid{grid-template-columns:repeat(3,1fr);}}

.mf-tool-card{
  position:relative;
  display:flex;flex-direction:column;gap:14px;
  background:var(--mf-surface-3);
  border:1px solid var(--mf-line);
  border-radius:var(--mf-r-lg);
  padding:24px;
  transition:border-color .15s ease, transform .15s ease, box-shadow .15s ease;
}
.mf-tool-card:hover{
  border-color:var(--mf-line-strong);
  transform:translateY(-2px);
  box-shadow:var(--mf-shadow-2);
}

.mf-tool-card-head{
  display:flex;align-items:flex-start;justify-content:space-between;gap:12px;
}
.mf-tool-icon{
  width:44px;height:44px;border-radius:11px;
  background:var(--mf-accent-soft);color:var(--mf-accent);
  display:grid;place-items:center;
  flex:none;
}
.mf-tool-icon svg{width:22px;height:22px;}
.mf-tool-badges{
  display:flex;flex-direction:column;gap:6px;align-items:flex-end;
}
.mf-tool-popular{
  display:inline-flex;align-items:center;
  background:var(--mf-gold);color:#1B1F1A;
  padding:3px 9px;border-radius:var(--mf-r-pill);
  font:700 9.5px/1 var(--mf-font-mono);
  letter-spacing:.10em;text-transform:uppercase;
}
.mf-tool-ai{
  display:inline-flex;align-items:center;gap:4px;
  background:var(--mf-ink);color:#fff;
  padding:3px 9px;border-radius:var(--mf-r-pill);
  font:700 9.5px/1 var(--mf-font-mono);
  letter-spacing:.10em;text-transform:uppercase;
}
.mf-tool-ai svg{width:10px;height:10px;}

.mf-tool-card h3{
  font-size:18px;font-weight:600;letter-spacing:-.015em;
  color:var(--mf-ink);margin:0;line-height:1.3;
}
.mf-tool-card h3 em{font-family:var(--mf-font-serif);font-style:italic;font-weight:400;}
.mf-tool-card p.desc{
  font-size:13.5px;line-height:1.6;color:var(--mf-ink-soft);margin:0;
}
.mf-tool-features{
  list-style:none;padding:0;margin:0;
  display:flex;flex-direction:column;gap:6px;
}
.mf-tool-features li{
  display:flex;align-items:flex-start;gap:8px;
  font-size:13px;color:var(--mf-ink-soft);
  line-height:1.5;
}
.mf-tool-features li::before{
  content:"";flex:none;
  width:14px;height:14px;border-radius:50%;
  margin-top:3px;
  background:var(--mf-accent-soft) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'><path d='M2 6 L5 9 L10 3' fill='none' stroke='%230E5C3A' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/></svg>") no-repeat center;
  background-size:8px 8px;
}
.mf-tool-cta{
  display:inline-flex;align-items:center;justify-content:space-between;gap:8px;
  padding:12px 16px;
  background:var(--mf-ink) !important;color:#fff !important;
  border-radius:var(--mf-r);
  font:600 13.5px/1 var(--mf-font);
  text-decoration:none !important;
  margin-top:auto;
  transition:background .15s ease, transform .12s ease;
}
.mf-tool-cta:hover{
  background:var(--mf-accent) !important;
  transform:translateY(-1px);
}

/* Tool detail page (calculator/generator wrappers) */
.mf-tool-page-wrap{
  padding:32px 0 64px;
}
@media (min-width:900px){.mf-tool-page-wrap{padding:48px 0 96px;}}

.mf-tool-page{
  max-width:780px;margin:0 auto;
  padding:0 var(--mf-pad);
}
.mf-tool-page-card{
  background:var(--mf-surface-3);
  border:1px solid var(--mf-line);
  border-radius:var(--mf-r-xl);
  padding:24px;
  box-shadow:var(--mf-shadow-1);
}
@media (min-width:640px){.mf-tool-page-card{padding:36px;}}

/* =========================================================
   LEGAL PAGES (cookies / privacy / terms)
   ========================================================= */
.mf-legal{
  padding:32px 0 64px;
}
@media (min-width:900px){.mf-legal{padding:48px 0 96px;}}

.mf-legal-grid{
  display:grid;grid-template-columns:1fr;gap:24px;
  max-width:var(--mf-container);
  margin:0 auto;padding:0 var(--mf-pad);
}
@media (min-width:1100px){
  .mf-legal-grid{grid-template-columns:minmax(0,1fr) 280px;gap:48px;}
}

.mf-legal-article{
  background:var(--mf-surface-3);
  border:1px solid var(--mf-line);
  border-radius:var(--mf-r-xl);
  padding:24px;
}
@media (min-width:640px){.mf-legal-article{padding:36px;}}
@media (min-width:900px){.mf-legal-article{padding:48px;}}

.mf-legal-article h2{
  font-size:clamp(20px, 2.6vw, 26px);
  line-height:1.2;letter-spacing:-.02em;
  font-weight:600;color:var(--mf-ink);
  margin:36px 0 14px;
}
.mf-legal-article h2:first-child,
.mf-legal-article > *:first-child{margin-top:0;}
.mf-legal-article h3{
  font-size:clamp(16px, 2vw, 18px);
  line-height:1.25;letter-spacing:-.015em;
  font-weight:600;color:var(--mf-ink);
  margin:28px 0 10px;
}
.mf-legal-article p{
  font-size:14.5px;line-height:1.7;color:var(--mf-ink-soft);
  margin:0 0 14px;
}
.mf-legal-article a{
  color:var(--mf-accent) !important;
  text-decoration:underline !important;
  text-decoration-thickness:1px;text-underline-offset:3px;
}
.mf-legal-article strong{color:var(--mf-ink);font-weight:600;}
.mf-legal-article ul,
.mf-legal-article ol{
  margin:0 0 14px;padding-left:22px;
  font-size:14.5px;line-height:1.7;color:var(--mf-ink-soft);
}
.mf-legal-article li{margin-bottom:6px;}
.mf-legal-article hr{
  border:0;border-top:1px solid var(--mf-line);
  margin:32px 0;
}
.mf-legal-article table{
  width:100%;border-collapse:collapse;font-size:13.5px;
  margin:18px 0;
}
.mf-legal-article th,
.mf-legal-article td{
  padding:10px 14px;text-align:left;
  border-bottom:1px solid var(--mf-line);
}
.mf-legal-article th{
  background:var(--mf-surface-2);
  font-weight:600;color:var(--mf-ink);
  letter-spacing:-.005em;
}

/* iframe (used by /privacy when content is full HTML) */
.mf-legal-iframe-wrap{
  background:var(--mf-surface);
  padding:0;
}
.mf-legal-iframe{
  width:100%;border:0;display:block;
  background:var(--mf-surface-3);
}

.mf-legal-aside{
  display:flex;flex-direction:column;gap:14px;
}
@media (min-width:1100px){
  .mf-legal-aside{position:sticky;top:96px;}
}

.mf-legal-meta{
  display:flex;align-items:center;gap:8px;
  padding:12px 16px;
  background:var(--mf-surface-2);
  border:1px solid var(--mf-line-soft);
  border-radius:var(--mf-r);
  font-size:12.5px;color:var(--mf-ink-muted);
}
.mf-legal-meta strong{color:var(--mf-ink);font-weight:600;}
.mf-legal-meta svg{flex:none;color:var(--mf-accent);}

.mf-legal-side-card{
  background:var(--mf-surface-3);
  border:1px solid var(--mf-line);
  border-radius:var(--mf-r-lg);
  padding:20px;
}
.mf-legal-side-card h3{
  font-size:14px;font-weight:600;letter-spacing:-.005em;
  margin:0 0 8px;color:var(--mf-ink);
}
.mf-legal-side-card p{
  font-size:13px;color:var(--mf-ink-soft);margin:0 0 12px;line-height:1.55;
}
.mf-legal-side-card a{
  display:inline-flex;align-items:center;gap:6px;
  font-size:13px;font-weight:600;
  color:var(--mf-accent) !important;
  text-decoration:none !important;
}
.mf-legal-side-card a:hover{gap:10px;}

/* Browser links (cookies management) */
.mf-legal-browsers{
  display:flex;flex-wrap:wrap;gap:8px;
  margin:14px 0 0;
}
.mf-legal-browsers a{
  display:inline-flex;align-items:center;gap:6px;
  padding:8px 14px;
  background:var(--mf-surface);
  border:1px solid var(--mf-line);
  border-radius:var(--mf-r-pill);
  font:500 12.5px/1 var(--mf-font);
  color:var(--mf-ink) !important;
  text-decoration:none !important;
  transition:border-color .15s ease, color .15s ease, background .15s ease;
}
.mf-legal-browsers a:hover{
  border-color:var(--mf-accent);
  color:var(--mf-accent) !important;
  background:var(--mf-accent-soft);
}

/* Cookie type cards (in /cookies) */
.mf-cookie-types{
  display:grid;grid-template-columns:1fr;gap:14px;
  margin:24px 0;
}
@media (min-width:640px){.mf-cookie-types{grid-template-columns:repeat(2,1fr);}}
@media (min-width:900px){.mf-cookie-types{grid-template-columns:repeat(4,1fr);}}

.mf-cookie-type{
  display:flex;flex-direction:column;gap:8px;
  padding:18px;
  background:var(--mf-surface);
  border:1px solid var(--mf-line);
  border-radius:var(--mf-r);
}
.mf-cookie-type-icon{
  width:32px;height:32px;border-radius:8px;
  background:var(--mf-accent-soft);color:var(--mf-accent);
  display:grid;place-items:center;
}
.mf-cookie-type-icon svg{width:16px;height:16px;}
.mf-cookie-type h4{
  font-size:14px;font-weight:600;letter-spacing:-.005em;
  margin:0;color:var(--mf-ink);
}
.mf-cookie-type p{
  font-size:12.5px;line-height:1.55;color:var(--mf-ink-soft);margin:0;
}

/* =========================================================
   /aviso-legal — Full-content terms page additions
   ========================================================= */

/* Intro paragraph at the top of the legal article */
.mf-legal-intro{
  font-size:15.5px !important;
  line-height:1.65 !important;
  color:var(--mf-ink) !important;
  padding:18px 22px !important;
  background:var(--mf-surface-2) !important;
  border-left:3px solid var(--mf-accent) !important;
  border-radius:0 var(--mf-r) var(--mf-r) 0 !important;
  margin:0 0 36px !important;
}

/* Numbered section block — gold roman numeral on the side */
.mf-legal-section{
  position:relative;
  padding-top:36px;
  margin-top:36px;
  border-top:1px solid var(--mf-line);
  scroll-margin-top:120px;
}
.mf-legal-section:first-of-type{
  border-top:0;
  margin-top:0;
  padding-top:0;
}
.mf-legal-section .mf-legal-num{
  display:inline-block;
  font-family:var(--mf-font-serif);
  font-style:italic;
  font-weight:400;
  font-size:18px;
  color:var(--mf-accent);
  letter-spacing:.04em;
  margin-bottom:6px;
}
.mf-legal-section > h2{
  margin-top:0 !important;
}
.mf-legal-section h2 em{
  font-family:var(--mf-font-serif);
  font-style:italic;
  font-weight:400;
  letter-spacing:-.01em;
  color:var(--mf-accent);
}

/* Definition list — used for "Titular / NIF / Dirección" etc. */
.mf-legal-deflist{
  display:grid;
  grid-template-columns:1fr;
  gap:8px 18px;
  margin:0 0 18px;
  padding:18px 22px;
  background:var(--mf-surface-2);
  border:1px solid var(--mf-line-soft);
  border-radius:var(--mf-r);
}
@media (min-width:640px){
  .mf-legal-deflist{
    grid-template-columns:auto 1fr;
    column-gap:24px;
    row-gap:10px;
  }
}
.mf-legal-deflist dt{
  font-size:12px;
  font-weight:600;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--mf-ink-muted);
  margin:0;
  align-self:start;
}
.mf-legal-deflist dd{
  font-size:14px;
  color:var(--mf-ink);
  margin:0;
  line-height:1.5;
}
.mf-legal-deflist dd a{
  color:var(--mf-accent) !important;
  text-decoration:underline !important;
  text-underline-offset:3px;
}

/* Callouts — warning (gold) + danger (red ink) */
.mf-legal-callout{
  position:relative;
  padding:18px 22px 18px 56px;
  margin:0 0 22px;
  border-radius:var(--mf-r);
  border:1px solid;
  background:var(--mf-surface-2);
}
.mf-legal-callout::before{
  content:"";
  position:absolute;
  left:18px; top:20px;
  width:24px; height:24px;
  border-radius:50%;
  background-repeat:no-repeat;
  background-position:center;
  background-size:14px;
}
.mf-legal-callout strong{
  display:block;
  font-size:13.5px;
  font-weight:700;
  letter-spacing:-.005em;
  margin-bottom:6px;
  color:var(--mf-ink);
}
.mf-legal-callout p{
  font-size:14px !important;
  line-height:1.6 !important;
  margin:0 !important;
  color:var(--mf-ink-soft) !important;
}

.mf-legal-callout--warning{
  background:rgba(232,199,150,.10);
  border-color:rgba(232,199,150,.40);
}
.mf-legal-callout--warning::before{
  background-color:#E8C796;
}
.mf-legal-callout--warning strong{ color:#8B6630; }

.mf-legal-callout--danger{
  background:rgba(178,58,58,.06);
  border-color:rgba(178,58,58,.30);
}
.mf-legal-callout--danger::before{
  background-color:#B23A3A;
}
.mf-legal-callout--danger strong{ color:#8C2828; }

/* Platform mini-cards (Servicios disponibles) */
.mf-legal-platforms{
  display:grid;
  grid-template-columns:1fr;
  gap:10px;
  margin:0 0 18px;
}
@media (min-width:640px){
  .mf-legal-platforms{ grid-template-columns:repeat(2,1fr); gap:12px; }
}
@media (min-width:1100px){
  .mf-legal-platforms{ grid-template-columns:repeat(3,1fr); }
}
.mf-legal-platform{
  padding:14px 16px;
  background:var(--mf-surface);
  border:1px solid var(--mf-line);
  border-radius:var(--mf-r);
}
.mf-legal-platform h4{
  font-size:13px;
  font-weight:700;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:var(--mf-accent);
  margin:0 0 6px;
}
.mf-legal-platform p{
  font-size:13px !important;
  line-height:1.55 !important;
  color:var(--mf-ink-soft) !important;
  margin:0 !important;
}

/* Checklist (allowed / committed) — green tinted bullet */
.mf-legal-article ul.mf-legal-checklist{
  list-style:none !important;
  padding-left:0 !important;
  margin:0 0 18px !important;
  display:flex;
  flex-direction:column;
  gap:8px;
}
.mf-legal-article ul.mf-legal-checklist li{
  position:relative;
  padding:0 0 0 28px;
  margin:0;
  font-size:14.5px;
  line-height:1.55;
  color:var(--mf-ink-soft);
}
.mf-legal-article ul.mf-legal-checklist li::before{
  content:"\2713";
  position:absolute;
  left:0; top:1px;
  width:18px; height:18px;
  border-radius:50%;
  background:var(--mf-accent-soft);
  color:var(--mf-accent-deep);
  font-size:10px;
  font-weight:700;
  display:grid;
  place-items:center;
  line-height:1;
}

/* Banlist (prohibited) — red tinted bullet */
.mf-legal-article ul.mf-legal-banlist{
  list-style:none !important;
  padding-left:0 !important;
  margin:0 0 18px !important;
  display:flex;
  flex-direction:column;
  gap:8px;
}
.mf-legal-article ul.mf-legal-banlist li{
  position:relative;
  padding:0 0 0 28px;
  margin:0;
  font-size:14.5px;
  line-height:1.55;
  color:var(--mf-ink-soft);
}
.mf-legal-article ul.mf-legal-banlist li::before{
  content:"\00d7";
  position:absolute;
  left:0; top:1px;
  width:18px; height:18px;
  border-radius:50%;
  background:rgba(178,58,58,.10);
  color:#B23A3A;
  font-size:14px;
  font-weight:700;
  display:grid;
  place-items:center;
  line-height:1;
}

/* Footnote (last update) */
.mf-legal-footnote{
  margin-top:24px !important;
  padding:14px 18px !important;
  background:var(--mf-surface-2) !important;
  border-radius:var(--mf-r) !important;
  font-size:13px !important;
  color:var(--mf-ink-muted) !important;
  line-height:1.55 !important;
}

/* Sidebar TOC */
.mf-legal-toc{
  background:var(--mf-surface-3);
  border:1px solid var(--mf-line);
  border-radius:var(--mf-r-lg);
  padding:18px 20px;
  max-height:calc(100vh - 140px);
  overflow:auto;
}
.mf-legal-toc h3{
  font-size:13px;
  font-weight:700;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--mf-ink);
  margin:0 0 12px;
}
.mf-legal-toc h3 em{
  font-family:var(--mf-font-serif);
  font-style:italic;
  font-weight:400;
  font-size:1.16em;
  letter-spacing:0;
  color:var(--mf-accent);
  text-transform:none;
}
.mf-legal-toc-list{
  list-style:none !important;
  padding:0 !important;
  margin:0 !important;
  display:flex;
  flex-direction:column;
  gap:2px;
  counter-reset:tocnum;
}
.mf-legal-toc-list li{
  margin:0 !important;
  counter-increment:tocnum;
}
.mf-legal-toc-list li a{
  display:flex;
  align-items:baseline;
  gap:10px;
  padding:6px 8px;
  border-radius:6px;
  font-size:12.5px;
  line-height:1.4;
  color:var(--mf-ink-soft) !important;
  text-decoration:none !important;
  transition:background .12s ease, color .12s ease;
}
.mf-legal-toc-list li a::before{
  content:counter(tocnum,upper-roman);
  flex:none;
  width:28px;
  font-family:var(--mf-font-mono);
  font-size:10.5px;
  font-weight:600;
  color:var(--mf-ink-muted);
  letter-spacing:.04em;
}
.mf-legal-toc-list li a:hover{
  background:var(--mf-accent-soft);
  color:var(--mf-accent-deep) !important;
}
.mf-legal-toc-list li a:hover::before{ color:var(--mf-accent); }

/* =========================================================
   /politica-privacidad — extra components
   ========================================================= */

/* Table wrapper — horizontal scroll on mobile, editorial look */
.mf-legal-article .mf-legal-table-wrap{
  margin:0 0 18px;
  overflow-x:auto;
  border:1px solid var(--mf-line);
  border-radius:var(--mf-r);
  background:#FFFFFF;
}
.mf-legal-article .mf-legal-table-wrap table{
  margin:0;
  font-size:13.5px;
  min-width:520px;
}
.mf-legal-article .mf-legal-table-wrap th,
.mf-legal-article .mf-legal-table-wrap td{
  padding:11px 14px;
}
.mf-legal-article .mf-legal-table-wrap th{
  background:var(--mf-surface-2);
  font-size:11.5px;
  font-weight:600;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--mf-ink-muted);
  border-bottom:1px solid var(--mf-line);
}
.mf-legal-article .mf-legal-table-wrap td{
  vertical-align:top;
  color:var(--mf-ink);
  line-height:1.5;
}
.mf-legal-article .mf-legal-table-wrap tr:last-child td{ border-bottom:0; }

/* Processor card — used to describe each data processor */
.mf-legal-processor{
  margin:0 0 16px;
  padding:18px 20px;
  background:#FFFFFF;
  border:1px solid var(--mf-line);
  border-radius:var(--mf-r-lg);
  box-shadow:var(--mf-shadow-1);
}
.mf-legal-processor-head{
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:12px;
  padding-bottom:12px;
  border-bottom:1px solid var(--mf-line-soft);
}
.mf-legal-processor-tag{
  display:inline-flex;
  align-items:center;
  padding:4px 10px;
  border-radius:999px;
  background:var(--mf-accent-soft);
  color:var(--mf-accent-deep);
  font-size:10.5px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.mf-legal-processor h4{
  font-size:16px !important;
  font-weight:600 !important;
  letter-spacing:-.01em !important;
  color:var(--mf-ink) !important;
  margin:0 !important;
  line-height:1.2 !important;
}
.mf-legal-processor .mf-legal-deflist{
  margin:0 0 8px;
  padding:0;
  background:transparent;
  border:0;
}
.mf-legal-processor .mf-legal-deflist dt{
  font-size:11px;
}
.mf-legal-processor .mf-legal-deflist dd{
  font-size:13.5px;
}
.mf-legal-processor > p:last-child{ margin-bottom:0 !important; }

/* Cookie type heading + base note (inside section VII) */
.mf-legal-article h4.mf-legal-cookie-h{
  font-size:14px !important;
  font-weight:700 !important;
  letter-spacing:.04em !important;
  text-transform:uppercase !important;
  color:var(--mf-accent) !important;
  margin:22px 0 6px !important;
}
.mf-legal-article p.mf-legal-cookie-base{
  font-size:12.5px !important;
  color:var(--mf-ink-muted) !important;
  margin:0 0 8px !important;
  font-style:italic;
}

/* Soft note paragraph (smaller + tinted background) */
.mf-legal-article p.mf-legal-note{
  margin:0 0 18px !important;
  padding:12px 16px !important;
  background:var(--mf-surface-2) !important;
  border-left:3px solid var(--mf-line-strong) !important;
  border-radius:0 var(--mf-r) var(--mf-r) 0 !important;
  font-size:13.5px !important;
  color:var(--mf-ink-soft) !important;
  line-height:1.6 !important;
}
