
/* =========================================================
   TeLoCalculo Home v1.3
   FIX: breakout único, sin desplazamiento lateral doble.
   ========================================================= */

.telocalculo-home{
  --bg:#f6f8fb;
  --card:#fff;
  --text:#0f172a;
  --muted:#667085;
  --line:#e5eaf0;
  --blue:#2f6df6;
  --blue2:#5aa7ff;
  --navy:#101828;
  --green:#16a34a;

  width:100vw!important;
  max-width:none!important;
  margin-left:calc(50% - 50vw)!important;
  margin-right:calc(50% - 50vw)!important;
  position:relative!important;
  left:auto!important;
  right:auto!important;
  overflow-x:clip!important;
  color:var(--text);
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  background:
    radial-gradient(circle at 15% -10%,rgba(47,109,246,.08),transparent 28%),
    radial-gradient(circle at 100% 0%,rgba(90,167,255,.08),transparent 24%),
    var(--bg);
}

.telocalculo-home,
.telocalculo-home *{
  box-sizing:border-box;
}

.telocalculo-home h1,
.telocalculo-home h2,
.telocalculo-home h3,
.telocalculo-home p{
  margin-block-start:0;
  margin-block-end:0;
}

.telocalculo-home a{
  text-decoration:none!important;
}

/* El bloque shortcode NO se desplaza. Solo permitimos que el contenido salga. */
.entry-content > .wp-block-shortcode:has(.telocalculo-home),
.wp-block-post-content > .wp-block-shortcode:has(.telocalculo-home),
.is-layout-constrained > .wp-block-shortcode:has(.telocalculo-home),
.wp-site-blocks .wp-block-shortcode:has(.telocalculo-home),
.wp-block-shortcode:has(.telocalculo-home){
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
  padding-left:0!important;
  padding-right:0!important;
  overflow:visible!important;
  position:static!important;
  transform:none!important;
}

/* Contenido útil: hasta 1180px, centrado */
.telocalculo-home .tlc-home-shell{
  width:min(1180px, calc(100% - 32px))!important;
  max-width:1180px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding-left:0!important;
  padding-right:0!important;
}

/* Desktop */
@media (min-width:1201px){
  .telocalculo-home .tlc-home-shell{
    width:min(1180px, calc(100% - 48px))!important;
  }
}

/* Portátil */
@media (max-width:1200px){
  .telocalculo-home .tlc-home-shell{
    width:calc(100% - 40px)!important;
  }
  .telocalculo-home .tlc-home-hero h1{
    font-size:54px!important;
  }
}

/* Tablet */
@media (max-width:980px){
  .telocalculo-home .tlc-home-shell{
    width:calc(100% - 32px)!important;
  }
  .telocalculo-home .tlc-home-hero-grid{
    grid-template-columns:1fr!important;
    gap:30px!important;
  }
  .telocalculo-home .tlc-home-preview{
    display:block!important;
    width:100%!important;
    max-width:680px!important;
    min-height:330px!important;
    margin:0 auto!important;
  }
  .telocalculo-home .tlc-preview-card{
    inset:0 18px 0 18px!important;
  }
  .telocalculo-home .tlc-calcs-grid,
  .telocalculo-home .tlc-category-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .telocalculo-home .tlc-trust{
    grid-template-columns:1fr!important;
  }
}

/* Móvil */
@media (max-width:720px){
  .telocalculo-home .tlc-home-shell{
    width:calc(100% - 24px)!important;
  }
  .telocalculo-home .tlc-home-hero{
    padding:36px 0 22px!important;
  }
  .telocalculo-home .tlc-home-hero h1{
    font-size:42px!important;
    line-height:1.02!important;
    letter-spacing:-1.8px!important;
  }
  .telocalculo-home .tlc-home-hero p{
    font-size:14px!important;
  }
  .telocalculo-home .tlc-home-preview{
    display:none!important;
  }
  .telocalculo-home .tlc-searchbox button{
    display:none!important;
  }
  .telocalculo-home .tlc-calcs-grid,
  .telocalculo-home .tlc-category-grid,
  .telocalculo-home .tlc-trust-grid{
    grid-template-columns:1fr!important;
  }
  .telocalculo-home .tlc-section-head{
    flex-direction:column!important;
    align-items:flex-start!important;
  }
}

/* Móvil pequeño */
@media (max-width:420px){
  .telocalculo-home .tlc-home-shell{
    width:calc(100% - 16px)!important;
  }
  .telocalculo-home .tlc-home-hero h1{
    font-size:36px!important;
  }
  .telocalculo-home .tlc-home-actions{
    display:grid!important;
    grid-template-columns:1fr!important;
  }
  .telocalculo-home .tlc-btn{
    width:100%!important;
    text-align:center!important;
  }
}

