/* Reagendar · Contador de visas 100K */
.rg-counter-modal[hidden]{display:none!important}
.rg-counter-modal{position:fixed;inset:0;z-index:100000;display:flex;align-items:center;justify-content:center;padding:18px}
.rg-counter-backdrop{position:absolute;inset:0;background:rgba(0,16,36,.82);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}
.rg-counter-dialog{position:relative;z-index:2;width:min(690px,100%);max-height:calc(100vh - 36px);overflow:auto;border-radius:28px;box-shadow:0 28px 90px rgba(0,0,0,.45)}
.rg-counter-close{position:absolute;z-index:10;right:18px;top:14px;width:42px;height:42px;border:0;background:transparent;color:#fff;font:700 38px/1 Arial,sans-serif;cursor:pointer}
body.rg-counter-open{overflow:hidden}

.rg-counter-card{--blue:#0050b8;--blue2:#07479b;--navy:#003775;--red:#ff2450;--red2:#ec1042;position:relative;isolation:isolate;overflow:hidden;width:100%;box-sizing:border-box;padding:38px 28px 27px;border:1px solid rgba(70,154,255,.75);border-radius:28px;text-align:center;color:#fff;background:radial-gradient(circle at 50% -6%,rgba(32,118,232,.95),rgba(32,118,232,.16) 40%,transparent 58%),linear-gradient(135deg,#0050b8 0%,#034791 52%,#00336f 100%);font-family:"Bricolage Grotesque","Atkinson Hyperlegible Next",Arial,sans-serif}
.rg-counter-card::before,.rg-counter-card::after{content:"";position:absolute;pointer-events:none;z-index:-1;border-radius:50%}
.rg-counter-card::before{width:190px;height:190px;left:-105px;top:-108px;border:46px solid var(--red);box-shadow:0 0 0 38px rgba(104,72,190,.72),0 0 0 76px rgba(22,91,196,.55)}
.rg-counter-card::after{width:210px;height:210px;right:-115px;bottom:-140px;border:46px solid var(--red);box-shadow:0 0 0 39px rgba(103,66,180,.64),0 0 0 78px rgba(24,89,190,.48)}
.rg-counter-logo{position:relative;z-index:2;width:180px;max-width:46%;height:auto;margin:0 auto 14px;display:block}
.rg-counter-badge{position:relative;z-index:2;display:inline-flex;align-items:center;justify-content:center;min-height:37px;margin:0 auto 20px;padding:6px 17px;border:2px solid rgba(255,255,255,.9);border-radius:999px;background:rgba(0,47,109,.34);font-size:12px;font-weight:800;letter-spacing:.25px;text-transform:uppercase}
.rg-counter-badge::before{content:"";width:11px;height:11px;margin-right:8px;border-radius:50%;background:var(--red)}
.rg-counter-title{position:relative;z-index:2;margin:0 auto 14px;font-size:clamp(40px,6vw,64px);font-weight:800;line-height:.96;letter-spacing:-.05em}
.rg-counter-title span,.rg-counter-title strong{display:block}.rg-counter-title strong{margin-top:3px;color:var(--red)}
.rg-counter-intro{position:relative;z-index:2;max-width:590px;margin:0 auto 25px;font-family:"Atkinson Hyperlegible Next",Arial,sans-serif;font-size:clamp(18px,2.1vw,23px);font-weight:700;line-height:1.42}
.rg-counter-panels{position:relative;z-index:2}
.rg-counter-panel{width:min(600px,100%);box-sizing:border-box;margin:0 auto 14px;padding:18px 16px 16px;border-radius:21px;border:1px solid rgba(255,255,255,.32);box-shadow:0 12px 28px rgba(0,0,0,.14)}
.rg-counter-panel--red{background:radial-gradient(circle at 17% 12%,rgba(255,102,129,.28),transparent 30%),linear-gradient(135deg,#ff2052 0%,#ec1042 58%,#da0d39 100%)}
.rg-counter-panel--blue{background:radial-gradient(circle at 17% 12%,rgba(87,154,255,.29),transparent 31%),linear-gradient(135deg,#1f6ee4 0%,#1657bf 58%,#10469e 100%)}
.rg-counter-label{font-size:clamp(13px,1.8vw,17px);font-weight:800;line-height:1.2;letter-spacing:.8px;text-transform:uppercase}
.rg-counter-value{margin-top:7px;font-size:clamp(70px,12vw,108px);font-weight:800;line-height:.88;letter-spacing:-.065em;font-variant-numeric:tabular-nums}
.rg-counter-panel--today .rg-counter-value{font-size:clamp(64px,11vw,98px)}
.rg-counter-footer{position:relative;z-index:2;margin:5px 0 0;font-family:"Atkinson Hyperlegible Next",Arial,sans-serif;font-size:15px;font-weight:700;color:rgba(255,255,255,.76)}
.rg-counter-loading{position:relative;z-index:2;display:flex;align-items:center;justify-content:center;min-height:380px;font-size:18px;font-weight:800}
.rg-counter-error{position:relative;z-index:2;padding:80px 20px;color:#fff;font-size:17px;font-weight:700}
.rg-counter-card[data-loaded="0"] .rg-counter-live{display:none}
.rg-counter-card[data-loaded="1"] .rg-counter-loading{display:none}
.rg-counter-panel[hidden]{display:none!important}

.rg-counter-celebration{display:none;position:relative;z-index:3;margin:0 auto 18px;padding:12px 16px;border:1px solid rgba(255,219,118,.55);border-radius:15px;background:rgba(17,68,131,.72);font-size:18px;font-weight:800;color:#fff}
.rg-counter-card.is-reached .rg-counter-celebration{display:block}
.rg-counter-card.is-reached .rg-counter-title strong{color:#f7d36f}
.rg-counter-card.is-reached .rg-counter-total{box-shadow:0 0 0 1px rgba(255,224,134,.32),0 14px 34px rgba(0,0,0,.2),0 0 34px rgba(247,211,111,.18)}

.rg-confetti{position:absolute;inset:0;z-index:20;overflow:hidden;pointer-events:none}
.rg-confetti i{position:absolute;top:-35px;width:9px;height:24px;border-radius:4px;animation:rgConfettiFall var(--dur,3.8s) cubic-bezier(.2,.7,.3,1) var(--delay,0s) 2;transform:translate3d(0,0,0) rotate(0)}
@keyframes rgConfettiFall{0%{transform:translate3d(0,-30px,0) rotate(0);opacity:0}8%{opacity:1}100%{transform:translate3d(var(--drift,0),850px,0) rotate(var(--spin,720deg));opacity:.92}}
@keyframes rgCounterPop{0%,100%{transform:scale(1)}40%{transform:scale(1.04)}70%{transform:scale(1.018)}}
.rg-counter-card.is-celebrating{animation:rgCounterPop .85s ease 3}

.rg-counter-page{min-height:100vh;background:#061f43;padding:120px 20px 70px}
.rg-counter-page .rg-counter-dialog{margin:0 auto;max-height:none;overflow:visible;box-shadow:none}

@media(max-width:700px){
  .rg-counter-modal{padding:8px}.rg-counter-dialog{max-height:calc(100vh - 16px);border-radius:21px}.rg-counter-close{right:10px;top:9px}
  .rg-counter-card{padding:30px 14px 23px;border-radius:21px}.rg-counter-logo{width:160px;margin-bottom:13px}.rg-counter-badge{font-size:10px;padding:6px 13px;margin-bottom:18px}.rg-counter-title{font-size:clamp(34px,10vw,48px)}.rg-counter-intro{font-size:16px;margin-bottom:20px}.rg-counter-panel{padding:16px 10px 14px;border-radius:18px;margin-bottom:12px}.rg-counter-label{font-size:11px}.rg-counter-value{font-size:clamp(60px,19vw,92px)}.rg-counter-panel--today .rg-counter-value{font-size:clamp(58px,18vw,86px)}.rg-counter-footer{font-size:13px}
}
@media(prefers-reduced-motion:reduce){.rg-confetti i,.rg-counter-card.is-celebrating{animation:none!important}}

/* ===== Vista dedicada /contador/ · TV 42 pulgadas ===== */
.rg-counter-tv-body{
  margin:0;
  min-width:100%;
  min-height:100vh;
  overflow:hidden;
  background:#041a39;
}
.rg-counter-tv-page{
  min-height:100vh;
  box-sizing:border-box;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:2.2vh 2.2vw;
  background:
    radial-gradient(circle at 50% -12%,rgba(26,98,208,.34),transparent 48%),
    linear-gradient(180deg,#061f43 0%,#03152f 100%);
}
.rg-counter-tv-shell{
  width:min(94vw,1460px);
  margin:auto;
}
.rg-counter-tv-page .rg-counter-card{
  width:100%;
  min-height:min(92vh,930px);
  padding:clamp(28px,3.3vh,52px) clamp(42px,4vw,72px) clamp(24px,2.7vh,42px);
  border-width:2px;
  border-radius:34px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  box-shadow:0 32px 110px rgba(0,0,0,.40),inset 0 1px 0 rgba(255,255,255,.08);
}
.rg-counter-tv-page .rg-counter-logo{
  width:clamp(230px,17vw,330px);
  max-width:none;
  margin-bottom:clamp(12px,1.8vh,22px);
}
.rg-counter-tv-page .rg-counter-badge{
  min-height:clamp(42px,4.3vh,58px);
  margin-bottom:clamp(18px,2vh,28px);
  padding:8px clamp(22px,2vw,34px);
  border-width:2px;
  font-size:clamp(14px,1.1vw,20px);
}
.rg-counter-tv-page .rg-counter-badge::before{
  width:clamp(12px,1vw,16px);
  height:clamp(12px,1vw,16px);
}
.rg-counter-tv-page .rg-counter-title{
  max-width:1100px;
  margin-bottom:clamp(12px,1.5vh,22px);
  font-size:clamp(54px,5vw,92px);
  line-height:.94;
}
.rg-counter-tv-page .rg-counter-intro{
  max-width:980px;
  margin-bottom:clamp(18px,2.2vh,30px);
  font-size:clamp(22px,1.8vw,34px);
  line-height:1.3;
}
.rg-counter-tv-page .rg-counter-panels{
  width:min(1120px,92%);
  margin:0 auto;
}
.rg-counter-tv-page .rg-counter-panel{
  width:100%;
  margin-bottom:clamp(12px,1.5vh,20px);
  padding:clamp(18px,2vh,28px) clamp(22px,2vw,34px) clamp(16px,1.7vh,24px);
  border-radius:26px;
}
.rg-counter-tv-page .rg-counter-label{
  font-size:clamp(17px,1.35vw,25px);
  letter-spacing:1.1px;
}
.rg-counter-tv-page .rg-counter-value{
  margin-top:clamp(6px,.8vh,12px);
  font-size:clamp(92px,8vw,155px);
  line-height:.84;
}
.rg-counter-tv-page .rg-counter-panel--today .rg-counter-value{
  font-size:clamp(84px,7.3vw,140px);
}
.rg-counter-tv-page .rg-counter-footer{
  margin-top:clamp(4px,.6vh,10px);
  font-size:clamp(16px,1.3vw,24px);
}
.rg-counter-tv-page .rg-counter-loading{
  min-height:60vh;
  font-size:clamp(24px,2vw,38px);
}
.rg-counter-tv-page .rg-counter-celebration{
  width:min(1000px,90%);
  margin-bottom:clamp(14px,1.8vh,24px);
  padding:clamp(14px,1.4vh,20px) clamp(20px,2vw,32px);
  font-size:clamp(20px,1.6vw,30px);
}

/* En TV, cuando solo queda el total, ese bloque toma más protagonismo. */
.rg-counter-tv-page .rg-counter-panel--red.rg-counter-total:only-child,
.rg-counter-tv-page .rg-counter-panels > .rg-counter-total:not([hidden]){
  max-width:1080px;
}
.rg-counter-tv-page .rg-counter-panels > .rg-counter-total:not([hidden]) .rg-counter-value{
  font-size:clamp(110px,9.4vw,180px);
}

/* Mantener la vista dentro de un 16:9 Full HD sin scroll. */
@media (min-width:1200px) and (min-height:650px){
  .rg-counter-tv-page .rg-counter-card{max-height:95vh;}
}

/* Si la TV trabaja a una resolución más baja, escala sin romper el diseño. */
@media (max-height:760px) and (min-width:900px){
  .rg-counter-tv-page{padding:1.5vh 1.5vw;}
  .rg-counter-tv-page .rg-counter-card{min-height:96vh;padding-top:20px;padding-bottom:18px;}
  .rg-counter-tv-page .rg-counter-logo{width:210px;margin-bottom:8px;}
  .rg-counter-tv-page .rg-counter-badge{margin-bottom:12px;min-height:38px;}
  .rg-counter-tv-page .rg-counter-title{font-size:clamp(48px,4.4vw,72px);margin-bottom:10px;}
  .rg-counter-tv-page .rg-counter-intro{font-size:clamp(19px,1.55vw,26px);margin-bottom:14px;}
  .rg-counter-tv-page .rg-counter-panel{margin-bottom:9px;padding-top:14px;padding-bottom:12px;}
  .rg-counter-tv-page .rg-counter-value{font-size:clamp(78px,7vw,122px);}
  .rg-counter-tv-page .rg-counter-panel--today .rg-counter-value{font-size:clamp(72px,6.5vw,112px);}
  .rg-counter-tv-page .rg-counter-footer{font-size:16px;}
}
