/* Top Premium IPTV, "Salle obscure". Tokens follow the Elementor kit globals when they exist. */
:root{
  --noir:var(--e-global-color-tpinoir,#0C0B09); --velours:var(--e-global-color-tpivelours,#14120E); --ecrin:var(--e-global-color-tpiecrin,#1C1913);
  --filet:var(--e-global-color-tpifilet,#2E2A21); --or:var(--e-global-color-primary,#C8A96B); --orclair:var(--e-global-color-accent,#E7D5A6);
  --ivoire:var(--e-global-color-secondary,#F2ECDF); --brume:var(--e-global-color-text,#A79F8E); --encre:var(--e-global-color-tpiencre,#191611);
  --sepia:var(--e-global-color-tpisepia,#5E5648); --bronze:var(--e-global-color-tpibronze,#8C6B2E); --sable:var(--e-global-color-tpisable,#D9CFBA);
  --f-display:'Antonio','Arial Narrow',sans-serif; --f-texte:'Hanken Grotesk',system-ui,sans-serif; --f-serif:'Cormorant Garamond',Georgia,serif;
}
html{scroll-behavior:smooth;scroll-padding-top:92px}
body.tpi{background:var(--noir);color:var(--brume);font-family:var(--f-texte);font-size:17px;line-height:1.72;margin:0;-webkit-font-smoothing:antialiased;overflow-x:hidden}
body.tpi ::selection{background:var(--or);color:var(--noir)}
.tpi-in{max-width:1304px;margin:0 auto;padding:0 32px;box-sizing:border-box}
.tpi-skip{position:absolute;left:-999px;top:0;background:var(--or);color:var(--noir);padding:10px 16px;z-index:1000}
.tpi-skip:focus{left:8px;top:8px}

/* ---------- header ---------- */
.tpi-top{position:sticky;top:0;z-index:90;background:var(--noir);box-shadow:inset 0 -1px 0 var(--filet)}
.tpi-top__in{display:flex;align-items:center;justify-content:space-between;height:78px;gap:28px}
.tpi-logo{display:inline-flex;align-items:center;text-decoration:none}
.tpi-logo img{height:38px;width:auto;display:block}
.tpi-logo__txt{font-family:var(--f-display);font-weight:700;font-size:26px;letter-spacing:.04em;text-transform:uppercase;color:var(--ivoire)}
.tpi-logo__txt em{font-style:normal;color:var(--or)}
.tpi-nav{display:flex;align-items:center;gap:34px}
.tpi-nav a{font-family:var(--f-texte);font-size:12.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--ivoire);text-decoration:none;padding:8px 0;position:relative;transition:color .2s}
.tpi-nav a:not(.tpi-btn)::after{content:"";position:absolute;left:0;right:100%;bottom:0;height:1px;background:var(--or);transition:right .25s ease}
.tpi-nav a:not(.tpi-btn):hover{color:var(--orclair)}
.tpi-nav a:not(.tpi-btn):hover::after{right:0}
.tpi-btn{display:inline-block;background:var(--or);color:var(--noir)!important;font-family:var(--f-display);font-weight:600;font-size:15px;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;padding:18px 32px;line-height:1;transition:background .2s}
.tpi-btn:hover{background:var(--orclair)}
.tpi-btn--sm{padding:14px 22px!important;font-size:14px}
.tpi-burger,.tpi-burger__btn{display:none}
@media(max-width:1080px){
  .tpi-top__in{height:66px}
  .tpi-logo img{height:31px}
  .tpi-burger__btn{display:flex;width:44px;height:44px;align-items:center;justify-content:center;cursor:pointer}
  .tpi-burger__btn span,.tpi-burger__btn span::before,.tpi-burger__btn span::after{display:block;width:26px;height:2px;background:var(--ivoire);position:relative;transition:transform .2s,background .2s}
  .tpi-burger__btn span::before,.tpi-burger__btn span::after{content:"";position:absolute;left:0}
  .tpi-burger__btn span::before{top:-8px}.tpi-burger__btn span::after{top:8px}
  .tpi-nav{position:absolute;left:0;right:0;top:100%;background:var(--noir);flex-direction:column;align-items:stretch;gap:0;padding:8px 22px 26px;display:none;box-shadow:inset 0 -1px 0 var(--filet),inset 0 1px 0 var(--filet)}
  .tpi-nav a{padding:17px 0;font-size:13px;box-shadow:inset 0 -1px 0 var(--filet)}
  .tpi-nav a::after{display:none}
  .tpi-nav .tpi-btn{margin-top:20px;text-align:center;box-shadow:none}
  .tpi-burger:checked~.tpi-nav{display:flex}
  .tpi-burger:checked+.tpi-burger__btn span{background:transparent}
  .tpi-burger:checked+.tpi-burger__btn span::before{transform:translateY(8px) rotate(45deg)}
  .tpi-burger:checked+.tpi-burger__btn span::after{transform:translateY(-8px) rotate(-45deg)}
}
@media(max-width:767px){.tpi-in{padding:0 22px}}

/* ---------- breadcrumbs ---------- */
.tpi-crumbs{background:var(--noir);padding:18px 0 0;font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:600}
.tpi-crumbs a{color:var(--brume);text-decoration:none}
.tpi-crumbs a:hover{color:var(--or)}
.tpi-crumbs span[aria-hidden]{margin:0 10px;color:var(--filet)}
.tpi-crumbs span[aria-current]{color:var(--or)}

/* ---------- footer ---------- */
.tpi-foot{background:var(--velours);box-shadow:inset 0 1px 0 var(--filet);padding:84px 0 0;color:var(--brume)}
.tpi-foot__grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:48px}
.tpi-foot__brand p{font-size:15px;line-height:1.7;margin:22px 0 0;max-width:330px}
.tpi-foot__h{font-family:var(--f-serif);font-style:italic;font-weight:500;font-size:21px;color:var(--or);margin:0 0 18px;line-height:1.2}
.tpi-foot__col a{display:block;color:var(--ivoire);text-decoration:none;font-size:15px;padding:6px 0;transition:color .2s}
.tpi-foot__col a:hover{color:var(--or)}
.tpi-foot__bar{display:flex;justify-content:space-between;gap:16px;margin-top:64px;padding-top:24px;padding-bottom:28px;box-shadow:inset 0 1px 0 var(--filet);font-size:12px;letter-spacing:.14em;text-transform:uppercase}
@media(max-width:900px){.tpi-foot{padding-top:60px}.tpi-foot__grid{grid-template-columns:1fr 1fr;gap:38px 28px}.tpi-foot__brand{grid-column:1/-1}}
@media(max-width:520px){.tpi-foot__grid{grid-template-columns:1fr}.tpi-foot__bar{flex-direction:column}}

/* ---------- Elementor content ---------- */
.tpi .elementor-widget-heading .elementor-heading-title{margin:0;text-wrap:balance}
.tpi .elementor-widget-heading .elementor-heading-title a{color:inherit;text-decoration:none;transition:color .2s}
.tpi .elementor-widget-text-editor p{margin:0 0 1em}
.tpi .elementor-widget-text-editor p:last-child{margin-bottom:0}
.tpi .elementor-widget-text-editor a,.tpi-table a{color:var(--or);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px;transition:color .2s}
.tpi .elementor-widget-text-editor a:hover,.tpi-table a:hover{color:var(--orclair)}
.tpi-ivoire .elementor-widget-text-editor a,.tpi-ivoire .tpi-table a{color:var(--bronze)}
.tpi-ivoire .elementor-widget-text-editor a:hover{color:var(--encre)}
.tpi .elementor-widget-text-editor strong{color:var(--ivoire);font-weight:600}
.tpi-ivoire .elementor-widget-text-editor strong{color:var(--encre)}
.tpi-btn-w .elementor-button{transition:background .2s,color .2s,border-color .2s}
.tpi-btn-w .elementor-button:focus-visible,.tpi a:focus-visible{outline:2px solid var(--orclair);outline-offset:3px}

/* label "N° 02  ÉTIQUETTE" */
.tpi-label .tpi-no .elementor-heading-title{white-space:nowrap}
.tpi-label .tpi-kick{position:relative;padding-left:44px}
.tpi-label .tpi-kick::before{content:"";position:absolute;left:0;top:50%;width:30px;height:1px;background:currentColor;opacity:.5}
.tpi-noir .tpi-kick::before,.tpi-velours .tpi-kick::before{background:var(--or)}
@media(min-width:1025px){.tpi-sticky{position:sticky;top:120px;align-self:flex-start}}

/* lead */
.tpi-lead{max-width:680px}

/* hero */
.tpi-hero--home{position:relative}
.tpi-hero--home::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(12,11,9,.38) 0%,rgba(12,11,9,.05) 30%,rgba(12,11,9,.55) 74%,#0C0B09 100%),linear-gradient(90deg,rgba(12,11,9,.78) 0%,rgba(12,11,9,.30) 48%,rgba(12,11,9,0) 100%);pointer-events:none}
.tpi-hero--home>.e-con{position:relative;z-index:1}
.tpi-hero__h .elementor-heading-title{max-width:980px}
.tpi-hero__h em,.tpi-hero--page h1 em{font-style:normal;color:var(--or)}
.tpi-hero__l{max-width:640px}
.tpi-gen{box-shadow:inset 0 1px 0 var(--filet),inset 0 -1px 0 var(--filet)}
.tpi-gen__i{position:relative}
.tpi-gen__i .elementor-heading-title{white-space:nowrap}
@media(max-width:767px){.tpi-gen__i{width:100%}}

/* framed image */
.tpi-frame{position:relative}
.tpi-frame img{display:block;width:100%;height:auto}
.tpi-frame .elementor-widget-container{position:relative}
.tpi-frame .elementor-widget-container::after,.tpi-frame>a::after,.tpi-frame>img+i{content:"";position:absolute;inset:14px;border:1px solid rgba(200,169,107,.55);pointer-events:none}
.tpi-frame:not(:has(.elementor-widget-container))::after{content:"";position:absolute;inset:14px;border:1px solid rgba(200,169,107,.55);pointer-events:none}
.tpi-billet img{display:block;width:100%;max-width:470px;height:auto;margin:0 auto;box-shadow:0 30px 60px rgba(0,0,0,.55)}

/* lists */
.tpi-list ul{list-style:none;margin:0 0 6px;padding:0}
.tpi-list li{position:relative;padding:9px 0 9px 30px;box-shadow:inset 0 -1px 0 var(--filet)}
.tpi-list li:last-child{box-shadow:none}
.tpi-list li::before{content:"";position:absolute;left:2px;top:1.25em;width:14px;height:1px;background:var(--or)}
.tpi-ivoire .tpi-list li{box-shadow:inset 0 -1px 0 var(--sable)}
.tpi-ivoire .tpi-list li::before{background:var(--bronze)}
.tpi-list--s li{padding:4px 0 4px 24px;box-shadow:none!important}
.tpi-list--s li::before{top:1em;width:10px}
.tpi-list--check{margin-top:22px}
.tpi-list--check li{color:var(--ivoire)}

/* h3 inside split bodies */
.tpi-h3{margin-top:26px!important}
.tpi-lead+.tpi-h3{margin-top:10px!important}

/* note */
.tpi-note{box-shadow:inset 2px 0 0 var(--or)}
.tpi-ivoire .tpi-note{box-shadow:inset 2px 0 0 var(--bronze)}

/* index list + steps */
.tpi-idx{box-shadow:inset 0 1px 0 var(--filet)}
.tpi-ivoire .tpi-idx,.tpi-ivoire .tpi-step{box-shadow:inset 0 1px 0 var(--sable)}
.tpi-idx__n,.tpi-step__n{flex:0 0 62px;width:62px}
.tpi-idx>.e-con,.tpi-step__b{flex:1 1 0;min-width:0}
.tpi-step{box-shadow:inset 0 1px 0 var(--filet)}
.tpi-steps>.tpi-step:last-child{padding-bottom:0}
@media(max-width:767px){.tpi-idx__n,.tpi-step__n{flex-basis:44px;width:44px}.tpi-step,.tpi-idx{flex-wrap:nowrap!important}}

/* plans as timetable rows */
.tpi-seances{box-shadow:inset 0 -1px 0 var(--filet)}
.tpi-seance{box-shadow:inset 0 1px 0 var(--filet);transition:background .25s;position:relative}
.tpi-seance:hover{background:var(--ecrin)}
.tpi-seance--une{background:var(--ecrin);box-shadow:inset 3px 0 0 var(--or),inset 0 1px 0 var(--filet)}
.tpi-seance__d a:hover{color:var(--or)}
.tpi-seance__d .elementor-heading-title{font-size:38px}
.tpi-ivoire .tpi-seances{box-shadow:inset 0 -1px 0 var(--sable)}
.tpi-ivoire .tpi-seance{box-shadow:inset 0 1px 0 var(--sable)}
.tpi-ivoire .tpi-seance:hover,.tpi-ivoire .tpi-seance--une{background:#EAE2D0}
.tpi-ivoire .tpi-seance--une{box-shadow:inset 3px 0 0 var(--bronze),inset 0 1px 0 var(--sable)}
@media(max-width:1024px){.tpi-seance{gap:18px!important}.tpi-seance__d .elementor-heading-title{font-size:32px}}
.tpi-prodprice .elementor-heading-title{white-space:nowrap}

/* link-hub cards and device cells */
.tpi-cards{box-shadow:inset 1px 0 0 var(--filet),inset 0 1px 0 var(--filet)}
.tpi-card{box-shadow:inset -1px 0 0 var(--filet),inset 0 -1px 0 var(--filet);transition:background .25s}
.tpi-cards .tpi-card{width:33.333%!important}
.tpi-cards--4 .tpi-card{width:25%!important}
.tpi-cards--2 .tpi-card{width:50%!important}
.tpi-card:hover{background:var(--ecrin)}
.tpi-card__t a{display:inline-block;padding-right:26px;position:relative}
.tpi-card__t a::after{content:"";position:absolute;right:0;top:50%;width:16px;height:1px;background:var(--or);transition:width .2s,right .2s}
.tpi-card:hover .tpi-card__t a{color:var(--or)}
.tpi-card:hover .tpi-card__t a::after{width:22px;right:-6px}
.tpi-ivoire .tpi-cards{box-shadow:inset 1px 0 0 var(--sable),inset 0 1px 0 var(--sable)}
.tpi-ivoire .tpi-card{box-shadow:inset -1px 0 0 var(--sable),inset 0 -1px 0 var(--sable)}
.tpi-ivoire .tpi-card:hover{background:#EAE2D0}
@media(max-width:1024px){.tpi-cards .tpi-card,.tpi-cards--4 .tpi-card{width:50%!important}}
@media(max-width:620px){.tpi-cards .tpi-card,.tpi-cards--4 .tpi-card,.tpi-cards--2 .tpi-card{width:100%!important}}

/* table */
.tpi-tablewrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
.tpi-table{width:100%;border-collapse:collapse;font-size:16px;line-height:1.5;margin:0;border:0}
.tpi-table th,.tpi-table td{border:0;padding:18px 20px 18px 0;text-align:left;vertical-align:top;background:transparent!important;box-shadow:inset 0 -1px 0 var(--filet)}
.tpi-table thead th{font-family:var(--f-texte);font-size:12.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--or);box-shadow:inset 0 -1px 0 var(--or);padding-top:0}
.tpi-table tbody th{font-family:var(--f-display);font-weight:600;font-size:21px;letter-spacing:.02em;text-transform:uppercase;color:var(--ivoire);white-space:nowrap;line-height:1.25}
.tpi-table td{color:var(--brume)}
.tpi-ivoire .tpi-table th,.tpi-ivoire .tpi-table td{box-shadow:inset 0 -1px 0 var(--sable)}
.tpi-ivoire .tpi-table thead th{color:var(--bronze);box-shadow:inset 0 -1px 0 var(--bronze)}
.tpi-ivoire .tpi-table tbody th{color:var(--encre)}
.tpi-ivoire .tpi-table td{color:var(--sepia)}
@media(max-width:767px){
  .tpi-table thead{position:absolute;left:-9999px}
  .tpi-table,.tpi-table tbody,.tpi-table tr,.tpi-table th,.tpi-table td{display:block;width:100%;box-sizing:border-box}
  .tpi-table tr{padding:20px 0 14px;box-shadow:inset 0 1px 0 var(--filet)}
  .tpi-ivoire .tpi-table tr{box-shadow:inset 0 1px 0 var(--sable)}
  .tpi-table tbody th{white-space:normal;padding:0 0 8px;box-shadow:none!important}
  .tpi-table td{padding:5px 0;box-shadow:none!important}
  .tpi-table td::before{content:attr(data-label);display:block;font-size:11.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--or);margin-bottom:1px}
  .tpi-ivoire .tpi-table td::before{color:var(--bronze)}
}

/* FAQ accordion */
.tpi-faq .elementor-accordion{box-shadow:inset 0 -1px 0 var(--filet)}
.tpi-faq .elementor-accordion-item{border:0!important;box-shadow:inset 0 1px 0 var(--filet)}
.tpi-faq .elementor-tab-title{border:0!important;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0;outline-offset:2px}
.tpi-faq .elementor-tab-title a{color:inherit;text-decoration:none}
.tpi-faq .elementor-tab-content{border:0!important}
.tpi-faq .elementor-accordion-icon{order:2;float:none!important;flex:0 0 auto;font-size:13px;width:auto!important}
.tpi-faq .elementor-accordion-title{flex:1 1 auto}
.tpi-ivoire .tpi-faq .elementor-accordion,.tpi-ivoire .tpi-faq .elementor-accordion-item{box-shadow:inset 0 1px 0 var(--sable)}

/* closing */
.tpi-rideau{border:1px solid rgba(200,169,107,.5);position:relative}
.tpi-rideau::before{content:"";position:absolute;inset:10px;border:1px solid var(--filet);pointer-events:none}
.tpi-rideau>*{position:relative}
.tpi-rideau h2{max-width:900px}
.tpi-rideau__t{max-width:640px}

/* band */
@media(min-width:1025px){.tpi-band__img{margin-right:-70px}}

/* magazine list (shortcode) + posts are styled in blog.css */

.tpi-table-w{margin-bottom:26px!important}
.tpi-table-w:last-child{margin-bottom:0!important}

/* plan rows: the whole row is the link, with a visible cue on the right */
.tpi-seance:has(.tpi-seance__d a) .e-con,.tpi-seance:has(.tpi-seance__d a) .elementor-widget{position:static}
.tpi-seance__d a::before{content:"";position:absolute;inset:0;z-index:2}
.tpi-seance:has(.tpi-seance__d a)::after{content:"Voir la formule";position:absolute;right:28px;top:50%;transform:translateY(-50%);font-family:var(--f-display);font-weight:600;font-size:14px;letter-spacing:.12em;text-transform:uppercase;color:var(--ivoire);border:1px solid rgba(242,236,223,.38);padding:15px 22px;line-height:1;transition:border-color .2s,color .2s,background .2s}
.tpi-seance:has(.tpi-seance__d a):hover::after{border-color:var(--or);color:var(--noir);background:var(--or)}
.tpi-seance--une:has(.tpi-seance__d a)::after{background:var(--or);border-color:var(--or);color:var(--noir)}
@media(max-width:1024px){.tpi-seance:has(.tpi-seance__d a)::after{position:static;transform:none;align-self:flex-start;display:inline-block}}

/* long URLs and codes must wrap on a phone */
.tpi .elementor-widget-text-editor,.tpi .elementor-heading-title,.tpi-table td,.tpi-table th{overflow-wrap:anywhere}
.tpi-404{min-height:62vh;display:flex;align-items:center;background:var(--noir);padding:90px 0}
.tpi-404 h1{font-family:var(--f-display);font-weight:700;font-size:74px;line-height:1;text-transform:uppercase;color:var(--ivoire);margin:0 0 22px}
.tpi-404 p{color:var(--brume);font-size:19px;max-width:560px;margin:0 0 34px}
.tpi-404 .tpi-k{font-family:var(--f-serif);font-style:italic;font-size:23px;color:var(--or);margin:0 0 16px}
@media(max-width:767px){.tpi-404 h1{font-size:44px}}

.tpi-foot__adr{font-style:normal;font-size:14px;line-height:1.6;color:var(--brume);margin-top:16px;max-width:330px}

/* reviews cards (section hidden until the owner publishes it) */
.tpi-avis{display:flex;flex-direction:column}
.tpi-avis .tpi-avis__t{flex:1 1 auto;font-size:16.5px}
.tpi-avis .tpi-avis__t p{font-family:var(--f-serif);font-style:italic;font-size:21px;line-height:1.45;color:var(--ivoire)}
.tpi-avis__stars .elementor-star-rating{font-size:17px;letter-spacing:3px}
.tpi-avis__n{box-shadow:inset 0 1px 0 var(--filet);padding-top:16px}
