:root{
  --bg:#ffffff; --text:#0f172a; --muted:#334155;
  --border:rgba(15,23,42,.12); --shadow:0 10px 30px rgba(2,6,23,.08);
  --r:18px; --max:1120px; --pad:22px;
  --turq:#18b7b7; --turq-2:#0ea5a5; --yellow:#f6c545; --yellow-2:#f1b81e;
  --font: ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji";
}
*{box-sizing:border-box} html,body{margin:0;padding:0}
html{scroll-padding-top:110px}
.terms-section{scroll-margin-top:110px}

body{
  font-family:var(--font); color:var(--text); line-height:1.5;
  background:
    radial-gradient(1200px 600px at 15% -10%, rgba(24,183,183,.14), transparent 55%),
    radial-gradient(900px 500px at 95% 0%, rgba(246,197,69,.16), transparent 55%),
    var(--bg);
}
a{color:inherit}
.container{max-width:var(--max);margin:0 auto;padding:0 var(--pad)}

.header{
  position:sticky;top:0;z-index:20;
  background:rgba(255,255,255,.78); backdrop-filter:blur(10px);
  border-bottom:1px solid var(--border);
}
.nav{display:flex;align-items:center;justify-content:space-between;padding:14px 0;gap:16px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none}
.logo{
  width:38px;height:38px;border-radius:999px;
  background: url("/assets/img/citaclub-mark-tight.png") center/cover no-repeat;
  box-shadow:var(--shadow);
}
.brand strong{font-size:15px;letter-spacing:.2px}
.brand span{display:block;font-size:12px;color:var(--muted);margin-top:-2px}

.menu{display:flex;gap:14px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.menu a{text-decoration:none;padding:8px 10px;border-radius:12px;color:rgba(15,23,42,.86)}
.menu a:hover{background:rgba(2,6,23,.05)}
.cta{
  background:linear-gradient(135deg,var(--turq),var(--turq-2));
  color:#fff !important; box-shadow:var(--shadow);
}
.cta:hover{filter:saturate(1.05);transform:translateY(-1px)}

.hero{padding:46px 0 24px; position:relative; overflow:hidden}

/* HERO watermark centrado (solo Home) */
.home .hero::before{
  content:"";
  position:absolute;
  left:50%; top:50%;
  width:min(860px, 92vw);
  height:min(420px, 56vw);
  transform:translate(-50%,-50%);
  background:url("/assets/img/citaclub-logo-watermark.png") center/contain no-repeat;
  opacity:.14; /* más visible */
  pointer-events:none;
  filter:saturate(1.05);
}
.home .hero > *{position:relative; z-index:1}

/* Service-page hero watermark (igual al Home) */
.service-hero{padding:46px 0 24px; position:relative; overflow:hidden}

.service-page .service-hero::before{
  content:"";
  position:absolute;
  left:50%; top:50%;
  width:min(860px, 92vw);
  height:min(420px, 56vw);
  transform:translate(-50%,-50%);
  background:url("/assets/img/citaclub-logo-watermark.png") center/contain no-repeat;
  opacity:.14;
  pointer-events:none;
  filter:saturate(1.05);
}

/* Terms page: smaller watermark so the logo circle is fully visible */
.terms-page .service-hero::before{
  /* Más pequeño y bajo para evitar que el círculo quede cortado por el alto del hero */
  width:clamp(320px, 78vw, 760px);
  height:clamp(90px, 18vw, 130px);
  top:56%;
}

/* Servicios page: slightly larger watermark (keeps full logo visible) */
.servicios-page.terms-page .service-hero::before{
  width:clamp(450px, 85vw, 1060px);
  height:clamp(126px, 25vw, 182px);
  top:56%;
}
.service-page .service-hero > *{position:relative; z-index:1}

/* Editions pages: hero watermark (igual al Home) */
.ediciones-page .service-hero::before{
  content:"";
  position:absolute;
  /* Un poco más pequeño que en Home para que el círculo del logo se vea completo */
  left:50%; top:52%;
  width:min(820px, 92vw);
  height:min(260px, 36vw);
  transform:translate(-50%,-50%);
  background:url("/assets/img/citaclub-logo-watermark.png") center/contain no-repeat;
  opacity:.14;
  pointer-events:none;
  filter:saturate(1.05);
}
.ediciones-page .service-hero > *{position:relative; z-index:1}

.badge{
  display:inline-flex;align-items:center;gap:10px;
  background:rgba(24,183,183,.10); border:1px solid rgba(24,183,183,.20);
  padding:8px 12px;border-radius:999px;font-size:13px;
}
.dot{width:10px;height:10px;border-radius:50%;background:var(--yellow)}
h1{font-size:clamp(30px,4vw,46px);line-height:1.08;margin:14px 0 10px;text-wrap:balance}
.lead{font-size:18px;color:var(--muted);max-width:92ch;margin:0 0 18px;text-align:left;overflow-wrap:break-word;hyphens:auto;text-wrap:pretty;line-height:1.55}
.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}

.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  padding:11px 14px;border-radius:14px;border:1px solid var(--border);
  background:#fff;text-decoration:none;
}
.btn.primary{
  border:none; background:linear-gradient(135deg,var(--yellow),var(--yellow-2));
  color:rgba(15,23,42,.92); box-shadow:var(--shadow);
}
.btn.primary:hover{transform:translateY(-1px)}
.btn.ghost:hover{background:rgba(2,6,23,.04)}

/* Servicios: CTA principal "Revisa próximas ediciones" (hero) en amarillo CitaClub */
.service-page .service-hero .actions .btn{
  border:none;
  background:linear-gradient(135deg,var(--yellow),var(--yellow-2));
  color:rgba(15,23,42,.92);
  box-shadow:var(--shadow);
}
.service-page .service-hero .actions .btn:hover{transform:translateY(-1px)}
.service-page .service-hero .actions .btn:active{transform:translateY(0)}

.grid{display:grid;grid-template-columns:repeat(12,1fr);gap:16px}
/* 2-column grid used on "Ediciones" pages (keeps vertical spacing when stacked) */
.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start}
.card{
  background:rgba(255,255,255,.94);
  border:1px solid rgba(15,23,42,.14); border-radius:var(--r);
  box-shadow:0 12px 34px rgba(2,6,23,.10); padding:18px;
}

