/* meilleure-tv-comparatif.fr - Shared Styles */
:root{--bg:#060d14;--card:rgba(18,28,38,0.7);--card-hover:rgba(22,35,48,0.85);--border:rgba(80,200,120,0.15);--border-hover:rgba(80,200,120,0.35);--green:#50dc78;--green-dim:#2a8a4a;--orange:#ff9900;--gold:#ffd814;--text:#e0e8f0;--text-dim:#7a8a9a;--text-faint:#4a5a6a}
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:'Segoe UI',system-ui,-apple-system,sans-serif;background:var(--bg);color:var(--text);line-height:1.6;overflow-x:hidden}
.bg-layer{position:fixed;inset:0;z-index:0;pointer-events:none}
.bg-gradient{position:absolute;inset:0;background:radial-gradient(ellipse at 15% 20%,rgba(80,220,120,0.06) 0%,transparent 50%),radial-gradient(ellipse at 85% 60%,rgba(255,153,0,0.04) 0%,transparent 50%),radial-gradient(ellipse at 50% 100%,rgba(80,200,200,0.03) 0%,transparent 60%)}
.bg-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(80,200,120,0.025) 1px,transparent 1px),linear-gradient(90deg,rgba(80,200,120,0.025) 1px,transparent 1px);background-size:50px 50px;animation:gridDrift 30s linear infinite}
@keyframes gridDrift{0%{background-position:0 0}100%{background-position:50px 50px}}
.bg-particles{position:absolute;inset:0;overflow:hidden}
.bg-particles span{position:absolute;border-radius:50%;pointer-events:none;background:rgba(80,220,120,0.15)}
.bg-particles span:nth-child(1){width:5px;height:5px;left:8%;top:15%;animation:floatBg 14s ease-in-out infinite}
.bg-particles span:nth-child(2){width:3px;height:3px;left:20%;top:70%;animation:floatBg 18s ease-in-out infinite 2s}
.bg-particles span:nth-child(3){width:7px;height:7px;left:35%;top:40%;animation:floatBg 16s ease-in-out infinite 1s}
.bg-particles span:nth-child(4){width:4px;height:4px;left:55%;top:85%;animation:floatBg 20s ease-in-out infinite 3s}
.bg-particles span:nth-child(5){width:6px;height:6px;left:70%;top:25%;animation:floatBg 15s ease-in-out infinite 0.5s}
.bg-particles span:nth-child(6){width:3px;height:3px;left:82%;top:65%;animation:floatBg 17s ease-in-out infinite 2.5s}
.bg-particles span:nth-child(7){width:5px;height:5px;left:92%;top:35%;animation:floatBg 19s ease-in-out infinite 4s}
.bg-particles span:nth-child(8){width:4px;height:4px;left:45%;top:10%;animation:floatBg 13s ease-in-out infinite 1.5s}
.bg-particles span:nth-child(9){width:6px;height:6px;left:15%;top:50%;animation:floatBg 21s ease-in-out infinite 3.5s}
.bg-particles span:nth-child(10){width:3px;height:3px;left:65%;top:55%;animation:floatBg 16s ease-in-out infinite 5s}
@keyframes floatBg{0%,100%{transform:translateY(0) scale(1);opacity:.15}50%{transform:translateY(-40px) scale(1.8);opacity:.5}}
.container{position:relative;z-index:1;max-width:1100px;margin:0 auto;padding:20px}
.breadcrumb{padding:15px 0;font-size:13px;color:var(--text-faint)}
.breadcrumb a{color:var(--text-dim);text-decoration:none}
.breadcrumb a:hover{color:var(--green)}
.header{text-align:center;padding:30px 0 20px}
.header h1{font-size:34px;color:#fff;margin-bottom:8px;font-weight:800;background:linear-gradient(135deg,#fff 0%,#a0c0d0 50%,#fff 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.header p{color:var(--text-dim);font-size:14px}
.filters-bar{display:flex;justify-content:center;gap:10px;margin:15px 0 30px;flex-wrap:wrap}
.filter-pill{background:rgba(18,28,38,0.6);backdrop-filter:blur(10px);border:1px solid var(--border);color:#8ab;padding:6px 16px;border-radius:25px;font-size:13px}
/* ===== HERO BANNER ===== */
.hero{position:relative;border-radius:20px;overflow:hidden;margin-bottom:40px;min-height:440px;display:flex;align-items:center;border:1px solid rgba(80,200,120,0.2);box-shadow:0 20px 80px rgba(0,0,0,0.4),0 0 120px rgba(80,220,120,0.05) inset}
.hero-bg{position:absolute;inset:0;background:linear-gradient(135deg,#0a1520 0%,#0d2818 40%,#0a3a2a 70%,#0d2818 100%)}
.hero-bg::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 70% 50%,rgba(80,220,120,0.15) 0%,transparent 60%)}
.hero-bg::after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 20% 80%,rgba(255,153,0,0.08) 0%,transparent 50%)}
.hero-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(80,200,120,0.05) 1px,transparent 1px),linear-gradient(90deg,rgba(80,200,120,0.05) 1px,transparent 1px);background-size:40px 40px;animation:gridMove 20s linear infinite}
@keyframes gridMove{0%{background-position:0 0}100%{background-position:40px 40px}}
.hero-particles{position:absolute;inset:0;overflow:hidden}
.hero-particles span{position:absolute;display:block;border-radius:50%;background:rgba(80,220,120,0.3);pointer-events:none}
.hero-particles span:nth-child(1){width:6px;height:6px;left:10%;top:20%;animation:floatUp 8s ease-in-out infinite}
.hero-particles span:nth-child(2){width:4px;height:4px;left:25%;top:60%;animation:floatUp 10s ease-in-out infinite 1s}
.hero-particles span:nth-child(3){width:8px;height:8px;left:45%;top:30%;animation:floatUp 12s ease-in-out infinite 2s}
.hero-particles span:nth-child(4){width:3px;height:3px;left:60%;top:70%;animation:floatUp 9s ease-in-out infinite 0.5s}
.hero-particles span:nth-child(5){width:5px;height:5px;left:75%;top:25%;animation:floatUp 11s ease-in-out infinite 1.5s}
.hero-particles span:nth-child(6){width:4px;height:4px;left:85%;top:55%;animation:floatUp 7s ease-in-out infinite 3s}
.hero-particles span:nth-child(7){width:7px;height:7px;left:35%;top:80%;animation:floatUp 13s ease-in-out infinite 2.5s}
.hero-particles span:nth-child(8){width:3px;height:3px;left:90%;top:15%;animation:floatUp 9s ease-in-out infinite 4s}
@keyframes floatUp{0%,100%{transform:translateY(0) scale(1);opacity:.3}50%{transform:translateY(-30px) scale(1.5);opacity:.8}}
.hero-glow{position:absolute;left:68%;top:50%;transform:translate(-50%,-50%);width:300px;height:300px;border-radius:50%;background:radial-gradient(circle,rgba(80,220,120,0.18) 0%,transparent 70%);animation:pulseGlow 4s ease-in-out infinite}
@keyframes pulseGlow{0%,100%{transform:translate(-50%,-50%) scale(1);opacity:.5}50%{transform:translate(-50%,-50%) scale(1.2);opacity:.8}}
.hero-content{position:relative;z-index:2;display:flex;align-items:center;width:100%;padding:40px;gap:30px}
.hero-text{flex:1}
.hero-image{flex:0 0 300px;display:flex;justify-content:center;align-items:center;position:relative}
.hero-image img{width:260px;max-width:100%;border-radius:12px;box-shadow:0 20px 60px rgba(0,0,0,0.5),0 0 80px rgba(80,220,120,0.15);animation:floatProduct 5s ease-in-out infinite}
@keyframes floatProduct{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}
.hero-image::after{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,0.1),transparent);animation:shimmer 4s ease-in-out infinite;pointer-events:none;border-radius:12px}
@keyframes shimmer{0%{left:-100%}50%,100%{left:100%}}
.hero-badge{display:inline-flex;align-items:center;gap:8px;background:linear-gradient(135deg,#1a6a3a,#2a8a4a);border:1px solid #4a8;padding:6px 16px;border-radius:30px;font-size:13px;color:#6f6;font-weight:600;margin-bottom:16px;animation:badgeSlide 0.8s ease-out}
@keyframes badgeSlide{from{opacity:0;transform:translateX(-20px)}to{opacity:1;transform:translateX(0)}}
.hero-badge .pulse-dot{width:8px;height:8px;border-radius:50%;background:#6f6;animation:dotPulse 1.5s ease-in-out infinite}
@keyframes dotPulse{0%,100%{opacity:1;box-shadow:0 0 0 0 rgba(111,255,111,0.5)}50%{opacity:.6;box-shadow:0 0 0 6px rgba(111,255,111,0)}}
.hero-title{font-size:34px;font-weight:800;color:#fff;line-height:1.2;margin-bottom:8px;animation:titleSlide 0.8s ease-out 0.1s both}
@keyframes titleSlide{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}
.hero-title .highlight{background:linear-gradient(135deg,#6f6,#4a8);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.hero-subtitle{font-size:16px;color:#8ab;margin-bottom:20px;animation:titleSlide 0.8s ease-out 0.2s both}
.hero-stats{display:flex;gap:24px;margin-bottom:24px;flex-wrap:wrap;animation:titleSlide 0.8s ease-out 0.3s both}
.hero-stat{display:flex;flex-direction:column}
.hero-stat .val{font-size:24px;font-weight:800;color:#fff}
.hero-stat .val .unit{font-size:14px;color:var(--text-dim);font-weight:400}
.hero-stat .label{font-size:12px;color:var(--text-faint);text-transform:uppercase;letter-spacing:0.5px;margin-top:2px}
.hero-features{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:24px;animation:titleSlide 0.8s ease-out 0.4s both}
.hero-feature{background:rgba(80,200,120,0.08);border:1px solid rgba(80,200,120,0.2);color:#8c8;padding:5px 14px;border-radius:20px;font-size:12px;font-weight:500;transition:all 0.3s}
.hero-feature:hover{background:rgba(80,200,120,0.15);border-color:rgba(80,200,120,0.4);transform:translateY(-2px)}
.hero-cta{display:inline-flex;align-items:center;gap:10px;padding:14px 32px;background:linear-gradient(135deg,#ffd814,#ffa700);color:#0f1923;text-decoration:none;border-radius:10px;font-size:15px;font-weight:700;box-shadow:0 8px 30px rgba(255,168,0,0.3);transition:all 0.3s;animation:titleSlide 0.8s ease-out 0.5s both;position:relative;overflow:hidden}
.hero-cta::before{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,0.3),transparent);transition:left 0.5s}
.hero-cta:hover{transform:translateY(-3px);box-shadow:0 12px 40px rgba(255,168,0,0.5)}
.hero-cta:hover::before{left:100%}
.hero-cta .arrow{transition:transform 0.3s}
.hero-cta:hover .arrow{transform:translateX(5px)}
.hero-price-tag{position:absolute;top:15px;right:15px;background:linear-gradient(135deg,#ff6b00,#ff9900);color:#fff;padding:10px 20px;border-radius:12px;font-size:22px;font-weight:800;box-shadow:0 8px 25px rgba(255,107,0,0.4);z-index:3;animation:priceBounce 0.6s ease-out 0.6s both,priceFloat 3s ease-in-out infinite 1s}
@keyframes priceBounce{from{opacity:0;transform:scale(0.5) rotate(-10deg)}to{opacity:1;transform:scale(1) rotate(0)}}
@keyframes priceFloat{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-6px) rotate(1deg)}}
@media(max-width:768px){.hero{min-height:auto}.hero-content{flex-direction:column;padding:25px;text-align:center}.hero-image{flex:0 0 auto}.hero-image img{width:200px}.hero-glow{left:50%;top:25%;width:200px;height:200px}.hero-title{font-size:26px}.hero-stats{justify-content:center}.hero-features{justify-content:center}.hero-price-tag{font-size:18px;padding:8px 16px}}
.verdict{background:linear-gradient(135deg,rgba(20,35,50,0.8),rgba(15,25,35,0.8));backdrop-filter:blur(20px);border:1px solid var(--border-hover);border-radius:16px;padding:28px;margin-bottom:35px;box-shadow:0 15px 50px rgba(0,0,0,0.3)}
.verdict::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,transparent,var(--green),transparent);animation:scanLine 3s ease-in-out infinite}
@keyframes scanLine{0%,100%{opacity:.3}50%{opacity:1}}
.verdict{position:relative;overflow:hidden}
.verdict h2{color:#fff;font-size:22px;margin-bottom:16px;font-weight:800}
.verdict p{color:var(--text);font-size:14px;margin-bottom:10px;line-height:1.7;padding-left:16px;border-left:3px solid var(--border)}
.verdict strong{color:#fff}
.section-title{font-size:22px;font-weight:800;color:#fff;margin-bottom:20px;display:flex;align-items:center;gap:12px}
.section-title::after{content:'';flex:1;height:1px;background:linear-gradient(90deg,var(--border-hover),transparent)}
.compare-tabs{display:none;justify-content:center;gap:8px;margin-bottom:16px;flex-wrap:wrap}
.compare-tab{padding:10px 20px;border-radius:10px;font-size:13px;font-weight:600;background:rgba(18,28,38,0.6);border:1px solid var(--border);color:var(--text-dim);cursor:pointer;transition:all .3s}
.compare-tab.active{background:rgba(80,200,120,0.12);border-color:var(--border-hover);color:var(--green)}
.compare-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:35px}
.compare-card{background:var(--card);backdrop-filter:blur(20px);border:1px solid var(--border);border-radius:16px;overflow:hidden;transition:all .4s;display:flex;flex-direction:column}
.compare-card:hover{transform:translateY(-6px);border-color:var(--border-hover);box-shadow:0 20px 50px rgba(0,0,0,0.3),0 0 40px rgba(80,200,120,0.06)}
.compare-card.winner{border-color:rgba(80,200,120,0.4);box-shadow:0 0 30px rgba(80,200,120,0.08)}
.compare-card-head{padding:20px 18px;text-align:center;position:relative;background:linear-gradient(180deg,rgba(20,35,50,0.5) 0%,transparent 100%);border-bottom:1px solid rgba(40,60,80,0.3)}
.rank-badge{position:absolute;top:10px;left:10px;font-size:10px;font-weight:700;padding:3px 8px;border-radius:5px}
.rank-badge.gold{background:linear-gradient(135deg,#ffd700,#ffa500);color:#1a1a1a}
.rank-badge.silver{background:linear-gradient(135deg,#c0c0c0,#888);color:#1a1a1a}
.rank-badge.bronze{background:linear-gradient(135deg,#cd7f32,#8b4513);color:#fff}
.compare-card-head img{width:90px;height:90px;object-fit:contain;border-radius:8px;margin-bottom:8px;transition:transform .3s}
.compare-card-head:hover img{transform:scale(1.08)}
.compare-card-head .brand{font-size:11px;color:#6a8;text-transform:uppercase;letter-spacing:1px}
.compare-card-head .model{font-size:15px;color:#fff;font-weight:700;margin:4px 0}
.compare-card-head .price{font-size:24px;color:var(--orange);font-weight:800}
.spec-group{padding:14px 18px;border-bottom:1px solid rgba(30,45,58,0.4)}
.spec-group:last-child{border-bottom:none}
.spec-group-title{font-size:10px;font-weight:700;color:var(--text-faint);text-transform:uppercase;letter-spacing:1px;margin-bottom:8px}
.spec-row{display:flex;justify-content:space-between;align-items:center;padding:5px 0;font-size:12px;border-bottom:1px solid rgba(25,38,50,0.3)}
.spec-row:last-child{border-bottom:none}
.spec-label{color:var(--text-dim)}
.spec-value{color:var(--text);font-weight:600;text-align:right}
.spec-value.best{color:var(--green)}
.spec-value.best::after{content:' ★';font-size:9px;color:var(--green-dim)}
.pros-text{font-size:13px;line-height:1.7;color:#b0d0b0;margin:6px 0}
.cons-text{font-size:13px;line-height:1.7;color:#d0b0b0;margin:6px 0}
.compare-card-cta{padding:14px 18px;border-top:1px solid rgba(40,60,80,0.3)}
.compare-card-cta a{display:block;text-align:center;padding:11px;border-radius:8px;font-size:13px;font-weight:700;text-decoration:none;transition:all .3s;position:relative;overflow:hidden}
.compare-card-cta a.primary{background:linear-gradient(135deg,#ffd814,#ffa700);color:#0f1923;box-shadow:0 6px 20px rgba(255,168,0,0.2)}
.compare-card-cta a.primary::before,.compare-card-cta a.secondary::before{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,0.2),transparent);transition:left .5s}
.compare-card-cta a.primary:hover::before,.compare-card-cta a.secondary:hover::before{left:100%}
.compare-card-cta a.primary:hover{transform:translateY(-2px);box-shadow:0 10px 30px rgba(255,168,0,0.35)}
.compare-card-cta a.secondary{background:rgba(18,28,38,0.6);color:#8ab;border:1px solid var(--border)}
.compare-card-cta a.secondary:hover{border-color:var(--border-hover);color:var(--green)}
.intro-section{background:var(--card);backdrop-filter:blur(20px);border:1px solid var(--border);border-radius:16px;padding:28px;margin-bottom:35px}
/* ===== PROS & CONS ===== */
.proscons-section{margin-bottom:35px}
.proscons-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.proscons-card{background:var(--card);backdrop-filter:blur(20px);border:1px solid var(--border);border-radius:16px;padding:0;transition:all .4s;overflow:hidden}
.proscons-card:hover{transform:translateY(-6px);border-color:var(--border-hover);box-shadow:0 20px 50px rgba(0,0,0,0.3),0 0 40px rgba(80,200,120,0.06)}
.proscons-card-head{padding:16px 20px;background:linear-gradient(180deg,rgba(20,35,50,0.6) 0%,transparent 100%);border-bottom:1px solid rgba(40,60,80,0.3)}
.proscons-card-head h3{font-size:15px;color:#fff;font-weight:700}
.proscons-card-head .price-tag{font-size:18px;color:var(--orange);font-weight:800}
.proscons-block{padding:16px 20px}
.proscons-block.pros{border-bottom:1px solid rgba(40,60,80,0.3)}
.proscons-block .block-label{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1px;margin-bottom:8px}
.proscons-block.pros .block-label{color:var(--green)}
.proscons-block.cons .block-label{color:#e07070}
.proscons-block .block-icon{width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px}
.proscons-block.pros .block-icon{background:rgba(80,200,120,0.15);color:var(--green)}
.proscons-block.cons .block-icon{background:rgba(224,112,112,0.15);color:#e07070}
.proscons-block p{font-size:13px;line-height:1.7;color:var(--text)}
.proscons-block.pros p{color:#b0d0b0}
.proscons-block.cons p{color:#d0b0b0}
@media(max-width:900px){.proscons-grid{grid-template-columns:1fr}}
.intro-section p{color:var(--text);font-size:15px;line-height:1.8;margin-bottom:12px}
.intro-section p:last-child{margin-bottom:0}
.intro-section a{color:var(--green);text-decoration:underline}
.rating-section{background:var(--card);backdrop-filter:blur(20px);border-radius:16px;padding:28px;margin-bottom:35px;border:1px solid var(--border)}
.rating-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.rating-card{background:rgba(15,25,35,0.6);border-radius:12px;padding:18px;text-align:center;border:1px solid rgba(40,60,80,0.3);transition:all .3s}
.rating-card:hover{transform:translateY(-4px);border-color:var(--border-hover);box-shadow:0 15px 40px rgba(0,0,0,0.3),0 0 30px rgba(80,200,120,0.08)}
.rating-card .score{font-size:28px;font-weight:bold;color:var(--orange)}
.rating-card .score .out{font-size:14px;color:var(--text-faint)}
.rating-card .review-count{font-size:12px;color:var(--text-dim);margin:4px 0 10px}
.bar-container{display:flex;flex-direction:column;gap:3px}
.bar-row{display:flex;align-items:center;gap:5px;font-size:10px}
.bar-label{width:26px;color:var(--text-faint);text-align:right}
.bar-track{flex:1;height:8px;background:rgba(10,18,25,0.8);border-radius:4px;overflow:hidden}
.bar-fill{height:100%;border-radius:4px;width:0;transition:width 1.2s cubic-bezier(0.4,0,0.2,1)}
.bar-fill.animate{width:var(--w)}
.bar-pct{width:28px;color:var(--text-faint);text-align:left}
.internal-links{background:var(--card);backdrop-filter:blur(20px);border:1px solid var(--border);border-radius:16px;padding:24px;margin-bottom:30px}
.internal-links h3{color:#fff;font-size:16px;margin-bottom:12px}
.links-row{display:flex;gap:10px;flex-wrap:wrap;font-size:14px}
.links-row a{color:var(--green);text-decoration:none;padding:6px 12px;border-radius:8px;border:1px solid var(--border);transition:all .3s}
.links-row a:hover{border-color:var(--border-hover);color:#fff;background:rgba(80,200,120,0.08)}
.footer{text-align:center;color:var(--text-faint);font-size:12px;padding:25px 0;border-top:1px solid rgba(30,45,58,0.3)}
.footer a{color:var(--text-dim);text-decoration:none}
.footer a:hover{color:var(--green)}
@media(max-width:900px){.compare-tabs{display:flex}.compare-grid{grid-template-columns:1fr}.compare-card{display:none}.compare-card.active{display:flex}.rating-grid{grid-template-columns:1fr}.header h1{font-size:26px}}
