/* Homepage refinement round (2026-10-22). Loaded last. */

/* Vertical rhythm: one consistent section spacing on the homepage */
.home main > section.section-space, .home main > .section-space { padding-block: clamp(3.5rem, 7vw, 6rem); margin-block: 0; margin-inline: auto; }
.home .metric-strip { margin-top: clamp(1.5rem, 3vw, 2.25rem); }
.home main > *:last-child { padding-bottom: clamp(3rem, 6vw, 5rem); }
.site-footer-v3 { margin-top: 0; border-top: 1px solid var(--b-line); }
.site-footer-v3 .footer-shell { padding-top: clamp(3rem, 6vw, 4.5rem); }
.site-footer-v3 .footer-lead { border-bottom: 0; }

/* Ticker: continuous marquee, never a scrollbar (also under reduced motion, just slower) */
.value-ticker { overflow: hidden !important; scrollbar-width: none; }
.value-ticker::-webkit-scrollbar { display: none; }
@media (prefers-reduced-motion: reduce) {
  .value-ticker-track { animation: none !important; }
  .value-ticker-track[aria-hidden="true"] { display: none !important; }
}

/* Sports: photo covers, continuous auto-scroll, no scrollbar */
.sports-rail { overflow: hidden !important; scrollbar-width: none; }
.sports-rail::-webkit-scrollbar { display: none; }
.sports-track { animation: b-marquee 70s linear infinite !important; }
@media (prefers-reduced-motion: reduce) {
  .sports-track { animation: none !important; }
  .sports-track [aria-hidden="true"] { display: none !important; }
}
.sport-tile { width: 13.5rem; }
.sport-tile-poster { height: 17rem; justify-content: flex-end; align-items: flex-start; padding: 1.1rem; gap: 0.4rem; }
.sport-tile-poster::before { display: none; }
.sport-tile-img { position: absolute !important; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: 0 !important; transition: transform 0.6s ease; }
.sport-tile-poster::after { height: 100%; background: linear-gradient(180deg, rgba(10, 10, 15, 0) 35%, rgba(10, 10, 15, 0.92) 100%); z-index: 0; }
.sport-tile-poster > strong, .sport-tile-poster > .sport-tile-live { position: relative; z-index: 2; }
.sport-tile-poster > .sport-tile-live { position: absolute; top: 0.9rem; left: 0.9rem; }
.sport-tile:hover .sport-tile-img { transform: scale(1.06); }
.sport-tile-poster strong { font-size: 1.4rem; text-shadow: 0 2px 12px rgba(0, 0, 0, 0.6); }
.sport-tile-poster { border-bottom: 3px solid var(--b-crimson); }

