/*
Theme Name: IPTV Portugal
Theme URI: https://iptvportugaletuga.com
Author: IPTV Portugal Tuga
Author URI: https://iptvportugaletuga.com
Description: Tema WordPress à medida para IPTV Portugal — desenho "Sinal Limpo": fundo branco, estética SaaS editorial, sinais de confiança portugueses, focado em conversão e SEO técnico.
Version: 1.2.0
Requires at least: 6.0
Requires PHP: 7.4
Tested up to: 6.6
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: iptv-portugal
Tags: e-commerce, one-column, custom-menu, custom-colors, translation-ready, footer-widgets, threaded-comments
*/

/* ==========================================================================
   1. DESIGN TOKENS — "Sinal Limpo" system
   ========================================================================== */
:root{
  /* Backgrounds */
  --ipt-bg:#FFFFFF;
  --ipt-bg-soft:#F6F8F7;
  --ipt-bg-tint:#F2F6F4;
  --ipt-bg-dark:#0E1712;

  /* Ink */
  --ipt-ink:#101B16;
  --ipt-body:#4B5A54;
  --ipt-muted:#7A8A83;
  --ipt-on-dark:#F3F7F5;
  --ipt-on-dark-muted:#AFC2BA;

  /* Brand accents */
  --ipt-primary:#C9273A;
  --ipt-primary-dark:#A11D2E;
  --ipt-primary-tint:#FBE9EB;
  --ipt-green:#0B6E4F;
  --ipt-green-dark:#084F39;
  --ipt-green-tint:#E7F3EE;
  --ipt-gold:#C9A227;
  --ipt-gold-tint:#FBF4DE;
  --ipt-success:#1E8A5F;
  --ipt-whatsapp:#25D366;
  --ipt-whatsapp-dark:#1DA851;

  /* Borders / shadows */
  --ipt-border:#E4E9E6;
  --ipt-border-strong:#D3DBD7;
  --ipt-shadow-sm:0 1px 2px rgba(16,27,22,.05);
  --ipt-shadow-md:0 8px 24px rgba(16,27,22,.08);
  --ipt-shadow-lg:0 20px 48px rgba(16,27,22,.12);

  /* Radius */
  --ipt-radius-sm:10px;
  --ipt-radius-md:16px;
  --ipt-radius-lg:24px;
  --ipt-radius-pill:999px;

  /* Type */
  --ipt-font-head:"Plus Jakarta Sans", "Segoe UI", sans-serif;
  --ipt-font-body:"Inter", "Segoe UI", sans-serif;

  /* Layout */
  --ipt-container:1180px;
  --ipt-container-narrow:820px;
  --ipt-gap:24px;
  --ipt-section-y:96px;
  --ipt-section-y-sm:64px;

  /* Motion */
  --ipt-ease:cubic-bezier(.2,.8,.2,1);
  --ipt-speed:.25s;
}

/* ==========================================================================
   2. RESET / BASE
   ========================================================================== */
*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;overflow-x:hidden;}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important;}
}
body{
  margin:0;
  background:var(--ipt-bg);
  color:var(--ipt-body);
  font-family:var(--ipt-font-body);
  font-size:16px;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;height:auto;display:block;}
svg{display:block;}
/* Icon safety net — never let an inline icon balloon; context rules override. */
.ipt-ico{width:20px;height:20px;flex:none;}
.ipt-eyebrow .ipt-ico{width:16px;height:16px;}
/* [hidden] must beat component display:grid/flex (e.g. plan selector panels). */
[hidden]{display:none!important;}
a{color:var(--ipt-primary);text-decoration:none;}
a:hover{color:var(--ipt-primary-dark);}
h1,h2,h3,h4,h5{
  font-family:var(--ipt-font-head);
  color:var(--ipt-ink);
  line-height:1.15;
  margin:0 0 .5em;
  font-weight:700;
  letter-spacing:-.01em;
}
h1{font-size:clamp(2.1rem,4.2vw,3.4rem);letter-spacing:-.02em;}
h2{font-size:clamp(1.7rem,3vw,2.5rem);letter-spacing:-.015em;}
h3{font-size:clamp(1.2rem,1.8vw,1.5rem);}
p{margin:0 0 1.1em;}
ul,ol{padding-left:1.3em;}
button{font-family:inherit;}
:focus-visible{outline:3px solid var(--ipt-gold);outline-offset:2px;}
.screen-reader-text{position:absolute!important;clip:rect(0,0,0,0);width:1px;height:1px;overflow:hidden;white-space:nowrap;}
.skip-link{
  position:absolute;left:12px;top:-60px;background:var(--ipt-ink);color:#fff;
  padding:10px 18px;border-radius:var(--ipt-radius-sm);z-index:1000;transition:top var(--ipt-speed) var(--ipt-ease);
}
.skip-link:focus{top:12px;}