/* Service cards: keep CTA buttons aligned across cards */
.service-card{display:flex;flex-direction:column;height:100%}
.service-card .actions{margin-top:auto;padding-top:12px;justify-content:center}
/* Ensure the description area grows so CTAs stay aligned even when copy length differs */
.service-card p{
  flex:1 1 auto;
  text-align:justify;
  text-justify:inter-word;
  text-align-last:left;
  hyphens:none;
  word-break:normal;
  overflow-wrap:normal;
  letter-spacing:-0.01em;
  word-spacing:-0.02em;
  line-height:1.55;
}
.card h3{margin:0 0 8px} .card p{margin:0;color:var(--muted)}

.step-head{display:flex;align-items:center;gap:12px;margin-bottom:8px}
.step-head h3{margin:0}
.step-number-wrap{display:inline-flex;align-items:center;gap:6px;flex:0 0 auto}
.step-number-inline{
  display:inline-flex;align-items:center;justify-content:center;
  width:30px;height:30px;border-radius:999px;
  background:rgba(24,183,183,.12);
  border:1px solid rgba(24,183,183,.24);
  color:rgba(15,23,42,.88);
  font-weight:700;font-size:14px;line-height:1;flex:0 0 auto;
}
.step-colon{
  color:var(--navy);
  font-weight:800;
  font-size:24px;
  line-height:1;
  transform:translateY(-1px);
}
.step-card{padding:14px 14px 16px}
.step-card p{margin-top:0;text-align:justify;text-justify:inter-word;text-align-last:left;hyphens:auto;overflow-wrap:break-word;line-height:1.45;font-size:15px}
.card .tag{
  display:inline-flex;align-items:center;gap:8px;
  font-size:12px;color:rgba(15,23,42,.78);
  background:rgba(246,197,69,.18); border:1px solid rgba(246,197,69,.24);
  border-radius:999px; padding:6px 10px; margin-bottom:10px;
}
.section{padding:22px 0}
.section .sub{color:var(--muted);margin:0 0 14px;max-width:92ch;text-align:left;overflow-wrap:break-word;hyphens:auto;text-wrap:pretty;line-height:1.6}

.kpis{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}
.kpi{
  background:rgba(2,6,23,.04); border:1px solid rgba(2,6,23,.06);
  padding:8px 10px;border-radius:14px;font-size:13px;color:rgba(15,23,42,.78);
}

.footer{margin-top:34px;padding:16px 0;border-top:1px solid var(--border);background:rgba(255,255,255,.7)}
.footergrid{display:grid;grid-template-columns:1fr minmax(320px,560px);gap:16px 22px;align-items:start}

/* Footer socials: 3 columnas x 2 filas en desktop (compacto) */
.footerright{margin-left:0;text-align:center}
.footerright .socials{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px 12px;
  justify-items:stretch;
  align-items:start;
}
.footerright .social{width:100%;min-width:0;justify-content:flex-start}
.footer-title{font-weight:700;margin-bottom:6px;width:100%;text-align:center}
.footer-bottom{margin-top:10px;text-align:center}
.small{font-size:12px;color:var(--muted);max-width:70ch}

/* FIX redes sociales: icono con tamaño fijo + texto limpio (sin URL) */
.socials{display:flex;gap:10px;flex-wrap:wrap}
.social{
  display:inline-flex;align-items:center;gap:10px;text-decoration:none;
  padding:10px 12px;border-radius:14px;border:1px solid var(--border);background:#fff;
}
.social:hover{background:rgba(2,6,23,.04)}
.social svg{
  width:20px;height:20px;flex:0 0 20px;display:block;
  fill:currentColor;
}
.social span{font-size:13px;color:rgba(15,23,42,.86);white-space:nowrap;min-width:0;overflow:hidden;text-overflow:ellipsis}

@media (max-width: 900px){
  .footergrid{grid-template-columns:1fr}
  .footerright{width:100%;text-align:left}
  .footerright .socials{grid-template-columns:repeat(2,minmax(0,1fr));justify-items:stretch}
}
@media (max-width: 520px){
  .footerright .socials{grid-template-columns:1fr}
  .social{width:100%;justify-content:flex-start}
}




/* Tipografía: justificar solo en desktop */
@media (min-width: 1024px){
  .lead,.section .sub{ text-align: justify; text-justify: inter-word; }

  /* Evita espacios exagerados por justificado en subtítulos muy anchos */
  .service-page .service-hero .lead{
    max-width: 92ch;
    text-wrap: pretty;
    hyphens: auto;
    text-align-last: left;
  }
}

@media (max-width:860px){.grid{grid-template-columns:1fr}.grid-2{grid-template-columns:1fr}}


