/* Homepage hero only; native Elementor controls own layout and typography sizes. */
.iptv-hero { font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
.iptv-hero .elementor-heading-title, .iptv-hero .elementor-icon-list-text { font-family:inherit; }
.iptv-hero .iptv-hero-badge { width:fit-content; max-width:100%; }
.iptv-hero-badge .elementor-heading-title { display:flex; align-items:center; gap:8px; padding:7px 11px; border:1px solid var(--border-light); border-radius:999px; background:var(--bg-surface); letter-spacing:.025em; }
.iptv-hero-badge .elementor-heading-title::before { content:""; flex:0 0 7px; width:7px; height:7px; border-radius:50%; background:linear-gradient(135deg,var(--brand-red),var(--brand-gold)); }
.iptv-hero .iptv-hero-title .elementor-heading-title { letter-spacing:-.045em; text-wrap:balance; margin:0; }
.iptv-hero-copy p { margin:0; text-wrap:pretty; }
.iptv-hero .iptv-hero-copy { font-family:inherit; }
.iptv-hero .iptv-hero-visual .elementor-widget.elementor-widget-html, .iptv-hero-visual .elementor-widget-container { height:auto; }
.iptv-hero .iptv-hero-visual .elementor-widget.elementor-widget-html { aspect-ratio:1.18; width:100%; max-width:590px; align-self:center; flex-shrink:0; }
.iptv-hero .elementor-button { position:relative; display:inline-flex; align-items:center; justify-content:center; min-height:58px; padding:18px 26px; border-radius:10px; font:700 16px/22px -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; text-decoration:none; white-space:nowrap; transition:filter 250ms ease,box-shadow 250ms ease,transform 250ms ease,background-color 250ms ease; }
.iptv-hero .iptv-hero-primary .elementor-button { padding:18px 36px; border:0; overflow:hidden; color:#fff; background-color:#B5121B; background-image:linear-gradient(110deg,#B5121B 0%,#BE201B 64%,#DDA008 112%); box-shadow:0 5px 14px rgb(210 25 25 / 18%),0 2px 6px rgb(0 0 0 / 8%); }
.iptv-hero-primary .elementor-button::before { content:""; position:absolute; inset:0 auto 0 -50%; width:50%; background:linear-gradient(100deg,transparent,rgba(255,255,255,.10),transparent); opacity:0; transform:translateX(0) skewX(-18deg); pointer-events:none; }
.iptv-hero .elementor-button-content-wrapper { align-items:center; position:relative; z-index:1; }
.iptv-hero .elementor-button-icon { display:inline-flex; align-items:center; }
.iptv-hero .elementor-button-icon svg { width:16px; height:16px; fill:currentColor; }
.iptv-hero .iptv-hero-secondary .elementor-button { color:var(--text-primary); background:var(--bg-surface); border:1px solid var(--border-light); box-shadow:0 2px 4px rgb(17 17 17 / 2%); }
.iptv-hero .iptv-hero-trust .elementor-icon-list-items { gap:12px 26px; margin:0; flex-wrap:wrap; }
.iptv-hero .iptv-hero-trust .elementor-icon-list-item { margin:0; }
.iptv-hero-trust .elementor-icon-list-icon { display:inline-flex; align-items:center; justify-content:center; width:22px; height:22px; border-radius:50%; background:#f2eddf; }
.iptv-hero-trust .elementor-icon-list-icon svg { width:12px; height:12px; fill:#8a6519; margin:0; }
.iptv-hero a:focus-visible { outline:2px solid var(--brand-red); outline-offset:3px; }
@media (hover:hover) and (pointer:fine) {
 .iptv-hero .iptv-hero-primary .elementor-button:hover { color:#fff; transform:translateY(-2px); filter:brightness(1.03); box-shadow:0 8px 20px rgb(210 25 25 / 25%),0 4px 10px rgb(0 0 0 / 10%); }
 .iptv-hero-primary .elementor-button:hover::before { opacity:1; transform:translateX(320%) skewX(-18deg); transition:transform 250ms ease,opacity 100ms ease; }
 .iptv-hero .iptv-hero-secondary .elementor-button:hover { color:var(--text-primary); background:#fffdf9; transform:translateY(-2px); box-shadow:0 5px 12px rgb(17 17 17 / 6%); }
}

/* Original, decorative streaming interface. No functional player or borrowed branding. */
.iptv-device-scene { position:relative; width:100%; max-width:590px; aspect-ratio:1.18; margin-inline:auto; isolation:isolate; transform:scale(1.06); transform-origin:center; }
.iptv-device-scene * { box-sizing:border-box; }
.iptv-device-scene::before { content:""; position:absolute; inset:8% 5% 4%; border:1px solid rgb(192 160 101 / 15%); border-radius:50%; transform:rotate(-12deg); z-index:-1; }
.iptv-device-scene::after { content:""; position:absolute; inset:17% 7% 12%; border:1px solid rgb(192 160 101 / 12%); border-radius:50%; z-index:-1; }
.iptv-tv { position:absolute; top:14%; left:0; width:91%; padding:8px 8px 13px; border-radius:19px; background:linear-gradient(145deg,#353639,#171719); box-shadow:0 24px 42px rgb(32 24 10 / 14%),0 3px 6px rgb(32 24 10 / 8%); }
.iptv-tv::before { content:""; position:absolute; z-index:-1; left:40%; bottom:-29px; width:20%; height:30px; background:linear-gradient(90deg,#494949,#727271,#3b3b3b); clip-path:polygon(18% 0,82% 0,100% 100%,0 100%); }
.iptv-tv::after { content:""; position:absolute; left:32%; bottom:-34px; width:36%; height:6px; border-radius:50%; background:#444446; box-shadow:0 8px 13px rgb(32 24 10 / 14%); }
.iptv-screen { overflow:hidden; border-radius:11px; background:#fffdf9; padding:14px; }
.iptv-screen-top { display:flex; justify-content:space-between; align-items:center; gap:12px; margin-bottom:12px; font-size:10px; color:#74706a; }
.iptv-screen-brand { font-size:12px; font-weight:750; letter-spacing:-.03em; color:#202020; }
.iptv-screen-brand i { display:inline-block; width:6px; height:6px; margin-right:5px; border-radius:50%; background:#d22623; }
.iptv-screen-tabs { display:flex; gap:12px; }
.iptv-screen-tabs span:first-child { color:#252525; }
.iptv-screen-feature { position:relative; height:145px; border-radius:8px; overflow:hidden; background:#e9e2cd; }
.iptv-landscape { position:absolute; inset:0; width:100%; height:100%; display:block; }
.iptv-feature-copy { position:absolute; left:15px; bottom:14px; color:#fff; font-size:18px; line-height:1.15; font-weight:700; letter-spacing:-.02em; text-shadow:0 1px 6px rgb(0 0 0 / 18%); }
.iptv-feature-copy small { display:block; margin-bottom:6px; font-size:8px; font-weight:500; letter-spacing:.13em; }
.iptv-play { display:grid; place-items:center; position:absolute; right:13px; bottom:14px; width:28px; height:28px; border-radius:50%; background:#fff; box-shadow:0 2px 8px rgb(0 0 0 / 9%); }
.iptv-play::after { content:""; margin-left:2px; border-top:5px solid transparent; border-bottom:5px solid transparent; border-left:7px solid #bf2822; }
.iptv-screen-bottom { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin-top:11px; }
.iptv-program { height:49px; position:relative; border-radius:6px; overflow:hidden; background:#ddd5c4; }
.iptv-program svg { width:100%; height:100%; display:block; }
.iptv-phone { position:absolute; width:25%; right:0; bottom:9%; padding:5px; border:1px solid #595858; border-radius:23px; background:#232325; transform:rotate(6deg); box-shadow:0 16px 28px rgb(35 25 15 / 20%),0 2px 5px rgb(35 25 15 / 8%); }
.iptv-phone-screen { position:relative; overflow:hidden; border-radius:18px; background:#fffdf9; padding:21px 8px 12px; }
.iptv-phone-screen::before { content:""; position:absolute; top:7px; left:37%; width:26%; height:4px; border-radius:6px; background:#222; }
.iptv-phone-top { color:#272727; font-size:8px; font-weight:700; margin-bottom:9px; }
.iptv-phone-feature { position:relative; overflow:hidden; height:108px; border-radius:8px; background:#e3d9be; }
.iptv-phone-feature .iptv-play { width:22px; height:22px; bottom:8px; right:8px; }
.iptv-phone-bars { display:grid; gap:7px; padding-top:10px; }
.iptv-phone-bars span { height:6px; border-radius:6px; background:#eee9dd; }
.iptv-phone-bars span:first-child { width:70%; background:#c9bca4; }
.iptv-phone-bars span:last-child { width:83%; }
/* Supplied screen artwork; retain the original contents as sizing scaffolds
   so the frames, screen masks and responsive device geometry stay identical. */
.iptv-hero-visual .iptv-screen { background-image:none; }
.iptv-hero-visual .iptv-phone-screen { background-image:url('../images/premium_iptv_streaming_app_interface.png.webp'); background-size:cover; background-position:center; background-repeat:no-repeat; }
.iptv-hero-visual .iptv-screen { position:relative; }
/* A dedicated TV viewport fits the complete screenshot without changing frame geometry. */
.iptv-hero-visual .iptv-tv-viewport { position:absolute; inset:4px; overflow:hidden; border-radius:inherit; container-type:size; container-name:iptv-tv-fit; }
.iptv-hero-visual .iptv-tv-viewport img { display:block; width:100%; height:100%; max-width:none; object-fit:contain; object-position:center; }
/* Widen only when the image already fills the viewport vertically. */
@container iptv-tv-fit (min-aspect-ratio:1400/788) {
 .iptv-hero-visual .iptv-tv-viewport img { object-fit:fill; }
}
/* Keep the phone artwork and its existing scale unchanged. */
.iptv-hero-visual .iptv-phone-screen::after { content:""; position:absolute; inset:0; background:inherit; transform-origin:center; pointer-events:none; }
.iptv-hero-visual .iptv-phone-screen::after { transform:scale(1.05); }
.iptv-hero-visual .iptv-phone-screen::before { z-index:1; }
.iptv-hero-visual .iptv-screen > :not(.iptv-tv-viewport), .iptv-hero-visual .iptv-phone-screen > * { visibility:hidden; }
.iptv-device-label { position:absolute; display:flex; align-items:center; gap:10px; padding:12px 16px; border:1px solid #eee8dc; border-radius:12px; color:#30302e; background:#fff; box-shadow:0 8px 24px rgb(46 32 11 / 6%); font-size:12px; font-weight:600; white-space:nowrap; }
.iptv-device-label svg { width:20px; height:20px; stroke:#a57b24; fill:none; stroke-width:1.6; }
.iptv-label-tv { top:5%; right:6%; }
.iptv-label-devices { bottom:10%; left:5%; }
.iptv-device-label small { display:block; margin-top:2px; color:#787066; font-size:10px; font-weight:400; }
/* Desktop pointer interaction only; retain the existing 1.06 resting scale. */
@media (min-width:1025px) and (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
 .iptv-hero-visual .iptv-device-scene { transition:transform 350ms ease; }
 .iptv-hero-visual .iptv-tv { transition:box-shadow 350ms ease; }
 .iptv-hero-visual .iptv-phone, .iptv-hero-visual .iptv-device-label { transition:transform 350ms ease,box-shadow 350ms ease; }
 .iptv-hero-visual:hover .iptv-device-scene { transform:translateY(-6px) scale(1.0706); }
 .iptv-hero-visual:hover .iptv-tv { box-shadow:0 28px 48px rgb(32 24 10 / 17%),0 4px 8px rgb(32 24 10 / 9%); }
 .iptv-hero-visual:hover .iptv-phone { transform:translateY(-3px) rotate(7.75deg); box-shadow:0 19px 32px rgb(35 25 15 / 23%),0 3px 6px rgb(35 25 15 / 9%); }
 .iptv-hero-visual:hover .iptv-label-tv { transform:translateY(-2px); }
 .iptv-hero-visual:hover .iptv-label-devices { transform:translateY(-1px); }
}
@media (max-width:1024px) {
 .iptv-hero .iptv-hero-visual .elementor-widget.elementor-widget-html { max-width:540px; }
 .iptv-device-scene { max-width:540px; }
}
@media (max-width:767px) {
 .iptv-hero .iptv-hero-visual .elementor-widget.elementor-widget-html { max-width:420px; aspect-ratio:1.08; }
 .iptv-hero .iptv-hero-actions { width:100%; }
 .iptv-hero .iptv-hero-actions .elementor-widget-button, .iptv-hero .iptv-hero-actions .elementor-button { width:100%; }
 .iptv-device-scene { max-width:420px; aspect-ratio:1.08; }
 .iptv-tv { top:15%; padding:5px 5px 9px; border-radius:13px; }
 .iptv-screen { padding:9px; border-radius:8px; }
 .iptv-screen-top { margin-bottom:8px; gap:5px; font-size:7px; }
 .iptv-screen-brand { font-size:9px; }
 .iptv-screen-tabs { gap:6px; }
 .iptv-screen-feature { height:103px; }
 .iptv-feature-copy { font-size:14px; left:10px; bottom:10px; }
 .iptv-feature-copy small { font-size:6px; margin-bottom:4px; }
 .iptv-screen-bottom { gap:5px; margin-top:7px; }
 .iptv-program { height:35px; }
 .iptv-phone { width:27%; border-radius:18px; padding:4px; bottom:11%; }
 .iptv-phone-screen { border-radius:13px; padding:18px 6px 9px; }
 .iptv-phone-feature { height:78px; }
 .iptv-phone-top { font-size:6px; }
 .iptv-phone-bars { gap:5px; }
 .iptv-phone-bars span { height:4px; }
 .iptv-device-label { font-size:10px; gap:7px; padding:9px 11px; border-radius:10px; }
 .iptv-device-label small { font-size:8px; }
 .iptv-device-label svg { width:17px; height:17px; }
 .iptv-label-tv { right:3%; top:3%; }
 .iptv-label-devices { bottom:8%; left:2%; }
}
@media (prefers-reduced-motion:reduce) {
 .iptv-hero .elementor-button { transition:none; }
 .iptv-hero .iptv-hero-primary .elementor-button:hover, .iptv-hero .iptv-hero-secondary .elementor-button:hover { transform:none; }
 .iptv-hero-primary .elementor-button::before { display:none; }
}
