/**
 * Doguify · Planes (plantillas template-planes.php y template-alta-completada.php).
 * Réplica del diseño «Precios v2». Todo acotado a body.dgpl-page / .dgpl.
 */

/* ===== Compatibilidad con Astra / Elementor (solo en estas páginas) ===== */
body.dgpl-page .site-content > .ast-container{ max-width:none !important; padding-left:0 !important; padding-right:0 !important; display:block !important; }
body.dgpl-page #primary{ margin:0 !important; padding:0 !important; width:100% !important; }
/* Oculta los popups de Elementor (newsletter…) menos el menú móvil (plantilla 377). */
body.dgpl-page .elementor-popup-modal:not(#elementor-popup-modal-377){ display:none !important; }
body.dgpl-page{ background:#fff; overflow-x:hidden; }

/* ===== Base ===== */
.dgpl{
  --ink:#0E1220; --t2:#1c1c1e; --t3:#3a3a3c; --mut:#6c6c70; --mut2:#8e8e93;
  --line:#e5e5ea; --line2:#F4F6FC; --bd:#d1d1d6; --soft:#F4F6FC; --pill:#F4F6FC;
  --blue:#2E4CCB; --blue-soft:#E6EAFA;
  --f:-apple-system,BlinkMacSystemFont,'SF Pro Display','Helvetica Neue',Arial,sans-serif;
  font-family:var(--f); color:var(--ink); background:#fff; -webkit-font-smoothing:antialiased;
  font-size:16px; line-height:1.4; display:flex; flex-direction:column;
}
.dgpl *, .dgpl *::before, .dgpl *::after{ box-sizing:border-box; }
.dgpl a{ color:var(--ink); text-decoration:none; }
.dgpl a:hover{ color:var(--blue); }
.dgpl h1, .dgpl h2, .dgpl h3{ color:inherit; font-family:var(--f); margin:0; }
.dgpl p{ margin:0; }
.dgpl [hidden]{ display:none !important; }
.dgpl button{ font-family:var(--f); margin:0; text-transform:none; letter-spacing:normal; box-shadow:none; }
.dgpl input, .dgpl textarea{ font-family:var(--f); }
.dgpl button:focus-visible, .dgpl a:focus-visible, .dgpl input:focus-visible{ outline:2px solid var(--blue); outline-offset:2px; }

.dgpl-sec{ max-width:1200px; margin:0 auto; padding:72px 24px 24px; width:100%; display:flex; flex-direction:column; gap:24px; }
.dgpl-sec--top{ padding-top:64px; gap:32px; }
.dgpl-sec--last{ padding-bottom:96px; }
.dgpl-head{ display:flex; flex-direction:column; gap:14px; max-width:760px; }
.dgpl-eyebrow{ font:700 12px/1 var(--f); letter-spacing:0.12em; text-transform:uppercase; color:var(--blue); }
.dgpl h1{ font:800 clamp(38px,4.8vw,58px)/1.03 var(--f); letter-spacing:-0.035em; text-wrap:balance; }
.dgpl h2{ font:800 clamp(26px,2.8vw,34px)/1.1 var(--f); letter-spacing:-0.025em; text-wrap:balance; }
.dgpl h2.dgpl-h2--big{ font-size:clamp(28px,3.2vw,40px); line-height:1.08; letter-spacing:-0.03em; }
.dgpl-lead{ font:400 18px/1.55 var(--f); color:var(--mut); text-wrap:pretty; }
.dgpl-lead--17{ font-size:17px; }
.dgpl-small{ font:400 14px/1.5 var(--f); color:var(--mut2); text-wrap:pretty; }

/* ===== Botones (anulan los colores de Astra en hover/focus) ===== */
.dgpl .dgpl-btn{ display:inline-flex; align-items:center; justify-content:center; gap:8px; font:600 16px/1 var(--f); border-radius:9999px; padding:16px 22px; white-space:nowrap; flex-shrink:0; cursor:pointer; border:1.5px solid transparent; text-align:center; transition:opacity .15s; }
.dgpl .dgpl-btn--dark, .dgpl .dgpl-btn--dark:hover, .dgpl .dgpl-btn--dark:focus, .dgpl .dgpl-btn--dark:active{ background:var(--blue); color:#fff; border-color:var(--blue); }
.dgpl .dgpl-btn--light, .dgpl .dgpl-btn--light:hover, .dgpl .dgpl-btn--light:focus, .dgpl .dgpl-btn--light:active{ background:#fff; color:var(--ink); border-color:#fff; }
.dgpl .dgpl-btn--line, .dgpl .dgpl-btn--line:hover, .dgpl .dgpl-btn--line:focus, .dgpl .dgpl-btn--line:active{ background:#fff; color:var(--ink); border-color:var(--bd); }
.dgpl .dgpl-btn--ink, .dgpl .dgpl-btn--ink:hover, .dgpl .dgpl-btn--ink:focus, .dgpl .dgpl-btn--ink:active{ background:transparent; color:var(--ink); border-color:var(--ink); }
.dgpl .dgpl-btn--ghost, .dgpl .dgpl-btn--ghost:hover, .dgpl .dgpl-btn--ghost:focus, .dgpl .dgpl-btn--ghost:active{ background:transparent; color:#fff; border-color:rgba(255,255,255,0.35); }
.dgpl .dgpl-btn:hover{ opacity:.86; }
.dgpl .dgpl-btn--lg{ font-size:17px; padding:17px 24px; }
.dgpl .dgpl-btn--block{ width:100%; padding:16px; }
.dgpl .dgpl-btn[disabled], .dgpl .dgpl-btn.is-busy{ opacity:.55; cursor:progress; }
.dgpl .dgpl-btn.is-off{ opacity:.35; cursor:not-allowed; }
.dgpl .dgpl-btn.is-off:hover{ opacity:.35; }

/* ===== Calculadora ===== */
.dgpl-places{ display:flex; flex-direction:column; gap:12px; }
.dgpl-calc{ background:#fff; border:1px solid var(--line); border-radius:24px; padding:clamp(20px,3vw,32px); display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr)); gap:28px; align-items:end; position:relative; }
.dgpl-calc__types{ display:flex; flex-direction:column; gap:12px; grid-column:span 2; min-width:0; }
.dgpl-calc__units{ display:flex; flex-direction:column; gap:12px; }
.dgpl-label{ font:700 12px/1 var(--f); letter-spacing:0.12em; text-transform:uppercase; color:var(--blue); display:flex; justify-content:space-between; gap:12px; }
.dgpl-typegrid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:8px; }
.dgpl .dgpl-type, .dgpl .dgpl-type:hover, .dgpl .dgpl-type:focus, .dgpl .dgpl-type:active{ text-align:left; cursor:pointer; border-radius:16px; padding:14px; display:flex; flex-direction:column; gap:6px; background:#fff; color:var(--ink); border:1.5px solid var(--line); }
.dgpl .dgpl-type:hover{ border-color:var(--bd); }
.dgpl .dgpl-type.is-on, .dgpl .dgpl-type.is-on:hover, .dgpl .dgpl-type.is-on:focus, .dgpl .dgpl-type.is-on:active{ background:var(--ink); color:#fff; border-color:var(--ink); }
.dgpl-type__t{ font:600 16px/1.2 var(--f); }
.dgpl-type__d{ font:400 13px/1.35 var(--f); opacity:.75; }
.dgpl-stepper{ display:flex; align-items:center; gap:8px; }
.dgpl .dgpl-step, .dgpl .dgpl-step:hover, .dgpl .dgpl-step:focus, .dgpl .dgpl-step:active{ width:52px; height:56px; border-radius:14px; border:1.5px solid var(--bd); background:#fff; font:500 24px/1 var(--f); cursor:pointer; color:var(--ink); padding:0; }
.dgpl .dgpl-units{ flex:1; min-width:0; height:56px; border-radius:14px; border:1.5px solid var(--ink); text-align:center; font:700 26px/1 var(--f); color:var(--ink); background:#fff; outline:none; -moz-appearance:textfield; appearance:textfield; padding:0; margin:0; box-shadow:none; }
.dgpl .dgpl-units:focus{ border-color:var(--ink); color:var(--ink); box-shadow:none; outline:none; }
.dgpl .dgpl-units::-webkit-inner-spin-button, .dgpl .dgpl-units::-webkit-outer-spin-button{ -webkit-appearance:none; margin:0; }
.dgpl-tier{ display:flex; align-items:center; gap:10px; font:500 14px/1.3 var(--f); color:var(--mut); min-height:23px; }
.dgpl-badge{ background:var(--blue); color:#fff; border-radius:8px; padding:5px 9px; font:600 13px/1 var(--f); }
.dgpl .dgpl-remove, .dgpl .dgpl-remove:hover, .dgpl .dgpl-remove:focus, .dgpl .dgpl-remove:active{ background:none; border:0; padding:0; color:var(--mut); font:500 13px/1 var(--f); cursor:pointer; text-decoration:underline; }
.dgpl-addrow{ display:flex; align-items:center; gap:16px; flex-wrap:wrap; }
.dgpl .dgpl-add, .dgpl .dgpl-add:hover, .dgpl .dgpl-add:focus, .dgpl .dgpl-add:active{ background:#fff; color:var(--ink); border:1.5px dashed var(--bd); border-radius:9999px; padding:12px 18px; font:600 15px/1 var(--f); cursor:pointer; }
.dgpl .dgpl-add:hover{ border-color:var(--ink); }

.dgpl-billrow{ display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; }
.dgpl-toggle{ display:flex; background:var(--pill); border-radius:9999px; padding:4px; }
.dgpl .dgpl-bill, .dgpl .dgpl-bill:hover, .dgpl .dgpl-bill:focus, .dgpl .dgpl-bill:active{ border:none; cursor:pointer; border-radius:9999px; padding:11px 20px; font:600 15px/1 var(--f); background:transparent; color:var(--mut); }
.dgpl .dgpl-bill.is-on, .dgpl .dgpl-bill.is-on:hover, .dgpl .dgpl-bill.is-on:focus, .dgpl .dgpl-bill.is-on:active{ background:var(--ink); color:#fff; }
.dgpl-billnote{ font:500 14px/1.4 var(--f); color:var(--mut2); }

.dgpl-msg{ border-radius:16px; padding:16px 20px; background:var(--soft); font:500 15px/1.5 var(--f); color:var(--t3); }
.dgpl-msg a{ text-decoration:underline; }
.dgpl-msg--err{ background:#fdeceb; color:#8a1c12; }

.dgpl-custom{ background:var(--blue); color:#fff; border-radius:24px; padding:clamp(28px,4vw,44px); display:flex; flex-wrap:wrap; gap:24px; align-items:center; justify-content:space-between; }
.dgpl-custom__t{ font:700 30px/1.1 var(--f); letter-spacing:-0.025em; }
.dgpl-custom__d{ font:400 17px/1.55 var(--f); color:rgba(255,255,255,0.75); text-wrap:pretty; }

/* ===== Tarjetas de plan ===== */
.dgpl-plans{ display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr)); gap:16px; align-items:stretch; transition:opacity .15s; }
.dgpl-plans.is-loading, .dgpl-free.is-loading{ opacity:.45; pointer-events:none; }
.dgpl-card{ background:#fff; border:1px solid var(--line); border-radius:24px; padding:28px; display:flex; flex-direction:column; gap:18px; position:relative; }
.dgpl-card--featured{ border:2px solid var(--ink); }
.dgpl-card--dark{ background:var(--blue); color:#fff; border-color:var(--blue); }
.dgpl-card__flag{ position:absolute; top:-13px; left:24px; background:var(--blue); color:#fff; border-radius:9999px; padding:6px 12px; font:600 12px/1 var(--f); }
.dgpl-card__name{ font:700 22px/1.2 var(--f); letter-spacing:-0.015em; }
.dgpl-card__sub{ font:400 15px/1.45 var(--f); color:var(--mut); }
.dgpl-card--dark .dgpl-card__sub{ color:rgba(255,255,255,0.7); }
.dgpl-card__pricebox{ display:flex; flex-direction:column; gap:6px; min-height:72px; }
.dgpl-card__price{ display:flex; align-items:baseline; gap:6px; flex-wrap:wrap; }
.dgpl-card__amount{ font:700 46px/1 var(--f); letter-spacing:-0.035em; }
.dgpl-card__per{ font:500 16px/1 var(--f); color:var(--mut2); }
.dgpl-card--dark .dgpl-card__per{ color:rgba(255,255,255,0.6); }
.dgpl-card__was{ font:500 16px/1 var(--f); color:var(--mut2); text-decoration:line-through; }
.dgpl-card__note{ font:500 14px/1.4 var(--f); color:var(--mut2); }
.dgpl-card--dark .dgpl-card__note{ color:rgba(255,255,255,0.6); }
.dgpl-card__unit{ font:600 14px/1.4 var(--f); color:var(--blue); }
.dgpl-card--dark .dgpl-card__unit{ color:#fff; }
.dgpl-card__disc{ font:600 14px/1.4 var(--f); color:var(--t2); }
.dgpl-card--dark .dgpl-card__disc{ color:#fff; }
.dgpl-card__feats{ display:flex; flex-direction:column; gap:10px; padding-top:16px; border-top:1px solid var(--line2); font:400 15px/1.4 var(--f); color:var(--t2); }
.dgpl-card--dark .dgpl-card__feats{ border-top-color:rgba(255,255,255,0.14); color:rgba(255,255,255,0.9); }
.dgpl-card__feats .is-muted{ color:var(--mut2); }
.dgpl-card--dark .dgpl-card__feats .is-muted{ color:rgba(255,255,255,0.6); }
.dgpl-card__err{ font:500 14px/1.4 var(--f); color:#b42318; }
.dgpl-card--dark .dgpl-card__err{ color:#ffb4a8; }

/* ===== Fila Gratis ===== */
.dgpl-free{ border:1px solid var(--line); border-radius:24px; padding:24px 28px; display:flex; flex-direction:column; gap:20px; background:#fff; transition:opacity .15s; }
.dgpl-free__row{ display:flex; flex-wrap:wrap; gap:16px 28px; align-items:center; justify-content:space-between; }
.dgpl-free__txt{ display:flex; flex-direction:column; gap:6px; max-width:720px; }
.dgpl-free__name{ display:flex; align-items:baseline; gap:10px; flex-wrap:wrap; }
.dgpl-free__name strong{ font:700 22px/1.2 var(--f); letter-spacing:-0.015em; }
.dgpl-free__name span{ font:700 22px/1 var(--f); }
.dgpl-free__d{ font:400 15px/1.45 var(--f); color:var(--mut); text-wrap:pretty; }

/* ===== Formularios ===== */
.dgpl-form{ display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr)); gap:14px; padding-top:20px; border-top:1px solid var(--line2); }
.dgpl-form label{ display:flex; flex-direction:column; gap:6px; margin:0; font:600 13px/1.2 var(--f); color:var(--t3); }
.dgpl .dgpl-form input, .dgpl .dgpl-form textarea{ height:50px; border-radius:12px; border:1.5px solid var(--bd); padding:0 14px; font:400 16px/1 var(--f); color:var(--ink); background:#fff; width:100%; box-shadow:none; margin:0; }
.dgpl .dgpl-form textarea{ height:auto; min-height:96px; padding:12px 14px; line-height:1.4; resize:vertical; }
.dgpl .dgpl-form input:focus, .dgpl .dgpl-form textarea:focus{ border-color:var(--ink); outline:none; }
.dgpl-form__full{ grid-column:1 / -1; }
.dgpl-form__foot{ grid-column:1 / -1; display:flex; flex-wrap:wrap; gap:12px 20px; align-items:center; }
.dgpl-fplaces{ display:flex; flex-direction:column; gap:10px; }
.dgpl-flabel{ font:600 13px/1.2 var(--f); color:var(--t3); }
#dgpl-fplaces{ display:flex; flex-direction:column; gap:8px; }
.dgpl-frow{ display:grid; grid-template-columns:minmax(0,2fr) minmax(0,1fr) auto; gap:8px; align-items:center; }
.dgpl .dgpl-form select{ height:50px; border-radius:12px; border:1.5px solid var(--bd); padding:0 12px; font:400 16px/1 var(--f); color:var(--ink); background:#fff; width:100%; margin:0; }
.dgpl .dgpl-form select:focus{ border-color:var(--ink); outline:none; }
.dgpl-funit{ position:relative; }
.dgpl-funit span{ position:absolute; right:12px; top:50%; transform:translateY(-50%); font:400 13px/1 var(--f); color:var(--mut2); pointer-events:none; }
.dgpl .dgpl-form .dgpl-funit input{ padding-right:96px; }
.dgpl .dgpl-add--sm, .dgpl .dgpl-add--sm:hover, .dgpl .dgpl-add--sm:focus{ padding:10px 14px; font-size:14px; }
.dgpl-hp{ position:absolute !important; left:-9999px !important; width:1px; height:1px; overflow:hidden; }
.dgpl-ok{ font:600 16px/1.5 var(--f); color:#0a7a3b; }
.dgpl-ko{ font:500 14px/1.5 var(--f); color:#b42318; }

/* ===== Tabla comparativa ===== */
.dgpl-table{ background:#fff; border:1px solid var(--line); border-radius:20px; overflow-x:auto; }
.dgpl-table__grid{ min-width:640px; display:grid; grid-template-columns:minmax(0,2.2fr) repeat(3,minmax(0,1fr)); font:400 15px/1.4 var(--f); }
.dgpl-table__grid > div{ padding:14px 12px; text-align:center; border-bottom:1px solid var(--line2); }
.dgpl-table__grid > div.is-label{ padding:14px 20px; text-align:left; }
.dgpl-table__grid > div.is-head{ padding:16px 12px; font:600 15px/1 var(--f); border-bottom-color:var(--line); }
.dgpl-table__grid > div.is-pro{ background:var(--soft); }
.dgpl-table__grid > div.is-no{ color:#c7c7cc; }
.dgpl-table__grid > div.is-mut{ color:var(--mut); }
.dgpl-table__grid > div.is-last{ border-bottom:0; }

/* ===== Campañas ===== */
.dgpl-grid3{ display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr)); gap:16px; }
.dgpl-tile{ background:#fff; border:1px solid var(--line); border-radius:20px; padding:26px; display:flex; flex-direction:column; gap:14px; }
.dgpl-tile__t{ font:700 22px/1.2 var(--f); }
.dgpl-tile__d{ font:400 15px/1.5 var(--f); color:var(--t2); }
.dgpl-tile__f{ margin-top:auto; font:500 14px/1.4 var(--f); color:var(--mut2); }
.dgpl-band{ background:var(--soft); border-radius:20px; padding:clamp(22px,3vw,32px); display:flex; flex-direction:column; gap:0; }
.dgpl-band__row{ display:flex; flex-wrap:wrap; gap:20px; align-items:center; justify-content:space-between; }
.dgpl-band__txt{ display:flex; flex-direction:column; gap:6px; max-width:620px; }
.dgpl-band__t{ font:700 20px/1.25 var(--f); }
.dgpl-band__d{ font:400 15px/1.5 var(--f); color:var(--t3); text-wrap:pretty; }
.dgpl-band .dgpl-form{ margin-top:20px; border-top-color:var(--blue-soft); }
.dgpl-btns{ display:flex; gap:10px; flex-wrap:wrap; }

/* ===== Asesoramiento ===== */
.dgpl-adv{ background:var(--soft); border-radius:28px; padding:clamp(28px,4vw,48px); display:flex; flex-direction:column; gap:28px; }
.dgpl-chips{ display:flex; gap:8px; flex-wrap:wrap; }
.dgpl-chip{ background:#fff; color:var(--ink); border-radius:9999px; padding:8px 14px; font:500 14px/1 var(--f); }
.dgpl-chip--dark{ background:var(--blue); color:#fff; font-weight:600; }
.dgpl h2.dgpl-h2--huge{ font:800 clamp(36px,5vw,60px)/1.02 var(--f); letter-spacing:-0.035em; color:var(--ink); }
.dgpl-adv .dgpl-lead{ color:var(--t3); }
.dgpl-grid4{ display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr)); gap:12px; }
.dgpl-exp{ background:#fff; border-radius:20px; padding:20px; display:flex; flex-direction:column; gap:12px; }
.dgpl-exp__i{ width:40px; height:40px; border-radius:11px; display:flex; align-items:center; justify-content:center; }
.dgpl-exp__i i{ width:14px; height:14px; border-radius:4px; display:block; }
.dgpl-exp__t{ font:700 18px/1.2 var(--f); color:var(--ink); }
.dgpl-exp__d{ font:400 15px/1.45 var(--f); color:var(--mut); text-wrap:pretty; }
.dgpl-packs{ background:#fff; border:1px solid var(--line); border-radius:20px; overflow:hidden; display:flex; flex-direction:column; }
.dgpl-pack{ display:flex; flex-wrap:wrap; gap:8px 24px; padding:22px 24px 22px 60px; border-bottom:1px solid var(--line2); align-items:baseline; position:relative; cursor:pointer; margin:0; transition:background .12s; }
.dgpl-pack:hover{ background:#FAFBFE; }
.dgpl-pack.is-on{ background:var(--soft); }
.dgpl-pack__r{ position:absolute; opacity:0; width:1px; height:1px; }
.dgpl-pack__dot{ position:absolute; left:24px; top:25px; width:20px; height:20px; border-radius:9999px; border:1.5px solid var(--bd); background:#fff; }
.dgpl-pack.is-on .dgpl-pack__dot{ border:6px solid var(--ink); }
.dgpl-pack__r:focus-visible ~ .dgpl-pack__dot{ outline:2px solid var(--blue); outline-offset:2px; }
.dgpl-pack:last-child{ border-bottom:0; }
.dgpl-pack__a{ flex:1 1 220px; min-width:0; display:flex; flex-direction:column; gap:4px; }
.dgpl-pack__t{ font:600 18px/1.3 var(--f); color:var(--ink); }
.dgpl-pack__w{ font:500 14px/1.3 var(--f); color:var(--mut2); }
.dgpl-pack__d{ font:400 15px/1.45 var(--f); color:var(--mut); flex:2 1 300px; min-width:0; text-wrap:pretty; }
.dgpl-pack__h{ font:600 15px/1 var(--f); color:var(--ink); flex:0 0 auto; margin-left:auto; white-space:nowrap; }
.dgpl-packfoot{ display:flex; flex-wrap:wrap; gap:16px; align-items:center; justify-content:space-between; }
.dgpl-packgo{ display:flex; flex-direction:column; align-items:flex-end; gap:8px; margin-left:auto; }
.dgpl-packfoot__l{ display:flex; gap:10px 28px; flex-wrap:wrap; font:400 14px/1.5 var(--f); color:var(--mut); }

/* ===== Condiciones ===== */
.dgpl-conds{ display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr)); gap:0 40px; }
.dgpl-cond{ padding:18px 0; border-top:1px solid var(--line); display:flex; flex-direction:column; gap:6px; }
.dgpl-cond__t{ font:600 16px/1.3 var(--f); }
.dgpl-cond__d{ font:400 15px/1.5 var(--f); color:var(--mut); text-wrap:pretty; }

/* ===== Contacto ===== */
.dgpl-cta{ background:var(--blue); color:#fff; border-radius:28px; padding:clamp(32px,5vw,56px); display:flex; flex-wrap:wrap; gap:28px; align-items:center; justify-content:space-between; }
.dgpl-cta__txt{ display:flex; flex-direction:column; gap:10px; max-width:620px; }
.dgpl-cta h2{ font-size:clamp(28px,3.4vw,40px); line-height:1.08; letter-spacing:-0.03em; }
.dgpl-cta__d{ font:400 17px/1.55 var(--f); color:rgba(255,255,255,0.75); text-wrap:pretty; }
.dgpl-cta .dgpl-btns{ gap:12px; }

/* ===== Página de gracias ===== */
.dgpl-thanks{ max-width:760px; margin:0 auto; padding:96px 24px 120px; width:100%; display:flex; flex-direction:column; gap:22px; }
.dgpl-thanks__ok{ width:56px; height:56px; border-radius:9999px; background:var(--blue); color:#fff; display:flex; align-items:center; justify-content:center; font:700 26px/1 var(--f); }
.dgpl-thanks__list{ display:flex; flex-direction:column; gap:12px; padding:22px 24px; border:1px solid var(--line); border-radius:20px; font:400 16px/1.5 var(--f); color:var(--t2); }
.dgpl-thanks__list b{ font-weight:600; }
.dgpl-cal{ min-width:320px; height:700px; border:1px solid var(--line); border-radius:20px; overflow:hidden; }

/* ===== Móvil ===== */
@media (max-width:700px){
  .dgpl-sec{ padding:48px 16px 16px; }
  .dgpl-sec--top{ padding-top:40px; }
  .dgpl-sec--last{ padding-bottom:64px; }
  .dgpl-calc__types{ grid-column:auto; }
  .dgpl-typegrid{ grid-template-columns:1fr 1fr; }
  .dgpl .dgpl-btn{ white-space:normal; }
  .dgpl-free{ padding:22px; }
  .dgpl-thanks{ padding:56px 16px 80px; }
  .dgpl-pack{ padding:18px 18px 18px 52px; }
  .dgpl-pack__dot{ left:18px; top:21px; }
  .dgpl-packgo{ align-items:stretch; width:100%; }
  .dgpl-frow{ grid-template-columns:1fr 1fr; }
  .dgpl-frow .dgpl-remove{ grid-column:1 / -1; justify-self:start; }
  .dgpl .dgpl-form .dgpl-funit input{ padding-right:14px; }
  .dgpl-funit span{ display:none; }
  /* Tabla comparativa sin scroll lateral: cada característica ocupa una fila y debajo van los 3 planes. */
  .dgpl-table{ overflow:visible; }
  .dgpl-table__grid{ min-width:0; grid-template-columns:repeat(3,minmax(0,1fr)); font-size:14px; }
  .dgpl-table__grid > div.is-label{ grid-column:1 / -1; padding:14px 16px 4px; border-bottom:0; font-weight:500; color:var(--ink); }
  .dgpl-table__grid > div.is-label.is-head{ display:none; }
  .dgpl-table__grid > div{ padding:6px 8px 14px; }
  .dgpl-table__grid > div.is-head{ padding:14px 8px; }
}
