/**
 * Page "Nos offres" / "S'abonner" — intégration fidèle de la référence
 * Claude Design (claude-design-reference/sabonner/TNT Plus France -
 * S'abonner.dc.html, dernière version : hero motion design sans
 * accumulation d'écrans). Réutilise variables.css/base.css/components.css
 * (tp-container, tp-h2, tp-btn, tp-eyebrow-pill, tp-pulse-dot, tp-reveal,
 * tp-link-arrow, tp-mono-label, tp-muted, tp-accent…) — uniquement les
 * styles propres à cette page ci-dessous.
 */

@keyframes tpOffresRing { 0% { transform: scale(.8); opacity: .6; } 100% { transform: scale(1.7); opacity: 0; } }
@keyframes tpOffresDash { to { stroke-dashoffset: -256; } }

/* ================= HERO ================= */
.tp-offres-hero { position: relative; z-index: 1; padding: clamp(40px, 5vw, 64px) 0 clamp(36px, 5vw, 60px); overflow: hidden; }
.tp-offres-hero__inner {
	display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 430px), 1fr));
	gap: clamp(40px, 5vw, 80px); align-items: center;
}
.tp-offres-hero__title { font-size: clamp(34px, 4.6vw, 64px); line-height: 1.03; letter-spacing: -.03em; margin: 0 0 22px; text-wrap: pretty; }
.tp-offres-hero__lead { font-size: 16.5px; line-height: 1.65; color: var(--tp-text-muted); margin: 0 0 30px; max-width: 500px; text-wrap: pretty; }
.tp-offres-hero__tags { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 32px; }
.tp-offres-tag {
	display: flex; align-items: center; gap: 9px; font-size: 14px; font-weight: 600; color: var(--tp-text-soft);
	padding: 11px 18px; border-radius: var(--tp-radius-pill); border: 1px solid rgba(255, 255, 255, .1); background: rgba(255, 255, 255, .02);
}
.tp-offres-hero__ctas { display: flex; flex-wrap: wrap; align-items: center; gap: 16px; }

.tp-offres-hero__graph { position: relative; display: flex; justify-content: center; align-items: center; min-width: 0; }
.tp-offres-hero__glow {
	position: absolute; right: 6%; top: 8%; width: 60%; height: 300px; pointer-events: none;
	background: radial-gradient(circle, rgba(15, 122, 61, .26), transparent 66%); filter: blur(48px);
}
.tp-offres-graph { position: relative; width: 100%; max-width: 560px; height: auto; display: block; overflow: visible; }
.tp-offres-graph__root-label { fill: var(--tp-text); font-family: var(--font-mono); font-size: 14px; letter-spacing: .22em; }
.tp-offres-graph__ring { fill: none; stroke: rgba(47, 158, 93, .34); stroke-width: 1; transform-box: fill-box; transform-origin: center; animation: tpOffresRing 4s ease-out infinite; }
.tp-offres-graph__pulse { fill: var(--tp-green-400); animation: tpPulse 2.8s ease-in-out infinite; }
.tp-offres-graph__flow { stroke: rgba(47, 158, 93, .85); stroke-width: 1.5; stroke-linecap: round; stroke-dasharray: 16 240; animation-name: tpOffresDash; animation-timing-function: linear; animation-iteration-count: infinite; }
.tp-offres-graph__node-title { fill: var(--tp-white); font-family: var(--font-display); font-size: 21px; font-weight: 800; letter-spacing: -.01em; }
.tp-offres-graph__node-sub { fill: #8b928c; font-family: var(--font-mono); font-size: 11.5px; letter-spacing: .16em; }
.tp-offres-graph__node-price { fill: var(--tp-green-300); font-family: var(--font-display); font-size: 16px; font-weight: 700; }
.tp-offres-graph__extra-label { fill: var(--tp-green-mist); font-family: var(--font-mono); font-size: 11px; letter-spacing: .16em; }
.tp-offres-graph__stick-label { fill: var(--tp-text-mute3); font-family: var(--font-mono); font-size: 9px; letter-spacing: .14em; }
.tp-offres-graph__float { animation-name: tpFloat; animation-timing-function: ease-in-out; animation-iteration-count: infinite; }
.tp-offres-graph__float-label { fill: var(--tp-text-mute4); font-family: var(--font-mono); font-size: 10px; letter-spacing: .16em; }

/* ================= INTRODUCTION ================= */
.tp-offres-intro-section { position: relative; z-index: 1; padding: clamp(40px, 5vw, 80px) 0 20px; }
.tp-offres-intro {
	border-top: 1px solid var(--tp-border-soft); padding-top: 56px;
	display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 380px), 1fr)); gap: clamp(28px, 4vw, 72px); align-items: start;
}
.tp-offres-intro__title { font-size: clamp(28px, 3.4vw, 50px); line-height: 1.06; letter-spacing: -.026em; margin: 0; }
.tp-offres-intro__text { font-size: 16.5px; line-height: 1.7; color: var(--tp-text-muted); margin: 0; max-width: 520px; text-wrap: pretty; }