.telocalculo-home *{box-sizing:border-box}
.telocalculo-home a{text-decoration:none;color:inherit}
.telocalculo-home button,.telocalculo-home input{font:inherit}
.telocalculo-home .tlc-home-shell{width:min(1180px,calc(100% - 30px));margin-inline:auto}

.tlc-home-hero{padding:74px 0 34px}
.tlc-home-hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:52px;align-items:center}
.tlc-home-pill{display:inline-flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--line);border-radius:999px;padding:8px 11px;font-size:10px;font-weight:900;color:#475467;box-shadow:0 6px 18px rgba(15,23,42,.04)}
.tlc-home-pill span{width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 0 4px rgba(22,163,74,.10)}
.tlc-home-hero h1{font-size:62px;line-height:.98;letter-spacing:-2.8px;margin:18px 0 17px;font-weight:900}
.tlc-home-hero h1 em{font-style:normal;background:linear-gradient(90deg,var(--blue),#45a2ff);-webkit-background-clip:text;color:transparent}
.tlc-home-hero p{margin:0;max-width:640px;color:#5f6b7a;font-size:16px;line-height:1.7}
.tlc-home-actions{display:flex;gap:10px;margin-top:24px;flex-wrap:wrap}
.tlc-btn{padding:12px 16px;border-radius:12px;font-size:11px;font-weight:950}
.tlc-btn-dark{background:var(--navy);color:#fff!important}
.tlc-btn-light{background:#fff;border:1px solid var(--line)}
.tlc-home-preview{position:relative;min-height:400px}
.tlc-preview-card{position:absolute;inset:10px 0 0 35px;border-radius:28px;background:#fff;border:1px solid #e5ebf3;box-shadow:0 28px 70px rgba(15,23,42,.12);padding:24px;overflow:hidden}
.tlc-preview-card:before{content:"";position:absolute;width:220px;height:220px;border-radius:50%;right:-80px;top:-80px;background:radial-gradient(circle,rgba(47,109,246,.16),rgba(47,109,246,0) 70%)}
.tlc-preview-top{display:flex;justify-content:space-between;align-items:center;gap:14px;position:relative}
.tlc-preview-top strong{font-size:12px;color:#344054}
.tlc-preview-top span{font-size:9px;font-weight:900;background:#eef4ff;color:var(--blue);padding:6px 8px;border-radius:999px}
.tlc-preview-search{margin-top:18px;height:54px;border:1px solid var(--line);border-radius:14px;display:flex;align-items:center;padding:0 14px;color:#98a2b3;font-size:12px;background:#fbfcfe}
.tlc-preview-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}
.tlc-preview-grid>div{border:1px solid var(--line);border-radius:15px;padding:13px;background:#fff}
.tlc-preview-grid b{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:#f1f5ff;margin-bottom:12px}
.tlc-preview-grid strong{display:block;font-size:11px;margin-bottom:5px}
.tlc-preview-grid small{display:block;font-size:9.5px;line-height:1.45;color:#98a2b3}
.tlc-float{position:absolute;border-radius:15px;background:#fff;border:1px solid var(--line);box-shadow:0 12px 34px rgba(15,23,42,.10);padding:11px 13px}
.tlc-float strong{display:block;font-size:16px}.tlc-float span{font-size:9px;color:#98a2b3;text-transform:uppercase;letter-spacing:.08em}
.tlc-float-one{left:0;bottom:52px}.tlc-float-two{right:-14px;bottom:0}

.tlc-search-area{padding:16px 0 14px}
.tlc-searchbox{display:flex;align-items:center;gap:12px;padding:10px 12px 10px 16px;min-height:64px;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 12px 34px rgba(15,23,42,.07)}
.tlc-searchbox:focus-within{border-color:#b7cdfd;box-shadow:0 0 0 4px rgba(47,109,246,.07),0 12px 34px rgba(15,23,42,.07)}
.tlc-searchbox>span{font-size:19px;color:#98a2b3}
.tlc-searchbox input{flex:1;border:0!important;outline:0!important;background:transparent!important;font-size:15px;font-weight:700;color:var(--text);padding:0!important}
.tlc-searchbox input::placeholder{color:#98a2b3}
.tlc-searchbox button{border:0;cursor:pointer;background:var(--blue);color:#fff;border-radius:12px;padding:11px 15px;font-size:10px;font-weight:950}
.tlc-filters{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.tlc-filters button{border:1px solid var(--line);background:#fff;color:#667085;padding:8px 11px;border-radius:999px;font-size:10px;font-weight:850;cursor:pointer}
.tlc-filters button.is-active,.tlc-filters button:hover{color:#fff;background:var(--navy);border-color:var(--navy)}

.tlc-calcs-section{padding:34px 0 52px}
.tlc-section-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:16px}
.tlc-section-head h2{margin:0;font-size:29px;letter-spacing:-.8px}
.tlc-section-head p{margin:5px 0 0;color:#98a2b3;font-size:11px}
.tlc-section-head>span{color:#667085;font-size:10px;font-weight:900;background:#fff;border:1px solid var(--line);border-radius:999px;padding:7px 9px}
.tlc-calcs-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.tlc-calc-card{min-height:220px;position:relative;background:#fff;border:1px solid var(--line);border-radius:20px;padding:18px;box-shadow:0 10px 28px rgba(15,23,42,.045);overflow:hidden;transition:.2s}
.tlc-calc-card:hover{transform:translateY(-4px);border-color:#c7d6f4;box-shadow:0 18px 40px rgba(15,23,42,.09)}
.tlc-calc-card:after{content:"";position:absolute;width:130px;height:130px;border-radius:50%;right:-70px;bottom:-70px;background:rgba(47,109,246,.05)}
.tlc-card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}
.tlc-card-icon{width:44px;height:44px;border-radius:13px;display:grid;place-items:center;background:#f3f6ff;color:var(--blue);font-size:20px}
.tlc-card-tag{font-size:8.5px;font-weight:950;letter-spacing:.07em;color:#667085;background:#f8fafc;border:1px solid var(--line);padding:5px 7px;border-radius:999px}
.tlc-calc-card h3{margin:16px 0 8px;font-size:17px;line-height:1.2;letter-spacing:-.4px}
.tlc-calc-card p{margin:0;color:#7b8794;font-size:10.8px;line-height:1.55;max-width:90%}
.tlc-card-footer{position:absolute;left:18px;right:18px;bottom:16px;display:flex;justify-content:space-between;align-items:center;font-size:9.5px;font-weight:900;color:#667085}
.tlc-card-arrow{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;border:1px solid var(--line);color:var(--blue);transition:.2s}
.tlc-calc-card:hover .tlc-card-arrow{background:var(--blue);border-color:var(--blue);color:#fff}
.tlc-empty{grid-column:1/-1;background:#fff;border:1px dashed #cfd7e3;border-radius:18px;padding:34px;text-align:center;color:#7b8794}

.tlc-categories-section{padding:0 0 54px}
.tlc-category-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.tlc-category-card{background:#fff;border:1px solid var(--line);border-radius:17px;padding:15px;min-height:120px;cursor:pointer;transition:.2s}
.tlc-category-card:hover{transform:translateY(-2px);border-color:#c7d6f4;box-shadow:0 10px 28px rgba(15,23,42,.06)}
.tlc-category-no{font-size:9px;color:#98a2b3;font-weight:900}
.tlc-category-card h3{margin:18px 0 6px;font-size:14px}
.tlc-category-card p{margin:0;color:#98a2b3;font-size:9.8px;line-height:1.45}

.tlc-trust{margin-bottom:56px;background:var(--navy);color:#fff;border-radius:24px;padding:28px;display:grid;grid-template-columns:1fr 1.3fr;gap:30px;align-items:center}
.tlc-trust h2{margin:0;font-size:28px;letter-spacing:-.8px}.tlc-trust>p{margin:0;color:#cbd5e1;font-size:11.5px;line-height:1.65}
.tlc-trust-grid{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.tlc-trust-grid article{border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:13px;background:rgba(255,255,255,.04)}
.tlc-trust-grid b{display:block;font-size:11px;margin-bottom:5px}.tlc-trust-grid span{font-size:9.5px;line-height:1.4;color:#b6c3d1}

@media(max-width:980px){
  .tlc-home-hero-grid{grid-template-columns:1fr}
  .tlc-home-preview{min-height:360px}
  .tlc-calcs-grid{grid-template-columns:repeat(2,1fr)}
  .tlc-category-grid{grid-template-columns:repeat(2,1fr)}
  .tlc-trust{grid-template-columns:1fr}
}
@media(max-width:650px){
  .telocalculo-home .tlc-home-shell{width:calc(100% - 16px)}
  .tlc-home-hero{padding:46px 0 22px}
  .tlc-home-hero h1{font-size:39px;letter-spacing:-1.6px}
  .tlc-home-hero p{font-size:13px}
  .tlc-home-preview{display:none}
  .tlc-searchbox button{display:none}
  .tlc-calcs-grid,.tlc-category-grid,.tlc-trust-grid{grid-template-columns:1fr}
  .tlc-section-head{align-items:flex-start;flex-direction:column}
}