/* ==========================================================================
   3. LAYOUT
   ========================================================================== */
.ipt-container{max-width:var(--ipt-container);margin:0 auto;padding:0 24px;}
.ipt-container--narrow{max-width:var(--ipt-container-narrow);}
.ipt-section{padding:var(--ipt-section-y) 0;}
.ipt-section--sm{padding:var(--ipt-section-y-sm) 0;}
.ipt-section--soft{background:var(--ipt-bg-soft);}
.ipt-section--tint{background:var(--ipt-bg-tint);}
.ipt-section--dark{background:var(--ipt-bg-dark);color:var(--ipt-on-dark-muted);}
.ipt-section--dark h2,.ipt-section--dark h3{color:var(--ipt-on-dark);}
.ipt-grid{display:grid;gap:var(--ipt-gap);}
.ipt-grid--2{grid-template-columns:repeat(2,1fr);}
.ipt-grid--3{grid-template-columns:repeat(3,1fr);}
.ipt-grid--4{grid-template-columns:repeat(4,1fr);}
@media(max-width:900px){
  .ipt-grid--3,.ipt-grid--4{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:600px){
  .ipt-grid--2,.ipt-grid--3,.ipt-grid--4{grid-template-columns:1fr;}
  :root{--ipt-section-y:64px;--ipt-section-y-sm:44px;}
}
.ipt-eyebrow{
  display:inline-flex;align-items:center;gap:8px;
  font-size:.8rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  color:var(--ipt-green);background:var(--ipt-green-tint);
  padding:6px 14px;border-radius:var(--ipt-radius-pill);margin-bottom:16px;
}
.ipt-head{max-width:680px;margin:0 0 40px;}
.ipt-head--center{margin-inline:auto;text-align:center;}
.ipt-lede{font-size:1.1rem;color:var(--ipt-body);}

/* ==========================================================================
   4. BUTTONS
   ========================================================================== */
.ipt-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  padding:14px 28px;border-radius:var(--ipt-radius-pill);
  font-weight:700;font-size:1rem;border:2px solid transparent;cursor:pointer;
  transition:transform var(--ipt-speed) var(--ipt-ease),box-shadow var(--ipt-speed) var(--ipt-ease),background var(--ipt-speed) var(--ipt-ease);
  line-height:1;white-space:nowrap;
}
.ipt-btn svg{width:20px;height:20px;flex:none;}
.ipt-btn--primary{background:linear-gradient(135deg,var(--ipt-primary),var(--ipt-primary-dark));color:#fff;box-shadow:0 10px 24px -8px rgba(201,39,58,.55);}
.ipt-btn--primary:hover{background:var(--ipt-primary-dark);color:#fff;transform:translateY(-2px);box-shadow:0 14px 30px -8px rgba(201,39,58,.65);}
.ipt-btn--ghost{background:transparent;color:var(--ipt-ink);border-color:var(--ipt-border-strong);}
.ipt-btn--ghost:hover{border-color:var(--ipt-ink);color:var(--ipt-ink);transform:translateY(-2px);}
.ipt-btn--whatsapp{background:var(--ipt-whatsapp);color:#fff;}
.ipt-btn--whatsapp:hover{background:var(--ipt-whatsapp-dark);color:#fff;transform:translateY(-2px);}
.ipt-btn--light{background:#fff;color:var(--ipt-ink);}
.ipt-btn--light:hover{background:var(--ipt-gold-tint);color:var(--ipt-ink);}
.ipt-btn--block{width:100%;}
.ipt-btn--sm{padding:10px 18px;font-size:.9rem;}
.ipt-cta-row{display:flex;gap:14px;flex-wrap:wrap;align-items:center;}

/* ==========================================================================
   5. HEADER / NAV
   ========================================================================== */
.ipt-header{
  position:sticky;top:0;z-index:200;background:rgba(255,255,255,.92);
  backdrop-filter:saturate(180%) blur(14px);border-bottom:1px solid var(--ipt-border);
}
.ipt-header__inner{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:14px 24px;max-width:var(--ipt-container);margin:0 auto;}
.ipt-logo{display:flex;align-items:center;gap:10px;flex:none;}
.ipt-logo img{height:42px;width:auto;}
.ipt-logo__text{font-family:var(--ipt-font-head);font-weight:800;font-size:1.05rem;color:var(--ipt-ink);}
.ipt-nav{display:flex;align-items:center;gap:6px;}
.ipt-nav ul{display:flex;list-style:none;margin:0;padding:0;gap:2px;}
.ipt-nav a{
  display:block;padding:10px 14px;border-radius:var(--ipt-radius-pill);
  color:var(--ipt-ink);font-weight:600;font-size:.94rem;transition:background var(--ipt-speed);
}
.ipt-nav a:hover,.ipt-nav .current-menu-item>a{background:var(--ipt-bg-soft);color:var(--ipt-green-dark);}
.ipt-nav .sub-menu{list-style:none;margin:0;padding:8px;position:absolute;background:#fff;border:1px solid var(--ipt-border);border-radius:var(--ipt-radius-md);box-shadow:var(--ipt-shadow-lg);min-width:220px;opacity:0;visibility:hidden;transform:translateY(6px);transition:all var(--ipt-speed) var(--ipt-ease);}
.ipt-nav li{position:relative;}
.ipt-nav li:hover>.sub-menu,.ipt-nav li:focus-within>.sub-menu{opacity:1;visibility:visible;transform:translateY(0);}
.ipt-header__actions{display:flex;align-items:center;gap:10px;}
.ipt-menu-toggle{display:none;background:none;border:1px solid var(--ipt-border-strong);border-radius:var(--ipt-radius-sm);padding:9px;cursor:pointer;}
.ipt-menu-toggle svg{width:22px;height:22px;}
/* In-menu CTA block: only shown inside the mobile off-canvas menu. */
.ipt-nav__cta{display:none;}
@media(max-width:960px){
  .ipt-nav{position:fixed;inset:0 0 0 auto;width:min(340px,86vw);height:100vh;background:#fff;flex-direction:column;align-items:stretch;padding:88px 24px 24px;transform:translateX(100%);transition:transform var(--ipt-speed) var(--ipt-ease);box-shadow:var(--ipt-shadow-lg);overflow-y:auto;}
  .ipt-nav.is-open{transform:translateX(0);}
  .ipt-nav ul{flex-direction:column;gap:2px;}
  .ipt-nav a{padding:12px 14px;font-size:1.05rem;}
  .ipt-nav .sub-menu{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:none;padding-left:12px;display:none;}
  .ipt-nav li.is-open>.sub-menu{display:block;}
  .ipt-nav__cta{display:flex;flex-direction:column;gap:10px;margin-top:22px;padding-top:22px;border-top:1px solid var(--ipt-border);}
  .ipt-menu-toggle{display:inline-flex;}
  .ipt-header__actions{display:none;}
}
.ipt-nav-overlay{position:fixed;inset:0;background:rgba(16,27,22,.4);opacity:0;visibility:hidden;transition:opacity var(--ipt-speed);z-index:190;}
.ipt-nav-overlay.is-open{opacity:1;visibility:visible;}

/* ==========================================================================
   6. HERO — split + device bezel
   ========================================================================== */
.ipt-hero{padding:72px 0 var(--ipt-section-y);overflow:hidden;position:relative;}
.ipt-hero::before{content:"";position:absolute;top:-25%;right:-8%;width:65%;height:90%;background:radial-gradient(circle at 65% 40%,rgba(11,110,79,.10),transparent 62%);pointer-events:none;z-index:0;}
.ipt-hero::after{content:"";position:absolute;bottom:-30%;left:-12%;width:55%;height:80%;background:radial-gradient(circle at 40% 50%,rgba(201,39,58,.06),transparent 60%);pointer-events:none;z-index:0;}
.ipt-hero>.ipt-container{position:relative;z-index:1;}
.ipt-hero__inner{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center;}
.ipt-hero__badges{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px;}
.ipt-badge-chip{display:inline-flex;align-items:center;gap:8px;font-size:.84rem;font-weight:600;color:var(--ipt-body);background:var(--ipt-bg-soft);border:1px solid var(--ipt-border);border-radius:var(--ipt-radius-pill);padding:8px 14px;}
.ipt-badge-chip svg{width:16px;height:16px;color:var(--ipt-green);}
.ipt-hero__device{position:relative;}
.ipt-tv{background:var(--ipt-ink);border-radius:20px;padding:14px;box-shadow:var(--ipt-shadow-lg);}
.ipt-tv__screen{border-radius:10px;overflow:hidden;position:relative;aspect-ratio:16/10;background:#000;}
.ipt-tv__screen img{width:100%;height:100%;object-fit:cover;}
.ipt-tv__live{position:absolute;top:12px;left:12px;display:inline-flex;align-items:center;gap:6px;background:rgba(16,27,22,.75);color:#fff;font-size:.72rem;font-weight:700;padding:5px 10px;border-radius:var(--ipt-radius-pill);letter-spacing:.04em;}
.ipt-tv__live i{width:7px;height:7px;border-radius:50%;background:var(--ipt-primary);display:inline-block;}
.ipt-tv__stand{width:120px;height:14px;background:var(--ipt-ink);margin:0 auto;border-radius:0 0 6px 6px;}
.ipt-tv__base{width:200px;height:8px;background:var(--ipt-border-strong);margin:0 auto;border-radius:var(--ipt-radius-pill);opacity:.6;}
.ipt-hero__float{position:absolute;background:#fff;border:1px solid var(--ipt-border);border-radius:var(--ipt-radius-md);box-shadow:var(--ipt-shadow-md);padding:12px 16px;display:flex;align-items:center;gap:10px;font-size:.84rem;font-weight:700;color:var(--ipt-ink);}
.ipt-hero__float--1{top:-4%;right:-6%;}
.ipt-hero__float--2{bottom:6%;left:-8%;}
@media(max-width:960px){
  .ipt-hero__inner{grid-template-columns:1fr;}
  .ipt-hero__float{display:none;}
}

/* Signal wave divider (signature motif) */
.ipt-divider{width:100%;height:40px;display:block;color:var(--ipt-border);}

/* Azulejo line texture (subtle, used sparingly) */
.ipt-azulejo{position:absolute;inset:0;pointer-events:none;opacity:.45;background-image:radial-gradient(var(--ipt-border-strong) 1.2px,transparent 1.2px);background-size:26px 26px;-webkit-mask-image:radial-gradient(120% 80% at 85% 20%,#000,transparent 70%);mask-image:radial-gradient(120% 80% at 85% 20%,#000,transparent 70%);z-index:0;}

/* ==========================================================================
   7. TRUST BAR
   ========================================================================== */
.ipt-trust{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1px solid var(--ipt-border);border-radius:var(--ipt-radius-lg);overflow:hidden;background:#fff;}
.ipt-trust__item{padding:26px 22px;border-left:1px solid var(--ipt-border);display:flex;gap:14px;align-items:flex-start;}
.ipt-trust__item:first-child{border-left:none;}
.ipt-trust__item svg{width:26px;height:26px;color:var(--ipt-green);flex:none;margin-top:2px;}
.ipt-trust__item strong{display:block;color:var(--ipt-ink);font-family:var(--ipt-font-head);font-size:1.02rem;margin-bottom:2px;}
.ipt-trust__item span{font-size:.86rem;color:var(--ipt-muted);}
@media(max-width:900px){
  .ipt-trust{grid-template-columns:repeat(2,1fr);}
  .ipt-trust__item:nth-child(3){border-left:none;}
}
@media(max-width:560px){
  .ipt-trust{grid-template-columns:1fr;}
  .ipt-trust__item{border-left:none!important;border-top:1px solid var(--ipt-border);}
  .ipt-trust__item:first-child{border-top:none;}
}

/* ==========================================================================
   8. CARDS — service / device / scenario / blog
   ========================================================================== */
.ipt-card{background:#fff;border:1px solid var(--ipt-border);border-radius:var(--ipt-radius-lg);padding:30px;transition:transform var(--ipt-speed) var(--ipt-ease),box-shadow var(--ipt-speed) var(--ipt-ease),border-color var(--ipt-speed);position:relative;}
.ipt-card:hover{transform:translateY(-5px);box-shadow:var(--ipt-shadow-lg);border-color:transparent;}
.ipt-card__icon{width:56px;height:56px;border-radius:var(--ipt-radius-md);background:linear-gradient(135deg,var(--ipt-green-tint),#fff);color:var(--ipt-green);display:flex;align-items:center;justify-content:center;margin-bottom:20px;box-shadow:inset 0 0 0 1px rgba(11,110,79,.14),0 6px 14px -8px rgba(11,110,79,.35);}
.ipt-card__icon .ipt-ico{width:26px;height:26px;}
.ipt-card:hover .ipt-card__icon{transform:scale(1.05);transition:transform var(--ipt-speed) var(--ipt-ease);}
.ipt-card h3{margin-bottom:8px;}
.ipt-card p:last-child{margin-bottom:0;}

.ipt-device-card{text-align:center;padding:26px 20px;}
.ipt-device-card__photo{border-radius:var(--ipt-radius-md);overflow:hidden;aspect-ratio:4/3;margin-bottom:16px;background:var(--ipt-bg-soft);}
.ipt-device-card__photo img{width:100%;height:100%;object-fit:cover;}

.ipt-scenario-card{background:var(--ipt-bg-soft);border-radius:var(--ipt-radius-lg);padding:28px;position:relative;}
.ipt-scenario-card__label{display:inline-block;font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ipt-gold);background:var(--ipt-gold-tint);padding:4px 10px;border-radius:var(--ipt-radius-pill);margin-bottom:14px;}
.ipt-scenario-card p{font-size:1.02rem;color:var(--ipt-ink);}
.ipt-scenario-card__who{display:flex;align-items:center;gap:10px;margin-top:16px;}
.ipt-scenario-card__avatar{width:38px;height:38px;border-radius:50%;background:var(--ipt-green);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-family:var(--ipt-font-head);flex:none;}
.ipt-scenario-card__who strong{display:block;font-size:.9rem;color:var(--ipt-ink);}
.ipt-scenario-card__who span{font-size:.8rem;color:var(--ipt-muted);}

/* ==========================================================================
   9. PLAN SELECTOR + COMPARISON TABLE
   ========================================================================== */
.ipt-plan-selector{background:#fff;border:1px solid var(--ipt-border);border-radius:var(--ipt-radius-lg);padding:38px;box-shadow:var(--ipt-shadow-lg);position:relative;overflow:hidden;max-width:960px;margin:0 auto;}
.ipt-plan-selector::before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--ipt-green) 0 50%,var(--ipt-primary) 50% 100%);}
.ipt-plan-tabs{display:flex;gap:6px;background:var(--ipt-bg-soft);padding:6px;border-radius:var(--ipt-radius-pill);margin-bottom:34px;flex-wrap:wrap;border:1px solid var(--ipt-border);}
.ipt-plan-tab{flex:1;min-width:110px;text-align:center;padding:13px 10px;border-radius:var(--ipt-radius-pill);border:none;background:transparent;font-weight:700;font-family:var(--ipt-font-head);font-size:.94rem;color:var(--ipt-body);cursor:pointer;position:relative;transition:background var(--ipt-speed),color var(--ipt-speed),box-shadow var(--ipt-speed);}
.ipt-plan-tab:hover{color:var(--ipt-ink);}
.ipt-plan-tab.is-active{background:linear-gradient(135deg,var(--ipt-ink),var(--ipt-green-dark));color:#fff;box-shadow:0 8px 18px -8px rgba(16,27,22,.6);}
.ipt-plan-tab__badge{position:absolute;top:-11px;left:50%;transform:translateX(-50%);white-space:nowrap;background:var(--ipt-gold);color:#3a2e05;font-size:.6rem;padding:3px 9px;border-radius:var(--ipt-radius-pill);font-weight:800;letter-spacing:.03em;text-transform:uppercase;box-shadow:var(--ipt-shadow-sm);}
/* Class-based show/hide — robust even if JS fails: the default panel carries
   .is-active from PHP and shows; all others stay display:none. */
.ipt-plan-display{display:none;grid-template-columns:minmax(230px,auto) 1fr;gap:40px;align-items:center;}
.ipt-plan-display.is-active{display:grid;}
.ipt-plan-price{display:flex;align-items:baseline;gap:6px;}
.ipt-plan-price__value{font-family:var(--ipt-font-head);font-size:4rem;font-weight:800;color:var(--ipt-ink);letter-spacing:-.03em;line-height:1;}
.ipt-plan-price__unit{font-size:1rem;color:var(--ipt-muted);font-weight:600;}
.ipt-plan-price__old{font-size:1.1rem;color:var(--ipt-muted);text-decoration:line-through;}
.ipt-plan-features{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:10px 20px;}
.ipt-plan-features li{display:flex;gap:8px;align-items:flex-start;font-size:.94rem;color:var(--ipt-ink);}
.ipt-plan-features svg{width:18px;height:18px;color:var(--ipt-success);flex:none;margin-top:2px;}
.ipt-plan-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:28px;padding-top:24px;border-top:1px solid var(--ipt-border);flex-wrap:wrap;}
.ipt-plan-note{font-size:.92rem;color:var(--ipt-muted);margin:10px 0 0;}
.ipt-plan-note strong{color:var(--ipt-ink);font-family:var(--ipt-font-head);font-size:1.15rem;}
.ipt-plan-save{display:inline-block;margin-top:14px;background:var(--ipt-gold-tint);color:#7a5e0a;font-weight:800;font-size:.82rem;padding:7px 14px;border-radius:var(--ipt-radius-pill);border:1px solid rgba(201,162,39,.35);}
@media(max-width:700px){
  .ipt-plan-selector{padding:24px 18px;}
  .ipt-plan-display{grid-template-columns:1fr;text-align:left;}
  .ipt-plan-features{grid-template-columns:1fr;}
}

.ipt-compare{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--ipt-border);border-radius:var(--ipt-radius-lg);overflow:hidden;}
.ipt-compare th,.ipt-compare td{padding:16px 18px;text-align:left;border-bottom:1px solid var(--ipt-border);font-size:.94rem;}
.ipt-compare th{font-family:var(--ipt-font-head);color:var(--ipt-ink);background:var(--ipt-bg-soft);font-weight:700;}
.ipt-compare tr:last-child td{border-bottom:none;}
.ipt-compare td.ipt-compare__best{background:var(--ipt-green-tint);font-weight:700;color:var(--ipt-green-dark);}
@media(max-width:720px){
  .ipt-compare thead{display:none;}
  .ipt-compare,.ipt-compare tbody,.ipt-compare tr,.ipt-compare td{display:block;width:100%;}
  .ipt-compare tr{border-bottom:8px solid var(--ipt-bg-soft);padding:12px 0;}
  .ipt-compare td{border:none;padding:8px 18px;display:flex;justify-content:space-between;gap:12px;}
  .ipt-compare td::before{content:attr(data-label);font-weight:700;color:var(--ipt-muted);font-size:.8rem;}
}

/* ==========================================================================
   10. STEPS TIMELINE
   ========================================================================== */
.ipt-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:0;position:relative;}
.ipt-steps::before{content:"";position:absolute;top:26px;left:0;right:0;height:2px;background:repeating-linear-gradient(90deg,var(--ipt-border) 0 8px,transparent 8px 16px);}
.ipt-step{position:relative;padding:0 16px;text-align:left;}
.ipt-step__num{width:52px;height:52px;border-radius:50%;background:var(--ipt-ink);color:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--ipt-font-head);font-weight:800;font-size:1.1rem;margin-bottom:18px;position:relative;z-index:1;}
.ipt-step:nth-child(odd) .ipt-step__num{background:var(--ipt-primary);}
@media(max-width:900px){
  .ipt-steps{grid-template-columns:1fr;gap:28px;}
  .ipt-steps::before{display:none;}
}

/* ==========================================================================
   11. FAQ ACCORDION
   ========================================================================== */
.ipt-faq{border-top:1px solid var(--ipt-border);}
.ipt-faq__item{border-bottom:1px solid var(--ipt-border);}
.ipt-faq__q{width:100%;display:flex;justify-content:space-between;align-items:center;gap:16px;text-align:left;background:none;border:none;padding:22px 4px;cursor:pointer;font-family:var(--ipt-font-head);font-weight:700;color:var(--ipt-ink);font-size:1.02rem;}
.ipt-faq__q svg{width:20px;height:20px;flex:none;color:var(--ipt-green);transition:transform var(--ipt-speed) var(--ipt-ease);}
.ipt-faq__item.is-open .ipt-faq__q svg{transform:rotate(45deg);}
.ipt-faq__a{max-height:0;overflow:hidden;transition:max-height var(--ipt-speed) var(--ipt-ease);}
.ipt-faq__a-inner{padding:0 4px 22px;color:var(--ipt-body);}
.ipt-faq-cats{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:28px;}
.ipt-faq-cat{padding:8px 16px;border-radius:var(--ipt-radius-pill);border:1px solid var(--ipt-border);background:#fff;font-size:.86rem;font-weight:600;cursor:pointer;color:var(--ipt-body);}
.ipt-faq-cat.is-active{background:var(--ipt-ink);color:#fff;border-color:var(--ipt-ink);}

/* ==========================================================================
   12. CTA BANNER
   ========================================================================== */
.ipt-cta-banner{background:linear-gradient(135deg,var(--ipt-ink) 0%,var(--ipt-green-dark) 100%);border-radius:var(--ipt-radius-lg);padding:56px;position:relative;overflow:hidden;color:var(--ipt-on-dark);}
.ipt-cta-banner::after{content:"";position:absolute;right:-60px;top:-60px;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,rgba(201,162,39,.35),transparent 70%);}
.ipt-cta-banner h2{color:#fff;}
.ipt-cta-banner p{color:var(--ipt-on-dark-muted);max-width:520px;}
.ipt-cta-banner__inner{position:relative;z-index:1;display:flex;justify-content:space-between;align-items:center;gap:32px;flex-wrap:wrap;}
@media(max-width:700px){.ipt-cta-banner{padding:34px 24px;}}

/* ==========================================================================
   13. FOOTER
   ========================================================================== */
.ipt-footer{background:var(--ipt-bg-dark);color:var(--ipt-on-dark-muted);padding:72px 0 0;}
.ipt-footer__top{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr 1.1fr;gap:32px;padding-bottom:48px;border-bottom:1px solid rgba(255,255,255,.08);}
.ipt-footer__brand img{height:38px;margin-bottom:16px;}
.ipt-footer h4{color:#fff;font-size:.9rem;text-transform:uppercase;letter-spacing:.06em;margin-bottom:18px;}
.ipt-footer ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;}
.ipt-footer a{color:var(--ipt-on-dark-muted);font-size:.92rem;}
.ipt-footer a:hover{color:#fff;}
.ipt-footer__support{background:rgba(255,255,255,.05);border-radius:var(--ipt-radius-md);padding:20px;}
.ipt-footer__support .ipt-btn{margin-top:12px;}
.ipt-footer__bottom{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:24px 0;font-size:.82rem;flex-wrap:wrap;}
.ipt-footer__legal-links{display:flex;gap:16px;flex-wrap:wrap;list-style:none;padding:0;margin:0;}
@media(max-width:960px){
  .ipt-footer__top{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:600px){
  .ipt-footer__top{grid-template-columns:1fr;}
}

/* ==========================================================================
   14. STICKY MOBILE CTA
   ========================================================================== */
.ipt-sticky-cta{
  position:fixed;left:0;right:0;bottom:0;z-index:250;background:#fff;
  border-top:1px solid var(--ipt-border);box-shadow:0 -8px 24px rgba(16,27,22,.08);
  padding:10px 16px;display:none;align-items:center;justify-content:space-between;gap:12px;
  transform:translateY(0);transition:transform var(--ipt-speed) var(--ipt-ease);
}
.ipt-sticky-cta.is-hidden{transform:translateY(100%);}
.ipt-sticky-cta__price strong{display:block;font-family:var(--ipt-font-head);color:var(--ipt-ink);}
.ipt-sticky-cta__price span{font-size:.76rem;color:var(--ipt-muted);}
@media(max-width:720px){.ipt-sticky-cta{display:flex;}}

/* WhatsApp floating bubble (non-intrusive, corner) */
.ipt-wa-float{
  position:fixed;right:20px;bottom:20px;z-index:240;width:56px;height:56px;border-radius:50%;
  background:var(--ipt-whatsapp);color:#fff;display:flex;align-items:center;justify-content:center;
  box-shadow:var(--ipt-shadow-lg);transition:transform var(--ipt-speed) var(--ipt-ease);
}
.ipt-wa-float:hover{transform:scale(1.08);color:#fff;}
.ipt-wa-float svg{width:28px;height:28px;}
@media(max-width:720px){.ipt-wa-float{bottom:82px;right:16px;width:50px;height:50px;}}

/* ==========================================================================
   15. BLOG
   ========================================================================== */
.ipt-blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}
.ipt-blog-card{border:1px solid var(--ipt-border);border-radius:var(--ipt-radius-lg);overflow:hidden;background:#fff;transition:transform var(--ipt-speed),box-shadow var(--ipt-speed);}
.ipt-blog-card:hover{transform:translateY(-4px);box-shadow:var(--ipt-shadow-md);}
.ipt-blog-card__img{aspect-ratio:16/10;overflow:hidden;background:var(--ipt-bg-soft);}
.ipt-blog-card__img img{width:100%;height:100%;object-fit:cover;}
.ipt-blog-card__body{padding:22px;}
.ipt-blog-card__meta{font-size:.78rem;color:var(--ipt-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:8px;font-weight:700;}
.ipt-blog-card h3{font-size:1.15rem;margin-bottom:8px;}
@media(max-width:900px){.ipt-blog-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:600px){.ipt-blog-grid{grid-template-columns:1fr;}}

.ipt-pagination{display:flex;justify-content:center;gap:8px;margin-top:48px;}
.ipt-pagination a,.ipt-pagination span{display:flex;align-items:center;justify-content:center;min-width:42px;height:42px;border-radius:var(--ipt-radius-sm);border:1px solid var(--ipt-border);font-weight:700;color:var(--ipt-ink);}
.ipt-pagination .current{background:var(--ipt-ink);color:#fff;border-color:var(--ipt-ink);}

.ipt-article{max-width:var(--ipt-container-narrow);margin:0 auto;}
.ipt-article__meta{display:flex;gap:16px;align-items:center;color:var(--ipt-muted);font-size:.88rem;margin-bottom:20px;flex-wrap:wrap;}
.ipt-article__cover{border-radius:var(--ipt-radius-lg);overflow:hidden;margin-bottom:32px;aspect-ratio:16/9;}
.ipt-article__cover img{width:100%;height:100%;object-fit:cover;}
.ipt-article__content h2{margin-top:1.6em;}
.ipt-article__content h3{margin-top:1.3em;}
.ipt-article__content ul{margin-bottom:1.2em;}
.ipt-article__content a{text-decoration:underline;}
.ipt-article__author{display:flex;gap:14px;align-items:center;margin-top:48px;padding:24px;background:var(--ipt-bg-soft);border-radius:var(--ipt-radius-lg);}
.ipt-article__author img{width:56px;height:56px;border-radius:50%;object-fit:cover;}
.ipt-related{margin-top:56px;}

/* ==========================================================================
   16. FORMS
   ========================================================================== */
.ipt-form{display:grid;gap:18px;}
.ipt-form label{display:block;font-weight:700;font-size:.88rem;color:var(--ipt-ink);margin-bottom:6px;}
.ipt-form input,.ipt-form textarea,.ipt-form select{
  width:100%;padding:14px 16px;border:1px solid var(--ipt-border-strong);border-radius:var(--ipt-radius-sm);
  font-family:inherit;font-size:1rem;background:#fff;color:var(--ipt-ink);transition:border-color var(--ipt-speed);
}
.ipt-form input:focus,.ipt-form textarea:focus,.ipt-form select:focus{border-color:var(--ipt-green);}
.ipt-form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
@media(max-width:600px){.ipt-form-row{grid-template-columns:1fr;}}
.ipt-search-form{position:relative;display:flex;}
.ipt-search-form input{padding-right:52px;}
.ipt-search-form button{position:absolute;right:6px;top:6px;bottom:6px;width:40px;border:none;background:var(--ipt-ink);color:#fff;border-radius:var(--ipt-radius-sm);cursor:pointer;display:flex;align-items:center;justify-content:center;}

/* ==========================================================================
   17. LEGAL PAGES
   ========================================================================== */
.ipt-legal{max-width:var(--ipt-container-narrow);margin:0 auto;}
.ipt-legal__updated{display:inline-block;background:var(--ipt-bg-soft);border:1px solid var(--ipt-border);border-radius:var(--ipt-radius-md);padding:14px 18px;font-size:.88rem;color:var(--ipt-muted);margin-bottom:32px;}
.ipt-legal__content h2{margin-top:1.8em;padding-top:.2em;}
.ipt-legal__content h2:first-child{margin-top:0;}
.ipt-legal__content li{margin-bottom:.4em;}
.ipt-legal__note{background:var(--ipt-gold-tint);border-left:3px solid var(--ipt-gold);padding:16px 20px;border-radius:0 var(--ipt-radius-sm) var(--ipt-radius-sm) 0;font-size:.9rem;margin:1.4em 0;}

/* ==========================================================================
   18. BREADCRUMBS
   ========================================================================== */
.ipt-breadcrumbs{padding:18px 0;font-size:.86rem;color:var(--ipt-muted);}
.ipt-breadcrumbs a{color:var(--ipt-muted);}
.ipt-breadcrumbs a:hover{color:var(--ipt-primary);}
.ipt-breadcrumbs span[aria-current]{color:var(--ipt-ink);font-weight:600;}

/* ==========================================================================
   19. STATS STRIP
   ========================================================================== */
.ipt-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:0;text-align:center;background:linear-gradient(135deg,var(--ipt-bg-soft),#fff);border:1px solid var(--ipt-border);border-radius:var(--ipt-radius-lg);overflow:hidden;box-shadow:var(--ipt-shadow-sm);}
.ipt-stat{padding:32px 24px;border-left:1px solid var(--ipt-border);}
.ipt-stat:first-child{border-left:none;}
.ipt-stat strong{display:block;font-family:var(--ipt-font-head);font-size:2.8rem;color:var(--ipt-green-dark);font-weight:800;letter-spacing:-.02em;line-height:1;margin-bottom:6px;}
.ipt-stat span{font-size:.9rem;color:var(--ipt-body);}
@media(max-width:700px){.ipt-stats{grid-template-columns:1fr;}.ipt-stat{border-left:none;border-top:1px solid var(--ipt-border);}.ipt-stat:first-child{border-top:none;}}

/* ==========================================================================
   20. SCROLL REVEAL
   ========================================================================== */
.ipt-reveal{opacity:0;transform:translateY(18px);transition:opacity .6s var(--ipt-ease),transform .6s var(--ipt-ease);}
.ipt-reveal.is-visible{opacity:1;transform:none;}

/* ==========================================================================
   21. 404
   ========================================================================== */
.ipt-404{text-align:center;padding:var(--ipt-section-y) 0;}
.ipt-404__code{font-family:var(--ipt-font-head);font-size:clamp(4rem,12vw,8rem);font-weight:800;color:var(--ipt-green-tint);line-height:1;}

/* ==========================================================================
   22. COMMENTS
   ========================================================================== */
.ipt-comments{max-width:var(--ipt-container-narrow);margin:56px auto 0;}
.ipt-comment-list{list-style:none;margin:0;padding:0;}
.ipt-comment-list .children{list-style:none;padding-left:32px;}
.ipt-comment{border:1px solid var(--ipt-border);border-radius:var(--ipt-radius-md);padding:20px;margin-bottom:16px;}
.ipt-comment__meta{display:flex;gap:10px;align-items:center;margin-bottom:8px;font-size:.86rem;color:var(--ipt-muted);}
.ipt-comment__meta strong{color:var(--ipt-ink);}

/* ==========================================================================
   23. UTILITIES
   ========================================================================== */
.ipt-text-center{text-align:center;}
.ipt-mt-0{margin-top:0;}
.ipt-flag-accent{background:linear-gradient(90deg,var(--ipt-green) 0 50%,var(--ipt-primary) 50% 100%);height:3px;width:64px;border-radius:var(--ipt-radius-pill);margin-bottom:20px;}