/* ================= LES DEUX OFFRES ================= */
.tp-offres-cards-section { position: relative; z-index: 1; padding: clamp(36px, 5vw, 60px) 0 40px; }

.tp-offres-equation {
	display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 14px 18px;
	padding: 22px 26px; margin-bottom: 30px; border-radius: 16px; border: 1px solid rgba(31, 140, 74, .28);
	background: linear-gradient(120deg, rgba(15, 122, 61, .12), rgba(255, 255, 255, .02)); text-align: center;
}
.tp-offres-equation__item { font-size: 14.5px; color: var(--tp-text-soft); font-weight: 600; }
.tp-offres-equation__item--strong { font-family: var(--font-display); font-weight: 800; font-size: clamp(15px, 1.5vw, 19px); letter-spacing: -.01em; color: var(--tp-white); }
.tp-offres-equation__op { font-family: var(--font-mono); font-size: 15px; color: var(--tp-green-300); }
.tp-offres-equation__pill { font-family: var(--font-mono); font-size: 10px; letter-spacing: .16em; color: var(--tp-green-mist); border: 1px solid rgba(31, 140, 74, .35); padding: 5px 10px; border-radius: var(--tp-radius-pill); }

.tp-offres-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 440px), 1fr)); gap: clamp(20px, 2.4vw, 32px); align-items: stretch; }

