/* IPTV300 Entertainment Elementor Widget - v1.2 */
.iptv300-entertainment-widget{
  --iptv-navy:#061A3D;
  --iptv-blue:#2278FE;
  --iptv-cyan:#12D8FA;
  --iptv-muted:#64748B;
  --ent-icon-size:44px;
  --ent-icon-inner:18px;
  position:relative;
  overflow:hidden;
  width:100%;
  background:#fff;
  padding:70px 12px;
  font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}

.iptv300-ent-shell{
  position:relative;
  overflow:hidden;
  width:100%;
  max-width:1180px;
  margin:0 auto;
  padding:52px 52px 42px;
  border-radius:34px;
  background:
    radial-gradient(circle at 10% 8%,rgba(34,120,254,.08),transparent 28%),
    radial-gradient(circle at 90% 15%,rgba(18,216,250,.12),transparent 30%),
    linear-gradient(180deg,#fff 0%,#F7FBFF 100%);
  border:1px solid rgba(185,216,255,.72);
  box-shadow:0 30px 80px rgba(6,26,61,.08),inset 0 1px 0 rgba(255,255,255,.96);
}

.iptv300-ent-shell:after{
  content:"";
  position:absolute;
  right:44px;
  top:42px;
  width:110px;
  height:110px;
  background-image:radial-gradient(rgba(34,120,254,.25) 2px,transparent 2px);
  background-size:17px 17px;
  opacity:.55;
  pointer-events:none;
}

.iptv300-ent-head{
  text-align:center;
  position:relative;
  z-index:2;
  margin-bottom:36px;
}

.iptv300-ent-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:10px 22px;
  margin-bottom:20px;
  border-radius:999px;
  color:var(--iptv-blue);
  background:rgba(34,120,254,.06);
  border:1px solid rgba(34,120,254,.14);
  box-shadow:0 10px 24px rgba(34,120,254,.07);
  font-size:13px;
  font-weight:800;
  letter-spacing:.14em;
}

.iptv300-ent-title{
  margin:0;
  color:var(--iptv-navy);
  font-family:"Space Grotesk",Inter,sans-serif;
  font-size:44px;
  line-height:1.08;
  font-weight:900;
  letter-spacing:-.055em;
}

.iptv300-ent-title span{
  background:linear-gradient(135deg,var(--iptv-blue),var(--iptv-cyan));
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
}

.iptv300-ent-subtitle{
  margin:18px auto 0;
  color:var(--iptv-muted);
  font-size:18px;
  line-height:1.6;
  font-weight:500;
  max-width:700px;
}

.iptv300-ent-grid{
  position:relative;
  z-index:2;
  width:100%;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}

.iptv300-ent-card{
  position:relative;
  display:grid;
  grid-template-columns:47% 1fr;
  min-height:172px;
  overflow:hidden;
  border-radius:20px;
  background:rgba(255,255,255,.92);
  border:1px solid rgba(185,216,255,.62);
  box-shadow:0 18px 46px rgba(6,26,61,.07),inset 0 1px 0 rgba(255,255,255,.95);
}

.iptv300-ent-img-wrap{
  position:relative;
  overflow:hidden;
  min-height:172px;
  height:100%;
  background:
    radial-gradient(circle at 38% 35%,rgba(255,255,255,.92),transparent 24%),
    linear-gradient(135deg,rgba(34,120,254,.10),rgba(18,216,250,.16));
}

.iptv300-ent-img-wrap.is-empty:before{
  content:"";
  position:absolute;
  inset:22px;
  border-radius:18px;
  background:
    linear-gradient(135deg,rgba(255,255,255,.36),rgba(255,255,255,.06)),
    radial-gradient(circle at 28% 35%,rgba(34,120,254,.20),transparent 34%);
  border:1px dashed rgba(34,120,254,.22);
}

.iptv300-ent-img-wrap:after{
  content:"";
  position:absolute;
  top:0;
  right:-1px;
  bottom:0;
  width:42%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.94));
  z-index:2;
  pointer-events:none;
}

.iptv300-ent-img-wrap img{
  width:100%;
  height:100%;
  min-height:172px;
  object-fit:cover;
  display:block;
}

.iptv300-ent-content{
  position:relative;
  padding:28px 24px 22px 8px;
  min-width:0;
}

.iptv300-ent-icon{
  position:absolute;
  left:calc(var(--ent-icon-size) * -1);
  top:24px;
  width:var(--ent-icon-size);
  height:var(--ent-icon-size);
  z-index:5;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  color:#fff!important;
  background:linear-gradient(135deg,var(--iptv-blue),var(--iptv-cyan));
  box-shadow:0 16px 34px rgba(34,120,254,.26);
  line-height:1;
}

