/* YouCanShop Cinema — refonte visuelle v2.0
   Couche d'habillage : conserve les sections, le contenu et les interactions existantes. */
:root {
  --yc-bg: #080d18;
  --yc-surface: #101827;
  --yc-surface-raised: #151f31;
  --yc-line: rgba(180, 199, 224, .13);
  --yc-text: #f5f7fb;
  --yc-muted: #a5b2c5;
  --yc-accent: #65d6cf;
  --yc-accent-strong: #23b6ad;
  --yc-warm: #ffbd78;
  --yc-radius: 20px;
  --yc-shadow: 0 24px 70px rgba(0, 0, 0, .28);
}

html { background: var(--yc-bg) !important; scroll-behavior: smooth; }
body {
  background:
    radial-gradient(ellipse at 82% 0%, rgba(40, 114, 128, .16), transparent 34rem),
    var(--yc-bg) !important;
  color: var(--yc-text) !important;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  line-height: 1.65;
}
body::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  opacity: .2;
  background-image: radial-gradient(rgba(255,255,255,.14) .55px, transparent .55px);
  background-size: 7px 7px;
  mask-image: linear-gradient(to bottom, #000, transparent 68%);
}
body > * { position: relative; z-index: 1; }
main { min-height: 55vh; }
.container { max-width: 1240px !important; padding-right: clamp(18px, 4vw, 36px) !important; padding-left: clamp(18px, 4vw, 36px) !important; }
h1, h2, h3, h4, h5, h6 { color: var(--yc-text); letter-spacing: -.035em; }
p { color: var(--yc-muted); }
a { transition: color .2s ease, background-color .2s ease, border-color .2s ease, transform .2s ease, box-shadow .2s ease; }
:focus-visible { outline: 3px solid var(--yc-accent) !important; outline-offset: 4px; }
::selection { color: #071313; background: var(--yc-accent); }

/* Barre de navigation */
header[style*="position:sticky"] {
  position: sticky !important;
  background: rgba(8, 13, 24, .84) !important;
  border-bottom: 1px solid var(--yc-line) !important;
  padding: 12px 0 !important;
  backdrop-filter: blur(18px) saturate(140%) !important;
  -webkit-backdrop-filter: blur(18px) saturate(140%) !important;
}
header[style*="position:sticky"] .container { max-width: 1240px !important; }
header[style*="position:sticky"] a:first-child { gap: 11px !important; }
header[style*="position:sticky"] a:first-child > span:first-child {
  display: grid !important;
  place-items: center;
  width: 42px;
  height: 42px;
  border: 1px solid rgba(101, 214, 207, .24);
  border-radius: 14px;
  background: linear-gradient(145deg, rgba(101,214,207,.16), rgba(101,214,207,.045)) !important;
  font-size: 21px !important;
}
header[style*="position:sticky"] a:first-child > span:last-child { letter-spacing: -.035em; }
header[style*="position:sticky"] nav { gap: clamp(10px, 2vw, 25px) !important; }
header[style*="position:sticky"] nav a {
  color: #bdc9d9 !important;
  font-size: 12px !important;
  font-weight: 650 !important;
}
header[style*="position:sticky"] nav a:hover { color: var(--yc-accent) !important; }
header[style*="position:sticky"] nav a:last-child {
  padding: 10px 15px;
  border: 1px solid rgba(101,214,207,.3);
  border-radius: 999px;
  background: rgba(101,214,207,.09);
  color: var(--yc-accent) !important;
}

/* Ruban des applications */
.app-marquee-band {
  padding: 10px 0 !important;
  border-color: var(--yc-line) !important;
  background: rgba(13, 21, 34, .72) !important;
}
.app-marquee-item { color: #c6d1df !important; letter-spacing: .055em; }
.app-marquee-item .app-dot { box-shadow: 0 0 10px currentColor; }

/* Bannière principale */
.iptv-hero {
  min-height: 0 !important;
  padding: clamp(58px, 8vw, 100px) clamp(18px, 5vw, 58px) clamp(65px, 8vw, 100px) !important;
  overflow: hidden;
  background:
    radial-gradient(ellipse at 72% 45%, rgba(37, 130, 139, .16), transparent 32rem),
    linear-gradient(120deg, #09111e 0%, #0b1422 55%, #0b1822 100%) !important;
}
.iptv-hero::before {
  content: "";
  position: absolute;
  width: 580px;
  height: 580px;
  top: -310px;
  right: 2%;
  border: 1px solid rgba(101,214,207,.1);
  border-radius: 50%;
  box-shadow: 0 0 0 55px rgba(101,214,207,.025), 0 0 0 110px rgba(101,214,207,.02);
  pointer-events: none;
}
.hero-3d-dynamic { display: none !important; }
.hero-layout {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(340px, .92fr);
  align-items: center;
  gap: clamp(28px, 5vw, 76px);
  width: min(100%, 1200px);
  min-height: 470px;
  margin: 0 auto;
}
.hero-copy { max-width: 650px; text-align: left; }
.hero-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  margin: 0 0 22px;
  color: #c6d9dc !important;
  font-size: 11px !important;
  font-weight: 800;
  letter-spacing: .15em;
  text-transform: uppercase;
}
.hero-eyebrow::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--yc-accent);
  box-shadow: 0 0 18px rgba(101,214,207,.8);
}
.hero-copy h1 {
  max-width: 720px;
  margin: 0 0 20px !important;
  color: #f7f8fa !important;
  font-size: clamp(39px, 5.2vw, 68px) !important;
  font-weight: 760 !important;
  line-height: 1.04 !important;
  letter-spacing: -.065em !important;
}
.hero-copy h1 .hero-title-accent { color: var(--yc-accent) !important; }
.hero-copy .hero-description {
  max-width: 570px;
  margin: 0 0 28px !important;
  color: #afbdcc !important;
  font-size: clamp(14px, 1.5vw, 17px) !important;
  line-height: 1.75 !important;
}
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
.hero-actions .btn-primary, .hero-actions .btn-whatsapp {
  min-height: 52px !important;
  padding: 14px 22px !important;
  border: 1px solid transparent;
  border-radius: 12px !important;
  font-size: 13px !important;
  font-weight: 750 !important;
}
.hero-actions .btn-primary {
  background: var(--yc-accent) !important;
  color: #061a1b !important;
  box-shadow: 0 10px 26px rgba(35,182,173,.2) !important;
}
.hero-actions .btn-primary:hover { transform: translateY(-2px); background: #83e5dc !important; box-shadow: 0 15px 34px rgba(35,182,173,.26) !important; }
.hero-actions .btn-whatsapp {
  border-color: rgba(198, 212, 225, .2) !important;
  background: rgba(255,255,255,.035) !important;
  color: #e7edf2 !important;
  box-shadow: none !important;
}
.hero-actions .btn-whatsapp:hover { border-color: rgba(101,214,207,.5) !important; background: rgba(101,214,207,.08) !important; }
.hero-proof { display: flex; flex-wrap: wrap; gap: 10px 18px; margin-top: 25px; }
.hero-proof span { color: #aebdca; font-size: 11px; font-weight: 600; }
.hero-proof span::before { content: "✓"; margin-right: 7px; color: var(--yc-accent); font-weight: 900; }
.hero-art {
  position: relative;
  display: grid;
  min-width: 0;
  place-items: center;
}
.hero-art::before {
  content: "";
  position: absolute;
  width: 78%;
  aspect-ratio: 1;
  border-radius: 50%;
  background: rgba(42, 146, 157, .14);
  filter: blur(55px);
}
.hero-art img {
  position: relative;
  width: 112%;
  max-width: 650px;
  height: auto;
  border: 1px solid rgba(143, 197, 216, .18);
  border-radius: 30px;
  box-shadow: 0 40px 95px rgba(0,0,0,.42), 0 0 50px rgba(42,146,157,.08);
  mask-image: linear-gradient(to right, transparent 0%, #000 11%, #000 91%, transparent 100%);
}
.hero-art-label {
  position: absolute;
  right: -8px;
  bottom: 22px;
  z-index: 2;
  padding: 11px 15px;
  border: 1px solid rgba(210,227,238,.18);
  border-radius: 13px;
  background: rgba(9,16,28,.84);
  color: #d9e4ea;
  font-size: 11px;
  font-weight: 700;
  backdrop-filter: blur(12px);
}
.hero-art-label strong { color: var(--yc-accent); }
.neon-text, .gold-text { background: none !important; color: inherit !important; -webkit-text-fill-color: currentColor !important; }
.hero-badges, .hero-lang-slide { display: none !important; }

/* Titres et sections d’accueil */
.iptv-trust-bar, .iptv-apps-showcase, .iptv-media-showcase, .iptv-comparison,
.iptv-features, .iptv-pricing, .iptv-faq, .iptv-seo-content, .iptv-cta {
  position: relative;
  z-index: 1;
}
.iptv-trust-bar {
  width: min(calc(100% - 36px), 1120px) !important;
  margin: -24px auto 26px !important;
  padding: 14px !important;
  border: 1px solid var(--yc-line) !important;
  border-radius: 17px !important;
  background: rgba(15, 24, 38, .96) !important;
  box-shadow: var(--yc-shadow) !important;
}
.iptv-trust-bar > div > div {
  border-color: rgba(180,199,224,.1) !important;
  border-radius: 12px !important;
  background: rgba(255,255,255,.025) !important;
  padding: 10px 14px !important;
}
.iptv-trust-bar > div > div span:last-child { color: #d4dce5 !important; font-size: 11px !important; }
.iptv-apps-showcase, .iptv-pricing, .iptv-cta { padding-top: 68px !important; }
.iptv-apps-showcase > h2, .iptv-comparison > h2, .iptv-pricing h2,
.iptv-features h2, .iptv-faq h2, .iptv-cta h2 {
  color: #f2f5f8 !important;
  font-size: clamp(26px, 3.4vw, 40px) !important;
  font-weight: 750 !important;
  letter-spacing: -.05em !important;
}
.iptv-apps-showcase > p, .iptv-comparison > p, .iptv-pricing > div > p {
  color: #9eacbd !important;
  font-size: 13px !important;
}
.iptv-apps-showcase > p:nth-of-type(2), .iptv-pricing > div > p:nth-of-type(2) { color: var(--yc-accent) !important; }
.apps-catalog-visual {
  max-width: 1040px;
  margin: 30px auto 32px !important;
  overflow: hidden;
  border: 1px solid var(--yc-line);
  border-radius: 22px;
  background: var(--yc-surface);
  box-shadow: 0 20px 60px rgba(0,0,0,.22);
}
.apps-catalog-visual img { width: 100%; height: auto; display: block; }
.apps-catalog-fade { opacity: .08 !important; }
.iptv-apps-showcase .apps-grid,
.iptv-apps-showcase > div[style*="grid-template-columns"] {
  max-width: 1120px;
  margin-right: auto;
  margin-left: auto;
  gap: 16px !important;
}
.iptv-apps-showcase .card,
.main-collection .card, .main-search .card, .related-products .card {
  border: 1px solid rgba(180,199,224,.12) !important;
  border-radius: 17px !important;
  background: linear-gradient(155deg, rgba(20,31,48,.98), rgba(13,21,34,.98)) !important;
  box-shadow: 0 12px 32px rgba(0,0,0,.13) !important;
}
.iptv-apps-showcase .card:hover,
.main-collection .card:hover, .main-search .card:hover, .related-products .card:hover {
  transform: translateY(-5px);
  border-color: rgba(101,214,207,.35) !important;
  box-shadow: 0 22px 44px rgba(0,0,0,.25) !important;
}
.iptv-apps-showcase .card h3 { color: #eef3f5 !important; }
.iptv-apps-showcase .card p { color: #a8b5c5 !important; }
.iptv-apps-showcase .card [style*="background:rgba(0,229,255"] { background: rgba(101,214,207,.08) !important; color: #8fe1d9 !important; }
.iptv-apps-showcase .card .btn-primary { border-radius: 10px !important; background: var(--yc-accent) !important; color: #071819 !important; box-shadow: none !important; }
.badge-mod, .badge-premium, .badge-free { border-radius: 999px !important; padding: 5px 9px !important; letter-spacing: .04em; }
.badge-mod { background: rgba(255,189,120,.12) !important; color: #ffd1a4 !important; }
.badge-premium { background: rgba(101,214,207,.14) !important; color: #9be5dd !important; }
.badge-free { background: rgba(134,204,161,.14) !important; color: #a8e1bd !important; }

/* Comparatif, avantages et FAQ */
.iptv-comparison { padding-top: 62px !important; padding-bottom: 25px !important; }
.iptv-comparison-table { border: 1px solid var(--yc-line) !important; border-radius: 17px !important; overflow: hidden; }
.iptv-comparison-table th { background: #192537 !important; color: #a7e8e1 !important; }
.iptv-comparison-table td { background: rgba(15,24,38,.95) !important; color: #ced8e2 !important; }
.iptv-comparison-table tr:hover td { background: #172638 !important; }
.iptv-comparison-table .cmp-check { color: var(--yc-accent) !important; text-shadow: none !important; animation: none !important; }
.features-grid { gap: 16px !important; }
.feature-card {
  border: 1px solid var(--yc-line) !important;
  border-radius: 17px !important;
  background: linear-gradient(155deg, rgba(20,31,48,.96), rgba(13,21,34,.96)) !important;
  padding: 25px !important;
}
.feature-card:hover { border-color: rgba(101,214,207,.32) !important; box-shadow: 0 18px 40px rgba(0,0,0,.2) !important; }
.feature-icon { border-radius: 15px !important; background: rgba(101,214,207,.1) !important; color: #a0ebe2; }
.feature-card h3 { color: #edf3f5 !important; }
.feature-card p { color: #a7b4c4 !important; }
.faq-item { border: 1px solid var(--yc-line) !important; border-radius: 13px !important; background: rgba(15,24,38,.92) !important; }
.faq-q { color: #eaf0f4 !important; }
.faq-q::after { color: var(--yc-accent) !important; }
.faq-a p { color: #a9b6c5 !important; }

/* Formules et CTA */
.iptv-pricing > div > div { gap: 16px !important; align-items: stretch !important; }
.iptv-pricing > div > div > div {
  border: 1px solid var(--yc-line) !important;
  border-radius: 18px !important;
  background: linear-gradient(155deg, #142033, #0e1725) !important;
  box-shadow: 0 14px 35px rgba(0,0,0,.16) !important;
  padding: 30px 24px !important;
}
.iptv-pricing > div > div > div:nth-child(2) {
  border: 1px solid rgba(101,214,207,.56) !important;
  box-shadow: 0 18px 48px rgba(35,182,173,.12) !important;
  transform: translateY(-7px);
}
.iptv-pricing > div > div > div h3 { color: #edf3f5 !important; }
.iptv-pricing > div > div > div:nth-child(2) h3,
.iptv-pricing > div > div > div:nth-child(2) > div[style*="font-size:42px"] { color: var(--yc-accent) !important; }
.iptv-pricing li { color: #bdc8d5 !important; border-color: rgba(180,199,224,.08) !important; }
.iptv-pricing li span { color: var(--yc-accent) !important; }
.iptv-pricing > div > div > div a {
  border: 0 !important;
  border-radius: 11px !important;
  background: var(--yc-accent) !important;
  color: #071819 !important;
  box-shadow: none !important;
}
.iptv-cta { background: radial-gradient(ellipse at center, rgba(41,135,140,.13), transparent 68%) !important; }
.iptv-cta .btn-primary, .btn-primary {
  border-radius: 11px;
}

/* Fiches produit, catalogue, recherche, panier et pages */
.main-product, .main-collection, .main-search, .main-cart, .main-page, .main-upsell, .main-thankyou {
  color: var(--yc-text) !important;
}
.main-product .product-media > div {
  border: 1px solid var(--yc-line) !important;
  border-radius: 20px !important;
  background: var(--yc-surface) !important;
  box-shadow: 0 22px 60px rgba(0,0,0,.2);
}
.main-product .product-info h1 { color: #f2f5f8 !important; }
.main-product .product-info select,
.main-product input, .main-search input, .main-cart input {
  border-color: rgba(180,199,224,.2) !important;
  border-radius: 11px !important;
  background: #101a29 !important;
  color: #edf3f5 !important;
}
.main-product .product-info [style*="color:#FFD600"] { color: var(--yc-accent) !important; }
.main-product .product-info [style*="background:rgba(108,60,225"] { background: rgba(101,214,207,.08) !important; color: #b1e9e3 !important; }
.main-product .btn-primary, .main-collection .btn-primary, .main-search .btn-primary,
.main-cart .btn-primary, .related-products .btn-primary {
  background: var(--yc-accent) !important;
  color: #08191a !important;
  box-shadow: none !important;
}
.main-collection article img, .main-search article img, .related-products article img { transition: transform .35s ease; }
.main-collection article:hover img, .main-search article:hover img, .related-products article:hover img { transform: scale(1.035); }
.main-collection article h2, .main-search article h2, .related-products article h2 { color: #eef3f5 !important; }
.main-collection article [style*="color:#FFD600"], .main-search article [style*="color:#FFD600"] { color: var(--yc-accent) !important; }
.main-collection > header > p, .main-search > header > p { color: var(--yc-accent) !important; }

/* Pied de page et boutons flottants */
.yc-footer, footer {
  border-top: 1px solid var(--yc-line) !important;
  background: #070c15 !important;
}
footer a { color: #a4e8e1 !important; }
footer a:hover { color: #fff !important; }
footer [style*="background:rgba(108,60,225"], footer [style*="background:rgba(255,214,0"], footer [style*="background:rgba(0,230,118"] {
  border: 1px solid var(--yc-line);
  border-radius: 999px !important;
  background: rgba(255,255,255,.035) !important;
  color: #becbd5 !important;
}
.back-to-top { background: var(--yc-accent-strong) !important; color: #061719 !important; box-shadow: 0 10px 26px rgba(35,182,173,.22) !important; }
.whatsapp-float { box-shadow: 0 8px 25px rgba(37,211,102,.22) !important; }

/* Responsive */
@media (max-width: 900px) {
  .hero-layout { grid-template-columns: minmax(0, 1fr) minmax(280px, .8fr); gap: 24px; min-height: 400px; }
  .hero-copy h1 { font-size: clamp(36px, 6vw, 54px) !important; }
  .hero-art img { width: 118%; }
  .hero-art-label { right: 0; bottom: 8px; }
}
@media (max-width: 680px) {
  body { font-size: 14px !important; }
  body::before { opacity: .12; }
  header[style*="position:sticky"] { padding: 9px 0 !important; }
  header[style*="position:sticky"] .container { flex-wrap: nowrap !important; gap: 8px; }
  header[style*="position:sticky"] a:first-child > span:first-child { width: 36px; height: 36px; border-radius: 12px; }
  header[style*="position:sticky"] a:first-child > span:last-child { max-width: 25vw; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 15px !important; }
  header[style*="position:sticky"] nav {
    width: auto !important;
    flex-wrap: nowrap !important;
    justify-content: flex-end !important;
    gap: 6px !important;
  }
  header[style*="position:sticky"] nav a:nth-child(3),
  header[style*="position:sticky"] nav a:nth-child(4) { display: none !important; }
  header[style*="position:sticky"] nav a:nth-child(1),
  header[style*="position:sticky"] nav a:nth-child(2),
  header[style*="position:sticky"] nav a:last-child {
    display: inline-flex !important;
    align-items: center;
    min-height: 34px;
    padding: 6px 7px;
    border: 1px solid rgba(180,199,224,.12);
    border-radius: 9px;
    background: rgba(255,255,255,.035);
    font-size: 10px !important;
    white-space: nowrap;
  }
  header[style*="position:sticky"] nav a:last-child { border-color: rgba(101,214,207,.3); background: rgba(101,214,207,.09); }
  .app-marquee-band { display: none !important; }
  .iptv-hero { padding: 54px 20px 70px !important; }
  .hero-layout { grid-template-columns: 1fr; min-height: 0; gap: 22px; }
  .hero-copy { max-width: 560px; margin: 0 auto; text-align: center; }
  .hero-eyebrow { margin-bottom: 16px; }
  .hero-copy h1 { margin-bottom: 15px !important; font-size: clamp(36px, 10vw, 54px) !important; }
  .hero-copy .hero-description { margin: 0 auto 22px !important; font-size: 14px !important; }
  .hero-actions { justify-content: center; }
  .hero-actions .btn-primary, .hero-actions .btn-whatsapp { min-height: 48px !important; padding: 12px 17px !important; font-size: 12px !important; }
  .hero-proof { justify-content: center; gap: 8px 14px; margin-top: 20px; }
  .hero-proof span { font-size: 10px; }
  .hero-art { max-width: 500px; width: 100%; margin: 2px auto 0; }
  .hero-art img { width: 100%; border-radius: 20px; mask-image: linear-gradient(to right, transparent 0%, #000 5%, #000 95%, transparent 100%); }
  .hero-art-label { right: 8px; bottom: 10px; padding: 8px 11px; font-size: 10px; }
  .iptv-trust-bar { width: calc(100% - 24px) !important; margin-top: -20px !important; margin-bottom: 10px !important; padding: 9px !important; }
  .iptv-trust-bar > div { gap: 7px !important; }
  .iptv-trust-bar > div > div { flex: 1 1 140px; justify-content: center; padding: 9px 8px !important; }
  .iptv-trust-bar > div > div span:first-child { font-size: 16px !important; }
  .iptv-trust-bar > div > div span:last-child { font-size: 10px !important; }
  .iptv-apps-showcase, .iptv-pricing, .iptv-cta { padding-top: 44px !important; }
  .iptv-apps-showcase > h2, .iptv-comparison > h2, .iptv-pricing h2,
  .iptv-features h2, .iptv-faq h2, .iptv-cta h2 { font-size: 26px !important; }
  .iptv-apps-showcase .apps-grid, .iptv-apps-showcase > div[style*="grid-template-columns"] { gap: 10px !important; }
  .iptv-apps-showcase .card { padding: 15px 11px !important; border-radius: 14px !important; }
  .iptv-apps-showcase .card h3 { font-size: 12px !important; }
  .iptv-apps-showcase .card p { font-size: 10px !important; }
  .iptv-pricing > div > div { grid-template-columns: 1fr !important; gap: 12px !important; }
  .iptv-pricing > div > div > div { padding: 26px 20px !important; }
  .iptv-pricing > div > div > div:nth-child(2) { transform: none; }
  .comparison-scroll { overflow-x: auto; }
  .main-product, .main-collection, .main-search, .main-cart { padding-left: 14px !important; padding-right: 14px !important; }
  .main-product .product-grid { grid-template-columns: 1fr !important; gap: 22px !important; }
  .main-collection article img, .main-search article img { height: 170px !important; }
  .features-grid { grid-template-columns: repeat(2, minmax(0,1fr)) !important; gap: 10px !important; }
  .feature-card { padding: 17px 12px !important; }
  .feature-card p { font-size: 11px !important; }
  footer .container > div[style*="display:flex"] { gap: 7px !important; flex-wrap: wrap; }
}
@media (max-width: 400px) {
  header[style*="position:sticky"] a:first-child > span:last-child { display: none; }
  .hero-actions { flex-direction: column; align-items: stretch; }
  .hero-actions a { width: 100%; }
  .features-grid { grid-template-columns: 1fr !important; }
  .iptv-apps-showcase .apps-grid, .iptv-apps-showcase > div[style*="grid-template-columns"] { grid-template-columns: repeat(2, minmax(0,1fr)) !important; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}


/* Couverture internationale et contenu SEO éditorial */
.iptv-worldwide-coverage,.iptv-seo-editorial{max-width:1200px;margin:44px auto 52px;padding:0 16px;color:var(--text,#f4f6ff)}
.worldwide-card,.seo-editorial-card{padding:clamp(22px,4vw,40px);border:1px solid var(--border,rgba(108,60,225,.18));border-radius:24px;background:linear-gradient(145deg,rgba(108,60,225,.10),transparent 48%),var(--bg-card,#101124);box-shadow:0 18px 48px rgba(0,0,0,.16)}
.worldwide-kicker,.seo-editorial-kicker{margin:0 0 10px;color:var(--cyan,#00e5ff);font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.worldwide-card h2,.seo-editorial-card h2{margin:0 auto 14px;color:var(--text,#f4f6ff);font-size:clamp(22px,3vw,34px);line-height:1.2;text-align:center}
.worldwide-intro,.seo-editorial-copy{max-width:850px;margin:0 auto 22px;color:var(--text-muted,#b8bfd0);font-size:14px;line-height:1.8;text-align:center}
.worldwide-details{margin:22px auto 0;max-width:980px;border:1px solid var(--border,rgba(108,60,225,.18));border-radius:16px;background:rgba(6,8,22,.36)}
.worldwide-details summary{padding:15px 18px;color:var(--cyan,#00e5ff);font-weight:800;cursor:pointer;list-style:none;text-align:center}
.worldwide-details summary::-webkit-details-marker{display:none}
.worldwide-details summary::after{content:'＋';display:inline-block;margin-left:10px;font-size:13px}
.worldwide-details[open] summary::after{content:'−'}
.worldwide-country-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:8px;max-height:440px;overflow:auto;margin:0;padding:16px;list-style:none;border-top:1px solid var(--border,rgba(108,60,225,.18))}
.worldwide-country-list li{padding:8px 10px;border:1px solid rgba(255,255,255,.06);border-radius:9px;background:rgba(255,255,255,.025);color:#dce2f0;font-size:12px;line-height:1.35}
.worldwide-note,.seo-disclaimer{margin:16px auto 0;max-width:900px;color:var(--text-dim,#8d96a8);font-size:11px;line-height:1.6;text-align:center}
.seo-editorial-copy p{margin:0 0 12px}
.seo-editorial-copy a{color:var(--cyan,#00e5ff);text-decoration:underline;text-underline-offset:3px}
.seo-language-grid{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;margin:20px 0 0}
.seo-language-grid span{padding:7px 11px;border:1px solid var(--border,rgba(108,60,225,.18));border-radius:999px;color:#dce2f0;font-size:11px}
@media(max-width:600px){.iptv-worldwide-coverage,.iptv-seo-editorial{margin:32px auto 40px;padding:0 12px}.worldwide-country-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:12px}.worldwide-country-list li{font-size:11px;padding:7px 8px}.worldwide-intro,.seo-editorial-copy{font-size:13px}}


/* Répertoire réutilisable pour les applications statiques dans catalogue et recherche */
.iptv-app-directory-shell{margin:28px auto 44px}
.iptv-app-directory-heading{text-align:center;margin:0 auto 18px;max-width:800px}
.iptv-app-directory-heading h2{margin:0 0 8px;color:var(--text,#f4f6ff);font-size:clamp(20px,3vw,28px)}
.iptv-app-directory-heading p,.iptv-app-directory-note{color:var(--text-muted,#b8bfd0);font-size:13px;line-height:1.7;text-align:center}
.iptv-app-directory-search{display:flex;gap:10px;max-width:680px;margin:0 auto 12px}
.iptv-app-directory-search input{flex:1;min-width:0;padding:13px 16px;border:1px solid rgba(108,60,225,.35);border-radius:12px;background:#12122a;color:#fff;font:inherit}
.iptv-app-directory-search input:focus{outline:2px solid var(--cyan,#00e5ff);outline-offset:2px}
.iptv-app-directory-search button{padding:12px 20px;font-size:13px}
.iptv-app-directory-status{min-height:20px;margin:0 auto 16px;color:var(--text-muted,#b8bfd0);font-size:13px;text-align:center}
.iptv-app-directory-note{margin:20px auto 0;max-width:850px;color:var(--text-dim,#8d96a8);font-size:11px}
.iptv-app-directory [data-app-card][hidden]{display:none!important}
@media(max-width:560px){.iptv-app-directory-search{gap:7px}.iptv-app-directory-search input{padding:12px 11px;font-size:13px}.iptv-app-directory-search button{padding:11px 14px;font-size:12px}}


/* Mobile compact: product grids, product detail and homepage spacing */
@media (max-width: 680px) {
  .iptv-hero { padding: 34px 14px 38px !important; min-height: 0 !important; }
  .hero-layout { gap: 14px !important; }
  .hero-copy h1 { margin-bottom: 10px !important; font-size: clamp(30px, 9vw, 42px) !important; }
  .hero-copy .hero-description { margin-bottom: 14px !important; }
  .hero-art { margin-top: 0 !important; }
  .hero-art img { max-height: 210px !important; object-fit: contain !important; }
  .iptv-trust-bar { margin-bottom: 4px !important; }
  .iptv-apps-showcase, .iptv-pricing, .iptv-cta { padding-top: 28px !important; padding-bottom: 28px !important; }
  .iptv-apps-showcase > h2, .iptv-comparison > h2, .iptv-pricing h2, .iptv-features h2, .iptv-faq h2, .iptv-cta h2 { font-size: 22px !important; }
  .iptv-media-showcase { padding-top: 18px !important; }
  .iptv-worldwide-coverage, .iptv-seo-editorial { margin-top: 24px !important; margin-bottom: 26px !important; }

  .main-product, .main-collection, .main-search, .main-list-collection, .related-products, .main-cart { padding: 18px 10px 28px !important; }
  .main-collection > header, .main-search > header { margin-bottom: 16px !important; }
  .main-collection > div[style*="grid-template-columns"],
  .main-search > div[style*="grid-template-columns"],
  .main-list-collection > div[style*="grid-template-columns"],
  .related-products > div[style*="grid-template-columns"] {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }
  .main-collection article, .main-search article, .main-list-collection .card, .related-products article { min-width: 0 !important; }
  .main-collection article img, .main-search article img { height: 112px !important; }
  .main-list-collection .card img { height: 100px !important; }
  .related-products article img { height: 105px !important; }
  .main-collection article h2, .main-search article h2, .related-products article h3 { font-size: 12px !important; line-height: 1.3 !important; }
  .main-collection article > a > div[style*="padding:16px"], .main-search article > a > div[style*="padding:16px"], .main-list-collection .card > div[style*="padding:16px"] { padding: 10px 9px 6px !important; }
  .main-collection article > div[style*="padding:8px"], .main-search article > div[style*="padding:8px"] { padding: 6px 8px 8px !important; }
  .main-collection article .btn-primary, .main-search article .btn-primary { min-height: 36px; padding: 7px 5px !important; font-size: 10px !important; white-space: normal; }
  .related-products h2 { margin-bottom: 14px !important; }
  .main-list-collection h1 { margin-bottom: 16px !important; }
  .main-search form { margin-bottom: 20px !important; }
  .main-collection > div[style*="max-width:880px"] { margin-bottom: 18px !important; padding: 15px 13px !important; }

  .iptv-app-directory-shell { margin: 16px auto 24px !important; }
  .iptv-app-directory > div[style*="grid-template-columns"] {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 9px !important;
  }
  .iptv-app-directory [data-app-card] { min-width: 0 !important; height: 100% !important; display: flex !important; flex-direction: column !important; padding: 12px 8px !important; border-radius: 12px !important; }
  .iptv-app-directory [data-app-card] > div:first-child { font-size: 26px !important; line-height: 1 !important; margin-bottom: 5px !important; }
  .iptv-app-directory [data-app-card] h3 { min-height: 28px; margin-bottom: 4px !important; font-size: 11px !important; line-height: 1.25 !important; overflow-wrap: anywhere; }
  .iptv-app-directory [data-app-card] p { margin-bottom: 8px !important; font-size: 9px !important; line-height: 1.4 !important; }
  .iptv-app-directory [data-app-card] > div:nth-of-type(2) { margin-bottom: 6px !important; }
  .iptv-app-directory [data-app-card] > div:nth-of-type(3) { gap: 3px !important; margin: auto 0 8px !important; }
  .iptv-app-directory [data-app-card] > div:nth-of-type(3) span { padding: 2px 5px !important; font-size: 8px !important; }
  .iptv-app-directory [data-app-card] > a { width: 100% !important; min-height: 32px !important; margin-top: auto !important; padding: 7px 4px !important; font-size: 9px !important; }

  .main-product .product-grid { grid-template-columns: 1fr !important; gap: 14px !important; }
  .main-product .product-media > div { max-width: 320px !important; margin: 0 auto !important; border-radius: 15px !important; }
  .main-product .product-media img { width: 100% !important; height: 200px !important; aspect-ratio: auto !important; object-fit: contain !important; }
  .main-product .product-media [role="img"] { min-height: 200px !important; aspect-ratio: auto !important; }
  .main-product .product-info h1 { font-size: 25px !important; margin-bottom: 8px !important; }
  .main-product .product-info > div { margin-bottom: 10px !important; }
  .main-product .product-description-details > summary { list-style: none; cursor: pointer; padding: 11px 13px; border: 1px solid rgba(0,229,255,.2); border-radius: 10px; color: #00E5FF; font-weight: 700; font-size: 13px; }
  .main-product .product-description-details > summary::-webkit-details-marker { display: none; }
  .main-product .product-description-details > summary::after { content: '+'; float: right; font-size: 17px; line-height: 1; }
  .main-product .product-description-details[open] > summary::after { content: '−'; }
  .main-product .product-description-content { padding: 9px 2px 0; color: #C1C8D6; font-size: 13px; line-height: 1.6; }
}
@media (min-width: 681px) {
  .main-product .product-description-details > summary { display: none; }
}
@media (max-width: 380px) {
  .main-collection > div[style*="grid-template-columns"], .main-search > div[style*="grid-template-columns"], .main-list-collection > div[style*="grid-template-columns"], .related-products > div[style*="grid-template-columns"], .iptv-app-directory > div[style*="grid-template-columns"] { gap: 7px !important; }
  .main-collection article .btn-primary, .main-search article .btn-primary { font-size: 9px !important; }
  .iptv-app-directory [data-app-card] { padding: 10px 6px !important; }
  .iptv-app-directory [data-app-card] h3 { font-size: 10px !important; }
  .iptv-app-directory [data-app-card] p { font-size: 8px !important; }
}
