/*
 * CUPONETA · Microsite Shell v2
 * Cargado únicamente en is_page('cuponeta').
 * Toda la autoridad visual queda aislada bajo .jc-cuponeta-shell.
 */

.jc-cuponeta-shell,
.jc-cuponeta-shell *{
  box-sizing:border-box;
}

.jc-cuponeta-shell.jc-cuponeta-main{
  width:100%;
  max-width:none;
  min-width:0;
  padding:0 0 58px;
  background:linear-gradient(180deg,#f4f8fc 0,#f8fafc 58%,#f3f7fb 100%);
}

.jc-cuponeta-shell .jc-cuponeta-shell__layout{
  --jc-shell-gutter:clamp(8px,3vw,12px);
  --jc-shell-gap:clamp(6px,2vw,9px);
  --jc-lead-height:clamp(126px,34vw,232px);
  --jc-shell-radius:clamp(14px,4vw,20px);
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  column-gap:var(--jc-shell-gap);
  row-gap:clamp(10px,2.7vw,16px);
  width:calc(100% - var(--jc-shell-gutter) - var(--jc-shell-gutter));
  max-width:1180px;
  min-width:0;
  margin-inline:auto;
  padding:var(--jc-shell-gutter) 0 0;
}

.jc-cuponeta-shell .jc-cuponeta-banner-v2{
  position:relative;
  isolation:isolate;
  grid-column:1;
  min-width:0;
  height:var(--jc-lead-height);
  margin:0;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.72);
  border-radius:var(--jc-shell-radius);
  background:
    radial-gradient(circle at 16% 16%,rgba(255,255,255,.90) 0 8%,transparent 31%),
    radial-gradient(circle at 87% 82%,rgba(255,151,33,.34) 0 7%,transparent 33%),
    linear-gradient(145deg,#f9fff8 0%,#e9fbe8 52%,#fff0d8 112%);
  box-shadow:0 14px 34px rgba(31,93,55,.14);
}

.jc-cuponeta-shell .jc-cuponeta-banner-v2::before,
.jc-cuponeta-shell .jc-cuponeta-banner-v2::after{
  content:"";
  position:absolute;
  z-index:-1;
  border-radius:50%;
  pointer-events:none;
}

.jc-cuponeta-shell .jc-cuponeta-banner-v2::before{
  width:72%;
  aspect-ratio:1;
  right:-32%;
  top:-28%;
  border:1px solid rgba(26,173,64,.19);
  box-shadow:0 0 0 18px rgba(255,255,255,.22),0 0 0 42px rgba(245,130,32,.055);
}

.jc-cuponeta-shell .jc-cuponeta-banner-v2::after{
  width:55%;
  aspect-ratio:1;
  left:-23%;
  bottom:-40%;
  background:rgba(25,174,65,.075);
}

.jc-cuponeta-shell .jc-cuponeta-banner-v2__glow{
  position:absolute;
  z-index:-1;
  inset:auto 7% 6% 7%;
  height:35%;
  border-radius:50%;
  background:radial-gradient(ellipse,rgba(255,168,61,.25),transparent 72%);
  filter:blur(10px);
  pointer-events:none;
}

.jc-cuponeta-shell .jc-cuponeta-banner-v2__brand{
  position:relative;
  z-index:1;
  display:flex;
  width:100%;
  height:100%;
  align-items:center;
  justify-content:center;
  padding:0;
  text-align:center;
}

.jc-cuponeta-shell .jc-cuponeta-banner-v2__title{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  margin:-1px!important;
  padding:0!important;
  overflow:hidden!important;
  clip:rect(0 0 0 0)!important;
  clip-path:inset(50%)!important;
  border:0!important;
  white-space:nowrap!important;
}

.jc-cuponeta-shell .jc-cuponeta-banner-v2__logo{
  display:block;
  width:calc(100% - 14px);
  max-width:100%;
  height:auto;
  object-fit:contain;
  filter:none;
}

.jc-cuponeta-shell .jc-cuponeta-lead-slot{
  grid-column:2;
  width:100%;
  min-width:0;
  height:var(--jc-lead-height);
}

.jc-cuponeta-shell .jc-coupon-card--lead{
  width:100%;
  height:100%;
  min-width:0;
  min-height:0;
  margin:0;
  overflow:visible;
  border-radius:var(--jc-shell-radius);
  box-shadow:0 14px 34px rgba(15,35,55,.15);
}

.jc-cuponeta-shell .jc-coupon-card--lead .jc-coupon-media{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  aspect-ratio:auto;
  overflow:hidden;
  border-radius:inherit;
}

.jc-cuponeta-shell .jc-coupon-card--lead .jc-coupon-media::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(6,25,42,.06) 5%,rgba(6,25,42,.18) 42%,rgba(6,25,42,.92) 100%);
  pointer-events:none;
}