.iptv300-ent-icon i,
.iptv300-ent-icon svg{
  width:var(--ent-icon-inner)!important;
  height:var(--ent-icon-inner)!important;
  font-size:var(--ent-icon-inner)!important;
  display:block!important;
  color:#fff!important;
  fill:#fff!important;
  stroke:#fff!important;
  line-height:1!important;
}

.iptv300-ent-icon svg path,
.iptv300-ent-icon svg circle,
.iptv300-ent-icon svg rect,
.iptv300-ent-icon svg polygon,
.iptv300-ent-icon svg line,
.iptv300-ent-icon svg polyline{
  fill:currentColor!important;
  stroke:currentColor!important;
}

.iptv300-ent-content h3{
  margin:0;
  color:var(--iptv-navy);
  font-size:20px;
  line-height:1.15;
  font-weight:900;
  letter-spacing:-.03em;
}

.iptv300-ent-line{
  width:36px;
  height:3px;
  border-radius:999px;
  margin:14px 0 18px;
  background:linear-gradient(90deg,var(--iptv-blue),var(--iptv-cyan));
}

.iptv300-ent-content p{
  margin:0;
  color:var(--iptv-muted);
  font-size:14px;
  line-height:1.55;
  font-weight:550;
}

.iptv300-ent-trust{
  position:relative;
  z-index:2;
  max-width:820px;
  margin:24px auto 0;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:0;
  overflow:hidden;
  border-radius:18px;
  background:rgba(255,255,255,.86);
  border:1px solid rgba(185,216,255,.62);
  box-shadow:0 14px 38px rgba(6,26,61,.06);
}

.iptv300-ent-trust-item{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  min-height:48px;
  color:#475569;
  font-size:13px;
  font-weight:800;
}

.iptv300-ent-trust-item:not(:last-child){border-right:1px solid rgba(6,26,61,.10)}

.iptv300-ent-trust-icon{
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--iptv-blue)!important;
  font-size:17px;
  line-height:1;
}

.iptv300-ent-trust-icon i,
.iptv300-ent-trust-icon svg{
  width:17px!important;
  height:17px!important;
  font-size:17px!important;
  color:var(--iptv-blue)!important;
  fill:var(--iptv-blue)!important;
  stroke:var(--iptv-blue)!important;
  display:block!important;
}

.iptv300-ent-trust-icon svg path,
.iptv300-ent-trust-icon svg circle,
.iptv300-ent-trust-icon svg rect,
.iptv300-ent-trust-icon svg polygon,
.iptv300-ent-trust-icon svg line,
.iptv300-ent-trust-icon svg polyline{
  fill:currentColor!important;
  stroke:currentColor!important;
}

@media(max-width:1024px){
  .iptv300-entertainment-widget{padding:50px 12px}
  .iptv300-ent-shell{padding:42px 26px 34px}
  .iptv300-ent-grid{grid-template-columns:1fr 1fr}
  .iptv300-ent-title{font-size:34px}
}

@media(max-width:767px){
  .iptv300-entertainment-widget{padding:40px 12px}
  .iptv300-ent-shell{padding:30px 16px 24px;border-radius:24px}
  .iptv300-ent-shell:after{display:none}
  .iptv300-ent-badge{font-size:9px;padding:8px 13px;letter-spacing:.1em}
  .iptv300-ent-head{margin-bottom:24px}
  .iptv300-ent-title{font-size:26px;line-height:1.12}
  .iptv300-ent-subtitle{font-size:14px;line-height:1.55}
  .iptv300-ent-grid{grid-template-columns:1fr;gap:14px}
  .iptv300-ent-card{grid-template-columns:45% 1fr;min-height:150px;border-radius:18px}
  .iptv300-ent-img-wrap,.iptv300-ent-img-wrap img{min-height:150px}
  .iptv300-ent-icon{top:22px}
  .iptv300-ent-content{padding:22px 16px 18px 7px}
  .iptv300-ent-content h3{font-size:17px}
  .iptv300-ent-line{margin:10px 0 12px}
  .iptv300-ent-content p{font-size:12.5px;line-height:1.45}
  .iptv300-ent-trust{grid-template-columns:1fr 1fr;margin-top:18px}
  .iptv300-ent-trust-item{min-height:42px;font-size:11px}
  .iptv300-ent-trust-item:nth-child(2){border-right:0}
}
