
/* =========================================================
   IPTV Abonnement Maroc — Shared Visual Theme V1
   Safe overlay loaded AFTER style.css and inline page styles.
   Activated only on body.site-theme-v2.
   ========================================================= */

body.site-theme-v2{
  --color-primary:#070b09;
  --color-secondary:#00c26e;
  --color-accent:#b8ff2e;
  --color-bg:#070b09;
  --color-surface:#0d1410;
  --color-text:#e8eee8;
  --color-muted:#9aaba0;
  --color-white:#f2f5ee;
  --surface-glass:linear-gradient(145deg,rgba(19,28,22,.96),rgba(9,15,11,.96));
  --card-shadow:0 16px 38px rgba(0,0,0,.28);
  --card-shadow-hover:0 24px 52px rgba(0,0,0,.38);
  --theme-line:rgba(184,255,46,.16);
  --theme-line-strong:rgba(184,255,46,.38);
  --theme-volt:#b8ff2e;
  --theme-pitch:#00c26e;
  --theme-ink:#070b09;
  --theme-ink2:#0d1410;
  --theme-paper:#f2f5ee;
  --theme-mute:#8fa096;
  --theme-display:'Bahnschrift','Segoe UI Variable Display','Segoe UI',Roboto,Arial,sans-serif;

  background:
    radial-gradient(circle at 12% 0%,rgba(0,194,110,.10),transparent 25rem),
    #070b09;
  color:var(--theme-paper);
  font-family:Inter,'Segoe UI',Roboto,Arial,sans-serif;
}

/* ---------- Shared typography ---------- */
body.site-theme-v2 h1,
body.site-theme-v2 h2{
  font-family:var(--theme-display);
  color:var(--theme-paper);
  letter-spacing:-.025em;
}
body.site-theme-v2 h3,
body.site-theme-v2 h4,
body.site-theme-v2 h5,
body.site-theme-v2 h6{
  color:var(--theme-paper);
}
body.site-theme-v2 ::selection{
  background:var(--theme-volt);
  color:var(--theme-ink);
}

/* ---------- Header: same visual language as homepage ---------- */
body.site-theme-v2 .site-header{
  height:72px;
  background:rgba(7,11,9,.90);
  border-bottom:1px solid var(--theme-line);
  backdrop-filter:blur(12px);
  box-shadow:none;
}
body.site-theme-v2 .site-header::before{display:none}
body.site-theme-v2 .site-header.is-scrolled{
  background:rgba(7,11,9,.96);
  border-bottom-color:rgba(184,255,46,.20);
  box-shadow:0 10px 34px rgba(0,0,0,.35);
}
body.site-theme-v2 .header-inner{min-height:72px}
body.site-theme-v2 .brand{
  gap:.62rem;
  font-family:var(--theme-display);
  font-weight:650;
}
body.site-theme-v2 .brand-mark{
  display:grid;
  place-items:center;
  min-width:44px;
  height:32px;
  padding:0 .55rem;
  border-radius:6px;
  background:var(--theme-volt);
  color:var(--theme-ink);
  background-clip:border-box;
  -webkit-background-clip:border-box;
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.08em;
}
body.site-theme-v2 .brand-text{
  color:var(--theme-paper);
  font-size:1rem;
  font-weight:650;
}
body.site-theme-v2 .site-nav{gap:1.25rem}
body.site-theme-v2 .nav-link{
  color:var(--theme-mute);
  font-size:.74rem;
  font-weight:650;
  letter-spacing:.045em;
  text-transform:uppercase;
}
body.site-theme-v2 .nav-link:hover,
body.site-theme-v2 .nav-link:focus-visible,
body.site-theme-v2 .nav-link.active{
  color:var(--theme-paper);
  transform:none;
}
body.site-theme-v2 .nav-link::after{
  bottom:-.42rem;
  height:2px;
  border-radius:0;
  background:var(--theme-volt);
}

/* ---------- Buttons ---------- */
body.site-theme-v2 .btn{
  border-radius:4px;
  min-height:46px;
  padding:.78rem 1.25rem;
  font-size:.78rem;
  letter-spacing:.055em;
  font-weight:750;
  text-transform:uppercase;
}
body.site-theme-v2 .btn-primary{
  background:var(--theme-volt);
  color:var(--theme-ink);
  box-shadow:none;
  clip-path:polygon(0 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%);
}
body.site-theme-v2 .btn-primary:hover,
body.site-theme-v2 .btn-primary:focus-visible{
  background:#c9ff5e;
  color:var(--theme-ink);
  box-shadow:0 13px 30px rgba(184,255,46,.20);
}
/* Keep primary CTA text readable inside article content.
   This overrides the generic article-content link color without affecting normal article links. */