.jc-cuponeta-shell .jc-coupon-card--lead .jc-coupon-media img,
.jc-cuponeta-shell .jc-coupon-card--lead .jc-coupon-placeholder{
  width:100%;
  height:100%;
  object-fit:cover;
}

.jc-cuponeta-shell .jc-coupon-card--lead .jc-coupon-benefit{
  z-index:2;
  left:clamp(6px,1.7vw,12px);
  top:clamp(6px,1.7vw,12px);
  bottom:auto;
  max-width:calc(100% - 12px);
  padding:clamp(4px,1.2vw,7px) clamp(6px,1.8vw,11px);
  font-size:clamp(8px,2.2vw,13px);
  line-height:1.1;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.jc-cuponeta-shell .jc-coupon-card--lead .jc-coupon-body{
  position:absolute;
  z-index:3;
  inset:0;
  display:flex;
  min-width:0;
  flex-direction:column;
  justify-content:flex-end;
  padding:clamp(34px,8vw,58px) clamp(7px,2vw,14px) 54px;
  color:#fff;
  border-radius:inherit;
}

.jc-cuponeta-shell .jc-coupon-card--lead .jc-coupon-business{
  min-width:0;
  margin:0 0 4px;
}

.jc-cuponeta-shell .jc-coupon-card--lead .jc-coupon-business a,
.jc-cuponeta-shell .jc-coupon-card--lead .jc-coupon-business span{
  overflow:hidden;
  color:#fff;
  font-size:clamp(8px,1.9vw,12px);
  text-overflow:ellipsis;
  white-space:nowrap;
  text-shadow:0 1px 5px rgba(0,0,0,.42);
}

.jc-cuponeta-shell .jc-coupon-card--lead h2{
  display:-webkit-box;
  margin:0;
  overflow:hidden;
  color:#fff;
  font-size:clamp(11px,3vw,20px);
  line-height:1.12;
  text-shadow:0 2px 8px rgba(0,0,0,.48);
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
}

.jc-cuponeta-shell .jc-coupon-card--lead .jc-coupon-body>p{
  display:-webkit-box;
  margin:5px 0 0;
  overflow:hidden;
  color:rgba(255,255,255,.91);
  font-size:clamp(9px,1.8vw,12px);
  line-height:1.3;
  text-shadow:0 1px 4px rgba(0,0,0,.4);
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
}

.jc-cuponeta-shell .jc-coupon-card--lead .jc-coupon-meta{
  margin-top:6px;
  gap:4px;
}

.jc-cuponeta-shell .jc-coupon-card--lead .jc-coupon-meta span{
  padding:3px 6px;
  background:rgba(255,255,255,.88);
  color:#20384f;
  font-size:clamp(7px,1.5vw,10px);
}

.jc-cuponeta-shell .jc-coupon-card--lead .jc-coupon-loyalty-badge{
  margin-top:5px;
  padding:5px 7px;
  background:rgba(242,255,244,.92);
  font-size:clamp(7px,1.45vw,10px);
}

.jc-cuponeta-shell .jc-coupon-card--lead .jc-coupon-action-stack{
  position:absolute;
  z-index:5;
  right:0;
  bottom:0;
  left:0;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:2px;
  height:44px;
  overflow:hidden;
  border-radius:0 0 var(--jc-shell-radius) var(--jc-shell-radius);
  background:rgba(8,27,43,.90);
}

.jc-cuponeta-shell .jc-coupon-card--lead .jc-coupon-card-actions{
  display:contents;
}

.jc-cuponeta-shell .jc-coupon-card--lead .jc-coupon-open,
.jc-cuponeta-shell .jc-coupon-card--lead .jc-coupon-save,
.jc-cuponeta-shell .jc-coupon-card--lead .jc-coupon-get{
  display:flex;
  width:100%;
  min-width:0;
  min-height:44px;
  height:44px;
  align-items:center;
  justify-content:center;
  margin:0;
  padding:2px 4px;
  border-radius:0;
  font-size:clamp(8px,1.7vw,11px);
  line-height:1.08;
  text-align:center;
  white-space:normal;
  overflow-wrap:anywhere;
  box-shadow:none;
  transform:none;
}

.jc-cuponeta-shell .jc-coupon-card--lead .jc-coupon-open{
  grid-column:1;
  color:#fff;
  background:#102c43;
}

.jc-cuponeta-shell .jc-coupon-card--lead .jc-coupon-get{
  grid-column:2;
}

.jc-cuponeta-shell .jc-coupon-card--lead .jc-coupon-save{
  grid-column:3;
  min-width:0;
  color:#334e68;
}

.jc-cuponeta-shell .jc-coupon-card--lead .jc-coupon-action-stack:not(:has(.jc-coupon-save)) .jc-coupon-get{
  grid-column:2/4;
}

.jc-cuponeta-shell .jc-coupon-card--lead .jc-coupon-details[hidden]{
  display:none!important;
}

.jc-cuponeta-shell .jc-coupon-card--lead .jc-coupon-details:not([hidden]){
  position:fixed;
  z-index:100200;
  left:50%;
  bottom:calc(12px + env(safe-area-inset-bottom,0px));
  display:grid;
  gap:10px;
  width:min(calc(100vw - 24px),560px);
  max-height:min(62vh,420px);
  margin:0;
  padding:18px 18px 62px;
  overflow-x:hidden;
  overflow-y:auto;
  border:1px solid #c9d6e2;
  border-radius:18px;
  background:#fff;
  box-shadow:0 24px 70px rgba(5,25,42,.34);
  transform:translateX(-50%);
  overscroll-behavior:contain;
}

.jc-cuponeta-shell .jc-coupon-card--lead .jc-coupon-details:not([hidden]) strong{
  font-size:18px;
}

.jc-cuponeta-shell .jc-coupon-card--lead .jc-coupon-details:not([hidden]) small{
  font-size:13px;
}

.jc-cuponeta-shell .jc-coupon-card--lead .jc-coupon-details:not([hidden]) .jc-button{
  justify-self:start;
  margin-top:10px;
}

.jc-cuponeta-shell .jc-coupon-card--lead .jc-coupon-open[aria-expanded="true"]{
  position:fixed;
  z-index:100210;
  right:max(20px,calc((100vw - 560px)/2 + 20px));
  bottom:calc(20px + env(safe-area-inset-bottom,0px));
  width:auto;
  min-width:116px;
  padding-inline:12px;
  border-radius:9px;
  background:#102c43;
}

.jc-cuponeta-shell .jc-cuponeta-empty--lead{
  display:flex;
  width:100%;
  height:100%;
  min-width:0;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:clamp(4px,1.5vw,10px);
  margin:0;
  padding:clamp(7px,2.1vw,20px);
  overflow:hidden;
  border-style:solid;
  border-radius:var(--jc-shell-radius);
  box-shadow:0 10px 26px rgba(21,58,92,.09);
}

.jc-cuponeta-shell .jc-cuponeta-empty--lead strong{
  font-size:clamp(10px,2.8vw,18px);
  line-height:1.12;
}

.jc-cuponeta-shell .jc-cuponeta-empty--lead p{
  display:-webkit-box;
  margin:0;
  overflow:hidden;
  font-size:clamp(8px,2vw,13px);
  line-height:1.25;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
}

.jc-cuponeta-shell .jc-cuponeta-empty--lead .jc-button{
  min-height:34px;
  padding:5px 10px;
  font-size:clamp(8px,1.8vw,11px);
}

.jc-cuponeta-shell .jc-cuponeta-intro-v2{
  grid-column:1/-1;
  display:flex;
  min-width:0;
  align-items:flex-end;
  justify-content:space-between;
  gap:20px;
  padding:18px 20px;
  border:1px solid #e2e8f0;
  border-radius:16px;
  background:#fff;
  box-shadow:0 8px 22px rgba(15,35,55,.045);
}

.jc-cuponeta-shell .jc-cuponeta-intro-v2__copy{
  max-width:720px;
}

.jc-cuponeta-shell .jc-cuponeta-intro-v2 p{
  margin:5px 0 0;
  color:#52667a;
  line-height:1.45;
}

.jc-cuponeta-shell .jc-cuponeta-intro-v2 small{
  display:block;
  margin-top:6px;
  color:#718096;
  font-size:.72rem;
  font-weight:800;
}

.jc-cuponeta-shell .jc-cuponeta-hero-actions{
  flex:0 0 auto;
}

.jc-cuponeta-shell .jc-cuponeta-filter,
.jc-cuponeta-shell .jc-coupon-grid,
.jc-cuponeta-shell .jc-cuponeta-pagination{
  grid-column:1/-1;
  min-width:0;
}

.jc-cuponeta-shell .jc-cuponeta-filter{
  margin:0;
}

.jc-cuponeta-shell .jc-coupon-grid{
  width:100%;
}

.jc-cuponeta-shell .jc-cuponeta-pagination{
  margin-top:0;
}

@media (min-width:431px) and (max-width:900px){
  .jc-cuponeta-shell .jc-cuponeta-banner-v2__logo{
    width:calc(88% + 2px);
  }
}

@media (max-width:680px){
  .jc-cuponeta-shell .jc-coupon-card--lead .jc-coupon-body>p,
  .jc-cuponeta-shell .jc-coupon-card--lead .jc-coupon-loyalty-badge{
    display:none;
  }

  .jc-cuponeta-shell .jc-coupon-card--lead .jc-coupon-meta span{
    display:none;
  }

  .jc-cuponeta-shell .jc-coupon-card--lead .jc-coupon-meta .jc-coupon-availability{
    display:inline-flex;
  }

  .jc-cuponeta-shell .jc-cuponeta-intro-v2{
    align-items:flex-start;
    flex-direction:column;
    gap:10px;
    padding:14px;
  }

  .jc-cuponeta-shell .jc-cuponeta-hero-actions{
    width:100%;
    justify-content:flex-start;
  }
}

@media (max-width:430px){
  .jc-cuponeta-shell .jc-coupon-card--lead .jc-coupon-body{
    padding:27px 5px 48px;
  }

  .jc-cuponeta-shell .jc-coupon-card--lead .jc-coupon-business{
    gap:4px;
    margin-bottom:2px;
  }

  .jc-cuponeta-shell .jc-coupon-card--lead .jc-coupon-business a,
  .jc-cuponeta-shell .jc-coupon-card--lead .jc-coupon-business span{
    font-size:7.5px;
  }

  .jc-cuponeta-shell .jc-coupon-card--lead h2{
    font-size:clamp(10px,3vw,12px);
  }

  .jc-cuponeta-shell .jc-coupon-card--lead .jc-coupon-meta{
    margin-top:2px;
  }

  .jc-cuponeta-shell .jc-coupon-card--lead .jc-coupon-meta .jc-coupon-availability{
    padding:2px 4px;
    font-size:7px;
  }

  .jc-cuponeta-shell .jc-coupon-card--lead .jc-coupon-open,
  .jc-cuponeta-shell .jc-coupon-card--lead .jc-coupon-save{
    font-size:0;
  }

  .jc-cuponeta-shell .jc-coupon-card--lead .jc-coupon-open::before{
    content:"ⓘ";
    font-size:18px;
  }

  .jc-cuponeta-shell .jc-coupon-card--lead .jc-coupon-open[aria-expanded="true"]::before{
    content:"Cerrar";
    font-size:11px;
  }

  .jc-cuponeta-shell .jc-coupon-card--lead .jc-coupon-save::before{
    content:"♡";
    font-size:20px;
  }

  .jc-cuponeta-shell .jc-coupon-card--lead .jc-coupon-save[aria-pressed="true"]::before{
    content:"♥";
  }

  .jc-cuponeta-shell .jc-coupon-card--lead .jc-coupon-get{
    font-size:8px;
  }
}

@media (min-width:901px){
  .jc-cuponeta-shell .jc-cuponeta-shell__layout{
    --jc-shell-gutter:16px;
    --jc-shell-gap:16px;
    --jc-lead-height:clamp(380px,32vw,400px);
    --jc-shell-radius:24px;
    column-gap:16px;
    row-gap:16px;
    width:min(calc(100% - 32px),1180px);
    max-width:1180px;
    padding-top:8px;
  }

  .jc-cuponeta-shell .jc-cuponeta-banner-v2__logo{
    width:min(calc(82% + 2px),440px);
  }
}

@media (prefers-reduced-motion:reduce){
  .jc-cuponeta-shell .jc-coupon-card,
  .jc-cuponeta-shell .jc-coupon-media img,
  .jc-cuponeta-shell .jc-coupon-get{
    transition:none!important;
  }
}