/* Comparison v4: compact, SaaS style */
.cmp4-head { max-width: 46rem; }
.cmp4-head p:not(.eyebrow) { color: var(--b-soft); line-height: 1.65; margin-top: 1rem; font-size: 0.95rem; }
.cmp4-table { margin-top: 2rem; border: 1px solid var(--b-line); border-radius: 1.25rem; background: rgba(255, 255, 255, 0.015); position: relative; }
.cmp4-row { display: grid; grid-template-columns: 1.2fr 1.25fr 1fr 1fr; align-items: center; border-top: 1px solid rgba(255, 255, 255, 0.06); }
.cmp4-row:first-child { border-top: 0; }
.cmp4-row > span { padding: 0.8rem 1rem; font-size: 0.86rem; color: var(--b-muted); display: flex; align-items: center; gap: 0.55rem; min-height: 3.1rem; }
.cmp4-row > .cmp4-feature { color: #f4f4f5; font-weight: 600; }
.cmp4-row > .cmp4-us { color: #fff; font-weight: 600; background: linear-gradient(90deg, rgba(220, 38, 38, 0.14), rgba(220, 38, 38, 0.06)); border-inline: 1px solid rgba(248, 113, 113, 0.35); align-self: stretch; }
.cmp4-header { position: sticky; top: 7.5rem; z-index: 2; background: #101014; border-radius: 1.25rem 1.25rem 0 0; }
.cmp4-header > span { font-size: 0.68rem; letter-spacing: 0.12em; text-transform: uppercase; font-weight: 800; min-height: 3.4rem; }
.cmp4-header > .cmp4-us { background: var(--b-grad-crimson); color: #fff; border-color: transparent; border-radius: 0.9rem 0.9rem 0 0; box-shadow: 0 -8px 30px -12px rgba(220, 38, 38, 0.8); }
.cmp4-header > .cmp4-us svg { width: 1rem; height: 1rem; }
.cmp4-row:last-child > .cmp4-us { border-radius: 0 0 0.9rem 0.9rem; border-bottom: 1px solid rgba(248, 113, 113, 0.35); }
.cmp-mark { flex: none; width: 1.3rem; height: 1.3rem; border-radius: 999px; display: grid; place-items: center; font-size: 0.85rem; font-weight: 800; line-height: 1; }
.cmp-mark svg { width: 0.8rem; height: 0.8rem; stroke-width: 3; }
.cmp-yes { background: rgba(34, 197, 94, 0.18); color: #4ade80; }
.cmp-mixed { background: rgba(250, 204, 21, 0.12); color: #fde68a; }
.cmp-no { background: rgba(248, 113, 113, 0.15); color: #fca5a5; }
.cmp4-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem 1.5rem; margin-top: 1.5rem; }
.cmp4-actions .text-link { margin: 0; }
@media (max-width: 860px) {
  .cmp4-table { border: 0; background: transparent; display: grid; gap: 0.6rem; }
  .cmp4-header { display: none; }
  .cmp4-row { grid-template-columns: 1fr; border: 1px solid var(--b-line); border-radius: 1rem; background: var(--b-charcoal); overflow: hidden; }
  .cmp4-row > span { min-height: 0; padding: 0.55rem 0.9rem; font-size: 0.84rem; }
  .cmp4-row > .cmp4-feature { padding-top: 0.85rem; font-size: 0.92rem; }
  .cmp4-row > span[data-label]::before { content: attr(data-label); width: 7.5rem; flex: none; font-size: 0.62rem; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; color: var(--b-muted); order: -1; }
  .cmp4-row > .cmp4-us { border-inline: 0; border-block: 1px solid rgba(248, 113, 113, 0.25); border-radius: 0 !important; }
  .cmp4-row > .cmp4-us::before { color: #fecaca !important; }
}

/* Guarantee v4 */
.g4-card { position: relative; overflow: hidden; border-radius: 2rem; border: 1px solid rgba(248, 113, 113, 0.3); padding: clamp(1.5rem, 4vw, 3rem); background: linear-gradient(110deg, rgba(10, 10, 15, 0.96) 0%, rgba(10, 10, 15, 0.88) 55%, rgba(30, 10, 12, 0.7) 100%), var(--g4-bg) center right / cover no-repeat; box-shadow: var(--b-shadow); }
.g4-main { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: clamp(1.5rem, 4vw, 3rem); align-items: center; }
.g4-main p:not(.eyebrow) { color: var(--b-soft); line-height: 1.7; max-width: 40rem; }
.g4-seal { position: relative; width: clamp(9rem, 16vw, 12rem); aspect-ratio: 1; border-radius: 50%; display: grid; place-content: center; text-align: center; background: var(--b-grad-crimson); box-shadow: 0 0 0 10px rgba(220, 38, 38, 0.12), 0 30px 60px -20px rgba(220, 38, 38, 0.8); }
.g4-seal svg { position: absolute; inset: 0; width: 100%; height: 100%; animation: g4-spin 30s linear infinite; }
.g4-seal text { fill: rgba(255, 255, 255, 0.85); font-size: 13px; font-weight: 700; letter-spacing: 3px; }
.g4-seal strong { font-size: clamp(3rem, 6vw, 4.2rem); line-height: 0.9; letter-spacing: -0.06em; position: relative; }
.g4-seal span { font-size: 0.72rem; letter-spacing: 0.3em; font-weight: 800; position: relative; }
@keyframes g4-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .g4-seal svg { animation: none; } }
.g4-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem 1.5rem; margin-top: 1.5rem; }
.g4-actions .text-link { margin: 0; }
.g4-promises { list-style: none; margin: 2rem 0 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.75rem; }
.g4-promises li { display: flex; gap: 0.75rem; align-items: center; padding: 0.9rem 1rem; border-radius: 1rem; background: rgba(255, 255, 255, 0.04); border: 1px solid var(--b-line); backdrop-filter: blur(8px); }
.g4-promises svg { flex: none; width: 1.4rem; height: 1.4rem; color: var(--b-crimson-bright); }
.g4-promises strong { display: block; font-size: 0.9rem; }
.g4-promises small { display: block; font-size: 0.76rem; color: var(--b-muted); }
.g4-timeline { list-style: none; margin: 1.25rem 0 0; padding: 1.25rem 0 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; border-top: 1px solid var(--b-line); counter-reset: g4; }
.g4-timeline li { position: relative; padding-left: 2.2rem; display: grid; gap: 0.15rem; }
.g4-timeline li::before { counter-increment: g4; content: counter(g4); position: absolute; left: 0; top: 0; width: 1.6rem; height: 1.6rem; border-radius: 50%; display: grid; place-items: center; background: rgba(220, 38, 38, 0.2); color: #fecaca; font-size: 0.75rem; font-weight: 800; }
.g4-timeline span { font-size: 0.66rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--b-crimson-bright); font-weight: 800; }
.g4-timeline strong { font-size: 0.92rem; }
.g4-timeline small { font-size: 0.78rem; color: var(--b-muted); line-height: 1.45; }
@media (max-width: 1023px) { .g4-promises { grid-template-columns: 1fr; } .g4-timeline { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { .g4-main { grid-template-columns: 1fr; } .g4-timeline { grid-template-columns: 1fr; } }

/* Trust v4 */
.t4-head { text-align: center; max-width: 44rem; margin: 0 auto; }
.t4-head .section-title { margin-inline: auto; }
.t4-stats { list-style: none; margin: 2rem 0 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-radius: 1.5rem; border: 1px solid var(--b-line); background: linear-gradient(180deg, rgba(220, 38, 38, 0.12), rgba(255, 255, 255, 0.02)); overflow: hidden; }
.t4-stats li { padding: 1.5rem 1rem; text-align: center; display: grid; gap: 0.2rem; border-left: 1px solid var(--b-line); }
.t4-stats li:first-child { border-left: 0; }
.t4-stats strong { font-size: clamp(1.8rem, 3.6vw, 2.8rem); letter-spacing: -0.05em; line-height: 1; background: linear-gradient(180deg, #fff, #fca5a5); -webkit-background-clip: text; background-clip: text; color: transparent; }
.t4-stats span { font-size: 0.78rem; color: var(--b-muted); }
.t4-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; margin-top: 1rem; }
.t4-card { padding: 1.5rem; border-radius: 1.4rem; border: 1px solid var(--b-line); background: var(--b-grad-panel), var(--b-charcoal); }
.t4-icon { width: 2.8rem; height: 2.8rem; border-radius: 0.9rem; display: grid; place-items: center; background: var(--b-grad-crimson); }
.t4-icon svg { width: 1.3rem; height: 1.3rem; }
.t4-card h3 { margin: 1.1rem 0 0; font-size: 1.1rem; }
.t4-card p { color: var(--b-soft); font-size: 0.9rem; line-height: 1.6; margin: 0.5rem 0 0; }
.t4-card .text-link { margin-top: 0.9rem; font-size: 0.86rem; }
@media (max-width: 900px) { .t4-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); } .t4-stats li:nth-child(3) { border-left: 0; } .t4-stats li:nth-child(n+3) { border-top: 1px solid var(--b-line); } .t4-grid { grid-template-columns: 1fr; } }

/* City guides v4 */
.c4-card { position: relative; overflow: hidden; border-radius: 2rem; border: 1px solid var(--b-line); padding: clamp(1.5rem, 4vw, 3rem); display: grid; grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr); gap: clamp(1.5rem, 4vw, 3rem); align-items: center; background: linear-gradient(90deg, rgba(10, 10, 15, 0.95) 0%, rgba(10, 10, 15, 0.82) 45%, rgba(10, 10, 15, 0.7) 100%), var(--c4-bg) center / cover no-repeat; }
.c4-copy p:not(.eyebrow) { color: var(--b-soft); line-height: 1.7; margin-top: 1rem; }
.c4-groups { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.75rem; }
.c4-group { padding: 1rem 1.1rem; border-radius: 1.1rem; background: rgba(10, 10, 15, 0.6); border: 1px solid rgba(255, 255, 255, 0.1); backdrop-filter: blur(10px); }
.c4-group h3 { display: flex; align-items: center; gap: 0.45rem; margin: 0 0 0.6rem; font-size: 0.78rem; letter-spacing: 0.1em; text-transform: uppercase; color: #fecaca; }
.c4-group h3 svg { width: 1rem; height: 1rem; color: var(--b-crimson-bright); }
.c4-group ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.15rem; }
.c4-group a { display: flex; justify-content: space-between; align-items: center; min-height: 36px; font-size: 0.9rem; font-weight: 600; color: #f4f4f5; border-bottom: 1px solid rgba(255, 255, 255, 0.06); }
.c4-group li:last-child a { border-bottom: 0; }
.c4-group a svg { width: 0.9rem; height: 0.9rem; color: var(--b-muted); transition: transform 0.18s, color 0.18s; }
.c4-group a:hover svg { transform: translate(2px, -2px); color: var(--b-crimson-bright); }
@media (max-width: 900px) { .c4-card { grid-template-columns: 1fr; } }
@media (max-width: 520px) { .c4-groups { grid-template-columns: 1fr; } }

/* French v4 */
.f4-card { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); border-radius: 2rem; overflow: hidden; border: 1px solid var(--b-line); background: var(--b-charcoal); }
.f4-media { margin: 0; position: relative; min-height: 22rem; }
.f4-media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.f4-media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, transparent 50%, var(--b-charcoal)); }
.f4-copy { padding: clamp(1.5rem, 4vw, 3rem); }
.f4-copy p:not(.eyebrow) { color: var(--b-soft); line-height: 1.7; margin-top: 1rem; }
.f4-list { list-style: none; margin: 1.25rem 0 0; padding: 0; display: grid; gap: 0.5rem; }
.f4-list li { display: flex; gap: 0.55rem; align-items: center; }
.f4-list svg { width: 1.05rem; height: 1.05rem; color: #4ade80; }
.f4-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem 1.5rem; margin-top: 1.5rem; }
.f4-actions .text-link { margin: 0; }
.f4-actions .button-primary { background: var(--b-grad-crimson); border-color: transparent; }
@media (max-width: 860px) { .f4-card { grid-template-columns: 1fr; } .f4-media { min-height: 14rem; } .f4-media::after { background: linear-gradient(180deg, transparent 50%, var(--b-charcoal)); } }

/* FAQ: no empty column, intro on top, two-column list on wide screens */
.faq-v3-grid { grid-template-columns: 1fr !important; }
.faq-v3-intro { position: static !important; max-width: 46rem; }
.faq-v3-list { grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; }
@media (max-width: 900px) { .faq-v3-list { grid-template-columns: 1fr; } }

/* News and blog cards: real covers */
.news-card-cover.has-image { background: #111; padding: 0; position: relative; aspect-ratio: 16 / 9; }
.news-card-cover.has-image img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s ease; }
.news-card-cover.has-image span { position: absolute; left: 0.9rem; bottom: 0.8rem; z-index: 1; padding: 0.25rem 0.6rem; border-radius: 999px; background: rgba(10, 10, 15, 0.75); backdrop-filter: blur(6px); }
.news-card-link:hover .news-card-cover.has-image img { transform: scale(1.05); }
.news-card-featured .news-card-cover.has-image { aspect-ratio: auto; min-height: 18rem; }

/* Cookie notice: compact, bottom left, never a full-width blocker */
.cookie-consent.cookie-consent-v3 { left: 1rem !important; right: auto !important; bottom: 1rem !important; width: min(380px, calc(100vw - 2rem)) !important; max-height: none !important; border-radius: 1.1rem !important; border-width: 1px !important; padding: 1rem !important; display: grid !important; gap: 0.75rem !important; transform: none !important; }
.cookie-consent-v3 .cookie-copy h2 { font-size: 0.95rem; margin: 0; }
.cookie-consent-v3 .cookie-copy p { font-size: 0.78rem; margin: 0.35rem 0 0; line-height: 1.5; }
.cookie-consent-v3 .cookie-actions { display: grid !important; grid-template-columns: 1fr 1fr; gap: 0.5rem; }
.cookie-consent-v3 .cookie-actions [data-cookie-toggle-prefs] { grid-column: 1 / -1; justify-self: start; min-height: 32px; padding: 0; }
.cookie-consent-v3 .cookie-button-secondary, .cookie-consent-v3 .cookie-button-primary { min-height: 42px; border-radius: 0.65rem; font-size: 0.82rem; font-weight: 700; }
.cookie-consent-v3 [data-consent-save] { grid-column: 1 / -1; }
@media (max-width: 480px) { .cookie-consent.cookie-consent-v3 { left: 0.5rem !important; bottom: 0.5rem !important; width: calc(100vw - 1rem) !important; } }
.final-cta-art { position: absolute; inset: 0; pointer-events: none; }