body.site-theme-v2 .article-content .btn-primary{
  color:var(--theme-ink);
}
body.site-theme-v2 .btn-secondary{
  background:transparent;
  color:var(--theme-paper);
  border:1px solid rgba(242,245,238,.28);
}
body.site-theme-v2 .btn-secondary:hover,
body.site-theme-v2 .btn-secondary:focus-visible{
  border-color:var(--theme-volt);
  color:var(--theme-volt);
  background:rgba(184,255,46,.04);
}
body.site-theme-v2 .header-cta{
  padding:.65rem 1.15rem;
  min-height:44px;
}

/* ---------- Mobile navigation ---------- */
body.site-theme-v2 .mobile-toggle{
  border-radius:6px;
  background:#101813;
  border:1px solid var(--theme-line);
}
body.site-theme-v2 .mobile-toggle span{background:var(--theme-volt)}
@media(max-width:900px){
  body.site-theme-v2 .site-nav{
    background:#0b120e;
    border:1px solid rgba(184,255,46,.18);
    box-shadow:0 22px 50px rgba(0,0,0,.45);
  }
}

/* ---------- Generic inner-page heroes ---------- */
body.site-theme-v2 .contact-hero,
body.site-theme-v2 .about-hero,
body.site-theme-v2 .blog-hero,
body.site-theme-v2 .article-hero,
body.site-theme-v2 .privacy-hero,
body.site-theme-v2 .terms-hero{
  position:relative;
  border-bottom:1px solid var(--theme-line);
  background:
    radial-gradient(circle at 18% 16%,rgba(184,255,46,.10),transparent 27rem),
    radial-gradient(circle at 82% 20%,rgba(0,194,110,.09),transparent 24rem),
    #070b09 !important;
}
body.site-theme-v2 .contact-hero h1,
body.site-theme-v2 .about-hero h1,
body.site-theme-v2 .blog-hero h1,
body.site-theme-v2 .article-hero h1,
body.site-theme-v2 .privacy-hero h1,
body.site-theme-v2 .terms-hero h1{
  color:var(--theme-paper);
  font-weight:650;
}
body.site-theme-v2 .hero-kicker,
body.site-theme-v2 .section-kicker,
body.site-theme-v2 .article-breadcrumb{
  color:var(--theme-volt) !important;
}
body.site-theme-v2 .hero-kicker,
body.site-theme-v2 .section-kicker{
  background:transparent;
  padding:0;
  border-radius:0;
  letter-spacing:.13em;
  font-size:.76rem;
}
body.site-theme-v2 .hero-description,
body.site-theme-v2 .article-intro,
body.site-theme-v2 .section-subtitle{
  color:#aab8af;
}

