:root{--bleu:#2563EB;--bleu-bg:#EFF6FF;--blanc:#6B7280;--blanc-bg:#F9FAFB;--rouge:#DC2626;--rouge-bg:#FEF2F2;--vert:#16A34A;--vert-bg:#F0FDF4;--incertain:#9CA3AF;--incertain-bg:#F3F4F6;--accent:#2563EB;--accent-hover:#1D4ED8;--accent-shadow:rgba(37,99,235,0.35);--cta-dark:#0F172A;--cta-dark-lighter:#1E293B;--bg:#F8FAFC;--surface:#FFFFFF;--text:#1F2937;--text-secondary:#4B5563;--border:#E5E7EB;--footer-bg:#0F2137;--footer-text:#D1D5DB;--shadow:0 1px 3px rgba(0,0,0,0.06),0 1px 2px rgba(0,0,0,0.04);--shadow-lg:0 4px 16px rgba(0,0,0,0.1);--radius:12px;--radius-sm:8px}*{margin:0;padding:0;box-sizing:border-box}body{font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;background:var(--bg);color:var(--text);line-height:1.7;font-size:16px}.container{max-width:1100px;margin:0 auto;padding:0 20px}.skip-link{position:absolute;top:-100%;left:16px;background:#1D4ED8;color:white;padding:12px 24px;border-radius:0 0 var(--radius-sm) var(--radius-sm);z-index:1000;font-weight:600;text-decoration:none;transition:top 0.2s}.skip-link:focus{top:0}header[role="banner"]{background:linear-gradient(135deg,#2563EB 0%,#1D4ED8 100%);color:white;padding:16px 0;box-shadow:0 2px 8px rgba(37,99,235,0.25);position:sticky;top:0;z-index:100}.header-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.header-brand{text-decoration:none;color:white;display:flex;align-items:center;gap:10px}.header-logo{width:32px;height:32px;flex-shrink:0}header[role="banner"] h1,.header-title{font-size:1.4rem;font-weight:800;letter-spacing:-0.5px;margin:0;color:white}header[role="banner"] .subtitle{font-size:0.85rem;opacity:0.85;margin-top:2px}.hamburger-btn{display:none;background:none;border:none;color:white;cursor:pointer;padding:8px;line-height:1;min-width:44px;min-height:44px}.hamburger-btn .bar{display:block;width:22px;height:2px;background:white;margin:5px 0;border-radius:2px;transition:transform 0.3s,opacity 0.3s}.hamburger-btn[aria-expanded="true"] .bar:nth-child(1){transform:translateY(7px) rotate(45deg)}.hamburger-btn[aria-expanded="true"] .bar:nth-child(2){opacity:0}.hamburger-btn[aria-expanded="true"] .bar:nth-child(3){transform:translateY(-7px) rotate(-45deg)}nav{display:flex;gap:8px;flex-wrap:wrap}nav a{color:rgba(255,255,255,0.8);text-decoration:none;font-size:0.85rem;padding:10px 14px;border-radius:20px;transition:all 0.2s;min-height:44px;display:inline-flex;align-items:center}nav a:hover,nav a.active{background:rgba(255,255,255,0.15);color:white}nav .nav-cta{background:rgba(255,255,255,0.95);color:var(--accent);font-weight:700;border-radius:50px;padding:10px 20px;margin-left:auto;border:none;cursor:pointer;font-size:inherit;font-family:inherit;text-decoration:none}nav .nav-cta:hover{background:white;color:var(--accent-hover)}.badge-fiabilite{background:var(--surface);border-left:4px solid var(--bleu);padding:14px 20px;margin:20px 0;border-radius:var(--radius-sm);box-shadow:var(--shadow);display:flex;align-items:center;gap:12px;text-decoration:none;color:inherit;transition:box-shadow 0.2s,transform 0.15s;cursor:pointer}.badge-fiabilite:hover{box-shadow:0 8px 24px rgba(0,0,0,0.12);transform:translateY(-2px)}.badge-fiabilite .badge-icon{width:44px;height:44px;border-radius:50%;background:var(--bleu-bg);display:flex;align-items:center;justify-content:center;font-size:1.3rem;flex-shrink:0}.badge-fiabilite .badge-text{font-size:0.9rem;color:var(--text-secondary)}.badge-fiabilite .badge-value{font-size:1.1rem;font-weight:700;color:var(--text)}.today-section{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:20px 0}.today-card{background:var(--surface);border-radius:var(--radius);padding:24px;box-shadow:var(--shadow);text-align:center}.today-card h3{font-size:0.85rem;text-transform:uppercase;letter-spacing:1px;color:var(--text-secondary);margin-bottom:12px}.today-card .couleur-circle{width:80px;height:80px;border-radius:50%;margin:0 auto 12px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:700;color:white;box-shadow:0 4px 12px rgba(0,0,0,0.15)}.couleur-BLEU{background:var(--bleu)}.couleur-BLANC{background:var(--blanc)}.couleur-ROUGE{background:var(--rouge)}.couleur-UNKNOWN{background:var(--incertain)}.today-card .date-text{font-size:0.9rem;color:var(--text-secondary)}.counters{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:24px 0}.counter-card{background:var(--surface);border-radius:var(--radius-sm);padding:20px;text-align:center;box-shadow:var(--shadow);border-top:4px solid var(--border)}.counter-card.rouge{border-top-color:var(--rouge)}.counter-card.blanc{border-top-color:var(--blanc)}.counter-card.bleu{border-top-color:var(--bleu)}.counter-card .count{font-size:2.2rem;font-weight:700}.counter-card .label{font-size:0.85rem;color:var(--text-secondary);margin-top:4px}.counter-card.rouge .count{color:var(--rouge)}.counter-card.blanc .count{color:#616161}.counter-card.bleu .count{color:var(--bleu)}.forecast-card.confirmed{border-left-width:6px;position:relative}.forecast-card.confirmed::after{content:'\2713';position:absolute;top:6px;right:8px;font-size:0.85rem;font-weight:700;color:#2E7D32;background:#E8F5E9;border-radius:50%;width:22px;height:22px;display:flex;align-items:center;justify-content:center}.fc-confirmed{font-size:0.8rem;font-weight:600;color:#2E7D32;background:#E8F5E9;padding:2px 8px;border-radius:8px;display:inline-block;margin:4px 0}.fc-changed{font-size:0.8rem;color:#E65100;background:#FFF3E0;padding:2px 8px;border-radius:8px;display:inline-block;margin-top:4px}.forecast-card.color-ROUGE{border-left-width:6px;box-shadow:0 2px 12px rgba(244,67,54,0.2)}.forecast-card.color-ROUGE .fc-couleur{font-size:0.95rem;padding:4px 14px}.forecast-grid-primary .forecast-card.color-ROUGE{box-shadow:0 4px 20px rgba(244,67,54,0.25)}.fc-tip{font-size:0.8rem;color:#B91C1C;background:var(--rouge-bg);padding:4px 8px;border-radius:6px;margin-top:6px;line-height:1.4;font-weight:500}.today-tip{font-size:0.9rem;margin-top:10px;padding:8px 12px;border-radius:var(--radius-sm);line-height:1.5}.today-tip.tip-rouge{background:var(--rouge-bg);color:#B91C1C;font-weight:600}.today-tip.tip-blanc{background:#FFF3E0;color:#E65100}.today-tip.tip-bleu{background:#E3F2FD;color:#2563EB}.today-price{font-size:0.85rem;margin-top:6px;font-weight:500}.simulated-warning{background:#FFF3E0;border:1px solid #FFB74D;border-radius:var(--radius-sm);padding:12px 16px;margin-bottom:16px;font-size:0.85rem;color:#E65100}.forecast-meta{font-size:0.8rem;color:var(--text-secondary);margin-bottom:12px;text-align:right}.last-update-bar{text-align:center;font-size:0.85rem;color:var(--text-secondary);padding:8px 12px;margin-bottom:16px;background:var(--bg-secondary,#f5f5f5);border-radius:8px}.section-title{font-size:1.15rem;font-weight:700;margin:32px 0 16px;padding-bottom:0;letter-spacing:-0.3px}.week-summary{margin:24px 0 8px}.week-summary:empty{display:none}.week-summary-top{margin:16px 0 20px}.week-summary-card{background:var(--surface);border-radius:var(--radius);padding:18px 24px;box-shadow:var(--shadow);border-left:5px solid var(--bleu)}.week-summary-card.has-rouge{border-left-color:var(--rouge);background:#FFF8F7}.week-summary-title{font-size:1.15rem;font-weight:700;margin:0 0 12px;padding-bottom:0;letter-spacing:-0.3px}.week-summary-text{font-size:0.95rem;color:var(--text-secondary);line-height:1.6}.week-summary-text strong{color:var(--text)}.week-summary-dots{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin-top:10px}.week-dots-separator{grid-column:1 / -1;height:1px;background:var(--border);margin:6px 0}.btn-cta-summary{display:inline-block;margin-top:14px;padding:10px 24px;font-size:0.95rem;text-decoration:none}.week-dot{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:46px}.week-dot-circle{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:0.85rem;font-weight:700;color:white}.week-dot-label{font-size:0.8rem;color:var(--text-secondary)}.week-dot-info{font-size:0.7rem;color:var(--text-secondary);line-height:1.3;text-align:center;max-width:60px}.week-dot-highlight .week-dot-label{font-weight:700;color:var(--text)}.week-dot-highlight .week-dot-circle{box-shadow:0 0 0 2px var(--surface),0 0 0 4px var(--text-secondary)}.week-dot-confirmed{font-size:0.7rem;font-weight:700;color:#2E7D32;background:#E8F5E9;padding:1px 5px;border-radius:6px}.week-dot-proba{font-size:0.7rem;font-weight:600;color:var(--text-secondary)}.week-dot-hesitation{font-size:0.7rem;font-weight:600;color:#E65100;background:#FFF3E0;padding:2px 5px;border-radius:6px;white-space:nowrap;display:inline-flex;align-items:center;gap:2px}.hesi-dot{display:inline-block;width:10px;height:10px;border-radius:50%;border:1px solid rgba(0,0,0,0.15);flex-shrink:0}.hesi-separator{font-size:0.6rem;color:#E65100;font-weight:700}.forecast-group-label{font-size:0.95rem;font-weight:600;color:var(--text-secondary);margin:20px 0 10px;padding:4px 0}.forecast-group-label:first-child{margin-top:0}.forecast-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;margin:0 0 16px}.forecast-grid.forecast-grid-primary{grid-template-columns:repeat(3,1fr)}.forecast-grid-primary .forecast-card{padding:20px 16px}.forecast-grid-primary .fc-date{font-size:1.3rem}.forecast-grid-primary .fc-couleur{font-size:0.9rem;padding:3px 14px}.forecast-card{background:var(--surface);border-radius:var(--radius-sm);padding:16px 12px;text-align:center;box-shadow:var(--shadow);transition:transform 0.15s,box-shadow 0.15s;cursor:default;border-left:4px solid transparent;position:relative}.forecast-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px rgba(0,0,0,0.12)}.forecast-card.color-BLEU{border-left-color:var(--bleu);background:var(--bleu-bg)}.forecast-card.color-BLANC{border-left-color:var(--blanc);background:var(--blanc-bg)}.forecast-card.color-ROUGE{border-left-color:var(--rouge);background:var(--rouge-bg)}.forecast-card .fc-day{font-size:0.8rem;font-weight:600;text-transform:uppercase;color:var(--text-secondary)}.forecast-card .fc-date{font-size:1.1rem;font-weight:700;margin:4px 0}.forecast-card .fc-couleur{font-size:0.85rem;font-weight:600;padding:2px 10px;border-radius:12px;display:inline-block;margin:6px 0}.fc-couleur.BLEU{background:var(--bleu);color:white}.fc-couleur.BLANC{background:var(--blanc);color:white}.fc-couleur.ROUGE{background:var(--rouge);color:white}.forecast-card .fc-temp{font-size:0.85rem;color:var(--text-secondary);margin-top:6px}.forecast-card .fc-confidence{font-size:0.85rem;color:var(--text-secondary);margin-top:4px}.forecast-card .fc-confidence strong{color:var(--text)}.fc-proba-bar{display:flex;height:6px;border-radius:3px;overflow:hidden;margin-top:8px;background:var(--border)}.fc-proba-bar .proba-seg{height:100%;min-width:0;transition:width 0.4s ease}.fc-proba-bar .proba-seg.seg-bleu{background:var(--bleu)}.fc-proba-bar .proba-seg.seg-blanc{background:var(--blanc)}.fc-proba-bar .proba-seg.seg-rouge{background:var(--rouge)}.fc-proba-labels{display:flex;justify-content:center;gap:8px;margin-top:4px;flex-wrap:wrap}.fc-proba-labels .proba-label{font-size:0.7rem;color:var(--text-secondary);display:flex;align-items:center;gap:3px}.fc-proba-labels .proba-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.fc-uncertain-badge{display:inline-flex;align-items:center;gap:4px;font-size:0.75rem;font-weight:600;padding:3px 10px;border-radius:10px;margin-top:6px;background:#FFF3E0;color:#E65100;border:1px solid #FFB74D}.fc-uncertain-badge .uncertain-icon{font-size:0.8rem}.forecast-card .fc-raison{font-size:0.8rem;color:var(--text-secondary);margin-top:6px;font-style:italic;line-height:1.4}.alert-close{background:none;border:none;font-size:1.5rem;cursor:pointer;padding:8px;min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center;line-height:1;opacity:0.7;transition:opacity 0.2s}.alert-close:hover{opacity:1}.welcome-banner{background:transparent;border-radius:0;padding:14px 0;margin:16px 0 8px;box-shadow:none;border-left:none;text-align:center;position:relative}.welcome-banner.hidden{display:none}.welcome-close{position:absolute;top:8px;right:8px;background:none;border:none;font-size:1.4rem;line-height:1;color:var(--text-secondary);cursor:pointer;padding:4px 8px;min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background 0.2s,color 0.2s}.welcome-close:hover{background:var(--border);color:var(--text)}.welcome-banner h2{font-size:1.15rem;font-weight:700;margin-bottom:10px;color:var(--text)}.welcome-banner p{font-size:0.9rem;color:var(--text-secondary);line-height:1.7;margin-bottom:8px}.welcome-banner p:last-child{margin-bottom:0}.welcome-banner strong{color:var(--text)}.color-tag{display:inline-block;padding:1px 8px;border-radius:10px;font-size:0.8rem;color:white;vertical-align:middle}.color-tag.bleu{background:var(--bleu)}.color-tag.blanc{background:var(--blanc)}.color-tag.rouge{background:var(--rouge)}.section-desc{font-size:0.95rem;color:var(--text-secondary);margin:-8px 0 16px;line-height:1.6}.counter-help{font-size:0.85rem;color:var(--text-secondary);margin-top:4px}.days-left-text{text-align:center;color:var(--text-secondary);font-size:0.85rem;margin-top:4px}.legend{display:flex;flex-wrap:wrap;gap:20px;margin:20px 0 8px;padding:16px 20px;background:var(--surface);border-radius:var(--radius-sm);box-shadow:none;border:1px solid var(--border)}.legend-item{font-size:0.85rem;display:flex;align-items:flex-start;gap:8px}.legend-item .legend-dot{margin-top:5px}.legend-price{color:var(--text-secondary);font-size:0.8rem}.legend-desc{color:var(--text-secondary);font-size:0.8rem;margin-left:0.4em}.legend-br{display:none}.legend-dot{width:12px;height:12px;border-radius:50%;flex-shrink:0}.how-it-works{margin:40px 0 32px}.how-it-works h2{font-size:1.15rem;font-weight:700;margin-bottom:20px;padding-bottom:0;letter-spacing:-0.3px}.steps-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.step-card{background:var(--surface);border-radius:var(--radius);padding:24px;box-shadow:none;border:1px solid var(--border);text-align:center}.step-number{width:40px;height:40px;border-radius:50%;background:var(--accent);color:white;font-weight:700;font-size:1.1rem;display:flex;align-items:center;justify-content:center;margin:0 auto 12px}.step-card h3{font-size:0.95rem;font-weight:700;margin-bottom:8px;color:var(--text)}.step-card p{font-size:0.85rem;color:var(--text-secondary);line-height:1.6}.faq-section{margin:32px 0}.faq-list{display:flex;flex-direction:column;gap:8px}.faq-item{background:transparent;border-radius:0;box-shadow:none;overflow:hidden;border-bottom:1px solid var(--border)}.faq-item summary{padding:16px 20px;font-weight:600;font-size:0.95rem;cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between}.faq-item summary::after{content:'+';font-size:1.2rem;color:var(--text-secondary);transition:transform 0.3s;flex-shrink:0}.faq-item[open] summary::after{content:'-'}.faq-item summary::-webkit-details-marker{display:none}.faq-item .faq-content{max-height:0;overflow:hidden;transition:max-height 0.3s ease}.faq-item[open] .faq-content{max-height:300px}.faq-item p{padding:0 20px 16px;font-size:0.9rem;color:var(--text-secondary);line-height:1.7}.subscribe-section{background:var(--surface);border-radius:var(--radius);padding:32px;margin:32px 0;box-shadow:var(--shadow);border-top:4px solid var(--vert)}.subscribe-section h2{font-size:1.2rem;margin-bottom:8px}.subscribe-section .sub-desc{color:var(--text-secondary);font-size:0.9rem;margin-bottom:20px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{font-size:0.85rem;font-weight:600;color:var(--text-secondary)}.form-group input,.form-group select{padding:10px 14px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:0.95rem;transition:border-color 0.2s}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--bleu);box-shadow:0 0 0 3px rgba(33,150,243,0.1)}.form-checkbox{display:flex;flex-direction:row;align-items:center;gap:8px}.form-checkbox input[type="checkbox"]{width:24px;height:24px;flex-shrink:0}.btn{display:inline-flex;align-items:center;gap:8px;padding:12px 28px;background:var(--accent);color:white;border:none;border-radius:50px;font-size:0.95rem;font-weight:700;cursor:pointer;transition:transform 0.15s,box-shadow 0.2s,background 0.2s;margin-top:16px;min-height:48px}.btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px var(--accent-shadow);background:var(--accent-hover)}.btn:active{transform:translateY(0)}.btn:disabled{opacity:0.7;cursor:not-allowed;transform:none}.btn .btn-spinner{display:inline-block;width:16px;height:16px;border:2px solid rgba(255,255,255,0.3);border-top-color:white;border-radius:50%;animation:spin 0.6s linear infinite}.form-result{margin-top:16px;padding:12px 16px;border-radius:var(--radius-sm);display:none;font-size:0.9rem}.form-result.success{display:block;background:#E8F5E9;color:#2E7D32;border:1px solid #A5D6A7}.form-result.error{display:block;background:var(--rouge-bg);color:#B91C1C;border:1px solid #EF9A9A}.form-hint{font-size:0.85rem;color:var(--text-secondary)}.form-legal{font-size:0.85rem;color:var(--text-secondary);margin-top:12px;line-height:1.5}.btn.btn-subscribe{font-size:1.05rem;padding:14px 32px}.form-legal a{color:var(--bleu);text-decoration:none}.legal-section{background:var(--surface);border-radius:var(--radius);padding:24px;box-shadow:var(--shadow);margin:24px 0}.legal-section h3{font-size:1rem;font-weight:700;margin-bottom:12px;color:var(--text)}.legal-text{font-size:0.9rem;line-height:1.7;color:var(--text-secondary)}.legal-text strong{color:var(--text)}.legal-text a{color:var(--bleu);text-decoration:none}.unsub-form{display:flex;gap:8px;max-width:400px;margin-top:12px}.unsub-form input{flex:1;padding:10px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:0.95rem}.unsub-result{margin-top:12px;font-size:0.9rem;display:none;padding:12px;border-radius:var(--radius-sm)}footer{padding:40px 20px 24px;background:var(--footer-bg);color:var(--footer-text);font-size:0.85rem;border-top:none;margin-top:48px}.footer-inner{max-width:1100px;margin:0 auto}.footer-brand{font-size:1rem;font-weight:700;color:white}.footer-tagline{font-size:0.85rem;color:var(--footer-text);margin-top:4px}.footer-links{display:flex;flex-wrap:wrap;gap:6px 20px;margin-top:16px}.footer-links a{color:var(--footer-text);text-decoration:none;padding:6px 0;display:inline-block;min-height:44px;line-height:32px;transition:color 0.2s}.footer-links a:hover{color:white}.footer-legal{margin-top:16px;padding-top:16px;border-top:1px solid rgba(255,255,255,0.1);font-size:0.8rem;color:#9CA3AF;line-height:1.6}footer a{color:var(--footer-text);text-decoration:none}.back-to-top{position:fixed;bottom:24px;right:24px;width:48px;height:48px;border-radius:50%;background:var(--accent);color:white;border:none;cursor:pointer;box-shadow:0 4px 12px rgba(13,71,161,0.3);font-size:1.3rem;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:opacity 0.3s,visibility 0.3s,transform 0.2s;z-index:90}.back-to-top.visible{opacity:1;visibility:visible}.back-to-top:hover{transform:translateY(-2px);box-shadow:0 6px 16px rgba(13,71,161,0.4)}.phone-feedback{font-size:0.85rem;margin-top:2px;min-height:1.2em}.phone-feedback.valid{color:#2E7D32}.phone-feedback.invalid{color:#B91C1C}.retry-btn{display:inline-block;margin-top:12px;padding:8px 20px;background:var(--bleu);color:white;border:none;border-radius:var(--radius-sm);font-size:0.85rem;cursor:pointer;transition:opacity 0.2s}.retry-btn:hover{opacity:0.9}.loader{display:inline-block;width:20px;height:20px;border:3px solid var(--border);border-top-color:var(--bleu);border-radius:50%;animation:spin 0.6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-state{text-align:center;padding:40px;color:var(--text-secondary)}.loading-spinner{display:inline-block;width:18px;height:18px;border:2px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin 0.8s linear infinite}.maintenance-banner{text-align:center;padding:32px 24px;margin:16px auto;max-width:480px;background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.maintenance-icon{font-size:2rem;margin-bottom:8px;opacity:0.6;animation:spin 4s linear infinite}.maintenance-banner h3{color:var(--text-primary);font-size:1.1rem}.beta-badge{display:inline-block;background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;font-size:.7rem;font-weight:700;padding:2px 8px;border-radius:10px;margin-left:8px;vertical-align:middle;letter-spacing:.5px;text-transform:uppercase}.beta-notice{display:block;margin-top:6px;font-size:.78rem;color:var(--text-secondary);font-style:italic}@media (max-width:768px){.hamburger-btn{display:block}#main-nav{display:none;flex-direction:column;position:absolute;top:100%;left:0;right:0;background:linear-gradient(135deg,#2563EB 0%,#1D4ED8 100%);padding:8px 20px 16px;box-shadow:0 4px 12px rgba(0,0,0,0.2);gap:0}#main-nav.open{display:flex}#main-nav a{padding:12px 16px;border-radius:8px;font-size:0.95rem;min-height:44px}#main-nav .nav-cta{background:rgba(255,255,255,0.95);color:var(--accent);border-radius:8px;margin-top:4px;text-align:center;justify-content:center}.header-row{position:relative}.today-section{grid-template-columns:1fr 1fr}.counters{grid-template-columns:repeat(3,1fr)}.form-grid{grid-template-columns:1fr}.forecast-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}.forecast-grid.forecast-grid-primary{grid-template-columns:repeat(3,1fr)}.steps-grid{grid-template-columns:1fr}.legend{flex-direction:column;gap:12px;padding:14px 16px}.legend-br{display:inline}.legend-item{align-items:flex-start}.today-card{padding:18px 14px}.today-card h3{font-size:0.8rem;margin-bottom:8px}header[role="banner"] h1,.header-title{font-size:1.2rem}.welcome-banner{padding:18px}.counter-card{padding:12px 8px}.counter-card .count{font-size:1.6rem}.counter-card .label{font-size:0.8rem}.counter-help{font-size:0.75rem}}@media (max-width:480px){.forecast-grid{grid-template-columns:repeat(2,1fr)}.forecast-grid.forecast-grid-primary{grid-template-columns:1fr}.container{padding:0 12px}.today-section{grid-template-columns:1fr;gap:12px}.today-card{padding:20px 16px}.today-card .couleur-circle{width:64px;height:64px;font-size:1.3rem}.today-tip{font-size:0.85rem}.counter-card .count{font-size:1.4rem}.counter-card .label{font-size:0.75rem}.counter-help{font-size:0.7rem}.back-to-top{bottom:80px;right:16px}}.unsubscribe-block{margin-top:24px;text-align:center}.unsub-toggle{font-size:0.9rem;color:var(--text-secondary)}.link-btn{background:none;border:none;color:var(--bleu);cursor:pointer;font-size:0.9rem;text-decoration:underline;padding:0}.link-btn:hover{color:var(--rouge)}.unsub-form.hidden{display:none}.unsub-form{margin-top:12px;animation:fadeIn 0.2s ease}.form-inline{display:flex;gap:12px;justify-content:center;align-items:flex-start;flex-wrap:wrap}.form-inline input[type="tel"]{max-width:220px}.btn-unsub{padding:10px 20px;background:var(--text-secondary);color:white;border:none;border-radius:var(--radius-sm);font-size:0.9rem;cursor:pointer}.btn-unsub:hover{background:var(--rouge)}.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:24px 0}.admin-card{background:var(--surface);border-radius:var(--radius);padding:24px;box-shadow:var(--shadow)}.admin-card h3{font-size:1rem;font-weight:700;margin-bottom:16px;color:var(--text)}.metric-row{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--border);font-size:0.9rem}.metric-row:last-child{border-bottom:none}.metric-value{font-weight:600}.confusion-table{width:100%;border-collapse:collapse;font-size:0.85rem;margin-top:8px}.confusion-table th,.confusion-table td{padding:8px 12px;text-align:center;border:1px solid var(--border)}.confusion-table th{background:var(--bg);font-weight:600}.error-list{list-style:none;padding:0}.error-list li{padding:10px 0;border-bottom:1px solid var(--border);font-size:0.85rem}.error-list li:last-child{border-bottom:none}.task-btn{padding:8px 16px;background:var(--bleu);color:white;border:none;border-radius:var(--radius-sm);font-size:0.85rem;cursor:pointer;margin:4px}.task-btn:hover{opacity:0.9}.chart-container{position:relative;height:300px;margin-top:16px}@media (max-width:768px){.admin-grid{grid-template-columns:1fr}}.header-baseline{display:block;font-size:0.8rem;font-weight:400;opacity:0.85;letter-spacing:0;margin-top:1px}.cta-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;background:linear-gradient(135deg,var(--bleu-bg) 0%,#DBEAFE 100%);border:1px solid var(--bleu);border-radius:var(--radius-sm);padding:12px 20px;margin:16px 0}.cta-banner-text{font-size:0.95rem;font-weight:600;color:#1D4ED8}.cta-banner-btn{display:inline-flex;align-items:center;padding:8px 20px;background:var(--accent);color:white;text-decoration:none;border-radius:20px;font-size:0.85rem;font-weight:600;white-space:nowrap;transition:transform 0.15s,box-shadow 0.2s}.cta-banner-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(13,71,161,0.3)}.next-rouge-summary{margin:16px 0}.next-rouge-card{display:flex;align-items:center;gap:12px;padding:16px 20px;border-radius:var(--radius-sm);background:var(--rouge-bg);border-left:5px solid var(--rouge);box-shadow:var(--shadow)}.next-rouge-card.next-rouge-confirmed{background:#FFF3E0;border-left-color:#E65100}.next-rouge-card.next-rouge-safe{background:#E8F5E9;border-left-color:#2E7D32}.next-rouge-icon{font-size:1.5rem;flex-shrink:0}.next-rouge-card strong{display:block;font-size:1rem;color:var(--text)}.next-rouge-detail{display:block;font-size:0.85rem;color:var(--text-secondary);margin-top:2px}.next-rouge-detail a{color:var(--bleu);font-weight:600;text-decoration:none}.counter-context{text-align:center;font-size:0.9rem;color:var(--text-secondary);margin-top:8px;line-height:1.5}.savings-comparison{display:flex;align-items:center;gap:12px;margin:16px 0;flex-wrap:wrap;justify-content:center}.savings-item{text-align:center;padding:12px 16px;border-radius:var(--radius-sm);min-width:140px}.savings-bad{background:var(--rouge-bg);border:1px solid var(--rouge)}.savings-good{background:#E8F5E9;border:1px solid #4CAF50}.savings-label{font-size:0.8rem;color:var(--text-secondary);font-weight:600}.savings-value{font-size:1.6rem;font-weight:700}.savings-bad .savings-value{color:var(--rouge)}.savings-good .savings-value{color:#2E7D32}.savings-detail{font-size:0.75rem;color:var(--text-secondary);margin-top:2px}.savings-arrow{font-size:1.5rem;color:var(--text-secondary);font-weight:700}.savings-result{width:100%;text-align:center;font-size:0.95rem;color:#2E7D32;font-weight:600;margin-top:4px}.sms-preview{margin-bottom:20px}.sms-preview-label{font-size:0.85rem;color:var(--text-secondary);margin-bottom:8px;font-weight:600}.sms-bubble{display:inline-block;background:#E3F2FD;border-radius:16px 16px 16px 4px;padding:12px 18px;font-size:0.9rem;color:var(--text);line-height:1.5;max-width:420px;box-shadow:var(--shadow);position:relative}.form-simple{max-width:400px}.form-advanced{margin-top:12px}.form-advanced-toggle{font-size:0.9rem;color:var(--bleu);cursor:pointer;font-weight:600;padding:8px 0;list-style:none}.form-advanced-toggle::-webkit-details-marker{display:none}.form-advanced-toggle::before{content:'+'}.form-advanced[open] .form-advanced-toggle::before{content:'- '}.source-label{display:inline-block;font-size:0.75rem;font-weight:700;padding:2px 10px;border-radius:10px;margin-right:6px;vertical-align:middle;text-transform:uppercase;letter-spacing:0.5px}.label-officiel{background:#E8F5E9;color:#2E7D32}.label-prediction{background:#E3F2FD;color:#2563EB}.update-freq{font-size:0.85rem;color:var(--text-secondary);font-style:italic}.hors-saison-banner{display:flex;align-items:center;gap:16px;padding:20px 24px;background:#FFF8E1;border:1px solid #FFD54F;border-radius:var(--radius);margin:20px 0;font-size:0.95rem;line-height:1.6}.hors-saison-icon{font-size:2rem;flex-shrink:0}.social-proof{color:#2E7D32;font-weight:700}.welcome-scenario{font-size:0.85rem;color:var(--text-secondary);background:var(--bg);padding:10px 14px;border-radius:var(--radius-sm);border-left:3px solid var(--bleu);margin-top:8px}.btn-cta-welcome{display:inline-flex;align-items:center;margin-top:12px;padding:10px 24px;background:var(--accent);color:white;border:none;border-radius:50px;font-size:0.95rem;font-weight:700;text-decoration:none;transition:transform 0.15s,box-shadow 0.2s}.btn-cta-welcome:hover{transform:translateY(-2px);box-shadow:0 4px 12px var(--accent-shadow);background:var(--accent-hover)}.counter-progress{height:6px;background:var(--border);border-radius:3px;margin-top:8px;overflow:hidden}.counter-progress-fill{height:100%;border-radius:3px;width:0%;transition:width 0.8s ease}.rouge-fill{background:var(--rouge)}.blanc-fill{background:var(--blanc)}.bleu-fill{background:var(--bleu)}@keyframes fadeInUp{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.fc-animate{animation:fadeInUp 0.3s ease forwards;opacity:0}.legend-note{width:100%;font-size:0.75rem;color:var(--text-secondary);margin-top:4px;font-style:italic}.forecast-grid-far{opacity:0.7}.week-dot-circle.confirmed-dot{border:2px solid #2E7D32;box-shadow:0 0 0 1px #E8F5E9}.week-dot-circle.dot-blanc{border-radius:6px}.week-dot-circle.dot-rouge{border-radius:50%;outline:2px solid var(--rouge);outline-offset:2px}@media (max-width:768px){.savings-comparison{gap:8px}.savings-item{min-width:120px;padding:10px 12px}.savings-value{font-size:1.3rem}.header-baseline{font-size:0.75rem}.sms-bubble{max-width:100%}.welcome-banner{padding:10px 0;margin:8px 0}.welcome-banner p{font-size:0.85rem;margin-bottom:0}.week-summary-top{margin:8px 0 12px}.week-summary-card{padding:12px 16px}.week-summary-title{font-size:1rem;margin:0 0 6px;padding-bottom:6px}.week-summary-text{font-size:0.85rem}.week-summary-dots{gap:4px;grid-template-columns:repeat(5,1fr)}.week-dot{min-width:auto}.week-dot-circle{width:34px;height:34px;font-size:0.75rem}}@media (max-width:480px){.savings-arrow{display:none}.savings-comparison{flex-direction:column}.next-rouge-card{flex-direction:column;text-align:center}.hors-saison-banner{flex-direction:column;text-align:center}.welcome-banner{padding:8px 0;margin:8px 0}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--bleu);outline-offset:2px}.breadcrumb{display:flex;align-items:center;flex-wrap:wrap;gap:6px;font-size:0.9rem;color:var(--text-secondary);margin:16px 0 24px;line-height:1.4}.breadcrumb a{color:var(--bleu);text-decoration:none}.breadcrumb a:hover{text-decoration:underline}.breadcrumb span[aria-hidden]{color:var(--text-secondary);font-size:0.8em;line-height:1;user-select:none}.breadcrumb span[aria-current]{color:var(--text-secondary)}.blog-index-intro{color:var(--text-secondary);margin:8px 0 32px;font-size:1.05rem;line-height:1.6}.blog-list{display:flex;flex-direction:column;gap:20px}.blog-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;transition:box-shadow 0.2s,transform 0.2s}.blog-card:hover{box-shadow:0 8px 24px rgba(0,0,0,0.12);transform:translateY(-4px)}.blog-card-link{display:block;padding:24px;text-decoration:none;color:var(--text)}.blog-card-meta{display:flex;gap:16px;font-size:0.85rem;color:var(--text-secondary);margin-bottom:8px}.blog-card h2{font-size:1.25rem;margin-bottom:8px;color:var(--text)}.blog-card p{color:var(--text-secondary);line-height:1.5;margin-bottom:12px}.blog-read-more{color:var(--bleu);font-weight:600;font-size:0.95rem}.blog-reading-time{color:var(--text-secondary);font-size:0.85rem}.blog-cta{margin:48px 0 24px;padding:32px;background:var(--bleu-bg);border:1px solid var(--bleu);border-radius:var(--radius);text-align:center}.blog-cta h2{font-size:1.3rem;margin-bottom:8px;color:var(--text)}.blog-cta p{color:var(--text-secondary);margin-bottom:16px}.blog-article{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:32px}.blog-article-header{margin-bottom:28px;padding-bottom:20px;border-bottom:1px solid var(--border);background:none;position:static;z-index:auto;color:var(--text)}.blog-article-header h1{font-size:1.8rem;line-height:1.3;margin-bottom:12px;color:var(--text)}.blog-article-meta{display:flex;gap:16px;align-items:center;color:var(--text-secondary);font-size:0.9rem}.blog-article-body{line-height:1.8;font-size:1.05rem;color:var(--text)}.blog-article-body h2{font-size:1.4rem;margin:36px 0 16px;padding-bottom:8px;border-bottom:1px solid var(--border)}.blog-article-body h3{font-size:1.15rem;margin:28px 0 12px}.blog-article-body p{margin-bottom:16px}.blog-article-body ul,.blog-article-body ol{margin:0 0 16px 24px}.blog-article-body li{margin-bottom:6px}.blog-article-body strong{color:var(--text)}.blog-article-body table{width:100%;border-collapse:collapse;margin:20px 0;font-size:0.95rem}.blog-article-body th,.blog-article-body td{padding:10px 12px;border:1px solid var(--border);text-align:left}.blog-article-body th{background:var(--bleu-bg);font-weight:600}.blog-article-body tr:nth-child(even){background:var(--bg)}.blog-article-body blockquote{margin:20px 0;padding:16px 20px;border-left:4px solid var(--bleu);background:var(--bleu-bg);border-radius:0 var(--radius-sm) var(--radius-sm) 0}.blog-cta-inline{margin:36px 0;padding:24px;background:var(--bleu-bg);border:1px solid var(--bleu);border-radius:var(--radius);text-align:center}.blog-cta-inline strong{display:block;font-size:1.1rem;margin-bottom:8px;color:var(--text)}.blog-cta-inline p{color:var(--text-secondary);margin-bottom:12px}.blog-nav-articles{margin:32px 0;padding-top:16px;border-top:1px solid var(--border)}.blog-nav-articles a{color:var(--bleu);text-decoration:none;font-weight:600}.blog-nav-articles a:hover{text-decoration:underline}@media (max-width:768px){.blog-article{padding:24px 20px}.breadcrumb{margin:12px 0 16px;font-size:0.85rem}}@media (max-width:480px){.blog-article{padding:20px 16px}.blog-article-header h1{font-size:1.4rem}.blog-article-meta{font-size:0.85rem;gap:10px}.blog-article-body{font-size:1rem}.blog-article-body h2{font-size:1.2rem}.blog-card-link{padding:16px}.blog-cta,.blog-cta-inline{padding:20px}}.subscribe-cta-section{margin:32px 0}.subscribe-cta-card{display:flex;align-items:center;gap:20px;background:var(--surface);border:1px solid var(--border);border-left:5px solid var(--bleu);border-radius:var(--radius);padding:24px 28px;box-shadow:var(--shadow)}.subscribe-cta-icon{font-size:2.5rem;flex-shrink:0;line-height:1}.subscribe-cta-content{flex:1}.subscribe-cta-content h2{font-size:1.1rem;font-weight:700;margin-bottom:4px;color:var(--text)}.subscribe-cta-content p{font-size:0.9rem;color:var(--text-secondary);margin:0;line-height:1.5}.social-proof-inline{font-size:0.85rem !important;color:var(--bleu) !important;font-weight:600;margin-top:4px !important}.btn-subscribe-cta{display:inline-flex;align-items:center;padding:14px 28px;background:var(--accent);color:white;border:none;border-radius:50px;font-size:1rem;font-weight:700;cursor:pointer;white-space:nowrap;transition:transform 0.15s,box-shadow 0.2s,background 0.2s;flex-shrink:0}.btn-subscribe-cta:hover{transform:translateY(-2px);box-shadow:0 4px 16px var(--accent-shadow)}.unsub-link-text{text-align:center;font-size:0.85rem;color:var(--text-secondary);margin-top:12px}@media (max-width:768px){.subscribe-cta-card{flex-direction:column;text-align:center;padding:20px;gap:12px}.subscribe-cta-icon{font-size:2rem}.btn-subscribe-cta{width:100%;justify-content:center}}.subscribe-modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.6);z-index:200;display:flex;align-items:center;justify-content:center;padding:20px;animation:fadeIn 0.2s ease}.subscribe-modal{background:var(--surface);border-radius:var(--radius);padding:32px;max-width:520px;width:100%;max-height:90vh;overflow-y:auto;position:relative;box-shadow:0 8px 40px rgba(0,0,0,0.2);animation:modalSlideIn 0.3s ease}@keyframes modalSlideIn{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{from{opacity:0}to{opacity:1}}.modal-close{position:absolute;top:12px;right:12px;background:none;border:none;font-size:1.6rem;line-height:1;color:var(--text-secondary);cursor:pointer;padding:4px 8px;min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background 0.2s,color 0.2s}.modal-close:hover{background:var(--border);color:var(--text)}.subscribe-modal h2{font-size:1.2rem;margin-bottom:6px;padding-right:40px}.subscribe-modal .sub-desc{color:var(--text-secondary);font-size:0.9rem;margin-bottom:20px}.subscribe-modal .sms-preview{margin-bottom:18px}.subscribe-modal .form-simple{max-width:100%}.subscribe-modal .form-group+.form-group{margin-top:16px}.subscribe-modal .btn-subscribe{margin-top:16px;width:100%;justify-content:center}.subscribe-modal .form-legal{margin-top:14px;text-align:center}.subscribe-modal .modal-manage-section{margin-top:14px;text-align:center}.modal-manage-link-btn{background:none;border:none;color:var(--text-secondary);cursor:pointer;font-size:.82rem;text-decoration:underline;padding:0;margin-left:4px}.modal-manage-link-btn:hover{color:var(--accent)}.success-check{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:#2E7D32;color:white;font-size:0.85rem;font-weight:700;margin-right:6px;animation:popIn 0.3s ease;vertical-align:middle}@keyframes popIn{0%{transform:scale(0)}60%{transform:scale(1.2)}100%{transform:scale(1)}}@media (max-width:768px){.subscribe-modal{padding:28px 20px}.subscribe-modal .sms-bubble{max-width:100%;font-size:0.85rem;padding:10px 14px}.subscribe-modal h2{font-size:1.1rem}.week-summary-dots{grid-template-columns:repeat(5,1fr)}}@media (max-width:480px){.subscribe-modal{padding:22px 16px;max-height:95vh}.subscribe-modal .sms-bubble{font-size:0.82rem;padding:10px 12px}.subscribe-modal .btn-subscribe{font-size:0.95rem;padding:12px 24px}}@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important}.forecast-card:hover{transform:none}.btn:hover{transform:none}.blog-card:hover{transform:none}}