/* Escoot Rebuilt: independent CSS engine.  No legacy .es-pb rules, fixed mobile heights,
   Elementor height tokens or container queries are used. */
.espb2,
.espb2 *{box-sizing:border-box}
.espb2{
  display:block;position:relative;width:100%;max-width:var(--es-width,1350px);
  margin:0 auto;padding:0;font-family:inherit;font-weight:400;
  color:var(--es-heading,#0b1c37);font-feature-settings:"case" on;
  line-height:1.4;min-height:0;max-height:none;height:auto;overflow:visible
}
.espb2 .espb2-box{
  display:block;width:100%;height:auto;min-height:0;max-height:none;overflow:hidden;
  border:1px solid #e7eaf2;border-radius:var(--es-radius,22px);
  background:linear-gradient(115deg,var(--es-bg,#f9faff),var(--es-bg-end,#e8efff))
}
.espb2 .espb2-top{
  display:grid;grid-template-columns:minmax(0,42fr) minmax(0,58fr);
  align-items:stretch;height:auto;min-height:198px;max-height:none;margin:0;padding:0
}
.espb2 .espb2-offer{
  min-width:0;position:relative;isolation:isolate;display:flex;flex-direction:column;
  align-items:flex-start;justify-content:center;gap:10px;margin:0;
  padding:var(--es-offer-padding,22px 60px 22px 35px);color:var(--es-offer-text,#fff)
}
.espb2 .espb2-offer:before{
  content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(125deg,var(--es-offer-color,#8800e9),var(--es-offer-end,#6500cf));
  clip-path:polygon(0 0,100% 0,83% 100%,0 100%)
}
.espb2 .espb2-brand{display:flex;align-items:center;gap:10px;max-width:100%;min-width:0}
.espb2 .espb2-brand img{display:block;flex-shrink:0;width:var(--es-brand-logo-width,43px);max-width:45%;max-height:46px;height:auto;object-fit:contain}
.espb2 .espb2-brand span{font-size:18px;line-height:1.2;font-weight:500;overflow-wrap:anywhere}
.espb2 .espb2-slogan{
  display:block;margin:0;padding:0;max-width:100%;color:inherit;
  font-size:clamp(26px,3vw,38px);font-weight:500;line-height:1.21;letter-spacing:-.45px;
  overflow-wrap:anywhere
}
.espb2 .espb2-main{
  min-width:0;position:relative;display:flex;flex-direction:column;
  align-items:flex-start;justify-content:center;
  margin:0;padding:var(--es-main-padding,22px 24px 22px 30px);min-height:0
}
.espb2 .espb2-copy{min-width:0;max-width:100%;position:relative;z-index:2}
.espb2--has-art .espb2-copy{max-width:calc(100% - 198px)}
.espb2 .espb2-heading{
  display:block;margin:0 0 10px;padding:0;color:var(--es-heading,#0b1c37);
  font-size:clamp(27px,3vw,41px);font-weight:500;line-height:1.15;overflow-wrap:anywhere
}
.espb2 .espb2-months{
  display:inline-block;max-width:100%;padding:5px 18px 7px;
  border-radius:13px;background:var(--es-blue,#066bff);color:var(--es-period-text,#fff);
  font-size:clamp(21px,2.25vw,29px);font-weight:500;line-height:1.2;overflow-wrap:anywhere
}
.espb2 .espb2-art{
  width:240px;height:180px;position:absolute;right:var(--es-art-right,27px);
  top:var(--es-art-top,23px);pointer-events:none;
  transform:scale(var(--es-art-scale,.85));transform-origin:right top
}
.espb2 .espb2-art:before{
  content:"";position:absolute;width:170px;height:170px;right:-5px;top:-6px;
  border-radius:50%;background:radial-gradient(circle,#c9e0ff,transparent 70%)
}
.espb2 .espb2-card{position:absolute;left:6px;top:47px;width:113px;height:73px;border:1px solid #fff9;border-radius:9px;background:linear-gradient(125deg,#fbfdff,#d4e0f6);transform:rotate(-12deg)}
.espb2 .espb2-card:before,.espb2 .espb2-front:before{content:"";position:absolute;left:14px;top:20px;width:19px;height:15px;border-radius:4px;background:linear-gradient(90deg,#d6dce3,#aab6c4,#e6ebf0)}
.espb2 .espb2-front{position:absolute;left:0;top:86px;width:118px;height:76px;border-radius:9px;background:linear-gradient(125deg,#049bff,#0057d4);transform:rotate(8deg)}
.espb2 .espb2-front:after{content:"••••  ••••  ••••";position:absolute;left:13px;bottom:12px;color:#dceeff;font:12px monospace;letter-spacing:1px}
.espb2 .espb2-calendar{position:absolute;right:3px;top:42px;width:106px;height:116px;border:1px solid #c8dbf6;border-radius:13px;background:linear-gradient(120deg,#fff,#e2edfc);transform:rotate(7deg)}
.espb2 .espb2-calendar:before{content:"";position:absolute;left:-1px;right:-1px;top:-1px;height:30px;border-radius:13px 13px 0 0;background:linear-gradient(110deg,#078bff,#004dd4)}
.espb2 .espb2-calendar:after{content:"";position:absolute;top:43px;left:15px;right:15px;height:57px;background:repeating-linear-gradient(90deg,transparent 0 14px,#eff5ff 14px 22px),repeating-linear-gradient(0deg,#a9ccff 0 12px,transparent 12px 21px)}
.espb2 .espb2-rings{position:absolute;left:23px;right:23px;top:-13px;display:flex;justify-content:space-between;z-index:1}
.espb2 .espb2-rings i{display:block;width:8px;height:26px;border:3px solid #8cb6e6;border-radius:10px;background:#e0eeff}
.espb2 .espb2-check{position:absolute;right:-8px;bottom:3px;display:grid;place-items:center;width:48px;height:48px;border:4px solid #b9d7ff;border-radius:50%;background:var(--es-blue,#0969f4);color:#fff;font:32px/1 sans-serif}
.espb2 .espb2-banks{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:center;
  padding:var(--es-bank-padding,11px) 0;margin:0;height:auto;min-height:0;
  background:rgba(255,255,255,.22)
}
.espb2 .espb2-bank{
  display:flex;justify-content:center;align-items:center;min-width:0;gap:var(--es-logo-gap,10px);
  padding:0 12px;align-self:stretch
}
.espb2 .espb2-bank+.espb2-bank{border-left:1px solid #ccd7ed}
.espb2 .espb2-bank--tbc,.espb2 .espb2-bank--credo{--es-logo-width:138px}
.espb2 .espb2-bank--bog{--es-logo-width:48px}
.espb2 .espb2-bank-logo{
  display:flex;justify-content:center;align-items:center;flex:0 1 var(--es-logo-width);
  width:var(--es-logo-width);max-width:100%;min-width:0;min-height:36px
}
.espb2 .espb2-bank-logo img{
  display:block;width:100%;height:auto;max-width:100%;max-height:var(--es-logo-height,62px);
  object-fit:contain
}
.espb2 .espb2-bank-copy{min-width:0;display:block}
.espb2 .espb2-bank-name{
  display:block;margin:0;color:var(--es-bank-name,#172842);font-size:12px;font-weight:500;
  line-height:1.4;overflow-wrap:anywhere
}
.espb2 .espb2-bank-term{
  display:block;margin-top:2px;color:var(--es-tbc,#0878ff);
  font-size:13px;font-weight:500;line-height:1.35;overflow-wrap:anywhere
}
.espb2 .espb2-bank--bog .espb2-bank-term{color:var(--es-bog,#ff6210)}
.espb2 .espb2-bank--credo .espb2-bank-term{color:var(--es-credo,#00977c)}

@media (max-width:1100px) and (min-width:768px){
  .espb2--has-art .espb2-copy{max-width:calc(100% - 130px)}
  .espb2 .espb2-art{right:12px;transform:scale(var(--es-art-scale,.55))}
  .espb2 .espb2-bank{padding:0 8px;gap:6px}
  .espb2 .espb2-bank--tbc,.espb2 .espb2-bank--credo{--es-logo-width:115px}
}
@media (max-width:767px){
  /* Elementor content-height reset; not applied to sections / page wrappers. */
  .elementor-widget-escoot-payment-banner:has(.espb2),
  .elementor-widget-escoot-payment-banner:has(.espb2)>.elementor-widget-container{
    height:auto!important;min-height:0!important;max-height:none!important;
    padding-bottom:0!important;overflow:visible!important
  }
  .espb2,.espb2 .espb2-box,.espb2 .espb2-top,.espb2 .espb2-offer,
  .espb2 .espb2-main,.espb2 .espb2-banks{
    height:auto!important;min-height:0!important;max-height:none!important
  }
  .espb2 .espb2-top{display:flex!important;flex-direction:column!important;grid-template-columns:none!important;align-items:stretch}
  .espb2 .espb2-offer{
    flex:0 0 auto!important;justify-content:center!important;align-items:flex-start;
    padding:16px 18px!important;gap:8px!important
  }
  .espb2 .espb2-offer:before{clip-path:none}
  .espb2 .espb2-brand{gap:9px}
  .espb2 .espb2-brand img{max-height:34px;width:min(var(--es-brand-logo-width,43px),46px)}
  .espb2 .espb2-brand span{font-size:16px}
  .espb2 .espb2-slogan{font-size:clamp(21px,6vw,29px);line-height:1.2;letter-spacing:-.2px}
  .espb2 .espb2-main{flex:0 0 auto!important;padding:15px 18px 17px!important;justify-content:center!important}
  .espb2 .espb2-copy,.espb2--has-art .espb2-copy{max-width:100%!important}
  .espb2 .espb2-heading{font-size:26px;line-height:1.2;margin:0 0 8px}
  .espb2 .espb2-months{font-size:22px;padding:5px 14px 6px;border-radius:10px}
  .espb2 .espb2-art{display:none!important}
  .espb2 .espb2-banks{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));padding:10px 5px!important}
  .espb2 .espb2-bank{display:flex;flex-direction:column;justify-content:center;gap:5px;padding:0 4px;text-align:center}
  .espb2 .espb2-bank--tbc,.espb2 .espb2-bank--credo{--es-logo-width:100px}
  .espb2 .espb2-bank--bog{--es-logo-width:43px}
  .espb2 .espb2-bank-logo{width:min(100%,var(--es-logo-width));flex:0 0 auto;min-height:32px}
  .espb2 .espb2-bank-logo img{max-height:52px}
  .espb2 .espb2-bank-name{font-size:10px;line-height:1.25}
  .espb2 .espb2-bank-term{font-size:11px;margin-top:2px}
}
@media (max-width:380px){
  .espb2 .espb2-offer{padding:15px!important}
  .espb2 .espb2-main{padding:14px 15px 16px!important}
  .espb2 .espb2-slogan{font-size:22px}
  .espb2 .espb2-bank{padding:0 2px}
  .espb2 .espb2-bank-name{font-size:9px}
  .espb2 .espb2-bank-term{font-size:10px}
}