/* ---------- Generic surfaces/cards ---------- */
body.site-theme-v2 .contact-card,
body.site-theme-v2 .contact-form-card,
body.site-theme-v2 .faq-mini-item,
body.site-theme-v2 .contact-cta-card,
body.site-theme-v2 .about-highlight,
body.site-theme-v2 .about-value-card,
body.site-theme-v2 .about-trust,
body.site-theme-v2 .about-contact-card,
body.site-theme-v2 .blog-card,
body.site-theme-v2 .blog-cta-card,
body.site-theme-v2 .tarifs-card,
body.site-theme-v2 .payment-box,
body.site-theme-v2 .tarifs-note,
body.site-theme-v2 .tarifs-cta,
body.site-theme-v2 .guide-card,
body.site-theme-v2 .guide-step,
body.site-theme-v2 .guide-troubleshoot,
body.site-theme-v2 .guide-cta,
body.site-theme-v2 .privacy-card,
body.site-theme-v2 .privacy-highlight,
body.site-theme-v2 .privacy-cta-card,
body.site-theme-v2 .terms-card,
body.site-theme-v2 .terms-notice,
body.site-theme-v2 .terms-cta-card{
  background:linear-gradient(155deg,#101813,#0a100c) !important;
  border-color:var(--theme-line) !important;
  box-shadow:0 16px 36px rgba(0,0,0,.25) !important;
}
body.site-theme-v2 .contact-card:hover,
body.site-theme-v2 .blog-card:hover,
body.site-theme-v2 .tarifs-card:hover,
body.site-theme-v2 .guide-card:hover{
  border-color:var(--theme-line-strong) !important;
  box-shadow:0 22px 44px rgba(0,0,0,.34) !important;
}
body.site-theme-v2 .contact-card p,
body.site-theme-v2 .contact-form-card > p,
body.site-theme-v2 .faq-mini-item p,
body.site-theme-v2 .contact-cta-card p,
body.site-theme-v2 .about-section p,
body.site-theme-v2 .blog-card p,
body.site-theme-v2 .privacy-main p,
body.site-theme-v2 .terms-main p{
  color:#9eaca3;
}

/* ---------- Contact form ---------- */
body.site-theme-v2 .form-field label{
  color:var(--theme-paper);
}
body.site-theme-v2 .form-field input,
body.site-theme-v2 .form-field textarea,
body.site-theme-v2 .form-field select{
  background:#070c09;
  border-color:rgba(184,255,46,.16);
  color:var(--theme-paper);
  box-shadow:none;
}
body.site-theme-v2 .form-field input::placeholder,
body.site-theme-v2 .form-field textarea::placeholder{
  color:#6f8075;
}
body.site-theme-v2 .form-field input:focus,
body.site-theme-v2 .form-field textarea:focus,
body.site-theme-v2 .form-field select:focus{
  border-color:var(--theme-volt);
  outline:2px solid rgba(184,255,46,.10);
  outline-offset:1px;
}
body.site-theme-v2 .contact-note{color:var(--theme-mute)}

/* ---------- Blog accents ---------- */
body.site-theme-v2 .blog-card-label,
body.site-theme-v2 .blog-read-more,
body.site-theme-v2 .article-back,
body.site-theme-v2 .features-more a{
  color:var(--theme-volt) !important;
}
body.site-theme-v2 .blog-card h2 a:hover{color:var(--theme-volt)}
body.site-theme-v2 .blog-card-icon{
  background:rgba(184,255,46,.10);
  color:var(--theme-volt);
}
body.site-theme-v2 .blog-card-image-link{
  border-bottom-color:var(--theme-line);
}

/* ---------- Tarifs / Guide accent system ---------- */
body.site-theme-v2 .tarifs-label,
body.site-theme-v2 .guide-label,
body.site-theme-v2 .best-value,
body.site-theme-v2 .tarifs-card strong,
body.site-theme-v2 .guide-card strong{
  color:var(--theme-volt) !important;
}
body.site-theme-v2 .tarifs-card.best-value,
body.site-theme-v2 .guide-card.featured{
  border-color:rgba(184,255,46,.52) !important;
  background:linear-gradient(160deg,rgba(184,255,46,.08),#0b120e 48%,#090e0b) !important;
}
body.site-theme-v2 .tarifs-table-wrap,
body.site-theme-v2 .guide-table-wrap{
  border-color:var(--theme-line) !important;
  background:#0c130f !important;
}
body.site-theme-v2 .tarifs-table th,
body.site-theme-v2 .guide-table th{
  background:#101a13 !important;
  color:var(--theme-volt) !important;
}
body.site-theme-v2 .tarifs-table td,
body.site-theme-v2 .guide-table td{
  border-color:rgba(184,255,46,.10) !important;
}

/* ---------- Article/readability system (activated later) ---------- */
body.site-theme-v2 .article-content{
  color:#d5ded7;
}
body.site-theme-v2 .article-content h2,
body.site-theme-v2 .article-content h3{
  color:var(--theme-paper);
}
body.site-theme-v2 .article-content a{
  color:var(--theme-volt);
}
body.site-theme-v2 .article-summary,
body.site-theme-v2 .article-tip,
body.site-theme-v2 .article-note,
body.site-theme-v2 .article-sources,
body.site-theme-v2 .article-related-card{
  background:#0d1510 !important;
  border-color:var(--theme-line) !important;
}

/* ---------- Footer ---------- */
body.site-theme-v2 .site-footer{
  margin-top:0;
  padding:3rem 0 1.5rem;
  background:#050806;
  border-top:1px solid var(--theme-line);
}
body.site-theme-v2 .site-footer .container{
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  backdrop-filter:none;
}
body.site-theme-v2 .footer-column h3{
  color:var(--theme-volt);
  font-size:.74rem;
  text-transform:uppercase;
  letter-spacing:.14em;
}
body.site-theme-v2 .footer-column a,
body.site-theme-v2 .footer-column span,
body.site-theme-v2 .footer-brand p,
body.site-theme-v2 .copyright-sub,
body.site-theme-v2 .footer-links a{
  color:var(--theme-mute);
}
body.site-theme-v2 .footer-column a:hover,
body.site-theme-v2 .footer-column a:focus-visible,
body.site-theme-v2 .footer-links a:hover,
body.site-theme-v2 .footer-links a:focus-visible{
  color:var(--theme-volt);
}
body.site-theme-v2 .footer-divider{
  background:rgba(184,255,46,.12);
}
body.site-theme-v2 .copyright{color:var(--theme-paper)}

/* ---------- Focus visibility ---------- */
body.site-theme-v2 a:focus-visible,
body.site-theme-v2 button:focus-visible,
body.site-theme-v2 input:focus-visible,
body.site-theme-v2 textarea:focus-visible{
  outline:2px solid var(--theme-volt);
  outline-offset:3px;
}

/* ---------- Small screens ---------- */
@media(max-width:600px){
  body.site-theme-v2 .brand-text{display:inline}
  body.site-theme-v2 .site-header{height:68px}
  body.site-theme-v2 .header-inner{min-height:68px}
  body.site-theme-v2 .brand-mark{min-width:40px;height:30px}
  body.site-theme-v2 .brand-text{font-size:.88rem}
  body.site-theme-v2 .header-cta{display:none}
}


/* ===== V2 core pages finishing touches ===== */
body.site-theme-v2 main{
  background:transparent;
}
body.site-theme-v2 .article-hero,
body.site-theme-v2 .tarifs-hero,
body.site-theme-v2 .guide-hero{
  border-bottom:1px solid var(--theme-line);
}
body.site-theme-v2 .section-kicker{
  font-weight:750;
}
body.site-theme-v2 .footer-bottom{
  border-top-color:rgba(184,255,46,.12);
}


/* =========================================================
   V3 — Article readability and shared identity
   ========================================================= */

body.site-theme-v2 .article-page{
  background:
    radial-gradient(circle at 15% 4%,rgba(184,255,46,.055),transparent 26rem),
    #070b09;
}

body.site-theme-v2 .article-hero{
  padding-top:calc(var(--header-height) + 3.2rem);
  padding-bottom:3.3rem;
}

body.site-theme-v2 .article-hero .article-container{
  max-width:920px;
}

body.site-theme-v2 .article-breadcrumb{
  display:flex;
  flex-wrap:wrap;
  gap:.42rem;
  font-size:.82rem;
  margin-bottom:1.35rem;
  color:var(--theme-mute) !important;
}
body.site-theme-v2 .article-breadcrumb a{
  color:#aebbb2;
}
body.site-theme-v2 .article-breadcrumb a:hover{
  color:var(--theme-volt);
}

body.site-theme-v2 .article-hero .section-kicker{
  display:inline-block;
  margin-bottom:.85rem;
}

body.site-theme-v2 .article-hero h1{
  max-width:900px;
  font-size:clamp(2rem,5vw,3.65rem);
  line-height:1.04;
  font-weight:650;
  letter-spacing:-.035em;
}

body.site-theme-v2 .article-meta{
  display:flex;
  flex-wrap:wrap;
  gap:.7rem 1.15rem;
  color:#829087;
  font-size:.83rem;
  margin-top:1rem;
}

body.site-theme-v2 .article-intro{
  max-width:820px;
  margin-top:1.3rem;
  color:#bcc7c0;
  font-size:1.06rem;
  line-height:1.85;
}

body.site-theme-v2 .article-content{
  max-width:920px;
  margin:0 auto;
  padding-top:3rem;
  padding-bottom:4.5rem;
  color:#d5ddd7;
}

body.site-theme-v2 .article-content section{
  margin-bottom:2.7rem;
}

body.site-theme-v2 .article-content h2{
  margin-top:0;
  margin-bottom:.85rem;
  color:var(--theme-paper);
  font-size:clamp(1.45rem,3vw,2.05rem);
  line-height:1.2;
  font-weight:650;
}
body.site-theme-v2 .article-content h3{
  color:#e4ebe6;
  font-size:1.22rem;
  line-height:1.3;
  font-weight:650;
}

body.site-theme-v2 .article-content p,
body.site-theme-v2 .article-content li{
  color:#b5c0b8;
  font-size:1rem;
  line-height:1.88;
}
body.site-theme-v2 .article-content strong{
  color:#f0f4f1;
}

body.site-theme-v2 .article-content a:not(.btn):not(.article-related-card){
  color:var(--theme-volt);
  text-decoration-thickness:1px;
  text-underline-offset:.2em;
}
body.site-theme-v2 .article-content a:not(.btn):not(.article-related-card):hover{
  color:#d5ff82;
}

body.site-theme-v2 .article-figure{
  margin:0 0 2.25rem;
  overflow:hidden;
  border:1px solid var(--theme-line);
  border-radius:12px;
  background:#0b120e;
  box-shadow:0 18px 42px rgba(0,0,0,.26);
}
body.site-theme-v2 .article-figure img{
  width:100%;
  height:auto;
  display:block;
}
body.site-theme-v2 .article-figure figcaption{
  padding:.72rem 1rem;
  color:#7f9085;
  font-size:.82rem;
  border-top:1px solid var(--theme-line);
}

body.site-theme-v2 .article-summary{
  margin:0 0 2.6rem;
  padding:1.35rem 1.45rem;
  border:1px solid rgba(184,255,46,.25) !important;
  border-radius:10px;
  background:linear-gradient(145deg,rgba(184,255,46,.075),#0d1510) !important;
}
body.site-theme-v2 .article-summary h2{
  font-size:1.12rem;
  color:var(--theme-volt);
}
body.site-theme-v2 .article-summary ul,
body.site-theme-v2 .article-list,
body.site-theme-v2 .article-steps{
  color:#b5c0b8;
}

body.site-theme-v2 .article-note,
body.site-theme-v2 .article-tip{
  margin:1.5rem 0;
  padding:1.1rem 1.2rem;
  border:1px solid rgba(184,255,46,.23) !important;
  border-left:3px solid var(--theme-volt) !important;
  border-radius:8px;
  background:#0d1510 !important;
  color:#cbd5ce !important;
}

body.site-theme-v2 .article-checklist{
  list-style:none;
  padding-left:0;
}
body.site-theme-v2 .article-checklist li{
  position:relative;
  padding-left:1.85rem;
}
body.site-theme-v2 .article-checklist li::before{
  color:var(--theme-volt);
}

body.site-theme-v2 .article-table-wrap{
  overflow-x:auto;
  margin:1.4rem 0 1.8rem;
  border:1px solid var(--theme-line) !important;
  border-radius:10px;
  background:#0a100c !important;
}
body.site-theme-v2 .article-table{
  color:#aebbb2;
}
body.site-theme-v2 .article-table th,
body.site-theme-v2 .article-table td{
  border-bottom-color:rgba(184,255,46,.10) !important;
}
body.site-theme-v2 .article-table th{
  background:#111b14 !important;
  color:var(--theme-volt) !important;
}

body.site-theme-v2 .article-faq{
  margin-top:3rem;
}
body.site-theme-v2 .article-faq details{
  border:1px solid var(--theme-line) !important;
  border-radius:8px;
  background:#0b120e !important;
}
body.site-theme-v2 .article-faq summary{
  color:#e7ede9 !important;
}
body.site-theme-v2 .article-faq summary::after{
  color:var(--theme-volt) !important;
}
body.site-theme-v2 .article-faq details p{
  color:#aebbb2;
}

body.site-theme-v2 .article-related{
  margin-top:3rem;
}
body.site-theme-v2 .article-related-card{
  border:1px solid var(--theme-line) !important;
  border-radius:9px;
  background:linear-gradient(150deg,#101813,#0a100c) !important;
  box-shadow:none !important;
}
body.site-theme-v2 .article-related-card:hover{
  border-color:rgba(184,255,46,.36) !important;
  transform:translateY(-3px);
}
body.site-theme-v2 .article-related-card strong,
body.site-theme-v2 .article-related-card h3{
  color:#edf2ee;
}
body.site-theme-v2 .article-related-card span,
body.site-theme-v2 .article-related-card p{
  color:#93a197;
}

body.site-theme-v2 .article-sources{
  margin-top:2.4rem;
  padding:1.2rem 1.3rem;
  border:1px solid var(--theme-line) !important;
  border-radius:9px;
  background:#0b120e !important;
}
body.site-theme-v2 .article-sources h2,
body.site-theme-v2 .article-sources h3{
  color:#e9eeea;
}

body.site-theme-v2 .article-cta{
  margin-top:3rem;
  padding:1.65rem;
  border:1px solid rgba(184,255,46,.28);
  border-radius:10px;
  background:
    linear-gradient(145deg,rgba(184,255,46,.075),rgba(0,194,110,.035)),
    #0b120e;
}
body.site-theme-v2 .article-cta h2{
  color:var(--theme-paper);
}

body.site-theme-v2 .article-back,
body.site-theme-v2 .article-hub-link{
  color:var(--theme-volt) !important;
}

@media(max-width:640px){
  body.site-theme-v2 .article-hero{
    padding-top:calc(var(--header-height) + 2.1rem);
    padding-bottom:2.5rem;
  }
  body.site-theme-v2 .article-content{
    padding-top:2.25rem;
    padding-bottom:3.5rem;
  }
  body.site-theme-v2 .article-meta{
    gap:.5rem .85rem;
  }
  body.site-theme-v2 .article-related-grid{
    grid-template-columns:1fr;
  }
}
