/* =========================================================
   IPTV UK Reviews — dedicated page layer
   Reuses the shared site tokens, components and animations.
   ========================================================= */

.reviews-page{background:#fff}
.reviews-page main{overflow:hidden}
.reviews-page .section{padding-block:clamp(4.75rem,7.5vw,8rem)}
.reviews-page .icon-box svg{width:1.45rem;height:1.45rem;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

/* Hero */
.reviews-hero .hero-layout{grid-template-columns:minmax(0,.94fr) minmax(31rem,1.06fr)}
.reviews-hero .hero-copy{max-width:46rem}
.reviews-hero .hero-visual{min-height:41rem}
.reviews-hero__art{position:absolute;z-index:4;top:6%;left:2%;width:96%;margin:0;overflow:hidden;border:1px solid rgba(255,255,255,.16);border-radius:2rem;background:rgba(8,20,38,.75);box-shadow:0 4rem 8rem rgba(0,0,0,.42),inset 0 1px 0 rgba(255,255,255,.12);transform:rotateY(-6deg) rotateX(2deg) rotateZ(1deg);backdrop-filter:blur(1.25rem)}
.reviews-hero__art::after{position:absolute;inset:0;background:linear-gradient(120deg,rgba(255,255,255,.13),transparent 28%,transparent 72%,rgba(200,16,46,.08));content:"";pointer-events:none}
.reviews-hero__art img{width:100%;height:auto}
.reviews-hero__badge{position:absolute;z-index:8;display:flex;align-items:center;gap:.75rem;padding:.9rem 1rem;border:1px solid rgba(255,255,255,.14);border-radius:1.1rem;background:rgba(10,20,36,.72);box-shadow:0 1.8rem 3.5rem rgba(0,0,0,.3);color:#fff;backdrop-filter:blur(1rem);animation:floatBadge 8s ease-in-out infinite}
.reviews-hero__badge b{display:grid;width:2.2rem;height:2.2rem;place-items:center;border-radius:.75rem;background:var(--gradient);font-size:.85rem}
.reviews-hero__badge span{display:grid}.reviews-hero__badge strong{font-size:.78rem}.reviews-hero__badge small{color:rgba(255,255,255,.48);font-size:.62rem}
.reviews-hero__badge--rating{right:-.5rem;bottom:16%;animation-delay:-2s}
.reviews-hero__badge--device{bottom:2%;left:-.5rem;animation-delay:-5s}
.reviews-breadcrumb ol{display:flex;align-items:center;gap:.65rem;margin-bottom:1.75rem;color:rgba(255,255,255,.48);font-size:var(--xs);font-weight:700}
.reviews-breadcrumb li+li::before{margin-right:.65rem;color:rgba(255,255,255,.25);content:"/"}
.reviews-breadcrumb a{transition:color .2s}.reviews-breadcrumb a:hover{color:#fff}

/* Overall rating */
.rating-overview{display:grid;grid-template-columns:minmax(19rem,.72fr) minmax(0,1.28fr);gap:1.25rem}
.rating-summary{position:relative;display:flex;min-height:26rem;padding:clamp(2rem,4vw,3.2rem);overflow:hidden;align-items:flex-start;justify-content:flex-end;flex-direction:column;border:1px solid rgba(11,61,145,.18);border-radius:var(--r-xl);background:radial-gradient(circle at 90% 12%,rgba(200,16,46,.24),transparent 32%),radial-gradient(circle at 12% 90%,rgba(11,61,145,.22),transparent 38%),#0a1931;box-shadow:var(--shadow-lg);color:#fff}
.rating-summary::before{position:absolute;top:-7rem;right:-7rem;width:18rem;height:18rem;border:1px solid rgba(255,255,255,.07);border-radius:50%;box-shadow:0 0 0 3rem rgba(255,255,255,.018),0 0 0 6rem rgba(255,255,255,.01);content:""}
.rating-summary__stars{color:#f5a623;font-size:clamp(1.8rem,4vw,3rem);letter-spacing:.12em;line-height:1}
.rating-summary h3{margin-top:1.5rem;color:#fff;font-size:clamp(2rem,4vw,3.35rem)}
.rating-summary p{max-width:29rem;margin-top:1rem;color:rgba(255,255,255,.6)}
.rating-summary__note{display:inline-flex;margin-top:1.5rem;padding:.55rem .75rem;border:1px solid rgba(255,255,255,.12);border-radius:var(--pill);background:rgba(255,255,255,.06);color:rgba(255,255,255,.56);font-size:.72rem;font-weight:700}
.rating-benefits{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}
.rating-benefit{min-height:12.4rem;padding:1.7rem;border:1px solid var(--border);border-radius:var(--r-lg);background:#fff;box-shadow:0 1px 2px rgba(17,24,39,.04);transition:transform .35s var(--spring),box-shadow .3s,border-color .3s}
.rating-benefit:hover{border-color:rgba(11,61,145,.2);box-shadow:var(--shadow-md);transform:translateY(-5px)}
.rating-benefit h3{margin-top:1.25rem;font-size:var(--lg)}.rating-benefit p{margin-top:.7rem;font-size:var(--sm)}

/* Featured reviews */
.review-disclosure{max-width:50rem;margin:-2.25rem auto 3rem;padding:.85rem 1rem;border:1px solid rgba(11,61,145,.15);border-radius:var(--r-md);background:rgba(11,61,145,.05);color:var(--soft);font-size:var(--xs);text-align:center}
.featured-review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}
.featured-review{position:relative;display:flex;min-height:31rem;padding:2rem;overflow:hidden;flex-direction:column;border:1px solid var(--border);border-radius:var(--r-xl);background:#fff;box-shadow:var(--shadow-sm);transition:transform .35s var(--spring),box-shadow .3s,border-color .3s}
.featured-review::before{position:absolute;top:0;left:15%;width:70%;height:1px;background:linear-gradient(90deg,transparent,rgba(11,61,145,.55),transparent);content:""}
.featured-review:hover{border-color:rgba(11,61,145,.2);box-shadow:var(--shadow-md);transform:translateY(-7px)}
.featured-review__top{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}
.featured-review .rating{font-size:1.05rem}.review-status{display:inline-flex;align-items:center;gap:.35rem;padding:.42rem .62rem;border:1px solid rgba(11,61,145,.14);border-radius:var(--pill);background:rgba(11,61,145,.06);color:var(--primary);font-size:.64rem;font-weight:800;white-space:nowrap}.review-status svg{width:.85rem;height:.85rem;fill:none;stroke:currentColor;stroke-width:2}
.featured-review blockquote{margin-top:1.7rem;color:var(--text);font-size:var(--lg);line-height:1.62}
.featured-review__meta{display:grid;gap:.75rem;margin-top:auto;padding-top:2rem}
.featured-review__person{display:flex;align-items:center;gap:.8rem}.featured-review__avatar{display:grid;width:3rem;height:3rem;place-items:center;border-radius:50%;background:linear-gradient(135deg,#dbe9ff,#ece3ff);color:var(--primary);font-size:.75rem;font-weight:850}.featured-review__person strong,.featured-review__person small{display:block}.featured-review__person small{color:var(--muted);font-size:var(--xs)}
.featured-review__details{display:flex;flex-wrap:wrap;gap:.5rem;padding-top:1rem;border-top:1px solid var(--border)}.featured-review__details span,.featured-review__details time{padding:.4rem .58rem;border-radius:var(--pill);background:var(--surface);color:var(--muted);font-size:.68rem;font-weight:650}

/* Screenshot carousel */
.chat-section{position:relative;overflow:hidden;background:radial-gradient(circle at 90% 10%,rgba(11,61,145,.08),transparent 28rem),var(--surface)}
.chat-carousel{position:relative}
.chat-carousel__viewport{overflow-x:auto;overscroll-behavior-inline:contain;scroll-behavior:smooth;scroll-snap-type:x mandatory;scrollbar-width:none;touch-action:pan-x pan-y}
.chat-carousel__viewport::-webkit-scrollbar{display:none}
.chat-carousel__track{display:flex;gap:1.25rem;padding:1rem max(0px,calc((100vw - min(100% - 2rem,var(--container)))/2));padding-bottom:2.25rem}
.chat-slide{flex:0 0 min(78vw,62rem);scroll-snap-align:center}
.chat-slide__button{position:relative;display:block;width:100%;padding:0;overflow:hidden;border:1px solid rgba(17,24,39,.08);border-radius:var(--r-xl);background:#0a1931;box-shadow:var(--shadow-lg);cursor:zoom-in;text-align:left;transition:transform .35s var(--spring),box-shadow .3s}
.chat-slide__button:hover{box-shadow:0 36px 95px rgba(17,24,39,.2);transform:translateY(-5px)}
.chat-slide__button img{width:100%;aspect-ratio:1200/760;object-fit:cover;transition:transform .7s var(--spring)}.chat-slide__button:hover img{transform:scale(1.018)}
.chat-slide__overlay{position:absolute;right:0;bottom:0;left:0;display:flex;padding:2.4rem 1.5rem 1.35rem;align-items:end;justify-content:space-between;gap:1rem;background:linear-gradient(transparent,rgba(4,10,20,.82));color:#fff}.chat-slide__overlay span{display:grid}.chat-slide__overlay strong{font-size:var(--base)}.chat-slide__overlay small{margin-top:.15rem;color:rgba(255,255,255,.52);font-size:.7rem}.chat-slide__overlay b{display:grid;width:2.7rem;height:2.7rem;place-items:center;border:1px solid rgba(255,255,255,.15);border-radius:50%;background:rgba(255,255,255,.1);font-size:1rem;backdrop-filter:blur(.7rem)}
.chat-carousel__controls{display:flex;align-items:center;justify-content:center;gap:1.25rem;margin-top:1rem}
.carousel-arrow{display:grid;width:3rem;height:3rem;place-items:center;border:1px solid var(--border);border-radius:50%;background:#fff;box-shadow:var(--shadow-sm);cursor:pointer;font-size:1.1rem;transition:transform .2s,box-shadow .3s,border-color .3s}.carousel-arrow:hover{border-color:rgba(11,61,145,.3);box-shadow:var(--shadow-md);transform:translateY(-2px)}
.carousel-dots{display:flex;align-items:center;gap:.5rem}.carousel-dot{width:.55rem;height:.55rem;padding:0;border-radius:50%;background:#c9ced8;cursor:pointer;transition:width .3s var(--ease),background .3s}.carousel-dot[aria-current=true]{width:1.65rem;border-radius:var(--pill);background:var(--gradient)}
.carousel-status{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* Video placeholders */
.video-review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}
.video-placeholder{position:relative;min-height:24rem;padding:1.5rem;overflow:hidden;border:1px solid var(--border);border-radius:var(--r-xl);background:radial-gradient(circle at 80% 15%,rgba(11,61,145,.17),transparent 35%),linear-gradient(145deg,#0a1931,#0b1729);box-shadow:var(--shadow-sm);transition:transform .35s var(--spring),box-shadow .3s}
.video-placeholder:hover{box-shadow:var(--shadow-lg);transform:translateY(-6px)}
.video-placeholder::before{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:3rem 3rem;content:"";mask-image:linear-gradient(to bottom,#000,transparent)}
.video-placeholder__content{position:relative;display:flex;height:100%;min-height:21rem;align-items:center;justify-content:center;flex-direction:column;text-align:center}
.video-placeholder__play{display:grid;width:5rem;height:5rem;place-items:center;border:1px solid rgba(255,255,255,.15);border-radius:50%;background:rgba(255,255,255,.08);color:#fff;font-size:1.2rem;box-shadow:0 18px 45px rgba(0,0,0,.3);backdrop-filter:blur(1rem)}
.video-placeholder h3{margin-top:1.5rem;color:#fff}.video-placeholder p{max-width:18rem;margin-top:.7rem;color:rgba(255,255,255,.48);font-size:var(--sm)}.video-placeholder small{margin-top:1.25rem;color:#8dbaff;font-size:.68rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}

/* Statistics */
.review-stats{position:relative;padding-block:clamp(5rem,8vw,8rem);overflow:hidden;background:radial-gradient(circle at 50% -25%,rgba(11,61,145,.24),transparent 38rem),linear-gradient(145deg,#0a1931,#091426 55%,#0b1020);isolation:isolate}
.review-stats::before{position:absolute;z-index:-1;inset:0;background-image:linear-gradient(rgba(255,255,255,.022) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.022) 1px,transparent 1px);background-size:4rem 4rem;content:"";mask-image:linear-gradient(to bottom,transparent,#000 18%,#000 82%,transparent)}
.review-stats .section-heading h2{color:#fff}.review-stats .section-heading p{color:rgba(255,255,255,.58)}
.review-stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.review-stat{position:relative;min-height:14rem;padding:2rem;border:1px solid rgba(255,255,255,.1);border-radius:var(--r-lg);background:rgba(255,255,255,.045);box-shadow:inset 0 1px 0 rgba(255,255,255,.08);text-align:center;backdrop-filter:blur(1rem)}
.review-stat::before{position:absolute;top:0;left:20%;width:60%;height:1px;background:linear-gradient(90deg,transparent,rgba(123,177,255,.75),transparent);content:""}
.review-stat dt{margin-top:1rem;color:#fff;font-size:clamp(2.7rem,5vw,4.8rem);font-weight:850;letter-spacing:-.075em;line-height:1}.review-stat sup{margin-left:.12rem;color:#8dbaff;font-size:.4em;vertical-align:top}.review-stat dd{max-width:13rem;margin:1.15rem auto 0;color:rgba(255,255,255,.52);font-size:var(--sm)}

/* Recommendation cards */
.recommend-grid .feature-card{min-height:18rem}.recommend-grid .feature-card h3{margin-top:1.35rem}.recommend-grid .feature-card p{font-size:var(--sm)}

/* Lightbox */
.review-lightbox{width:min(96vw,76rem);max-width:none;padding:0;overflow:visible;border:0;border-radius:var(--r-xl);background:#0a1931;box-shadow:0 45px 120px rgba(0,0,0,.48)}
.review-lightbox::backdrop{background:rgba(2,7,14,.82);backdrop-filter:blur(.6rem)}
.review-lightbox__frame{position:relative;overflow:hidden;border-radius:var(--r-xl)}.review-lightbox img{width:100%;max-height:86vh;object-fit:contain;background:#0a1931}
.review-lightbox__close,.review-lightbox__nav{position:absolute;z-index:2;display:grid;place-items:center;border:1px solid rgba(255,255,255,.18);border-radius:50%;background:rgba(7,17,31,.72);color:#fff;cursor:pointer;backdrop-filter:blur(1rem);transition:background .2s,transform .2s}.review-lightbox__close:hover,.review-lightbox__nav:hover{background:rgba(11,61,145,.85);transform:scale(1.05)}
.review-lightbox__close{top:1rem;right:1rem;width:3rem;height:3rem;font-size:1.3rem}.review-lightbox__nav{top:50%;width:3.4rem;height:3.4rem;font-size:1.2rem;transform:translateY(-50%)}.review-lightbox__nav:hover{transform:translateY(-50%) scale(1.05)}.review-lightbox__nav--prev{left:1rem}.review-lightbox__nav--next{right:1rem}
.review-lightbox__caption{position:absolute;right:0;bottom:0;left:0;padding:3rem 1.5rem 1.25rem;background:linear-gradient(transparent,rgba(2,7,14,.88));color:#fff;font-size:var(--sm);text-align:center}

.reviews-page .cta-banner{min-height:26rem}

@media(max-width:1100px){
  .reviews-hero .hero-layout{grid-template-columns:minmax(0,1fr) minmax(27rem,.92fr);gap:2.5rem}
  .rating-overview{grid-template-columns:1fr}.rating-summary{min-height:22rem}
  .featured-review-grid{grid-template-columns:1fr 1fr}.featured-review:last-child{grid-column:1/-1;min-height:25rem}
  .video-review-grid{grid-template-columns:1fr 1fr}.video-placeholder:last-child{grid-column:1/-1}
}

@media(max-width:900px){
  .reviews-hero .hero-layout{grid-template-columns:1fr}.reviews-hero .hero-copy{max-width:49rem}.reviews-hero .hero-visual{width:min(100%,43rem);min-height:36rem;margin-inline:auto}
  .review-stat-grid{grid-template-columns:1fr 1fr}
  .chat-slide{flex-basis:min(88vw,54rem)}
}

@media(max-width:680px){
  .reviews-page .section{padding-block:4.5rem}
  .reviews-hero .hero-visual{min-height:29rem;margin-top:1.5rem;transform:none}.reviews-hero__art{top:8%;left:1%;width:98%;border-radius:1.35rem;transform:rotateY(-2deg) rotateX(1deg)}
  .reviews-hero__badge--rating{right:0;bottom:7%;transform:scale(.9);transform-origin:right bottom}.reviews-hero__badge--device{display:none}
  .rating-benefits,.featured-review-grid,.video-review-grid,.review-stat-grid{grid-template-columns:1fr}.featured-review:last-child,.video-placeholder:last-child{grid-column:auto}.featured-review{min-height:auto}.featured-review blockquote{font-size:var(--base)}
  .chat-carousel__track{gap:.75rem;padding-inline:.625rem}.chat-slide{flex-basis:calc(100vw - 1.25rem)}.chat-slide__overlay{padding:2rem 1rem 1rem}.chat-slide__overlay b{width:2.4rem;height:2.4rem}
  .review-lightbox{width:calc(100vw - 1rem);border-radius:var(--r-lg)}.review-lightbox__frame{border-radius:var(--r-lg)}.review-lightbox__nav{width:2.8rem;height:2.8rem}.review-lightbox__nav--prev{left:.5rem}.review-lightbox__nav--next{right:.5rem}.review-lightbox__close{top:.5rem;right:.5rem}
}

@media(max-width:430px){
  .reviews-hero .hero-visual{min-height:24rem}.reviews-hero__badge--rating{bottom:0}
  .rating-summary{min-height:24rem;padding:1.5rem}.rating-benefit{min-height:auto}
  .review-stat{min-height:12rem}
}
