/* =========================================================
   CreativaMente — Base CSS (mobile-first)
========================================================= */

/* ------------------ Variables ------------------ */
:root{
  --brand-pink:#e72c6a;
  --brand-yellow:#fdc436;

  --text:#333;
  --muted:#777;
  --bg:#fff;
  --bg-alt:#F5F5F5;
  --white:#fff;

  --radius-xl:16px;
  --radius-md:12px;
  --radius-sm:8px;

  --shadow-sm:0 4px 12px rgba(0,0,0,.08);
  --shadow-md:0 8px 24px rgba(0,0,0,.10);
  --shadow-lg:0 12px 28px rgba(0,0,0,.12);

  --container:1100px;
  --gap:20px;

  --font:"Poppins",system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji";

  color-scheme: light;
}

/* ------------------ Reset & Base ------------------ */
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:var(--font);
  color:var(--text);
  background:var(--bg);
  line-height:1.55;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
img{max-width:100%;height:auto;display:block}
a{color:var(--brand-pink);text-decoration:none}
a:hover{text-decoration:underline}
h1,h2,h3{line-height:1.2;margin:0 0 .5rem}
p{margin:.5rem 0 1rem}
.skip-link{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}
.skip-link:focus{position:static;width:auto;height:auto;padding:8px;background:#fdc436;color:#333;z-index:999}

/* Focus visible accesible */
:focus-visible{outline:3px solid var(--brand-yellow);outline-offset:2px}

/* Botones */
.btn{
  display:inline-block;
  padding:12px 20px;
  border-radius:12px;
  background:var(--brand-pink);
  color:var(--white);
  font-weight:700;
  text-decoration:none;
  transition:transform .12s ease, box-shadow .12s ease, opacity .2s;
  box-shadow:var(--shadow-sm);
}
.btn:hover{transform:translateY(-1px);text-decoration:none}
.btn:active{transform:translateY(0)}
.btn[disabled]{opacity:.6;pointer-events:none}
.btn-alt{ background:var(--brand-yellow); color:var(--text); }

/* Containers utilitarios */
.container{max-width:var(--container);margin-inline:auto;padding-inline:20px}
.text-center{text-align:center}
.muted{color:var(--muted)}
.title-pink{font:700 2rem 'Poppins',sans-serif;color:var(--brand-pink);margin:0}

/* ------------------ Navbar ------------------ */
header{background:#fff;position:sticky;top:0;z-index:1000;box-shadow:var(--shadow-sm)}
.navbar{
  display:flex;align-items:center;justify-content:space-between;
  max-width:var(--container);margin-inline:auto;padding:10px 20px;
}
.logo img{height:40px;width:auto}
.nav-toggle{
  border:0;background:transparent;font-size:1.6rem;line-height:1;
  padding:8px;border-radius:10px;cursor:pointer;
}
.nav-toggle:hover{background:rgba(0,0,0,.05)}

.nav-links{
  list-style:none;margin:0;padding:0;display:none;
  position:absolute;left:0;right:0;top:60px;background:#fff;
  border-bottom:1px solid #eee;
}
.nav-links li{border-top:1px solid #f3f3f3}
.nav-links a{display:block;padding:14px 20px;color:var(--text);font-weight:500}
.nav-links .btn{margin:10px 20px;display:inline-block}

/* Abrir/cerrar menú móvil (unificado) */
.nav-links.is-open{display:block !important}
.no-scroll{overflow:hidden}

/* ------------------ Hero ------------------ */
.section-hero{
  background:linear-gradient(135deg, rgba(231,44,106,.95), rgba(253,196,54,.90));
  color:#fff;
  padding:72px 20px;
  text-align:center;
}
.hero-content{max-width:860px;margin-inline:auto}
.section-hero h1{font-size:2rem;margin-bottom:.5rem}
.section-hero p{font-size:1.05rem;margin-bottom:1rem}
.hero-ctas{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.hero-trust{margin-top:12px;font-weight:600}
.hero-badges{display:inline-flex;gap:8px;flex-wrap:wrap;justify-content:center;margin-bottom:8px;font-weight:600}
.hero-badges span{background:rgba(255,255,255,.15);padding:6px 10px;border-radius:999px}

/* ------------------ Secciones genéricas ------------------ */
.section{padding:56px 20px}
.section--alt{background:var(--bg-alt)}
.section--white{background:#fff}

/* ------------------ Cards genéricas ------------------ */
.cards-grid{display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.card{
  background:#fff;border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);
  padding:20px;transition:transform .15s ease, box-shadow .15s ease;
}
.card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}
.card--flat{box-shadow:0 4px 12px rgba(0,0,0,.06)}
.card--highlight{box-shadow:0 12px 28px rgba(231,44,106,.15);border:2px solid var(--brand-pink)}
.pill{display:inline-block;background:var(--brand-pink);color:#fff;padding:4px 10px;border-radius:999px;font:600 .8rem 'Poppins';margin-bottom:10px}
.card-title{margin:0 0 8px;font:700 1.25rem 'Poppins',sans-serif}
.card-list{margin:0 0 16px;padding-left:18px;color:#333;line-height:1.7}
.price{display:flex;align-items:baseline;gap:8px;margin:12px 0 20px}
.price strong{font:700 1.6rem 'Poppins'}

.card--media{overflow:hidden;display:flex;flex-direction:column;padding:0}
.card--media .card-image{width:100%;height:180px;object-fit:cover;display:block}
.card--media .card-body{padding:16px}
.card-link{color:var(--brand-pink);text-decoration:none;font-weight:600}

/* ------------------ Beneficios ------------------ */
.section-benefits{background:#fff}
.benefits-grid{display:grid;gap:var(--gap);grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.benefit-card{
  background:var(--brand-yellow);color:#333;border-radius:var(--radius-xl);
  padding:20px;box-shadow:var(--shadow-sm);transition:transform .15s ease, box-shadow .15s ease;
}
.benefit-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}
.benefit-card h3{margin:0 0 .5rem;font-weight:700;font-size:1.05rem;color:#333}
.benefit-card p{margin:0;color:#444;font-size:.95rem}

/* ------------------ Sobre ------------------ */
.section-sobre{padding:56px 20px;background:#fff}
.sobre-container{display:grid;gap:20px;max-width:var(--container);margin-inline:auto}
.sobre-image img{border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);background:#fff}
.sobre-text h2{color:var(--brand-pink);margin-bottom:10px}

/* ------------------ Testimonios ------------------ */
.testimonials-grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
blockquote.card{margin:0;font-style:normal}
blockquote.card p{margin:0 0 .5rem}
blockquote.card cite{font-size:.95rem;color:var(--muted)}

/* ------------------ FAQ ------------------ */
.faq-item{background:var(--bg-alt);border-radius:12px;padding:14px 16px;box-shadow:var(--shadow-sm);margin-bottom:10px}
.faq-item summary{cursor:pointer;font-weight:600;list-style:none}
.faq-item summary::-webkit-details-marker{display:none}

/* ------------------ Blog ------------------ */
.section-blog{padding:56px 20px;background:var(--bg-alt)}
.blog-header{text-align:center;margin-bottom:20px}
.blog-grid{display:grid;gap:var(--gap);grid-template-columns:repeat(auto-fit,minmax(260px,1fr));max-width:var(--container);margin-inline:auto}
.blog-card{background:#fff;border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);overflow:hidden;display:flex;flex-direction:column}
.blog-card img{height:180px;object-fit:cover}
.blog-info{padding:16px}
.blog-info h3{margin:0 0 .25rem;font-size:1.1rem}
.blog-info p{color:var(--muted);margin:0 0 .75rem}

/* ------------------ Contacto ------------------ */
.section-contacto{padding:56px 20px;background:#fff}
.contacto-container{max-width:var(--container);margin-inline:auto}
.contacto-header{text-align:center;margin-bottom:20px}
.contacto-content{display:grid;gap:var(--gap)}
.contacto-form .form-group{margin-bottom:14px}
label{display:block;font-weight:600;margin-bottom:6px}
input[type="text"], input[type="email"], textarea, input[type="tel"]{
  width:100%;padding:12px 14px;border-radius:12px;border:1px solid #ddd;
  background:#fff;color:var(--text);font:400 1rem var(--font);
}
input:focus, textarea:focus{border-color:var(--brand-pink);outline:0;box-shadow:0 0 0 3px rgba(231,44,106,.15)}
.form-success{background:#eaffea;color:#0f6d0f;border:1px solid #bde5bd;padding:10px 12px;border-radius:10px}
.contacto-redes h3{margin:10px 0}
.contacto-redes ul{list-style:none;margin:0 0 10px;padding:0;display:flex;gap:12px;flex-wrap:wrap}
.contacto-redes a{font-weight:600}

/* ------------------ Footer ------------------ */
.site-footer{background:#333;color:#fff}
.footer-container{max-width:var(--container);margin-inline:auto;padding:22px 20px;display:grid;gap:16px;align-items:center}
.footer-logo a{color:#fff;font-weight:700}
.footer-links{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:12px}
.footer-links a{color:#fff;opacity:.9}
.footer-links a:hover{opacity:1}
.footer-copy p{margin:0;color:#ddd;font-size:.95rem}

/* ------------------ Utilities ------------------ */
.hide{display:none !important}
.mt-0{margin-top:0}
.mb-0{margin-bottom:0}

/* Hover elevación */
a.card, .curso-card, .blog-card{transition:transform .15s ease, box-shadow .15s ease}
a.card:hover, .curso-card:hover, .blog-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}

/* Botón fijo WhatsApp */
.fab-whatsapp{
  position:fixed; right:14px; bottom:14px; z-index:999;
  background:#25D366; color:#fff; font-weight:700;
  padding:12px 14px; border-radius:999px; box-shadow:0 8px 24px rgba(0,0,0,.2);
}
.fab-whatsapp:hover{ text-decoration:none; transform:translateY(-1px); }

/* ------------------ Animaciones reveal ------------------ */
.opacity-0{opacity:0;transform:translateY(8px)}
.fade-in{opacity:1;transform:translateY(0);transition:opacity .4s ease, transform .4s ease}

/* ------------------ Media Queries ------------------ */
@media (min-width: 768px){
  .nav-toggle{display:none}
  .nav-links{position:static;display:flex;gap:14px;border:0;background:transparent}
  .nav-links li{border-top:0}
  .nav-links a{padding:10px 12px;border-radius:10px}
  .nav-links a:hover{background:rgba(0,0,0,.05);text-decoration:none}
  .nav-links .btn{margin:0;padding:10px 14px}

  .sobre-container{grid-template-columns:1.1fr 1fr;align-items:center}
  .sobre-image img{height:100%;max-height:420px;object-fit:cover}

  .fab-whatsapp{ right:24px; bottom:24px; }
}

@media (min-width: 1024px){
  .section-hero{padding:96px 20px}
  .section-hero h1{font-size:2.4rem}
  .section-hero p{font-size:1.1rem}
}

/* Motion preferences */
@media (prefers-reduced-motion: reduce){
  *{transition:none !important;animation:none !important}
  html{scroll-behavior:auto}
}

/* YouTube grid */
.yt-grid{display:grid;gap:var(--gap);grid-template-columns:repeat(auto-fit,minmax(260px,1fr));max-width:var(--container);margin-inline:auto}
.yt-card{background:#fff;border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);overflow:hidden;display:flex;flex-direction:column}
.yt-thumb img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block}
.yt-info{padding:16px}
.yt-title{margin:0 0 .25rem;font-size:1.05rem}
.yt-desc{color:var(--muted);margin:0}

/* Header shrink & sombra */
header {
  transition: box-shadow .2s ease, transform .2s ease, padding .2s ease, background .2s ease;
  will-change: transform, box-shadow;
}
header.is-scrolled{
  box-shadow: var(--shadow-sm);
  backdrop-filter: saturate(120%) blur(4px);
}

/* Link activo en el menú */
.nav-links a {
  position: relative;
  transition: color .15s ease, background .15s ease;
}
.nav-links a.is-active { color: var(--brand-pink); }
.nav-links a::after{
  content:""; position:absolute; left:10px; right:10px; bottom:6px;
  height:2px; border-radius:2px; background:transparent; transform:scaleX(0);
  transition: transform .2s ease, background .2s ease;
  transform-origin:left;
}
.nav-links a.is-active::after{ background:var(--brand-pink); transform:scaleX(1); }

/* Estados reveal */
.reveal{
  opacity:0; transform: translateY(16px) scale(.98);
  transition: opacity .45s ease, transform .45s ease, box-shadow .2s ease;
  will-change: opacity, transform;
}
.reveal--in{
  opacity:1; transform: translateY(0) scale(1);
}
.btn { transform: translateY(0); }
.btn:hover { transform: translateY(-2px); box-shadow: var(--shadow-md); }
.btn:active { transform: translateY(0); box-shadow: var(--shadow-sm); }

/* -------- Cómo trabajamos -------- */
.section-proceso{
  padding:56px 20px;
  background:var(--bg);
}
.proceso-head{
  text-align:center;
  margin-bottom:20px;
}
.proceso-head h2{
  margin:0 0 6px;
  font:700 2rem var(--font);
  color:var(--brand-pink);
}
.proceso-head p{
  margin:0;
  color:#555;
}

/* grid de pasos */
.proceso-grid{
  list-style:none;
  margin:0 auto 16px;
  padding:0;
  display:grid;
  gap:var(--gap);
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  max-width:var(--container);
}
.proceso-item{
  background:#fff;
  border-radius:var(--radius-xl);
  box-shadow:var(--shadow-sm);
  padding:18px 16px 16px 16px;
  position:relative;
  transition:transform .15s ease, box-shadow .15s ease;
}
.proceso-item:hover{ transform:translateY(-2px); box-shadow:var(--shadow-md); }
.proceso-item .step{
  position:absolute; top:-12px; left:16px;
  background:var(--brand-yellow);
  color:#333; font-weight:700;
  border-radius:999px; padding:6px 10px; box-shadow:var(--shadow-sm);
}
.proceso-item h3{
  margin:10px 0 6px;
  font-weight:700; font-size:1.05rem; color:#222;
}
.proceso-item p{
  margin:0; color:#555; line-height:1.6;
}

/* CTA inferior */
.proceso-cta{
  display:flex; gap:10px; justify-content:center; margin-top:8px;
}

/* animación opcional si ya tenés .reveal */
.proceso-item{ opacity:0; transform:translateY(10px); }
.proceso-item.reveal--in{ opacity:1; transform:none; }

/* Tamaño del logo (escalable y responsive) */
:root{
  /* altura normal del logo */
  --logo-h: clamp(44px, 6vw, 68px);
  /* altura cuando el header está comprimido al scrollear */
  --logo-h-small: clamp(36px, 4.8vw, 56px);
}

/* Aplica el tamaño */
.logo img{
  height: var(--logo-h);
  width: auto;
  display: block;
}

/* Cuando el header se marca como scrolleado */
header.is-scrolled .logo img{
  height: var(--logo-h-small);
}

/* (opcional) alineación perfecta en el eje vertical */
.logo{
  display: flex;
  align-items: center;
}

/* ====== Header: tamaño estable y alineación ====== */
.navbar{ align-items:center; }              /* centra verticalmente todo */
.nav-links a{ 
  display:inline-flex; 
  align-items:center; 
  line-height:1; 
  padding:10px 12px;
}

/* Logo: no deformar, no crecer más que el header */
.logo img{
  display:block;
  height:auto;              /* evita deformación */
  max-height:48px;          /* alto máximo del logo */
  width:auto;               /* mantiene proporción */
}

/* Botón "Quiero mi web": misma altura visual que los links y en una sola línea */
.nav-links .btn{
  display:inline-flex;
  align-items:center;
  white-space:nowrap;       /* evita salto de línea */
  line-height:1;
  padding:10px 14px;        /* ajusta alto del botón */
  border-radius:12px;
}

/* Evita que los <li> intenten romper en dos líneas por falta de espacio */
.nav-links li{ white-space:nowrap; }

/* (Opcional) en desktop podés subir un toque el logo */
@media (min-width: 1024px){
  .logo img{ max-height:56px; }
}

/* ===== Header más presente ===== */
.navbar{
  height:72px;                 /* altura base */
  padding:0 20px;
  align-items:center;
}
@media (min-width:1024px){
  .navbar{ height:84px; }      /* un poco más alto en desktop */
}

/* Sombra y borde al scrollear (ya usás .is-scrolled en JS) */
header{
  transition: box-shadow .2s ease, background .2s ease, height .2s ease;
}
header.is-scrolled{
  box-shadow: 0 8px 22px rgba(0,0,0,.08);
  border-bottom:1px solid #eee;
}

/* ===== Logo: tamaño fijo, sin deformación ===== */
.logo{ display:flex; align-items:center; }
.logo img{
  display:block;
  height:auto;                 /* evita estirar */
  width:auto;                  /* mantiene proporción */
  max-height:50px;             /* tamaño inicial */
}
@media (min-width:768px){ .logo img{ max-height:56px; } }
@media (min-width:1024px){ .logo img{ max-height:60px; } }

/* Al scrollear NO lo agrandamos (solo baja un poco si querés) */
header.is-scrolled .logo img{
  max-height:54px;             /* ajustá o deja igual que arriba */
}

/* ===== Menú alineado y sin cortes ===== */
.nav-links{ display:flex; align-items:center; gap:16px; }
.nav-links li{ white-space:nowrap; }
.nav-links a{
  display:inline-flex; align-items:center; line-height:1; padding:10px 12px;
}

/* ===== CTA “Quiero mi web” más visible + pulso suave ===== */
.nav-links .btn{
  display:inline-flex; align-items:center; white-space:nowrap;
  padding:12px 18px; border-radius:14px; font-weight:700;
  box-shadow:0 10px 22px rgba(231,44,106,.18);
}

/* Pulso sutil cada 3.5s */
@keyframes ctaPulse{
  0%, 80%, 100% { transform:translateY(0) scale(1); box-shadow:0 10px 22px rgba(231,44,106,.18); }
  86%           { transform:translateY(-2px) scale(1.03); box-shadow:0 16px 32px rgba(231,44,106,.24); }
  92%           { transform:translateY(0) scale(1); }
}
.nav-links .btn{ animation: ctaPulse 3.5s ease-in-out infinite; }

/* Hover activo sin “salto” brusco */
.nav-links .btn:hover{ transform:translateY(-2px); box-shadow:0 16px 32px rgba(231,44,106,.24); }

/* Respeto a usuarios con reduced motion */
@media (prefers-reduced-motion: reduce){
  .nav-links .btn{ animation:none; transform:none; }
}
.logo img {
  height: 60px; /* o 64px */
  width: auto;
}
.logo img {
  height: clamp(48px, 6vw, 72px); 
  width: auto;
}
/* Fuerza de tamaño y nitidez del logo */
.navbar .logo img{
  display:block;
  height: clamp(56px, 6vw, 80px) !important; /* ajusta a gusto */
  width: auto !important;
  max-height: 80px;
  image-rendering: -webkit-optimize-contrast;
  image-rendering: crisp-edges;
}

/* Que el header no aplaste el logo al scrollear */
header.is-scrolled .logo img{
  height: clamp(56px, 6vw, 80px) !important;
}

/* Altura estable del header para no “estrujar” nada */
.navbar{ height: 84px; padding: 0 20px; align-items:center; }
@media (max-width: 767px){ .navbar{ height: 72px; } }

/* ==== NAVBAR + LOGO (versión final, sin duplicados) ==== */

/* Altura de la barra y alineación vertical */
.navbar{
  height: 84px;                 /* presencia en desktop */
  padding: 0 20px;
  display: flex;
  align-items: center;
}
@media (max-width: 767px){
  .navbar{ height: 72px; }      /* un toque menos en mobile */
}

/* Contenedor del logo */
.logo{
  display: flex;
  align-items: center;
  flex: 0 0 auto;               /* que no se encoja */
  line-height: 0;               /* quita espacio extra alrededor del <img> */
}

/* Logo SVG/PNG: tamaño único y sin deformación */
.logo img{
  display: block;
  width: auto;                  /* mantiene proporción */
  height: clamp(56px, 6vw, 72px); /* responsivo y nítido */
  max-height: 72px;
  object-fit: contain;
}

/* Al scrollear NO lo achicamos (quedará estable) */
header.is-scrolled .logo img{
  height: clamp(56px, 6vw, 72px);
}

/* CTA del menú: no hace salto de línea y se ve consistente */
.nav-links .btn{
  display: inline-flex;
  align-items: center;
  white-space: nowrap;
  line-height: 1;
  padding: 12px 18px;
  border-radius: 14px;
  font-weight: 700;
  box-shadow: 0 10px 22px rgba(231,44,106,.18);
}

/* Pulso sutil; si no te gusta, borrá este bloque */
@keyframes ctaPulse{
  0%, 80%, 100% { transform: translateY(0) scale(1); box-shadow:0 10px 22px rgba(231,44,106,.18); }
  86% { transform: translateY(-2px) scale(1.03); box-shadow:0 16px 32px rgba(231,44,106,.24); }
  92% { transform: translateY(0) scale(1); }
}
.nav-links .btn{ animation: ctaPulse 3.5s ease-in-out infinite; }
@media (prefers-reduced-motion: reduce){
  .nav-links .btn{ animation: none; transform: none; }
}

/* --- Fondo rotativo del hero --- */
.section-hero{
  position: relative;
  overflow: hidden;
  /* Si querés conservar tu degradado base, lo usamos como fallback */
  background: linear-gradient(135deg, rgba(231,44,106,.65), rgba(253,196,54,.65));
}

/* Capa de imágenes */
.hero-bg{
  position:absolute; inset:0;
  z-index:0;
}
.hero-bg img{
  position:absolute; inset:0;
  width:100%; height:100%;
  object-fit:cover;
  opacity:0;
  transition: opacity 900ms ease;   /* fade suave */
  will-change: opacity;
}

/* Imagen visible */
.hero-bg img.is-active{ opacity:1; }

/* Overlay para asegurar legibilidad del texto */
.section-hero::before{
  content:"";
  position:absolute; inset:0; z-index:1;
  background:
    linear-gradient(180deg, rgba(0,0,0,.25) 0%, rgba(0,0,0,.35) 100%);
}

/* El contenido debe estar por encima del overlay/fondo */
.hero-content{ position: relative; z-index:2; }

/* Respeto por reduced motion: dejamos la primera imagen estática */
@media (prefers-reduced-motion: reduce){
  .hero-bg img{ transition: none; }
}

/* ===== HERO background rotativo ===== */
.hero-bg {
  position: absolute;
  inset: 0;
  z-index: -1;
  overflow: hidden;
}

.hero-bg img {
  position: absolute;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
  transition: opacity 1.2s ease;
}

.hero-bg img.is-active {
  opacity: 1;
}
.section-hero{ background: none; position: relative; }
.section-hero::before{
  content:""; position:absolute; inset:0; z-index:0; pointer-events:none;
  background: linear-gradient(
    135deg,
    rgba(231,44,106,.12),   /* pink MUY suave */
    rgba(253,196,54,.10)    /* amarillo MUY suave */
  );
}
.section-hero .hero-content{ position: relative; z-index:1; }
.section-hero h1,
.section-hero p,
.section-hero .hero-badges span {
  text-shadow: 0 2px 8px rgba(0,0,0,.25);
}

/* ====== Estilos para páginas de post (blog) ====== */
.post{
  max-width: 900px;
  margin: 32px auto 64px;
  padding: 0 20px;
  background:#fff;
}

/* Cabecera del post */
.post-header{ margin-bottom: 18px; }
.post-header h1{
  margin: 0 0 10px;
  line-height: 1.15;
  font: 800 clamp(1.6rem,3.6vw,2.4rem) var(--font);
  color:#111;
  position:relative;
}
.post-header h1::after{
  content:"";
  display:block;
  width:64px; height:4px; border-radius:4px;
  background:linear-gradient(90deg,var(--brand-pink),var(--brand-yellow));
  margin-top:10px;
}
.post-meta{ margin:0; color:var(--muted); font-size:.95rem; }

/* Imagen destacada */
.post-header picture, 
.post-header img{
  display:block;
  width:100%;
  height:auto;
  border-radius:12px;
  box-shadow:var(--shadow-sm);
  margin-top:12px;
}

/* Cuerpo del post */
.post-intro{ margin-top:14px; }
.post > article{ color:var(--text); }
.post > article p{ margin:0 0 14px; line-height:1.75; }
.post > article h2{
  margin:28px 0 10px;
  font:700 clamp(1.25rem,2.4vw,1.6rem) var(--font);
  color:var(--brand-pink);
}
.post > article h3{
  margin:22px 0 8px;
  font:700 clamp(1.05rem,2.2vw,1.2rem) var(--font);
  color:#222;
}
.post > article ul,
.post > article ol{
  margin:0 0 14px; padding-left:22px;
}
.post > article li{ margin:6px 0; }
.post > article a{
  color:var(--brand-pink);
  text-decoration:underline;
  text-decoration-thickness:2px;
  text-underline-offset:3px;
}
.post > article blockquote{
  margin:18px 0; padding:12px 16px;
  border-left:4px solid var(--brand-pink);
  background:#fff7fb; border-radius:10px; color:#444;
}
.post > article hr{
  border:0; height:1px; margin:22px 0;
  background:linear-gradient(90deg,#eee,var(--brand-yellow),#eee);
}

/* CTA y botones locales del post */
.post .btn{ padding:12px 18px; border-radius:12px; }
.post .btn-outline{
  display:inline-block;
  padding:12px 18px;
  border-radius:12px;
  border:2px solid var(--brand-pink);
  color:var(--brand-pink); background:#fff;
  font-weight:700; text-decoration:none;
}
.post .btn-outline:hover{ background:rgba(231,44,106,.06); text-decoration:none; }

/* Botones compartir */
.share-buttons{ display:flex; gap:.5rem; flex-wrap:wrap; }
.share-btn{
  display:inline-block;
  padding:8px 12px; border-radius:999px;
  background:rgba(0,0,0,.05);
  color:#333; font-weight:600; text-decoration:none;
}
.share-btn[data-net="wa"]{ background:#25D366; color:#fff; }
.share-btn[data-net="tg"]{ background:#23a0e8; color:#fff; }
.share-btn[data-net="x"] { background:#111; color:#fff; }
.share-btn[data-net="fb"]{ background:#1877f2; color:#fff; }
.share-btn:hover{ filter:brightness(1.05); text-decoration:none; }

/* Footer del post */
.post-footer{ margin-top:18px; color:var(--muted); }

/* Respeto a reduced motion */
@media (prefers-reduced-motion: reduce){
  .post-header h1::after{ transition:none; }
}
/* ===== Blog posts ===== */
.post{max-width:860px;margin:0 auto;padding:24px 16px;line-height:1.65;color:#222}
.post-header h1{font-weight:800;font-size:clamp(1.9rem,3.2vw,2.4rem);margin:0 0 .35rem}
.post-meta{color:#777;margin:0 0 1rem}
.post-cover img{display:block;width:100%;max-height:460px;object-fit:cover;border-radius:14px;box-shadow:0 8px 24px rgba(0,0,0,.06)}
.post h2{margin:1.6rem 0 .6rem;font-weight:800;color:#111}
.post p,.post ul,.post ol{margin:.6rem 0}
.post ul,.post ol{padding-left:1.2rem}

/* Botones del post */
.btn.btn-outline{background:#fff;color:#333;border:2px solid #e5e5e5}

@media (min-width:768px){
  .post{padding:32px 20px}
}