/* Colores de íconos por red (solo el ícono) */
.social.ig{color:#E1306C;}
.social.tiktok{color:#111827;} /* TikTok: casi negro */
.social.fb{color:#1877F2;}

.social.threads{color:#111827;} /* Threads: negro */
.social.x{color:#111827;} /* X: negro */


.social.yt {
  color: #ff0000;
}
/* Mantener el texto legible (no brand-color) */
.social span{color:rgba(15,23,42,.86);}


/* Header brand: no es enlace (Inicio ya cumple esa función) */
.brand.brand-static{cursor:default;}


/* v7: Se elimina el botón WhatsApp del header (redundante con CTA inferior) */
.nav{gap:18px;}
@media (max-width: 820px){
  .nav{gap:14px;}
}

/* ====== Términos ====== */
.terms-grid{align-items:start;}
.toc{position:sticky; top:92px;}
.toc .meta{margin-top:12px; font-size:13px; color:rgba(15,23,42,.72);}
.toc-list{margin:0; padding-left:18px;}
.toc-list li{margin:6px 0;}
.toc-list a{color:rgba(15,23,42,.88); text-decoration:none;}
.toc-list a:hover{text-decoration:underline;}

.terms-sections{display:flex; flex-direction:column; gap:14px;}
.terms-section h2{margin:0 0 10px 0; font-size:18px; scroll-margin-top:96px;}
.terms-section p{margin:.55em 0; color:rgba(15,23,42,.86); line-height:1.65;}
.terms-section li{margin:.45em 0; color:rgba(15,23,42,.86); line-height:1.65;}

/* Legal: evitar negritas dentro de párrafos (p. ej., <strong>/ <b> en texto corrido) */
.terms-page .terms-section p strong,
.terms-page .terms-section p b{font-weight:inherit;}


@media (max-width: 860px){
  .toc{position:static;}
}

@media (min-width: 1024px){
  .terms-page .terms-section p,.terms-page .terms-section li{ text-align: justify; text-justify: inter-word; hyphens:auto; }
  /* Evita que los números del índice se recorten dentro del contenedor con scroll */
  .terms-page .toc-list{
    max-height: 70vh;
    overflow: auto;
    padding-right: 8px;
    padding-left: 0;
    list-style-position: inside;
  }
}


/* Términos: caja Resumen rápido */
.quick-summary h2{margin-top:0}
.summary-list{margin:10px 0 0;padding-left:18px;color:var(--muted)}
.summary-list li{margin:6px 0}
@media (min-width: 860px){
  .summary-list{columns:2; column-gap:22px}
  .summary-list li{break-inside:avoid}
}

/* Términos: justificar solo el contenido largo en desktop (evita huecos en textos cortos) */
@media (min-width: 860px){
  .terms-page .terms-section p,
  .terms-page .terms-section li{
    text-align: justify;
    hyphens: auto;
    text-justify: inter-word;
  }
  .terms-page .hero .lead{ text-align:left; }
}

/* Colaboración: formulario en home */
.collab-card{max-width:680px;margin:0 auto;padding:12px 14px 10px;}
/* Compact collaboration form */
.collab-card .section-title{margin:0 0 4px;font-size:24px;line-height:1.12;}
.collab-card .section-subtitle{margin:0 0 8px;line-height:1.4;font-size:14.5px;}
.collab-card .form-grid{gap:8px;margin-top:6px;}
.collab-card .label{margin-bottom:4px;font-size:14px;}
.collab-card .input{padding:8px 10px;min-height:36px;font-size:14.5px;}
.collab-card .textarea{padding:8px 10px;min-height:70px;font-size:14.5px;}
.collab-card .select-wrap select{padding:8px 34px 8px 10px;min-height:36px;font-size:14.5px;}
.collab-card .options{gap:6px;margin-top:6px;grid-template-columns:1fr;}
.collab-card .option{padding:6px 10px;font-size:13.8px;line-height:1.2;}
.collab-card .option span{line-height:1.2;}
.collab-card .btn-primary{
  padding:9px 14px;
  min-height:36px;
  font-size:14.5px;
  background: var(--yellow);
  color:#111;
  border-color: transparent;
  font-weight:700;
}
.btn-primary:hover{filter:brightness(0.98);}
.btn-primary:active{filter:brightness(0.96);}
.btn-primary:focus{outline: none;}
.btn-primary:focus-visible{box-shadow:0 0 0 4px rgba(49, 200, 202, .22);}

@media (min-width:720px){.collab-card .options{grid-template-columns:1fr 1fr;}}

.collab-form{margin-top:14px}
.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:14px}
.form-grid .full{grid-column:1 / -1}
.label{display:block;font-weight:700;margin-bottom:8px;color:var(--text)}
.input,.textarea{width:100%;padding:14px 16px;border:1px solid var(--border);border-radius:14px;background:#fff;color:var(--text);font-size:16px;line-height:1.3}
.textarea{resize:vertical;min-height:140px}
.input:focus,.textarea:focus{outline:none;border-color:rgba(41,167,160,.65);box-shadow:0 0 0 4px rgba(41,167,160,.12)}

.options{display:grid;gap:10px}
.option{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;border:1px solid var(--border);border-radius:14px;background:#fff;cursor:pointer}
.option input{margin-top:4px;accent-color:var(--accent)}
.option span{line-height:1.35}
.option.selected{border-color:rgba(41,167,160,.65);box-shadow:0 0 0 4px rgba(41,167,160,.10)}

.collab-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap}


/* Collab options two columns */
@media (min-width: 860px){
  .collab-card .options{grid-template-columns:1fr 1fr;}
}
@media (max-width: 720px){
  .form-grid{grid-template-columns:1fr}
}


/* Ediciones: separar cards de info (Qué verás aquí / Soporte y coordinación) */
.ediciones-page .card-spaced{ margin-top: 14px; }
@media (max-width: 860px){
  .ediciones-page .card-spaced{ margin-top: 10px; }
}


/* Footer legal links (small, left side) */
.legal-links{
  margin-top: 8px;
  margin-bottom: 8px;
  display: flex;
  flex-wrap: wrap;
  gap: 6px 14px;
  font-size: 12px;
  color: var(--muted);
}
.legal-links a{
  color: inherit;
  text-decoration: none;
}
.legal-links a:hover{
  text-decoration: underline;
}

/* Form: select estilo CitaClub */
.select-wrap{ position:relative; }
.select-wrap select{
  width:100%;
  appearance:none;
  -webkit-appearance:none;
  -moz-appearance:none;
  /* Match the look of other inputs on the home page (white card) */
  padding:14px 42px 14px 16px;
  border-radius:14px;
  border:1px solid var(--border);
  background:#fff;
  color:var(--text);
  font-size:16px;
  line-height:1.3;
}
.select-wrap:after{
  content:"▾";
  position:absolute;
  right:12px;
  top:50%;
  transform:translateY(-50%);
  pointer-events:none;
  color:rgba(15,23,42,.65);
}
.select-wrap select:focus{
  outline:none;
  border-color:rgba(41,167,160,.65);
  box-shadow:0 0 0 4px rgba(41,167,160,.12);
}

/* Placeholder-like color when the disabled "Selecciona..." option is shown */
.select-wrap select:required:invalid{ color: rgba(15,23,42,.45); }
.select-wrap select:required:invalid option{ color: var(--text); }


/* Editions: highlight primary CTA */
.ediciones-page .btn.btn-primary{
  padding:9px 14px;
  min-height:36px;
  font-size:14.5px;
  background: var(--yellow);
  color:#111;
  border-color: transparent;
  font-weight:700;
}
.btn-primary:hover{filter:brightness(0.98);}
.btn-primary:active{filter:brightness(0.96);}
.btn-primary:focus{outline: none;}
.btn-primary:focus-visible{box-shadow:0 0 0 4px rgba(49, 200, 202, .22);}
.ediciones-page .btn.btn-primary:hover{
  filter: brightness(0.98);
}
.ediciones-page .btn.btn-primary:focus{
  outline: 3px solid rgba(246,197,69,.35);
  outline-offset: 2px;
}


/* Editions pages: make cards same height */
.ediciones-page .grid-2{align-items:stretch}
.ediciones-page .grid-2 .card{height:100%}

/* Registered symbol */
sup.reg{font-size:.65em;vertical-align:super;line-height:0;}


/* ====== Home refresh v101 ====== */
.section-head{margin-bottom:14px}
.section-head h2{margin:0 0 8px;font-size:clamp(24px,3vw,34px);line-height:1.12}
.hero-subcopy{max-width:86ch;margin:0;color:var(--muted)}
.home-hero-enhanced .actions{margin-top:20px}

.home-lead-wide{max-width:none;width:100%;text-align:justify;text-justify:inter-word;text-align-last:left}
.mini-list{
  margin:14px 0 0;
  padding-left:18px;
  color:var(--muted);
  line-height:1.6;
}
.mini-list li + li{margin-top:4px}
.steps-grid .card,
.trust-card,
.assurance-item{height:100%}
.steps-grid > .step-card:nth-child(2) p{font-size:14.5px;line-height:1.42;letter-spacing:-0.01em}
.step-number{
  position:absolute;top:18px;left:18px;
  width:30px;height:30px;border-radius:999px;
  display:flex;align-items:center;justify-content:center;
  background:rgba(24,183,183,.12);
  border:1px solid rgba(24,183,183,.24);
  color:rgba(15,23,42,.88);
  font-weight:700;font-size:14px;
}
.assurance-card{padding:20px}
.assurance-grid{gap:14px}
.assurance-grid > .assurance-item{grid-column:span 6 !important}
.assurance-item{
  background:rgba(2,6,23,.03);
  border:1px solid rgba(15,23,42,.08);
  border-radius:16px;
  padding:16px;
}
.assurance-item h3{margin:0 0 8px;font-size:17px}
.assurance-item p,
.trust-card p{
  margin:0;
  color:var(--muted);
  font-size:15.5px;
  text-align:justify;
  text-justify:inter-word;
  text-align-last:left;
  hyphens:none;
  word-break:normal;
  overflow-wrap:normal;
  letter-spacing:-0.005em;
  word-spacing:-0.01em;
  line-height:1.52;
}
.cta-band{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  background:linear-gradient(135deg, rgba(24,183,183,.12), rgba(246,197,69,.18));
}
.cta-band h2{margin:0 0 8px;font-size:clamp(22px,3vw,32px);line-height:1.12}
.cta-band .sub{margin:0;max-width:70ch}
.legal-links{display:flex;flex-wrap:wrap;gap:10px 14px;margin:6px 0 10px}
.legal-links a{font-size:13px;color:rgba(15,23,42,.84);text-decoration:none}
.legal-links a:hover{text-decoration:underline}

@media (max-width: 860px){
  .cta-band{flex-direction:column;align-items:flex-start}
  .assurance-grid > *{grid-column:span 12 !important}
}


/* --- Speed Dating service page refresh --- */
.service-page{
  display:block;
}
.service-hero{
  max-width:1200px;
  margin:0 auto;
  padding:24px 24px 12px;
}
.service-hero__content{
  background: linear-gradient(135deg, rgba(214,240,239,.55), rgba(246,226,178,.38));
  border:1px solid var(--line);
  border-radius:32px;
  padding:32px;
}
.eyebrow{
  display:inline-flex;
  padding:10px 16px;
  border-radius:999px;
  border:1px solid #efd18a;
  background:#f6efdc;
  font-style:italic;
  color:var(--ink-2);
  margin-bottom:16px;
}
.service-hero h1{
  margin:0 0 12px;
}
.service-hero .lead{
  font-size:1.25rem;
  line-height:1.6;
  max-width:980px;
  margin:0 0 20px;
}
.service-hero__actions,
.service-cta__actions{
  display:flex;
  gap:14px;
  flex-wrap:wrap;
  align-items:center;
}
.service-section{
  max-width:1200px;
  margin:0 auto;
  padding:12px 24px 10px;
}
.section-intro{
  margin-bottom:18px;
}
.section-intro h2{
  margin-bottom:10px;
}
.section-intro p{
  max-width:980px;
}
.steps-grid--service{
  grid-template-columns:repeat(3, minmax(0,1fr));
}
.cards-grid{
  display:grid;
  gap:20px;
}
.cards-grid--three{
  grid-template-columns:repeat(3, minmax(0,1fr));
}
.cards-grid--four{
  grid-template-columns:repeat(4, minmax(0,1fr));
}
.info-card,
.mini-card{
  background:var(--white);
  border:1px solid var(--line);
  border-radius:24px;
  padding:24px;
  box-shadow:0 8px 24px rgba(12,22,48,.05);
}
.info-card h3,
.mini-card h3{
  margin:0 0 12px;
}
.info-card p,
.mini-card p,
.step-card p{
  text-align:justify;
  hyphens:none;
  word-break:normal;
  overflow-wrap:normal;
  line-height:1.58;
}
.service-cta{
  max-width:1200px;
  margin:0 auto;
  padding:14px 24px 40px;
}
.service-cta__box{
  border:1px solid var(--line);
  border-radius:28px;
  padding:28px;
  background:linear-gradient(135deg, rgba(214,240,239,.48), rgba(246,226,178,.32));
  display:flex;
  justify-content:space-between;
  gap:24px;
  align-items:center;
}
.service-cta__box h2{
  margin:0 0 10px;
}
.service-cta__box p{
  margin:0;
  max-width:760px;
}
@media (max-width: 1100px){
  .steps-grid--service,
  .cards-grid--three,
  .cards-grid--four{
    grid-template-columns:repeat(2, minmax(0,1fr));
  }
  .service-cta__box{
    flex-direction:column;
    align-items:flex-start;
  }
}
@media (max-width: 720px){
  .service-hero,
  .service-section,
  .service-cta{
    padding-left:16px;
    padding-right:16px;
  }
  .service-hero__content,
  .service-cta__box{
    padding:22px;
    border-radius:24px;
  }
  .steps-grid--service,
  .cards-grid--three,
  .cards-grid--four{
    grid-template-columns:1fr;
  }
  .service-hero .lead{
    font-size:1.08rem;
  }
}



/* --- Speed Dating how-it-works cards polish --- */
.steps-grid--service-5{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:20px;
}
.step-card--service{
  background:var(--white);
  border:1px solid var(--line);
  border-radius:24px;
  padding:24px;
  box-shadow:0 8px 24px rgba(12,22,48,.05);
  min-height:100%;
}
.step-card--service .step-card__heading{
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:14px;
}
.step-card--service .step-card__badge{
  width:54px;
  height:54px;
  border-radius:999px;
  background:rgba(214,240,239,.65);
  border:2px solid #b9e4e3;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 54px;
}
.step-card--service .step-card__num{
  font-size:1.75rem;
  line-height:1;
  font-weight:800;
  color:var(--ink);
}
.step-card--service .step-card__colon{
  font-size:2rem;
  line-height:1;
  font-weight:800;
  color:var(--ink);
  margin-right:2px;
}
.step-card--service h3{
  margin:0;
  font-size:1.9rem;
  line-height:1.12;
}
.step-card--service p{
  margin:0;
  text-align:justify;
  hyphens:none;
  word-break:normal;
  overflow-wrap:normal;
  line-height:1.6;
}
@media (min-width: 1101px){
  .steps-grid--service-5 .step-card--service:last-child{
    grid-column:1 / -1;
    max-width:calc((100% - 20px) / 2);
    width:100%;
    justify-self:center;
  }
}
@media (max-width: 720px){
  .steps-grid--service-5{
    grid-template-columns:1fr;
  }
  .step-card--service{
    padding:22px;
  }
  .step-card--service h3{
    font-size:1.55rem;
  }
  .step-card--service .step-card__badge{
    width:48px;
    height:48px;
    flex-basis:48px;
  }
  .step-card--service .step-card__num{
    font-size:1.5rem;
  }
  .step-card--service .step-card__colon{
    font-size:1.7rem;
  }
}




/* --- Speed dating hero simplified --- */
.service-hero__content--plain{
  background:none !important;
  border:none !important;
  padding:0 !important;
}

/* full width bubble for description */
.wide-bubble{
  margin-top:14px;
  background:var(--white);
  border:1px solid var(--line);
  border-radius:28px;
  padding:28px 32px;
  box-shadow:0 10px 26px rgba(12,22,48,.06);
}

.wide-bubble p{
  margin:0;
  text-align:justify;
  line-height:1.65;
  hyphens:none;
  word-break:normal;
  overflow-wrap:normal;
}

/* keep hero text large and clean */
.service-hero h1{
  max-width:900px;
}

.service-hero .lead{
  max-width:900px;
}



/* --- Speed dating warm yellow accents --- */
.eyebrow--warm{
  background:#f3bf2b !important;
  border-color:#f3bf2b !important;
  color:var(--ink) !important;
}

.btn-primary--warm{
  background:#f3bf2b !important;
  border-color:#f3bf2b !important;
  color:var(--ink) !important;
}

.btn-primary--warm:hover,
.btn-primary--warm:focus-visible{
  background:#e7b21b !important;
  border-color:#e7b21b !important;
  color:var(--ink) !important;
}



/* --- Speed dating hero lead width refinement --- */
.service-hero .lead{
  max-width:1320px !important;
  text-align:justify;
}



/* --- Group wrapper for how-it-works section --- */
.service-section--framed{
  padding-top:6px;
}
.mega-flow-card{
  background:var(--white);
  border:1px solid var(--line);
  border-radius:32px;
  padding:28px;
  box-shadow:0 10px 26px rgba(12,22,48,.06);
}
.mega-flow-card .section-intro{
  margin-bottom:20px;
}
.mega-flow-card .wide-bubble{
  box-shadow:none;
  background:#fcfcfc;
}
@media (max-width: 720px){
  .mega-flow-card{
    padding:18px;
    border-radius:24px;
  }
}



/* --- Group wrapper for what-to-expect section --- */
.mega-flow-card .cards-grid{
  margin-top:6px;
}



/* --- Group wrapper for rules section --- */
.mega-flow-card .cards-grid--four{
  margin-top:6px;
}



/* --- Bubble height optimization for Speed Dating page --- */
.wide-bubble{
  padding:24px 28px !important;
}

.mega-flow-card{
  padding:24px !important;
}

.info-card,
.mini-card,
.step-card--service{
  padding:20px 22px !important;
}

.info-card h3,
.mini-card h3,
.step-card--service h3{
  margin:0 0 10px !important;
  line-height:1.18 !important;
}

.info-card p,
.mini-card p,
.step-card--service p{
  margin:0 !important;
  line-height:1.5 !important;
}

.step-card--service .step-card__heading{
  margin-bottom:12px !important;
}

.cards-grid,
.steps-grid--service-5{
  align-items:stretch;
}

@media (min-width: 900px){
  .cards-grid--three > .info-card,
  .cards-grid--four > .mini-card,
  .steps-grid--service-5 > .step-card--service{
    min-height:unset !important;
  }
}




/* --- Speed Dating: make rule cards wider so justified text looks clean --- */
.rules-grid{
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 22px !important;
}

.rules-grid .mini-card{
  padding: 22px 24px !important;
}

.rules-grid .mini-card p{
  text-align: justify !important;
  text-justify: inter-word !important;
  text-align-last: left !important;
  hyphens: none !important;
  -webkit-hyphens: none !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
  letter-spacing: -0.01em !important;
  word-spacing: -0.01em !important;
  line-height: 1.55 !important;
  font-size: 15.5px !important;
}

@media (max-width: 900px){
  .rules-grid{
    grid-template-columns: 1fr !important;
  }
}



/* --- Friend Dating page aligned to Speed Dating style --- */
.service-hero--fd h1{max-width: 1160px !important;}


/* --- Make hero titles in service pages use wider line length --- */
.service-hero h1{
  max-width: 1320px !important;
}


/* --- Force wider hero titles in Speed Dating and Friend Dating --- */
.service-hero--sd h1,
.service-hero--fd h1{
  max-width: none !important;
  width: 100% !important;
  display: block !important;
}

.service-hero--sd .service-hero__content,
.service-hero--fd .service-hero__content{
  max-width: none !important;
}



/* --- Hero titles: restore normal text and make them span the content width more naturally --- */
.service-hero--sd h1,
.service-hero--fd h1{
  max-width: none !important;
  width: 100% !important;
  display: block !important;
  font-size: clamp(56px, 5.2vw, 76px) !important;
  line-height: 1.02 !important;
  text-wrap: unset !important;
  text-align: justify !important;
  text-justify: inter-word !important;
  text-align-last: left !important;
  letter-spacing: -0.03em !important;
}

.service-hero--sd .service-hero__content,
.service-hero--fd .service-hero__content{
  max-width: none !important;
  width: 100% !important;
}

@media (max-width: 900px){
  .service-hero--sd h1,
  .service-hero--fd h1{
    text-align: left !important;
    font-size: clamp(42px, 10vw, 58px) !important;
    line-height: 1.04 !important;
  }
}




/* --- Reduce hero title size while keeping wide justified layout --- */
.service-hero--sd h1,
.service-hero--fd h1{
  font-size: clamp(48px, 4.5vw, 64px) !important;
  line-height: 1.04 !important;
}


/* --- Networking page aligned to Speed Dating style --- */
.service-hero--nw h1{
  max-width: none !important;
  width: 100% !important;
  display: block !important;
  font-size: clamp(48px, 4.5vw, 64px) !important;
  line-height: 1.04 !important;
  text-wrap: unset !important;
  text-align: justify !important;
  text-justify: inter-word !important;
  text-align-last: left !important;
  letter-spacing: -0.03em !important;
}
.service-hero--nw .service-hero__content{
  max-width: none !important;
  width: 100% !important;
}
@media (max-width: 900px){
  .service-hero--nw h1{
    text-align: left !important;
    font-size: clamp(42px, 10vw, 58px) !important;
    line-height: 1.04 !important;
  }
}



/* --- Edition pages aligned with service pages --- */
.edition-page .service-hero h1{
  max-width:none !important;
  width:100% !important;
  font-size:clamp(48px, 4.5vw, 64px) !important;
  line-height:1.04 !important;
  text-align:justify !important;
  text-justify:inter-word !important;
  text-align-last:left !important;
  letter-spacing:-0.03em !important;
}
@media (max-width: 900px){
  .edition-page .service-hero h1{
    text-align:left !important;
    font-size:clamp(40px, 9vw, 56px) !important;
  }
}




/* --- Multi-edition template for Speed Dating editions page --- */
.editions-list-page .service-hero h1{
  max-width:none !important;
  width:100% !important;
  font-size:clamp(48px, 4.5vw, 64px) !important;
  line-height:1.04 !important;
  text-align:justify !important;
  text-justify:inter-word !important;
  text-align-last:left !important;
  letter-spacing:-0.03em !important;
}
.edition-cards-stack{
  display:flex;
  flex-direction:column;
  gap:24px;
}
.edition-card{
  border:1px solid var(--line);
  border-radius:32px;
  background:var(--white);
  box-shadow:0 10px 26px rgba(12,22,48,.06);
  padding:28px;
}
.edition-card__header{
  display:flex;
  justify-content:space-between;
  gap:18px;
  align-items:flex-start;
  margin-bottom:18px;
}
.edition-card__header h3{
  margin:6px 0 0;
  font-size:clamp(26px, 3vw, 36px);
  line-height:1.08;
}
.edition-card__eyebrow{
  display:inline-flex;
  padding:8px 12px;
  border-radius:999px;
  background:rgba(243,191,43,.18);
  border:1px solid rgba(243,191,43,.38);
  font-size:13px;
}
.edition-status{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:10px 14px;
  border-radius:999px;
  font-weight:700;
  font-size:14px;
  white-space:nowrap;
}
.edition-status--draft{
  background:rgba(15,23,42,.08);
  color:rgba(15,23,42,.82);
}
.edition-card__meta{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-bottom:18px;
}
.edition-chip{
  display:inline-flex;
  align-items:center;
  padding:10px 14px;
  border:1px solid var(--line);
  border-radius:999px;
  background:#fff;
}
.edition-card__pricing{
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:16px;
  margin-bottom:18px;
}
.price-box{
  border:1px solid var(--line);
  border-radius:24px;
  padding:20px;
  background:linear-gradient(135deg, rgba(214,240,239,.35), rgba(246,226,178,.25));
}
.price-box__label{
  font-size:14px;
  color:var(--muted);
  margin-bottom:8px;
}
.price-box__value{
  font-size:clamp(20px, 2.4vw, 30px);
  line-height:1.15;
  font-weight:800;
}
.wide-bubble--inner{
  margin-top:4px;
  margin-bottom:18px;
}
.edition-detail-grid{
  margin-bottom:18px;
}
.edition-card__actions{
  margin-top:6px;
}
.edition-card--notes{
  padding:0;
  border:none;
  box-shadow:none;
  background:transparent;
}
@media (max-width: 900px){
  .editions-list-page .service-hero h1{
    text-align:left !important;
    font-size:clamp(40px, 9vw, 56px) !important;
  }
  .edition-card{
    padding:22px;
    border-radius:24px;
  }
  .edition-card__header{
    flex-direction:column;
  }
  .edition-card__pricing{
    grid-template-columns:1fr;
  }
}




/* --- Compact "Cómo usar esta página" block and improve justified text --- */
.editions-list-page .mega-flow-card{
  padding: 22px 24px !important;
}

.editions-list-page .wide-bubble{
  padding: 18px 20px !important;
  margin-top: 6px !important;
  margin-bottom: 12px !important;
}

.editions-list-page .section-intro{
  margin-bottom: 12px !important;
}

.editions-list-page .section-intro .wide-bubble h2{
  margin: 0 !important;
}

.editions-list-page .cards-grid--three{
  gap: 16px !important;
}

.editions-list-page .cards-grid--three .info-card{
  padding: 18px 20px !important;
  min-height: 0 !important;
}

.editions-list-page .cards-grid--three .info-card h3{
  margin: 0 0 10px !important;
  line-height: 1.12 !important;
}

.editions-list-page .cards-grid--three .info-card p{
  margin: 0 !important;
  font-size: 14.8px !important;
  line-height: 1.48 !important;
  text-align: justify !important;
  text-justify: inter-word !important;
  text-align-last: left !important;
  letter-spacing: -0.01em !important;
  word-spacing: -0.03em !important;
  hyphens: none !important;
  -webkit-hyphens: none !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
}




/* --- Justify "Ediciones publicadas" intro text aesthetically --- */
.editions-list-page .section-intro .wide-bubble p{
  text-align: justify !important;
  text-justify: inter-word !important;
  text-align-last: left !important;
  font-size: 15.6px !important;
  line-height: 1.52 !important;
  letter-spacing: -0.01em !important;
  word-spacing: -0.025em !important;
  hyphens: none !important;
  -webkit-hyphens: none !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
  max-width: none !important;
}



/* Promo card aesthetic adjustment */
.promo-inline{
  font-size: 1.9rem;
  line-height: 1.2;
  white-space: nowrap;
}

/* Slightly reduce price card typography for balance */
.price-card h3{
  font-size: 1rem;
}

.price-card .price{
  font-size: 2.4rem;
}



/* --- Price cards aesthetic refinement --- */
.price-box{
  padding: 18px 20px !important;
}

.price-box__label{
  font-size: 16px !important;
  line-height: 1.2 !important;
  font-weight: 700 !important;
  color: var(--navy) !important;
  margin-bottom: 12px !important;
}

.price-box__value{
  font-size: clamp(38px, 3.4vw, 54px) !important;
  line-height: 1.05 !important;
  font-weight: 800 !important;
  letter-spacing: -0.02em !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
}

.promo-inline{
  display: inline-block !important;
  font-size: clamp(28px, 2.6vw, 42px) !important;
  line-height: 1.08 !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
}

@media (max-width: 900px){
  .price-box__value{
    font-size: clamp(32px, 8vw, 42px) !important;
  }
  .promo-inline{
    font-size: clamp(26px, 7vw, 36px) !important;
  }
}



/* --- Refine price/promo cards for single-line promo and stronger labels --- */
.edition-card__pricing{
  align-items: stretch !important;
}

.price-box{
  min-height: 164px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
}

.price-box__label{
  font-size: 18px !important;
  line-height: 1.18 !important;
  font-weight: 800 !important;
  color: var(--navy) !important;
  opacity: 0.94 !important;
  margin-bottom: 14px !important;
}

.price-box__value{
  font-size: clamp(34px, 3vw, 48px) !important;
  line-height: 1.04 !important;
  font-weight: 800 !important;
  letter-spacing: -0.025em !important;
}

.promo-inline{
  display: inline-block !important;
  font-size: clamp(20px, 1.75vw, 30px) !important;
  line-height: 1.12 !important;
  white-space: nowrap !important;
  overflow-wrap: normal !important;
  word-break: keep-all !important;
  letter-spacing: -0.02em !important;
}

@media (max-width: 900px){
  .price-box{
    min-height: auto !important;
  }
  .price-box__label{
    font-size: 17px !important;
  }
  .price-box__value{
    font-size: clamp(30px, 7vw, 40px) !important;
  }
  .promo-inline{
    white-space: normal !important;
    font-size: clamp(24px, 6.5vw, 34px) !important;
  }
}



/* --- Edition pricing row: 4 aligned cards including CTA --- */
.edition-card__pricing--four{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:18px !important;
  align-items:stretch !important;
  margin-bottom:18px !important;
}

.price-box{
  min-height:136px !important;
  padding:16px 18px !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:flex-start !important;
}

.price-box__label{
  font-size:20px !important;
  line-height:1.15 !important;
  font-weight:800 !important;
  color:var(--navy) !important;
  opacity:0.96 !important;
  margin-bottom:12px !important;
}

.price-box__value{
  font-size:clamp(20px,1.75vw,30px) !important;
  line-height:1.08 !important;
  font-weight:800 !important;
  letter-spacing:-0.02em !important;
  white-space:normal !important;
  overflow-wrap:anywhere !important;
  word-break:normal !important;
}

.promo-inline{
  display:inline-block !important;
  font-size:clamp(20px,1.75vw,30px) !important;
  line-height:1.08 !important;
  white-space:nowrap !important;
  overflow-wrap:normal !important;
  word-break:keep-all !important;
  letter-spacing:-0.02em !important;
}

.price-box--cta{
  justify-content:space-between !important;
}

.price-box__cta{
  margin-top:auto !important;
  display:flex !important;
  align-items:flex-end !important;
}

.price-box--cta .btn{
  width:100% !important;
  justify-content:center !important;
  padding:16px 18px !important;
  font-size:18px !important;
  border-radius:18px !important;
}

.edition-card__actions{
  display:none !important;
}

@media (max-width: 1100px){
  .edition-card__pricing--four{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}
@media (max-width: 700px){
  .edition-card__pricing--four{
    grid-template-columns:1fr !important;
  }
  .promo-inline{
    white-space:normal !important;
  }
}



/* --- Reduce promo text a bit more so it fits on one line --- */
.promo-inline{
  font-size: clamp(16px, 1.45vw, 24px) !important;
  line-height: 1.08 !important;
  white-space: nowrap !important;
  letter-spacing: -0.025em !important;
}

/* --- Slightly smaller promo text so it always fits one line --- */
.promo-inline{
  font-size: clamp(14px, 1.25vw, 20px) !important;
  line-height: 1.08 !important;
  white-space: nowrap !important;
  letter-spacing: -0.02em !important;
}

/* --- Inline CTA without bubble --- */
.edition-card__cta-inline{
  display:flex;
  justify-content:flex-end;
  margin-top:16px;
}

.edition-card__cta-inline .btn{
  padding:16px 28px;
  border-radius:20px;
  font-size:18px;
}



/* --- v16: remove CTA card and unify price/promo text sizes --- */
.edition-card__pricing--four{
  grid-template-columns: repeat(3,minmax(0,1fr)) !important;
}

.price-box--cta{
  display:none !important;
}

.price-box__value{
  font-size: clamp(18px, 1.45vw, 24px) !important;
  line-height: 1.1 !important;
  font-weight: 800 !important;
  letter-spacing: -0.02em !important;
  white-space: nowrap !important;
}

.promo-inline{
  font-size: clamp(18px, 1.45vw, 24px) !important;
  line-height: 1.1 !important;
  white-space: nowrap !important;
  letter-spacing: -0.02em !important;
}

.edition-card__cta-inline{
  display:flex !important;
  justify-content:flex-end !important;
  margin-top:16px !important;
}

.edition-card__cta-inline .btn{
  padding:16px 28px !important;
  border-radius:20px !important;
  font-size:18px !important;
}

@media (max-width: 1100px){
  .edition-card__pricing--four{
    grid-template-columns: repeat(2,minmax(0,1fr)) !important;
  }
}

@media (max-width: 700px){
  .edition-card__pricing--four{
    grid-template-columns: 1fr !important;
  }
  .price-box__value,
  .promo-inline{
    white-space: normal !important;
    font-size: clamp(22px, 6vw, 28px) !important;
  }
  .edition-card__cta-inline{
    justify-content:stretch !important;
  }
  .edition-card__cta-inline .btn{
    width:100% !important;
  }
}



/* --- v17: pricing row with CTA on the right, outside the 3 cards --- */
.edition-pricing-row{
  display:grid !important;
  grid-template-columns:minmax(0, 3fr) auto !important;
  gap:18px !important;
  align-items:stretch !important;
  margin-bottom:18px !important;
}

.edition-card__pricing--three{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:18px !important;
  margin:0 !important;
}

.edition-card__cta-side{
  display:flex !important;
  align-items:stretch !important;
}

.edition-card__cta-side .btn{
  min-width:220px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:16px 24px !important;
  border-radius:22px !important;
  font-size:18px !important;
  align-self:stretch !important;
}

.price-box{
  min-height:132px !important;
  padding:16px 18px !important;
}

.price-box__label{
  font-size:18px !important;
  line-height:1.15 !important;
  font-weight:800 !important;
  margin-bottom:14px !important;
}

.price-box__value,
.promo-inline{
  font-size:clamp(18px, 1.45vw, 24px) !important;
  line-height:1.1 !important;
  font-weight:800 !important;
  letter-spacing:-0.02em !important;
  white-space:nowrap !important;
}

.price-box--cta,
.edition-card__cta-inline{
  display:none !important;
}

@media (max-width: 1200px){
  .edition-pricing-row{
    grid-template-columns:1fr !important;
  }
  .edition-card__cta-side{
    justify-content:flex-end !important;
  }
}
@media (max-width: 900px){
  .edition-card__pricing--three{
    grid-template-columns:1fr !important;
  }
  .edition-card__cta-side{
    justify-content:stretch !important;
  }
  .edition-card__cta-side .btn{
    width:100% !important;
    min-width:0 !important;
  }
  .price-box__value,
  .promo-inline{
    white-space:normal !important;
  }
}



/* --- v19 sane pricing row after cleanup --- */
.edition-pricing-row{
  display:grid !important;
  grid-template-columns:minmax(0,3fr) auto !important;
  gap:18px !important;
  align-items:stretch !important;
  margin-bottom:18px !important;
}
.edition-card__pricing--three{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:18px !important;
  margin:0 !important;
}
.edition-card__cta-side{
  display:flex !important;
  align-items:stretch !important;
}
.edition-card__cta-side .btn{
  min-width:220px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:16px 24px !important;
  border-radius:22px !important;
  font-size:18px !important;
  align-self:stretch !important;
}
.price-box{
  min-height:132px !important;
  padding:16px 18px !important;
}
.price-box__label{
  font-size:18px !important;
  line-height:1.15 !important;
  font-weight:800 !important;
  margin-bottom:14px !important;
}
.price-box__value,
.promo-inline{
  font-size:clamp(18px,1.45vw,24px) !important;
  line-height:1.1 !important;
  font-weight:800 !important;
  letter-spacing:-0.02em !important;
  white-space:nowrap !important;
}
@media (max-width:1200px){
  .edition-pricing-row{
    grid-template-columns:1fr !important;
  }
  .edition-card__cta-side{
    justify-content:flex-end !important;
  }
}
@media (max-width:900px){
  .edition-card__pricing--three{
    grid-template-columns:1fr !important;
  }
  .edition-card__cta-side{
    justify-content:stretch !important;
  }
  .edition-card__cta-side .btn{
    width:100% !important;
    min-width:0 !important;
  }
  .price-box__value,
  .promo-inline{
    white-space:normal !important;
    font-size:clamp(22px,6vw,28px) !important;
  }
}



/* --- v20 compact pricing cards and smaller CTA --- */
.price-box{
  min-height: 108px !important;
  padding: 14px 16px !important;
}

.price-box__label{
  margin-bottom: 10px !important;
}

.edition-card__cta-side .btn{
  min-width: 190px !important;
  padding: 14px 22px !important;
  font-size: 16px !important;
  border-radius: 20px !important;
}



/* --- v21: even more compact pricing row --- */
.price-box{
  min-height: 92px !important;
  padding: 12px 14px !important;
  border-radius: 24px !important;
}

.price-box__label{
  font-size: 16px !important;
  line-height: 1.1 !important;
  margin-bottom: 8px !important;
}

.price-box__value,
.promo-inline{
  font-size: clamp(17px, 1.35vw, 22px) !important;
  line-height: 1.06 !important;
}

.edition-card__cta-side .btn{
  min-width: 176px !important;
  padding: 12px 18px !important;
  font-size: 15px !important;
  border-radius: 18px !important;
}

.edition-pricing-row{
  gap: 14px !important;
  margin-bottom: 14px !important;
}

.edition-card__pricing--three{
  gap: 14px !important;
}



/* --- v22: tighter cards and smaller standalone CTA --- */
.price-box{
  min-height: 80px !important;
  padding: 10px 12px !important;
  border-radius: 22px !important;
}

.price-box__label{
  font-size: 15px !important;
  line-height: 1.05 !important;
  margin-bottom: 6px !important;
}

.price-box__value,
.promo-inline{
  font-size: clamp(16px, 1.22vw, 20px) !important;
  line-height: 1.02 !important;
}

.edition-pricing-row{
  gap: 12px !important;
  margin-bottom: 12px !important;
}

.edition-card__pricing--three{
  gap: 12px !important;
}

.edition-card__cta-side{
  align-items: center !important;
}

.edition-card__cta-side .btn{
  min-width: 152px !important;
  padding: 10px 16px !important;
  font-size: 14px !important;
  border-radius: 16px !important;
  align-self: center !important;
}



/* --- v27: remove third detail card and make the two remaining cards fill the width aesthetically --- */
.edition-detail-grid--two{
  display:grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 18px !important;
}

.edition-detail-grid--two > .info-card{
  min-height: 0 !important;
  padding: 20px 22px !important;
}

.edition-detail-grid--two > .info-card h4{
  margin: 0 0 10px !important;
}

.edition-detail-grid--two > .info-card p{
  margin: 0 !important;
  text-align: justify !important;
  text-justify: inter-word !important;
  text-align-last: left !important;
  line-height: 1.5 !important;
  letter-spacing: -0.01em !important;
  word-spacing: -0.02em !important;
}

@media (max-width: 900px){
  .edition-detail-grid--two{
    grid-template-columns: 1fr !important;
  }
}


/* Servicios: keep justified text but avoid awkward gaps in 3-column cards */
.servicios-page .service-card{
  padding:20px 18px 18px;
}
.servicios-page .service-card p{
  text-align:justify !important;
  text-justify:auto !important;
  text-align-last:left !important;
  hyphens:auto !important;
  -webkit-hyphens:auto !important;
  word-break:normal !important;
  overflow-wrap:break-word !important;
  letter-spacing:-0.008em !important;
  word-spacing:-0.01em !important;
  line-height:1.56 !important;
  font-size:14.8px;
  text-wrap:pretty;
  max-width:31ch;
}
.servicios-page .service-card .tag{
  font-size:18px;
}
@media (max-width: 1100px){
  .servicios-page .service-card p{font-size:15px;line-height:1.52 !important;max-width:none;}
}


/* T&C aesthetic justification + english italics */
.terms-page #alcance .card p,
.terms-page #alcance .card li,
.terms-page .terms-section p,
.terms-page .terms-section li{
  text-align: justify !important;
  text-justify: inter-word;
  text-align-last: left !important;
  hyphens: auto !important;
  -webkit-hyphens: auto !important;
  overflow-wrap: break-word;
  word-break: normal;
  text-wrap: pretty;
  line-height: 1.68;
}
.terms-page #alcance .card ul,
.terms-page .terms-section ul{
  padding-left: 1.35rem;
}
.terms-page em{font-style:italic;}