.tp-offres-card {
	position: relative; border-radius: 24px; border: 1px solid var(--tp-border); background: linear-gradient(170deg, #0a0d0b, #050605);
	overflow: hidden; display: flex; flex-direction: column; transition: border-color .35s ease, transform .35s ease;
}
.tp-offres-card:hover { border-color: rgba(31, 140, 74, .45); transform: translateY(-4px); }
.tp-offres-card__glow { position: absolute; left: -130px; top: -100px; width: 400px; height: 400px; pointer-events: none; background: radial-gradient(circle, rgba(15, 122, 61, .18), transparent 64%); filter: blur(40px); }

.tp-offres-card--stick { border-color: rgba(31, 140, 74, .45); background: linear-gradient(170deg, #0b120e, #050605); box-shadow: 0 30px 90px rgba(11, 92, 46, .22); }
.tp-offres-card--stick:hover { border-color: rgba(31, 140, 74, .75); }
.tp-offres-card__glow--stick { left: auto; right: -120px; top: -120px; width: 440px; height: 440px; background: radial-gradient(circle, rgba(15, 122, 61, .3), transparent 64%); }
.tp-offres-card__badge {
	position: absolute; right: 22px; top: 22px; z-index: 3; font-family: var(--font-mono); font-size: 10px; letter-spacing: .18em;
	color: #fff; background: var(--tp-green-700); padding: 7px 13px; border-radius: var(--tp-radius-pill); box-shadow: 0 10px 26px rgba(11, 92, 46, .55); pointer-events: none;
}

.tp-offres-card__media { position: relative; padding: 26px 26px 0; display: flex; align-items: flex-end; gap: 12px; }
.tp-offres-card__media--stick { display: block; padding: 26px 26px 0; }
.tp-offres-card__media-row { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 16px; margin-top: 16px; }

.tp-offres-card__body { position: relative; padding: 38px 30px 32px; display: flex; flex-direction: column; flex: 1; }
.tp-offres-card--stick .tp-offres-card__body { padding: 30px 30px 32px; }
.tp-offres-card__kicker { font-family: var(--font-mono); font-size: 10.5px; letter-spacing: .2em; color: var(--tp-green-300); margin-bottom: 14px; }
.tp-offres-card__title { font-family: var(--font-display); font-weight: 800; font-size: clamp(25px, 2.2vw, 32px); letter-spacing: -.02em; margin: 0 0 10px; }
.tp-offres-card__tagline { font-size: 16px; color: var(--tp-text-soft); margin: 0 0 20px; line-height: 1.45; }
.tp-offres-card__price { display: flex; align-items: baseline; gap: 10px; margin-bottom: 6px; }
.tp-offres-card__price-value { font-family: var(--font-display); font-weight: 800; font-size: 42px; letter-spacing: -.03em; line-height: 1; }
.tp-offres-card__price-period { font-size: 15px; color: var(--tp-text-mute2); }
.tp-offres-card__note { font-size: 13.5px; color: var(--tp-text-mute2); margin-bottom: 24px; display: block; }
.tp-offres-card--stick .tp-offres-card__note { margin-bottom: 20px; }
.tp-offres-card__desc { font-size: 15.5px; line-height: 1.65; color: var(--tp-text-muted); margin: 0 0 26px; max-width: 420px; }

.tp-offres-included-banner {
	display: flex; align-items: center; gap: 11px; padding: 14px 16px; border-radius: 12px; border: 1px solid rgba(31, 140, 74, .45);
	background: rgba(15, 122, 61, .14); margin-bottom: 22px; font-family: var(--font-display); font-size: 14px; font-weight: 700; letter-spacing: .02em; color: var(--tp-white);
}
.tp-offres-included-banner__check { flex: none; display: grid; place-items: center; width: 22px; height: 22px; border-radius: 50%; background: var(--tp-green-700); color: #fff; font-size: 11px; line-height: 1; }

.tp-offres-card__features {
	display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 180px), 1fr)); gap: 12px 20px; padding: 22px 0;
	border-top: 1px solid var(--tp-border-soft); border-bottom: 1px solid var(--tp-border-soft); margin-bottom: 28px;
}
.tp-offres-card__features span { display: flex; gap: 10px; font-size: 14.5px; color: var(--tp-text-soft); }
.tp-check { color: var(--tp-green-400); }

.tp-offres-card__cta {
	margin-top: auto; text-align: center; font-family: var(--font-display); font-size: 15.5px; padding: 18px; border-radius: var(--tp-radius-pill);
	transition: background .25s ease, transform .25s ease;
}
.tp-offres-card__cta--outline { font-weight: 600; color: #fff; border: 1px solid rgba(31, 140, 74, .6); }
.tp-offres-card__cta--outline:hover { background: rgba(15, 122, 61, .18); transform: translateY(-2px); color: #fff; }
.tp-offres-card__cta--solid { font-weight: 700; color: #fff; background: var(--tp-green-700); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .14), 0 16px 44px rgba(11, 92, 46, .5); }
.tp-offres-card__cta--solid:hover { background: var(--tp-green-600); transform: translateY(-2px); color: #fff; }
.tp-offres-card__foot { display: block; text-align: center; font-size: 13px; color: var(--tp-text-mute3); margin-top: 14px; }

/* Offre sans produit réel raccordé (ex. TV Stick tant qu'il n'existe pas
   encore en WooCommerce) — état explicite, jamais un lien mort. */
.tp-offres-card__cta.is-disabled,
.tp-offres-compare__btn.is-disabled {
	cursor: not-allowed;
	opacity: .45;
	pointer-events: none;
}
.tp-offres-card__cta.is-disabled:hover,
.tp-offres-compare__btn.is-disabled:hover { transform: none; }

/* ---- mockups d'appareils (décoratifs, sans photo réelle non disponible) ---- */
.tp-offres-mock__frame {
	border-radius: 10px; padding: 6px; background: linear-gradient(160deg, rgba(255, 255, 255, .16), rgba(255, 255, 255, .03)); box-shadow: 0 26px 60px rgba(0, 0, 0, .6);
}
.tp-offres-mock--web { flex: 1 1 auto; }
.tp-offres-mock__frame--web { background: linear-gradient(160deg, rgba(255, 255, 255, .15), rgba(255, 255, 255, .03)); }
.tp-offres-mock__topbar { display: flex; align-items: center; gap: 7px; font-size: 8.5px; padding: 9px 9px 0; }
.tp-offres-mock__topbar--sm { padding: 7px 7px 0; }
.tp-offres-mock__brand { font-family: var(--font-display); font-size: 8.5px; font-weight: 800; color: #fff; }
.tp-offres-mock__chip { font-family: var(--font-mono); font-size: 6.5px; letter-spacing: .14em; color: #fff; background: rgba(15, 122, 61, .85); padding: 2px 5px; border-radius: 2px; }
.tp-offres-mock__meta { margin-left: auto; font-size: 6.5px; color: var(--tp-text-mute4); }
.tp-offres-mock__screen { position: relative; margin: 7px 9px 9px; border-radius: 4px; overflow: hidden; aspect-ratio: 16/9; background: #060806; }
.tp-offres-mock__screen img { width: 100%; height: 100%; object-fit: cover; display: block; }
.tp-offres-mock__overlay { position: absolute; inset: 0; background: linear-gradient(180deg, transparent 40%, rgba(3, 4, 3, .92)); display: flex; flex-direction: column; justify-content: flex-end; padding: 0 7px 6px; pointer-events: none; }
.tp-offres-mock__overlay-title { font-family: var(--font-display); font-size: 8.5px; font-weight: 700; color: #fff; margin-bottom: 4px; }
.tp-offres-mock__overlay-bar { display: block; height: 2px; border-radius: 99px; background: rgba(255, 255, 255, .16); overflow: hidden; }
.tp-offres-mock__overlay-bar span { display: block; height: 100%; background: var(--tp-green-500); }
.tp-offres-mock__thumbs { display: flex; gap: 4px; padding: 0 9px 9px; }
.tp-offres-mock__thumbs span { flex: 1; height: 14px; border-radius: 2px; background: rgba(255, 255, 255, .06); }
.tp-offres-mock__thumbs span.is-active { background: rgba(15, 122, 61, .32); }

.tp-offres-mock--tablet { flex: none; width: 112px; border-radius: 11px; padding: 4px; background: linear-gradient(160deg, rgba(255, 255, 255, .15), rgba(255, 255, 255, .03)); box-shadow: 0 20px 46px rgba(0, 0, 0, .65); }
.tp-offres-mock__frame--tablet { border-radius: 8px; padding: 6px; background: #060806; display: flex; flex-direction: column; gap: 5px; aspect-ratio: 3/4; box-shadow: none; }
.tp-offres-mock__frame--tablet .tp-offres-mock__brand { font-size: 6.5px; }
.tp-offres-mock__glow-screen { position: relative; aspect-ratio: 16/10; border-radius: 3px; overflow: hidden; background: linear-gradient(150deg, rgba(15, 122, 61, .42), rgba(6, 8, 6, .92)); }
.tp-offres-mock__label-xs { font-family: var(--font-mono); font-size: 5px; letter-spacing: .12em; color: var(--tp-green-mist); }
.tp-offres-mock__grid2 { display: grid; grid-template-columns: 1fr 1fr; gap: 3px; }
.tp-offres-mock__grid2 span { aspect-ratio: 16/10; border-radius: 2px; background: rgba(255, 255, 255, .06); }

.tp-offres-mock--phone { flex: none; width: 70px; border-radius: 12px; padding: 4px; background: linear-gradient(160deg, rgba(255, 255, 255, .16), rgba(255, 255, 255, .03)); box-shadow: 0 18px 40px rgba(0, 0, 0, .7); }
.tp-offres-mock__frame--phone { border-radius: 9px; padding: 5px 4px; background: #060806; display: flex; flex-direction: column; gap: 4px; aspect-ratio: 9/18; box-shadow: none; }
.tp-offres-mock__frame--phone .tp-offres-mock__brand { font-size: 5.5px; }
.tp-offres-mock__line { display: block; height: 3px; border-radius: 99px; background: rgba(255, 255, 255, .1); }
.tp-offres-mock__line--accent { background: rgba(31, 156, 82, .8); }
.tp-offres-mock__tabs { margin-top: auto; display: flex; gap: 3px; }
.tp-offres-mock__tabs span { flex: 1; height: 4px; border-radius: 99px; background: rgba(255, 255, 255, .1); }
.tp-offres-mock__tabs span.is-active { background: rgba(31, 156, 82, .8); }

.tp-offres-mock__frame--sm { width: 96px; padding: 4px; border-radius: 7px; }
.tp-offres-mock__frame--sm.tp-offres-mock__frame--tablet { aspect-ratio: 16/10; padding: 5px; gap: 4px; }
.tp-offres-mock__frame--xs { width: 52px; padding: 3px; border-radius: 6px; }
.tp-offres-mock__frame--xs.tp-offres-mock__frame--phone { aspect-ratio: 16/10; padding: 4px; gap: 3px; }

/* TV mockup (grand écran) */
.tp-offres-mock__frame--tv { position: relative; border-radius: 12px; padding: 6px; background: linear-gradient(160deg, rgba(255, 255, 255, .16), rgba(255, 255, 255, .03)); box-shadow: 0 30px 70px rgba(0, 0, 0, .6); }
.tp-offres-mock__frame--wide { max-width: 100%; }
.tp-offres-mock__screen--tv { position: relative; aspect-ratio: 16/9; border-radius: 7px; overflow: hidden; background: #060806; }
.tp-offres-mock__screen--tv img { width: 100%; height: 100%; object-fit: cover; display: block; }
.tp-offres-mock__tv-top { position: absolute; left: 13px; top: 12px; display: flex; align-items: center; gap: 8px; pointer-events: none; z-index: 2; }
.tp-offres-mock__tv-top .tp-offres-mock__brand { font-size: 10.5px; }
.tp-offres-mock__overlay--tv { position: absolute; inset: 0; left: 13px; right: 13px; bottom: 11px; top: auto; padding: 0; background: none; display: flex; flex-direction: column; gap: 6px; }
.tp-offres-mock__tv-tags { display: flex; gap: 6px; margin-bottom: 3px; }
.tp-offres-mock__chip--solid { font-size: 7.5px; padding: 3px 6px; }
.tp-offres-mock__chip--outline { font-family: var(--font-mono); font-size: 7.5px; letter-spacing: .12em; color: var(--tp-text-muted); border: 1px solid rgba(255, 255, 255, .14); padding: 3px 6px; border-radius: 2px; }
.tp-offres-mock__chip--live { display: flex; align-items: center; gap: 5px; }
.tp-offres-mock__live-dot { width: 4px; height: 4px; border-radius: 50%; background: #fff; }
.tp-offres-mock__frame--tv .tp-offres-mock__overlay-title { font-size: 13.5px; margin-bottom: 0; }
.tp-offres-mock__frame--tv .tp-offres-mock__overlay-bar { height: 3px; }

.tp-offres-device-stack { display: flex; align-items: flex-end; gap: 9px; }
.tp-offres-device-stack__label { font-family: var(--font-mono); font-size: 8.5px; letter-spacing: .14em; color: var(--tp-green-mist); padding-bottom: 4px; }

.tp-offres-stick-visual { display: flex; align-items: flex-end; gap: 10px; }
.tp-offres-stick-visual__remote {
	width: 92px; height: 29px; border-radius: 7px; background: linear-gradient(140deg, #1c211d, #080a08); border: 1px solid rgba(255, 255, 255, .1);
	box-shadow: 0 16px 34px rgba(0, 0, 0, .75); display: flex; align-items: center; padding: 0 9px; gap: 7px; font-family: var(--font-display); font-size: 7.5px; font-weight: 800; color: var(--tp-text);
}
.tp-offres-stick-visual__dot { width: 4px; height: 4px; border-radius: 50%; background: var(--tp-green-500); box-shadow: 0 0 7px rgba(31, 156, 82, .9); }
.tp-offres-stick-visual__stick { display: block; width: 32px; height: 88px; border-radius: 12px; background: linear-gradient(160deg, #1c211d, #070907); border: 1px solid rgba(255, 255, 255, .1); box-shadow: 0 18px 38px rgba(0, 0, 0, .8); }

/* ================= AIDE AU CHOIX ================= */
.tp-offres-help-section { position: relative; z-index: 1; padding: clamp(50px, 6vw, 70px) 0; }
.tp-offres-help-section .tp-container { max-width: 1400px; margin: 0 auto; padding: 0 var(--tp-gutter); }
.tp-offres-help__title { font-size: clamp(26px, 3vw, 42px); letter-spacing: -.024em; margin: 0 0 34px; text-align: center; }
.tp-offres-help__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 400px), 1fr)); gap: 20px; max-width: 1080px; margin: 0 auto; }
.tp-offres-help__card {
	display: flex; gap: 22px; padding: 28px; border-radius: 18px; border: 1px solid var(--tp-border-soft); background: rgba(255, 255, 255, .02);
	color: var(--tp-white); transition: border-color .3s ease, background .3s ease;
}
.tp-offres-help__card:hover { border-color: rgba(31, 140, 74, .55); background: rgba(15, 122, 61, .08); color: var(--tp-white); }
.tp-offres-help__card--accent { border-color: rgba(31, 140, 74, .4); background: linear-gradient(165deg, rgba(15, 122, 61, .1), rgba(255, 255, 255, .02)); }
.tp-offres-help__card--accent:hover { border-color: rgba(31, 140, 74, .7); background: rgba(15, 122, 61, .14); }
.tp-offres-help__icon {
	flex: none; width: 62px; height: 62px; border-radius: 14px; border: 1px solid rgba(31, 140, 74, .35);
	background: linear-gradient(160deg, rgba(15, 122, 61, .22), rgba(15, 122, 61, .03)); display: grid; place-items: center;
}
.tp-offres-help__icon--accent { border-color: rgba(31, 140, 74, .45); background: linear-gradient(160deg, rgba(15, 122, 61, .3), rgba(15, 122, 61, .04)); }
.tp-offres-help__body { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; }
.tp-offres-help__q { display: block; font-family: var(--font-display); font-size: 18px; font-weight: 700; line-height: 1.3; margin-bottom: 10px; }
.tp-offres-help__a { display: block; font-size: 14px; line-height: 1.6; color: var(--tp-text-mute2); margin-bottom: 12px; }
.tp-offres-help__price { color: var(--tp-text-mute3); font-weight: 400; }
.tp-offres-help__card .tp-link-arrow { white-space: normal; }

/* ================= COMPARATEUR ================= */
.tp-offres-compare-section { position: relative; z-index: 1; padding: clamp(50px, 6vw, 70px) 0; }
.tp-offres-compare-container { max-width: 1160px; }
.tp-offres-compare__title { font-size: clamp(26px, 3vw, 42px); letter-spacing: -.024em; margin: 0 0 34px; text-align: center; }
.tp-offres-compare { border-radius: 20px; border: 1px solid var(--tp-border-soft); overflow: hidden; background: linear-gradient(180deg, #080a08, #040504); }
.tp-offres-compare__head {
	display: grid; grid-template-columns: 1.5fr 1fr 1fr; gap: 0; padding: 20px 24px; border-bottom: 1px solid rgba(255, 255, 255, .1); background: rgba(255, 255, 255, .025);
}
.tp-offres-compare__head-label { font-family: var(--font-mono); font-size: 10.5px; letter-spacing: .18em; color: var(--tp-text-mute3); }
.tp-offres-compare__head-col { font-family: var(--font-display); font-size: 14px; font-weight: 700; text-align: center; }
.tp-offres-compare__head-col span { font-family: var(--font-body); font-weight: 500; font-size: 12px; color: var(--tp-text-mute2); }
.tp-offres-compare__head-col--accent { background: rgba(15, 122, 61, .16); border-left: 1px solid rgba(31, 140, 74, .35); border-right: 1px solid rgba(31, 140, 74, .35); margin: -20px -24px -20px 0; padding: 20px 12px; }
.tp-offres-compare__head-col--accent span { color: var(--tp-green-mist); }
.tp-offres-compare__row { display: grid; grid-template-columns: 1.5fr 1fr 1fr; align-items: center; padding: 16px 24px; border-bottom: 1px solid rgba(255, 255, 255, .055); transition: background .25s ease; }
.tp-offres-compare__row:hover { background: rgba(15, 122, 61, .06); }
.tp-offres-compare__feat { font-size: 14.5px; color: var(--tp-text-soft); }
.tp-offres-compare__cell { text-align: center; }
.tp-offres-compare__cell--accent { background: rgba(15, 122, 61, .08); border-left: 1px solid rgba(31, 140, 74, .22); border-right: 1px solid rgba(31, 140, 74, .22); margin: -16px -24px -16px 0; padding: 16px 12px; }
.tp-offres-compare__check { display: inline-grid; place-items: center; width: 24px; height: 24px; border-radius: 50%; background: rgba(15, 122, 61, .9); color: #fff; font-size: 12px; line-height: 1; }
.tp-offres-compare__alt { font-size: 13px; color: var(--tp-text-mute2); }
.tp-offres-compare__foot { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; justify-content: space-between; padding: 22px 24px; }
.tp-offres-compare__foot-text { font-size: 13.5px; color: var(--tp-text-mute2); }
.tp-offres-compare__foot-ctas { display: flex; flex-wrap: wrap; gap: 14px; }
.tp-offres-compare__btn { font-family: var(--font-display); font-size: 14px; font-weight: 600; color: var(--tp-text); padding: 13px 24px; border-radius: var(--tp-radius-pill); border: 1px solid rgba(255, 255, 255, .16); transition: border-color .25s ease, color .25s ease; }
.tp-offres-compare__btn:hover { border-color: rgba(31, 140, 74, .6); color: var(--tp-white); }
.tp-offres-compare__btn--solid { font-weight: 700; color: #fff; background: var(--tp-green-700); border: none; transition: background .25s ease; }
.tp-offres-compare__btn--solid:hover { background: var(--tp-green-600); color: #fff; }

/* ================= TOUT EST DÉJÀ INCLUS ================= */
.tp-offres-included-section { position: relative; z-index: 1; padding: clamp(50px, 6vw, 70px) 0; }
.tp-offres-included__title { font-size: clamp(26px, 3vw, 42px); line-height: 1.08; letter-spacing: -.024em; margin: 0 0 40px; }
.tp-offres-included__grid {
	display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)); gap: 1px;
	background: var(--tp-border-2); border-top: 1px solid var(--tp-border-2); border-bottom: 1px solid var(--tp-border-2);
}
.tp-offres-included__item { padding: 32px 26px; background: #040504; }
.tp-offres-included__item h3 { font-family: var(--font-display); font-weight: 700; font-size: 17.5px; margin: 20px 0 8px; }
.tp-offres-included__item p { font-size: 14px; line-height: 1.6; color: var(--tp-text-mute2); margin: 0; }

/* ================= COMMENT ÇA MARCHE ================= */
.tp-offres-steps-section { position: relative; z-index: 1; padding: clamp(50px, 6vw, 70px) 0; }
.tp-offres-steps__head { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 360px), 1fr)); gap: clamp(28px, 4vw, 64px); align-items: start; margin-bottom: 44px; }
.tp-offres-steps__head h2 { font-size: clamp(28px, 3.4vw, 50px); line-height: 1.06; letter-spacing: -.026em; margin: 0; }
.tp-offres-steps__head p { font-size: 16.5px; line-height: 1.7; color: var(--tp-text-muted); margin: 0; max-width: 480px; }
.tp-offres-steps__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 290px), 1fr)); gap: 20px; }
.tp-offres-step { padding: 30px 26px; border-radius: 18px; border: 1px solid var(--tp-border-2); background: rgba(255, 255, 255, .02); }
.tp-offres-step--accent { border-color: rgba(31, 140, 74, .28); background: linear-gradient(165deg, rgba(15, 122, 61, .1), rgba(255, 255, 255, .02)); }
.tp-offres-step__label { font-family: var(--font-mono); font-size: 10.5px; letter-spacing: .2em; color: var(--tp-green-300); }
.tp-offres-step h3 { font-family: var(--font-display); font-weight: 700; font-size: 20px; margin: 16px 0 10px; }
.tp-offres-step p { font-size: 14.5px; line-height: 1.65; color: var(--tp-text-mute2); margin: 0; }
.tp-offres-steps__note { display: flex; gap: 12px; align-items: flex-start; font-size: 14px; line-height: 1.65; color: var(--tp-text-mute2); margin: 22px 0 0; max-width: 720px; }
.tp-offres-steps__note-tag { flex: none; font-family: var(--font-mono); font-size: 10px; letter-spacing: .16em; color: var(--tp-green-300); border: 1px solid rgba(31, 140, 74, .35); padding: 4px 8px; border-radius: 4px; }

/* ================= SUR TOUS VOS ÉCRANS ================= */
.tp-offres-multiscreen-section { position: relative; z-index: 1; padding: clamp(50px, 6vw, 80px) 0 40px; overflow: hidden; }
.tp-offres-multiscreen {
	position: relative; border-radius: 26px; border: 1px solid var(--tp-border-2); background: linear-gradient(170deg, #080a08, #040504);
	padding: clamp(30px, 4vw, 60px); overflow: hidden;
}
.tp-offres-multiscreen__glow {
	position: absolute; left: 50%; bottom: -260px; transform: translateX(-50%); pointer-events: none; width: 1000px; height: 560px;
	border-radius: 50%; background: radial-gradient(circle, rgba(15, 122, 61, .34), transparent 64%); filter: blur(50px);
}
.tp-offres-multiscreen__grid { position: relative; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 340px), 1fr)); gap: clamp(30px, 4vw, 64px); align-items: center; }
.tp-offres-multiscreen__title { font-size: clamp(28px, 3.4vw, 50px); line-height: 1.05; letter-spacing: -.028em; margin: 18px 0 20px; }
.tp-offres-multiscreen__lead { font-size: 16.5px; line-height: 1.7; color: var(--tp-text-muted); margin: 0 0 28px; max-width: 460px; text-wrap: pretty; }
.tp-offres-multiscreen__tags { display: flex; flex-wrap: wrap; gap: 10px; }
.tp-offres-multiscreen__tags span { display: flex; align-items: center; gap: 8px; font-size: 13.5px; color: var(--tp-text-soft); padding: 9px 15px; border-radius: var(--tp-radius-pill); border: 1px solid rgba(255, 255, 255, .1); }

.tp-offres-multiscreen__devices { position: relative; display: grid; grid-template-columns: 1fr 1fr; gap: 14px; align-items: end; }
.tp-offres-multiscreen__devices .tp-offres-mock__frame--tv { grid-column: 1 / -1; }
.tp-offres-multiscreen__small-devices { display: flex; gap: 12px; align-items: flex-end; justify-content: center; }
.tp-offres-mock__mini-bar { position: absolute; left: 5px; right: 5px; bottom: 4px; display: block; height: 2px; border-radius: 99px; background: rgba(255, 255, 255, .16); overflow: hidden; }
.tp-offres-mock__mini-bar span { display: block; height: 100%; background: var(--tp-green-500); }

/* ================= RÉASSURANCE ================= */
.tp-offres-reassurance-section { position: relative; z-index: 1; padding: clamp(50px, 6vw, 70px) 0; }
.tp-offres-reassurance { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); gap: 20px; }
.tp-offres-reassurance__item { padding: 26px 24px; border-radius: 16px; border: 1px solid var(--tp-border-2); background: rgba(255, 255, 255, .02); }
.tp-offres-reassurance__item h3 { font-family: var(--font-display); font-weight: 700; font-size: 16.5px; margin: 18px 0 8px; }
.tp-offres-reassurance__item p { font-size: 13.5px; line-height: 1.65; color: var(--tp-text-mute2); margin: 0; }

/* ================= CTA FINAL ================= */
.tp-offres-final-section { position: relative; z-index: 1; padding: 40px 0 clamp(90px, 10vw, 130px); overflow: hidden; }
.tp-offres-final { position: relative; border-radius: 28px; overflow: hidden; border: 1px solid rgba(31, 140, 74, .3); background: #050605; padding: clamp(50px, 6vw, 90px) clamp(24px, 4vw, 56px); text-align: center; }
.tp-offres-final__glow {
	position: absolute; left: 50%; bottom: -260px; transform: translateX(-50%); pointer-events: none; width: 960px; height: 560px;
	border-radius: 50%; background: radial-gradient(circle, rgba(15, 122, 61, .46), transparent 62%); filter: blur(48px);
}
.tp-offres-final__inner { position: relative; }
.tp-offres-final__title { font-size: clamp(32px, 4.4vw, 64px); line-height: 1.02; letter-spacing: -.03em; margin: 0 0 20px; }
.tp-offres-final__lead { font-size: 17.5px; color: var(--tp-text-muted); margin: 0 auto 44px; max-width: 560px; text-wrap: pretty; }
.tp-offres-final__cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); gap: 18px; max-width: 760px; margin: 0 auto 26px; text-align: left; }
.tp-offres-final__card { padding: 26px; border-radius: 18px; border: 1px solid rgba(255, 255, 255, .1); background: rgba(255, 255, 255, .03); display: flex; flex-direction: column; gap: 16px; }
.tp-offres-final__card--accent { border-color: rgba(31, 140, 74, .45); background: linear-gradient(165deg, rgba(15, 122, 61, .16), rgba(255, 255, 255, .02)); }
.tp-offres-final__price { font-family: var(--font-display); font-weight: 800; font-size: 30px; letter-spacing: -.02em; }
.tp-offres-final__price span { font-family: var(--font-body); font-weight: 500; font-size: 14px; color: var(--tp-text-mute2); }
.tp-offres-final__desc { font-size: 13.5px; line-height: 1.55; color: var(--tp-text-mute2); }
.tp-offres-final__desc--accent { color: var(--tp-green-mist); }
.tp-offres-final__card .tp-offres-card__cta { margin-top: 0; padding: 15px; font-size: 15px; }
.tp-offres-final__fineprint { font-size: 13.5px; color: var(--tp-text-mute3); }

@media (max-width: 480px) {
	.tp-offres-card__media { flex-wrap: wrap; }
	.tp-offres-mock--web { flex: 1 1 100%; }
	.tp-offres-card__media-row { justify-content: center; }
}

@media (max-width: 720px) {
	.tp-offres-compare__head, .tp-offres-compare__row { grid-template-columns: 1.3fr 1fr 1fr; padding-left: 14px; padding-right: 14px; }
	.tp-offres-compare__head-col--accent, .tp-offres-compare__cell--accent { margin-right: 0; padding-left: 8px; padding-right: 8px; }
}

@media (prefers-reduced-motion: reduce) {
	.tp-offres-graph__ring, .tp-offres-graph__pulse, .tp-offres-graph__flow, .tp-offres-graph__float {
		animation: none !important;
	}
}
