/* BoxingOnly Dark Mode — Global Stylesheet v1.0 */
:root{--boxing-red:#8B0000;--boxing-black:#000000;--text-white:#FFFFFF;--heading-light-red:#FF4D4D}

/* ── Site Wrapper (CSS Grid) ───────────────────────────────────────────── */
main.site-wrapper{max-width:80rem;margin:3rem auto;padding:0 1rem;display:grid;grid-template-columns:1fr 1fr;gap:2rem;min-height:100vh;contain:layout style paint}

/* Full-width spans — any direct child with .full-width spans both grid columns */
.site-wrapper>.page-thumbnail,.site-wrapper>.page-header,.site-wrapper>.full-width{grid-column:1/-1}

/* Thumbnail */
.page-thumbnail{display:flex;align-items:flex-start;justify-content:flex-start}.page-thumbnail a{display:block}.page-thumbnail img{max-width:120px;height:auto;display:block;border-radius:8px}

/* Page header */
.page-header{text-align:center;margin-bottom:0}.page-header h1{font-family:'Oswald','Anton',Impact,'Franklin Gothic Bold','Arial Black',Arial,sans-serif;font-size:clamp(2.25rem,6vw,3.75rem);color:var(--heading-light-red);margin-bottom:1rem}.page-header p{font-size:1.25rem;color:var(--text-white);margin-bottom:1.5rem}

/* ── Alternating Section Themes ────────────────────────────────────────── */
.site-wrapper>section{padding:1.5rem;border-radius:12px;color:var(--text-white)}
.site-wrapper>section:nth-of-type(odd){background-color:var(--boxing-black);border:1px solid #FF0000}
.site-wrapper>section:nth-of-type(even){background-color:var(--boxing-red);border:1px solid #000000}

/* ── Text Hierarchy ────────────────────────────────────────────────────── */
.site-wrapper>section *{color:inherit}
.section-heading{font-family:'Oswald','Anton',Impact,'Franklin Gothic Bold','Arial Black',Arial,sans-serif;color:var(--text-white)!important;text-align:center;font-size:3rem;margin-bottom:1.5rem}
.section-subheading{color:var(--heading-light-red)!important;font-size:1.5rem;font-weight:600;margin-bottom:.75rem}
.section-fight-title{color:#E8E6E6!important;font-size:1.875rem;margin-bottom:.75rem}
.section-venue-text{color:#E8E6E6}
.section-muted-text{color:#A8A8A8}
.section-body-text{color:var(--text-white)}
.boxer-name-heading{color:var(--heading-light-red);min-height:2.5rem;display:flex;align-items:center;justify-content:center;font-size:1rem;font-weight:700;margin:0}
.boxer-name-large{color:var(--heading-light-red);font-size:1.25rem;font-weight:700}

/* ── Record Colours (state, never overridden) ──────────────────────────── */
.record-wins{color:#22C55E!important}
.record-losses{color:#EF4444!important}
.record-draws{color:#EAB308!important}
.record-separator{color:var(--text-white)!important}

/* ── CTA Button ─────────────────────────────────────────────────────────── */
.btn-cta{display:inline-block;padding:.5rem 2rem;font-weight:700;border-radius:.375rem;transition:all .2s;background-color:#C60000;color:var(--text-white)!important;border:1px solid var(--text-white);text-decoration:none}
.btn-cta:hover{opacity:.88}

/* ── Fight / Result Cards ───────────────────────────────────────────────── */
.fight-card,.result-card{flex:none;width:20rem;padding:1rem;border-radius:12px;min-height:480px;flex-basis:320px;contain:layout style}
.site-wrapper>section:nth-of-type(odd) .fight-card,.site-wrapper>section:nth-of-type(odd) .result-card{background-color:var(--boxing-black)}
.site-wrapper>section:nth-of-type(even) .fight-card,.site-wrapper>section:nth-of-type(even) .result-card{background-color:var(--boxing-red)}

/* Bracket separator */
.fight-card-separator,.result-card-separator{position:relative}
.fight-card-separator::after{content:'';position:absolute;right:-14px;top:8%;height:84%;width:16px;border:4px solid #C60000;border-left:none;border-radius:0 16px 16px 0}
.result-card-separator::after{content:'';position:absolute;right:-14px;top:8%;height:84%;width:16px;border:4px solid var(--heading-light-red);border-left:none;border-radius:0 16px 16px 0}

/* ── Scrollable Carousel Containers ────────────────────────────────────── */
.carousel-track{display:flex;gap:1.5rem;overflow-x:auto;scroll-behavior:smooth;padding-bottom:1rem;min-height:480px;scrollbar-gutter:stable;contain:paint}
.carousel-dots{display:flex;justify-content:center;gap:12px;margin-top:16px}
.carousel-dot{width:14px;height:14px;border-radius:50%;border:none;cursor:pointer;transition:background-color .3s ease;background-color:#6B7280}
.carousel-dot.active{background-color:var(--text-white)}

/* ── History Section ─────────────────────────────────────────────────────── */
.event-card{border-radius:.375rem;padding:1rem;transition:all .2s;background-color:#5F0F0F;border:1px solid #FF0000}
.event-card-title{color:var(--heading-light-red);font-weight:700;font-size:1.125rem}
.event-card-subtitle{color:#E8E6E6;font-size:.875rem;margin-top:.25rem}
.event-card-year{font-weight:700;font-size:1.25rem;color:var(--text-white)}
.history-section-divider{border-top:2px solid #FF0000;margin-top:2rem;padding-top:1.5rem}
.history-boxer-wrapper img{transform:scale(.92);object-fit:cover;object-position:top}

/* ── Quiz Section ─────────────────────────────────────────────────────────── */
.quiz-inner-card{padding:2rem;border-radius:.75rem;box-shadow:0 10px 15px -3px rgba(0,0,0,.1)}
.site-wrapper>section:nth-of-type(odd) .quiz-inner-card{background-color:var(--boxing-black);border:1px solid #FF0000}
.site-wrapper>section:nth-of-type(even) .quiz-inner-card{background-color:var(--boxing-black);border:1px solid #FF0000}
.quiz-dropdown-btn{width:100%;font-weight:700;padding:1rem 1.5rem;border-radius:.5rem;transition:all .2s;font-size:1.125rem;display:flex;align-items:center;justify-content:space-between;background-color:var(--heading-light-red);color:#000000;border:1px solid #000000;cursor:pointer}
.quiz-dropdown-menu{position:absolute;top:100%;left:0;right:0;margin-top:.5rem;background-color:#fff;border-radius:.5rem;box-shadow:0 20px 25px -5px rgba(0,0,0,.1);display:none;z-index:50;border:2px solid #5F0F0F}
.quiz-dropdown-menu.open{display:block}
.quiz-menu-item{display:block;padding:1rem 1.5rem;text-align:left;transition:background .2s;color:#000000;border-bottom:1px solid #E8E6E6;text-decoration:none}
.quiz-menu-item:last-child{border-bottom:none}
.quiz-menu-item:first-child{border-radius:.5rem .5rem 0 0}
.quiz-menu-item:last-child{border-radius:0 0 .5rem .5rem}
.quiz-menu-title{font-weight:700;font-size:1.125rem;color:#C60000}
.quiz-menu-desc{font-size:.875rem;color:#6B7280;margin-top:.25rem}

/* ── Featured Boxers ─────────────────────────────────────────────────────── */
.boxer-profile-card{display:block;padding:1rem;transition:box-shadow .2s;background-color:#404040;border:1px solid #C60000;border-radius:.5rem;text-decoration:none}
.boxer-profile-card:hover{box-shadow:0 4px 12px rgba(0,0,0,.4)}
.boxer-profile-name{font-family:'Oswald','Anton',Impact,'Franklin Gothic Bold','Arial Black',Arial,sans-serif;font-weight:700;font-size:1.5rem;margin-bottom:.25rem;color:var(--text-white)!important}
.boxer-profile-nationality{font-size:1.25rem;color:var(--heading-light-red)}
.boxer-profile-division{font-size:1.125rem;color:#A8A8A8}
.boxer-profile-cta{margin-top:.5rem;font-size:1.125rem;font-weight:700;color:var(--heading-light-red)}

/* ── Champion of the Day ───────────────────────────────────────────────── */
.champion-name{font-family:'Oswald','Anton',Impact,'Franklin Gothic Bold','Arial Black',Arial,sans-serif;font-weight:700;font-size:clamp(1.875rem,4vw,2.25rem);color:var(--heading-light-red)!important;margin-bottom:.5rem}
.champion-detail{font-size:1.25rem;margin-bottom:.5rem;color:#E8E6E6}
.champion-record{color:#E8E6E6;margin-bottom:.5rem}
.champion-years{font-size:1.25rem;margin-bottom:1rem;color:#A8A8A8}
.title-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:1.125rem;font-weight:700;border-radius:9999px;color:var(--text-white)}
.title-badge-wbc{background-color:#228B22}
.title-badge-wba{background-color:#1E90FF}
.title-badge-ibf{background-color:#DC143C}
.title-badge-wbo{background-color:#FF8C00}
.title-badge-default{background-color:#C60000}
.status-badge{display:inline-block;padding:.5rem 1rem;font-size:1.125rem;font-weight:700;border-radius:9999px;color:var(--text-white);border:1px solid var(--text-white)}
.status-active{background-color:#22C55E}
.status-retired{background-color:#5F0F0F}

/* ── Winner Badge ──────────────────────────────────────────────────────── */
.badge-winner{display:inline-block;padding:.25rem .75rem;font-size:.75rem;font-weight:700;border-radius:9999px;background-color:#22C55E;color:var(--text-white)}
.badge-draw{display:inline-block;padding:.25rem .75rem;font-size:.75rem;font-weight:700;border-radius:9999px;background-color:#3B82F6;color:var(--text-white)}

/* ── Nav Logo Override ─────────────────────────────────────────────────── */
nav img.nav-logo{height:60px!important;width:auto!important;display:block}

/* ── Hero Poster Texture ───────────────────────────────────────────────── */
.hero-poster{position:relative;background-size:cover;background-position:center}
.hero-poster::before{content:'';position:absolute;inset:0;background-image:repeating-linear-gradient(0deg,rgba(255,255,255,.03) 0,transparent 1px,transparent 2px,rgba(255,255,255,.03) 3px),repeating-linear-gradient(90deg,rgba(255,255,255,.03) 0,transparent 1px,transparent 2px,rgba(255,255,255,.03) 3px);pointer-events:none;opacity:.5}

/* ── CLS Fixes ─────────────────────────────────────────────────────────── */
.fight-card.w-80,.result-card.w-80{min-width:320px;min-height:480px}

/* ── Boxer Profile Page ─────────────────────────────────────────────────── */

/* Full-width override for profile/single-column pages */
.site-wrapper>nav.full-width{grid-column:1/-1}

/* Hero section layout */
#boxer-profile{display:flex;flex-direction:column;align-items:flex-start}
#boxer-profile>div:last-child{margin-top:1rem;flex:1}
@media(min-width:768px){#boxer-profile{flex-direction:row}#boxer-profile>div:last-child{margin-top:0;margin-left:2rem}}

/* Profile image */
.profile-img-container{width:220px;height:220px;overflow:hidden;background-color:#fff;border:2px solid #CF9595;border-radius:8px;flex-shrink:0}
.profile-img-container img{width:100%;height:100%;object-fit:cover;object-position:top}

/* Profile headings */
.profile-h1{color:var(--text-white)!important;font-size:3rem;font-weight:700;margin:0;line-height:1.1}
.profile-nickname{color:#D1D5DB;font-style:italic;font-size:1.5rem;margin-top:.5rem}

/* Stat list labels & social icons */
.stat-label{color:var(--heading-light-red)!important}
.social-icon-twitter{color:#1DA1F2!important;font-size:3.5rem}
.social-icon-facebook{color:#1877F2!important;font-size:3.5rem}
.social-icon-instagram{color:#E1306C!important;font-size:3.5rem}

/* Secondary button (login prompt) */
.btn-secondary{display:inline-flex;align-items:center;gap:.5rem;font-weight:700;padding:.5rem 1.5rem;border-radius:.5rem;box-shadow:0 1px 3px rgba(0,0,0,.1);transition:all .2s;background-color:#D1D5DB!important;color:#000000!important;text-decoration:none}

/* Stat cards (white tiles on dark section bg) */
.stat-card-value{color:#7C3636;font-weight:700;font-size:1.5rem}
.stat-card-label{font-size:.875rem;font-weight:500;text-transform:uppercase;color:#4B5563}

/* Biography */
.boxer-bio-content{font-size:1.25rem;line-height:1.6;color:var(--text-white)}
.boxer-bio-content p{color:var(--text-white)}

/* Championships */
.championship-card{background-color:#fff;padding:1rem;border-radius:.5rem;display:flex;align-items:center;gap:1rem;border:2px solid #CF9595}
.championship-card h4{color:#111827!important;font-weight:700;font-size:1.25rem}
.championship-card p{color:#4B5563}

/* FAQ cards (white on dark) */
.faq-card{background-color:#fff;padding:1.5rem;border-radius:.5rem;border-left:6px solid #3B82F6}
.faq-card h3{color:#111827!important;font-weight:700;font-size:1.125rem;margin-bottom:.75rem}
.faq-card p,.faq-card div{color:#374151}

/* History report & past fight cards (white on dark) */
.history-report-card{background-color:#fff;padding:1rem;border-radius:.5rem;box-shadow:0 1px 3px rgba(0,0,0,.1);border:1px solid #F3CDCD}
.history-report-title{color:#7C3636!important;font-weight:700;font-size:1.1rem}
.history-report-date{font-size:.875rem;color:#6B7280}
.history-report-link{color:#D63838;font-weight:700;font-size:.875rem;margin-top:.5rem;display:inline-block}
.past-fight-card{background-color:#fff;padding:1rem;border-radius:.5rem;box-shadow:0 1px 3px rgba(0,0,0,.1);border:1px solid #F3CDCD;display:flex;flex-direction:column;justify-content:space-between}
.past-fight-title{color:#7C3636!important;font-weight:700;font-size:1.1rem;display:flex;align-items:flex-start;gap:.5rem}
.past-fight-date{font-size:.875rem;color:#6B7280;margin-left:1.5rem}

/* ── Boxing Schedule Page ───────────────────────────────────────────────── */
.day-section{margin-bottom:.5rem!important;padding-top:1.5rem!important;border-top:1px solid rgba(255,255,255,.15);content-visibility:auto;contain-intrinsic-size:1px 1000px}
.day-section:first-of-type{padding-top:0!important;border-top:none;content-visibility:visible}
.day-heading{color:var(--text-white)!important;font-family:'Oswald','Anton',Impact,'Franklin Gothic Bold','Arial Black',Arial,sans-serif!important;font-size:1.25rem;text-transform:uppercase;letter-spacing:1px;margin-bottom:.5rem!important;border-bottom:2px solid var(--heading-light-red);padding-bottom:.25rem;display:inline-block}
.schedule-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:3.5rem;margin-top:1rem}
.schedule-card{background-color:var(--boxing-black);border:1px solid #333;border-radius:12px;overflow:hidden;transition:transform .3s ease;display:flex;flex-direction:column;min-height:540px;box-shadow:0 10px 15px -3px rgba(0,0,0,.3);contain:content}
.schedule-card:hover{transform:translateY(-5px);border-color:var(--heading-light-red)!important}
.card-body{padding:1.5rem;flex-grow:1;display:flex;flex-direction:column}
.card-date-header{text-align:center;color:var(--heading-light-red)!important;font-size:1.25rem;font-weight:700;margin-bottom:1.5rem}
.fighter-row{display:flex;align-items:flex-start;justify-content:center;gap:1rem;margin-bottom:1rem;padding:0 10px}
.fighter-box{text-align:center;flex:1}
.fighter-img-wrap{width:150px;height:150px;margin:0 auto .75rem;overflow:hidden;background-color:#fff;border-radius:12px;aspect-ratio:1/1;border:3px solid #CF9595}
.fighter-img-wrap img{width:100%;height:100%;object-fit:cover;object-position:top}
.fighter-name{color:var(--text-white)!important;font-weight:700;font-size:1.1rem;line-height:1.2;display:flex;align-items:center;justify-content:center;min-height:2.8rem}
.vs-text{color:var(--text-white);font-weight:700;font-size:1.5rem;margin-top:60px}
.card-divider{border-color:rgba(255,255,255,.2);margin:1rem 0}
.venue-info{color:var(--heading-light-red)!important;font-size:.95rem;text-align:center;margin-bottom:.5rem;display:flex;align-items:center;justify-content:center;gap:.5rem;font-weight:600}
.schedule-info{color:var(--text-white)!important;font-size:.9rem;text-align:center;margin-bottom:1.5rem;display:flex;align-items:center;justify-content:center;gap:.5rem}
.btn-details{display:flex;align-items:center;justify-content:center;width:100%;background-color:#C60000;color:var(--text-white)!important;text-align:center;padding:1rem;font-weight:700;border-radius:8px;border:1px solid var(--text-white);text-transform:uppercase;margin-top:auto;min-height:3.5rem;text-decoration:none}
.load-more-btn{display:inline-block;padding:1.25rem 2.5rem;background-color:var(--boxing-red)!important;color:var(--text-white)!important;font-weight:700;border-radius:8px;border:none;text-transform:uppercase;transition:background .3s ease;min-height:3.75rem;cursor:pointer;box-shadow:0 4px 6px rgba(0,0,0,.1)}

/* ── Prediction Tracker Page ────────────────────────────────────────────── */
.icon-correct{color:#16a34a;font-size:1.5rem;font-weight:700;line-height:1}
.icon-wrong{color:#dc2626;font-size:1.5rem;font-weight:700;line-height:1}
.badge-gr-assessment{display:inline-block;background:var(--boxing-red);color:var(--text-white);font-size:.7rem;font-weight:700;padding:2px 6px;border-radius:3px;letter-spacing:.05em}
/* Mobile-stacked prediction table */
@media(max-width:639px){.predictions-table table,.predictions-table tbody,.predictions-table tr{display:block}.predictions-table thead{display:none}.predictions-table tr{margin-bottom:1rem;border-radius:.5rem;border:1px solid #e5e7eb;overflow:hidden}.predictions-table td{display:flex;align-items:flex-start;gap:.5rem;padding:.5rem .75rem;border-bottom:1px solid #f3f4f6;text-align:left}.predictions-table td:last-child{border-bottom:none;justify-content:flex-end}.predictions-table td::before{content:attr(data-label);font-size:.65rem;font-weight:700;text-transform:uppercase;color:#9ca3af;min-width:72px;flex-shrink:0;margin-top:2px}}

/* ── Quiz Game Page ─────────────────────────────────────────────────────── */
@keyframes dissolve{to{opacity:0}}
@keyframes shake{0%,100%{transform:translateX(0)}20%,60%{transform:translateX(-10px)}40%,80%{transform:translateX(10px)}}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
@keyframes slideUp{from{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}
.shake{animation:shake .4s}.fade-in{animation:fadeIn .3s ease-out}.slide-up{animation:slideUp .4s ease-out}
/* Confetti canvas above everything */
canvas{position:fixed!important;z-index:99999!important;pointer-events:none!important}
/* Image reveal container */
#image-container{width:280px;height:280px;max-width:280px;max-height:280px}
@media(min-width:769px){#image-container{width:400px;height:400px;max-width:400px;max-height:400px}}
/* Answer buttons */
.answer-btn{transition:all .2s ease}.answer-btn:hover{transform:translateY(-2px)}.answer-btn:disabled{opacity:.6;cursor:not-allowed}.answer-btn:active{transform:scale(.98)}
/* Secondary headings inside game sections */
.quiz-secondary-heading{color:#DCBCBC!important}
/* Welcome / Help modal */
.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.85);display:flex;align-items:center;justify-content:center;z-index:10000;padding:1rem;opacity:0;transition:opacity .3s ease}
.modal-overlay.active{opacity:1}
.modal-content{background:linear-gradient(135deg,#1f2937 0%,#111827 100%);border-radius:1rem;padding:2rem;max-width:500px;width:100%;max-height:90vh;overflow-y:auto;transform:scale(.9);transition:transform .3s ease;border:2px solid #374151}
.modal-overlay.active .modal-content{transform:scale(1)}
.modal-overlay h2,.modal-overlay h3{color:#FFB6C1!important}
#welcome-modal h3{font-size:1.25rem!important}
.modal-overlay p,.modal-overlay label,.modal-overlay span{color:#fff!important}
#welcome-modal label span{font-size:.95rem!important}
#welcome-modal .mb-6 label{padding:1rem 0!important}
/* Floating game buttons */
.fullscreen-toggle,.help-button{position:fixed;bottom:1rem;z-index:1000;background:rgba(17,24,39,.9);backdrop-filter:blur(10px);border:2px solid #374151;border-radius:50%;width:56px;height:56px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 6px rgba(0,0,0,.3)}
.fullscreen-toggle{right:1rem}.fullscreen-toggle:hover{background:rgba(55,65,81,.9);transform:scale(1.1)}
.help-button{left:1rem}.help-button:hover{background:rgba(59,130,246,.9);transform:scale(1.1)}
/* Fullscreen mode — toggled on <body> so nav + footer (outside <main>) are also hidden */
body.fullscreen-mode main.site-wrapper{position:fixed;top:0;left:0;right:0;bottom:0;z-index:9999;overflow-y:auto;background:linear-gradient(135deg,#1f2937 0%,#111827 100%);margin:0;max-width:100%;border-radius:0;padding:1rem}
body.fullscreen-mode .header-section,body.fullscreen-mode .instructions-section,body.fullscreen-mode .faq-section,body.fullscreen-mode .social-section,body.fullscreen-mode .page-thumbnail,body.fullscreen-mode #site-breadcrumb{display:none!important}
body.fullscreen-mode nav,body.fullscreen-mode footer{display:none!important}
body.fullscreen-mode .game-controls{position:sticky;top:0;background:rgba(17,24,39,.95);backdrop-filter:blur(10px);z-index:100;padding:.75rem 1rem}

/* ── Current Champions Page ─────────────────────────────────────────────── */
.trophy-badge{display:inline-flex;align-items:center;justify-content:center;background-color:var(--boxing-red);color:var(--text-white);padding:.75rem 1.5rem;border-radius:9999px;font-weight:700;font-size:1.125rem;margin-bottom:1rem}
.division-heading{color:var(--heading-light-red)!important;font-family:'Oswald','Anton',Impact,'Franklin Gothic Bold','Arial Black',Arial,sans-serif;font-size:1.5rem;font-weight:700;border-bottom:2px solid #CF9595;padding-bottom:.5rem;margin-bottom:1rem}
.champ-card{background-color:#E8E6E6;border-radius:.5rem;border:1px solid #CF9595;padding:1.5rem;display:flex;flex-direction:column;flex-grow:1;box-shadow:0 4px 6px rgba(0,0,0,.1);transition:box-shadow .3s ease}
.champ-card:hover{box-shadow:0 10px 20px rgba(0,0,0,.2)}
.champ-card-title{color:#7C3636!important;font-weight:700;font-size:1.125rem;margin-bottom:.25rem}
.champ-card-subtitle{font-size:.875rem;color:#4B5563;font-weight:600}
.champ-card-name{color:#7C3636!important;font-size:1.5rem;font-weight:700;margin-bottom:.75rem;display:block;transition:color .2s;text-decoration:none}
.champ-card-name:hover{color:#D63838!important}
.champ-card-vacant{color:#6B7280;font-size:1.5rem;font-weight:700;margin-bottom:.75rem;display:block}
.champ-card-footer{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #CF9595;padding-top:.75rem;margin-top:auto}
.vacant-card{background-color:#F3F4F6;padding:1.5rem;border-radius:.5rem;border:2px solid #D1D5DB;max-width:28rem}
.stat-tile{background-color:#fff;padding:1.5rem;border-radius:.5rem;border:2px solid #F3CDCD;text-align:center}
.stat-tile-value{color:#7C3636;font-weight:700;font-size:2.25rem;margin-bottom:.5rem}
.stat-tile-label{color:#4B5563;font-weight:500}
.champ-faq-card{background-color:#fff;padding:1.5rem;border-radius:.5rem;border-left:6px solid var(--boxing-red)}
.champ-faq-card h3{color:#7C3636!important;font-weight:700;font-size:1.25rem;margin-bottom:.75rem}
.explore-card{display:block;padding:1rem;background-color:#2D2D2D;border-radius:.5rem;border:1px solid #4B1C1C;transition:all .2s;text-decoration:none}
.explore-card:hover{background-color:#3D1515;border-color:var(--heading-light-red)}
.explore-card h3{color:var(--heading-light-red)!important;font-weight:700;font-size:1.125rem;margin-bottom:.25rem}
.explore-card p{color:#A8A8A8;font-size:.875rem}

/* ── Contact Page ───────────────────────────────────────────────────────── */
.form-panel{background-color:var(--boxing-red);border-radius:.5rem;padding:2rem}
.form-panel h2{color:var(--text-white)!important}
.info-panel{background-color:var(--boxing-black);border-radius:.5rem;overflow:hidden;box-shadow:0 1px 3px rgba(0,0,0,.3)}
.info-panel-header{padding:.75rem 1.5rem;border-bottom:1px solid #374151}
.info-panel-header h3{color:var(--text-white)!important;font-family:'Oswald','Anton',Impact,'Franklin Gothic Bold','Arial Black',Arial,sans-serif}
.info-panel-body{padding:1.5rem}
.info-panel-subheading{color:var(--heading-light-red)!important;font-weight:600}

/* ── Gear Vault Page ────────────────────────────────────────────────────── */
.product-card{transition:transform .3s ease,box-shadow .3s ease}
.product-card:hover{transform:translateY(-5px);box-shadow:0 10px 20px rgba(0,0,0,.15)}
.affiliate-disclosure{font-size:.85rem;background-color:#FFF5F5;border-bottom:1px solid #FED7D7;color:#742A2A}

/* ── Fight Result Page ──────────────────────────────────────────────────── */
.save-fight-btn{background-color:#000!important;color:#fff!important;border:1px solid #FFA9A9;font-weight:700;padding:.5rem 1.5rem;border-radius:.5rem;transition:all .2s;cursor:pointer}
.save-fight-btn.saved{background-color:#1a1a1a!important}
.gym-rat-assessment-heading{color:#D2AD92!important;letter-spacing:1px;text-transform:none!important}
.result-fight-card{background-color:#404040;border:1px solid #FFA9A9;border-radius:.5rem;padding:1rem;box-shadow:0 1px 3px rgba(0,0,0,.2);transition:box-shadow .2s}
.result-fight-card:hover{box-shadow:0 4px 6px rgba(0,0,0,.4)}
.schedule-badge{background-color:#5F0F0F;color:#FFA9A9!important;padding:.25rem .5rem;border-radius:.25rem;font-size:.75rem;font-weight:700}
.fight-result-content{font-size:1.25rem;line-height:1.5;color:#374151;max-width:none}
.fight-result-content h1,.fight-result-content h2,.fight-result-content h3,.fight-result-content h4,.fight-result-content h5,.fight-result-content h6{font-family:Impact,'Franklin Gothic Bold','Arial Black',Arial,sans-serif;font-weight:600;color:#7C3636;margin-top:2rem;margin-bottom:1rem;letter-spacing:.025em}
.fight-result-content h1{font-size:2.25rem}.fight-result-content h2{font-size:1.875rem}.fight-result-content h3{font-size:1.5rem}.fight-result-content h4{font-size:1.25rem}
.fight-result-content p{margin-bottom:1.25rem;line-height:1.5}.fight-result-content p:first-child{margin-top:0}.fight-result-content p:last-child{margin-bottom:0}
.fight-result-content strong,.fight-result-content b{font-weight:600;color:#111827}
.fight-result-content em,.fight-result-content i{font-style:italic;color:#4B5563}
.fight-result-content u{text-decoration:underline}
.fight-result-content ul,.fight-result-content ol{margin-top:1.25rem;margin-bottom:1.25rem;padding-left:1.625rem}
.fight-result-content li{margin-bottom:.5rem;line-height:1.75}
.fight-result-content ul li{list-style-type:disc}.fight-result-content ol li{list-style-type:decimal}
.fight-result-content blockquote{margin:1.5rem 0;padding:1rem 1.5rem;background-color:#F9FAFB;border-left:4px solid #7C3636;font-style:italic;color:#4B5563}
.fight-result-content blockquote p{margin-bottom:0}
.fight-result-content a{color:#7C3636;text-decoration:underline;transition:color .2s ease}.fight-result-content a:hover{color:#5F0F0F}
.fight-result-content table{width:100%;border-collapse:collapse;margin:1.5rem 0;font-size:1rem}
.fight-result-content table th{background-color:#7C3636;color:#fff;font-weight:600;padding:.75rem;text-align:left;border-bottom:2px solid #5F0F0F}
.fight-result-content table td{padding:.75rem;border-bottom:1px solid #E5E7EB;color:#374151}
.fight-result-content table tr:hover{background-color:#F9FAFB}
.fight-result-content br{line-height:1}
.fight-result-content.on-dark{color:#e5e7eb}.fight-result-content.on-dark p{color:#e5e7eb}
.fight-result-content.on-dark strong,.fight-result-content.on-dark b{color:#F3F4F6}
.fight-result-content.on-dark em,.fight-result-content.on-dark i{color:#D1D5DB}
@media(max-width:768px){.fight-result-content{font-size:1rem!important;line-height:1.6}.fight-result-content h1{font-size:1.875rem}.fight-result-content h2{font-size:1.5rem}.fight-result-content h3{font-size:1.25rem}.fight-result-content ul,.fight-result-content ol{padding-left:1.25rem}}

/* ── Fight Page ─────────────────────────────────────────────────────────── */
.gym-rat-heading{color:#F59E0B!important}
.prediction-label{color:#9CA3AF;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.25rem}
.countdown-digit{color:#fff;font-family:'Oswald',sans-serif;font-variant-numeric:tabular-nums;line-height:1;font-size:1.875rem;font-weight:700}
.countdown-label{color:#9CA3AF;font-size:.75rem;text-transform:uppercase;margin-top:.25rem}
.profile-btn{background-color:#4B5563!important;color:#fff!important;display:inline-flex;align-items:center;justify-content:center;padding:.5rem 1rem;border-radius:.5rem;font-weight:700;font-size:.875rem;text-decoration:none}
.profile-btn:hover{background-color:#6B7280!important}
.tickets-section{background-color:#1a1a2e!important;border:2px solid #6B2D8B!important}
.gym-rat-prediction{background-color:#111827!important;border:2px solid #F59E0B!important}
.odds-container{background-color:#0A1628;border:2px solid #F59E0B;border-radius:.75rem;overflow:hidden;box-shadow:0 25px 50px -12px rgba(0,0,0,.25)}
.odds-header{background:linear-gradient(90deg,#F59E0B 0%,#D97706 100%);padding:10px 16px;display:flex;align-items:center;gap:10px}
.odds-header-icon{color:#0A1628;font-size:1.4rem}
.odds-header-title{color:#0A1628!important;font-size:1.1rem;text-transform:uppercase;letter-spacing:.05em;font-weight:800}
.odds-header-subtitle{color:#0A1628;font-size:.7rem;font-weight:600;margin:0;opacity:.75}
.odds-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:16px 16px 12px}
.odds-box{background-color:#1A2D45;border:1px solid #2D4A6B;border-radius:8px;padding:14px;text-align:center}
.odds-fighter-name{color:#D1D5DB;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;margin-bottom:6px}
.odds-digit{color:#F59E0B!important;font-size:2rem;line-height:1;font-weight:800}
.odds-disclaimer{color:#9CA3AF;font-size:.85rem;text-align:center;font-style:italic;padding:10px 16px 14px;margin:0;border-top:1px solid #1A2D45}

/* ── History Detail Page ────────────────────────────────────────────────── */
.historical-fight-content{font-size:.95rem;line-height:1.6;color:#374151;max-width:none}
.historical-fight-content h1,.historical-fight-content h2,.historical-fight-content h3,.historical-fight-content h4,.historical-fight-content h5,.historical-fight-content h6{font-family:'Oswald',sans-serif;font-weight:600;color:#7C3636;margin-top:1.5rem;margin-bottom:.75rem;letter-spacing:.025em}
.historical-fight-content h1{font-size:1.4rem}.historical-fight-content h2{font-size:1.2rem}.historical-fight-content h3{font-size:1.05rem}.historical-fight-content h4{font-size:.95rem}
.historical-fight-content p{margin-bottom:1.25rem;line-height:1.5}.historical-fight-content p:first-child{margin-top:0}.historical-fight-content p:last-child{margin-bottom:0}
.historical-fight-content strong,.historical-fight-content b{font-weight:600;color:#111827}
.historical-fight-content em,.historical-fight-content i{font-style:italic;color:#4B5563}
.historical-fight-content ul,.historical-fight-content ol{margin-top:1.25rem;margin-bottom:1.25rem;padding-left:1.625rem}
.historical-fight-content li{margin-bottom:.5rem;line-height:1.75}
.historical-fight-content ul li{list-style-type:disc}.historical-fight-content ol li{list-style-type:decimal}
.historical-fight-content blockquote{margin:1.5rem 0;padding:1rem 1.5rem;background-color:#F9FAFB;border-left:4px solid #7C3636;font-style:italic;color:#4B5563}
.historical-fight-content blockquote p{margin-bottom:0}
.historical-fight-content table{width:100%;margin:1.5rem 0;border-collapse:collapse;border:1px solid #E5E7EB}
.historical-fight-content th,.historical-fight-content td{padding:.75rem;text-align:left;border-bottom:1px solid #E5E7EB}
.historical-fight-content th{background-color:#F3F4F6;font-weight:600;color:#7C3636;font-family:'Oswald',sans-serif}
.historical-fight-content a{color:#7C3636;text-decoration:underline;text-decoration-color:#CF9595;transition:all .2s ease}
.historical-fight-content a:hover{color:#D63838;text-decoration-color:#D63838}
.historical-fight-content code{background-color:#F3F4F6;padding:.25rem .5rem;border-radius:.375rem;font-family:'Monaco','Consolas',monospace;font-size:.9em;color:#7C3636}
.historical-fight-content pre{background-color:#F3F4F6;padding:1rem;border-radius:.5rem;overflow-x:auto;margin:1.25rem 0}
.historical-fight-content pre code{background:none;padding:0}
.historical-fight-content.on-dark{color:#e5e7eb}.historical-fight-content.on-dark strong,.historical-fight-content.on-dark b{color:#F3F4F6}.historical-fight-content.on-dark em,.historical-fight-content.on-dark i{color:#D1D5DB}
.fight-info-heading{font-family:'Oswald',sans-serif;color:#000!important}
.boxer-name-label{font-family:'Oswald',sans-serif;font-size:1rem;font-weight:600;color:#000;margin-bottom:.25rem}
.weight-lbs{color:#C2410C!important}
.gym-rat-content-box{background-color:#1a1a1a;border-left:6px solid #7C3636;border-radius:.5rem;padding:1.5rem;clear:both}
.hist-fights-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1.25rem;align-items:start}
.hist-fight-card{display:block;align-self:start;background-color:#3a3a3a;border:1px solid #555;border-radius:.75rem;padding:1.25rem;text-decoration:none;transition:transform .2s ease,border-color .2s ease;box-shadow:0 4px 12px rgba(0,0,0,.4)}
.hist-fight-card:hover,.hist-fight-card:focus{transform:translateY(-3px);border-color:#FFA9A9;outline:none}
.hist-fight-title{font-family:'Oswald',sans-serif;font-size:1.1rem;font-weight:600;color:#FFA9A9!important;margin:0 0 .5rem;line-height:1.3;transition:color .2s ease}
.hist-fight-card:hover .hist-fight-title{color:#fff}
.hist-fight-schedule{font-size:.9rem;color:#fff;margin:0 0 .75rem;line-height:1.4}
.hist-fight-details{font-size:.8rem;color:#aaa;line-height:1.5;border-top:1px solid rgba(255,255,255,.2);padding-top:.5rem;margin-top:.5rem}
.hist-fight-details span{display:block}
img.lazy-load{opacity:.5;transition:opacity .3s ease-in-out;background-color:#f3f4f6}
img.loaded{opacity:1}
img.image-error{opacity:.3;border:2px dashed #ef4444}
[data-light-red],[data-light-red="true"]{color:#FFA9A9!important}
[data-keep-white],[data-keep-white="true"]{color:#fff!important}

/* ── On This Day Page ──────────────────────────────────────────────────── */
.otd-table td,.otd-table th{padding:.75rem 1rem;text-align:left}
.otd-table thead tr{border-bottom:2px solid #FF0000}
.otd-table tbody tr{border-bottom:1px solid #333;transition:background-color .2s}
.otd-table tbody tr:hover{background-color:rgba(255,255,255,.04)}
.otd-year{color:#FFA9A9;font-weight:600}
.otd-name{color:#fff;font-weight:600}
.otd-vs{color:#888;margin:0 .5rem}
.otd-age-alive{color:#90EE90;font-weight:600}
.otd-age-deceased{color:#ccc}
.otd-unknown{color:#999}
.otd-view-fight-btn{background-color:#fff;color:#1f2937;border:2px solid #9ca3af;white-space:nowrap;display:inline-block;padding:.25rem .75rem;border-radius:.375rem;font-size:1rem;transition:background-color .2s;text-decoration:none;margin-right:.5rem}
.otd-view-fight-btn:hover{background-color:#e5e7eb}
.otd-view-profile-btn{background-color:#C60000;border:2px solid #FFA9A9;color:#fff;white-space:nowrap;display:inline-block;padding:.25rem .75rem;border-radius:.375rem;font-size:1rem;transition:background-color .2s;text-decoration:none}
.otd-view-profile-btn:hover{background-color:#9B0000}
.otd-no-profile{color:#ccc;font-size:.875rem}
.otd-flag{width:28px;height:20px;vertical-align:middle;object-fit:contain;display:inline;margin-left:.5rem}
.scroll-indicator{position:absolute;top:-45px;right:10px;z-index:10;cursor:pointer;background:rgba(0,0,0,.5);padding:8px 12px;border-radius:4px}
.scroll-indicator .si-icon{color:#FFA9A9;font-size:2.25rem}
.scroll-indicator .si-icon:first-child{margin-right:-1rem}

/* ── P4P Page ───────────────────────────────────────────────────────────── */
.p4p-profile-img{width:160px;height:160px}
@media(min-width:1024px){.p4p-profile-img{width:224px;height:224px}}
/* Accessibility: axe-core traverses dark section ancestors for bg contrast.
   Setting bg/color on <strong> inside .bg-white cards stops traversal here. */
.bg-white strong{color:#111827!important;background-color:#ffffff!important}

/* ── Results Page ───────────────────────────────────────────────────────── */
.results-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:2.5rem;margin-top:1rem}
.result-card-grid{background-color:#5F0F0F!important;border:1px solid #000!important;border-radius:12px;overflow:hidden;transition:transform .3s ease;display:flex;flex-direction:column;min-height:480px;box-shadow:0 10px 15px -3px rgba(0,0,0,.2)}
.result-card-grid:hover{transform:translateY(-5px);border-color:#FFA9A9!important}
.result-body{padding:1.5rem;flex-grow:1;display:flex;flex-direction:column}
.fight-date-header{text-align:center;color:#FFA9A9!important;font-size:1.25rem;font-weight:bold;margin-bottom:1.5rem}
.fighter-box{text-align:center;flex:1}
.winner-badge{background-color:#15803D;color:#fff;font-size:.75rem;font-weight:bold;padding:4px 12px;border-radius:9999px;margin-top:8px;display:inline-block;text-transform:uppercase}
.card-divider{border-color:rgba(255,255,255,.2);margin:1.5rem 0}
.btn-report{display:inline-block;width:100%;background-color:#C60000;color:#fff!important;text-align:center;padding:1rem;font-weight:bold;border-radius:6px;border:1px solid #fff;text-transform:uppercase;transition:background .2s;margin-top:auto}
.btn-report:hover{background-color:#ff0000}

/* ── Tickets Page ── */
.ticket-card{background-color:#000;border:1px solid #FF0000;border-radius:12px;padding:24px;margin-bottom:24px;box-shadow:0 2px 8px rgba(0,0,0,.3);transition:transform .2s,box-shadow .2s}.ticket-card:hover{transform:translateY(-2px);box-shadow:0 4px 16px rgba(255,0,0,.2)}
.platform-badge{display:inline-block;padding:4px 12px;border-radius:20px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin-right:8px}
.platform-ticketmaster{background:#026CDF;color:#fff}.platform-viagogo{background:#FF6B35;color:#fff}.platform-events365{background:#FFB800;color:#2D2D2D}.platform-stubhub{background:#003B6F;color:#fff}.platform-vividseats{background:#6B2D8B;color:#fff}
.ticket-btn{display:inline-flex;align-items:center;gap:8px;padding:12px 24px;border-radius:8px;font-weight:600;text-decoration:none;transition:all .3s;margin-right:12px;margin-bottom:8px}
.btn-ticketmaster{background:linear-gradient(45deg,#026CDF,#0355B5);color:#fff!important;border:none}.btn-ticketmaster:hover{background:linear-gradient(45deg,#0355B5,#024A8C);color:#fff!important;transform:translateY(-2px);box-shadow:0 4px 12px rgba(2,108,223,.3)}
.btn-viagogo{background:linear-gradient(45deg,#FF6B35,#E85A2B);color:#fff!important;border:none}.btn-viagogo:hover{background:linear-gradient(45deg,#E85A2B,#D44920);color:#fff!important;transform:translateY(-2px);box-shadow:0 4px 12px rgba(255,107,53,.3)}
.btn-events365{background:linear-gradient(45deg,#FFB800,#E5A400);color:#2D2D2D!important;border:none}.btn-events365:hover{background:linear-gradient(45deg,#E5A400,#CC9200);color:#2D2D2D!important;transform:translateY(-2px);box-shadow:0 4px 12px rgba(255,184,0,.3)}
.btn-stubhub{background:linear-gradient(45deg,#003B6F,#002D55);color:#fff!important;border:none}.btn-stubhub:hover{background:linear-gradient(45deg,#002D55,#001F3C);color:#fff!important;transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,59,111,.3)}
.btn-vividseats{background:linear-gradient(45deg,#6B2D8B,#561F72);color:#fff!important;border:none}.btn-vividseats:hover{background:linear-gradient(45deg,#561F72,#42185A);color:#fff!important;transform:translateY(-2px);box-shadow:0 4px 12px rgba(107,45,139,.3)}
.btn-ticket-details{background:#D63838;color:#fff!important}.btn-fight-details{background:#6c757d;color:#fff!important}
.event-header{border-bottom:3px solid #C60000;padding-bottom:16px;margin-bottom:20px}
.event-title{color:#fff;font-size:1.75rem;font-weight:700;margin-bottom:8px}.event-title a{color:#fff!important}.event-title a:hover{color:#FFA9A9!important}
.event-meta{color:#E8E6E6;font-size:.95rem}.event-schedule{color:#FFA9A9}
.price-range{background:#1a1a1a;border-left:4px solid #22C55E;padding:12px 16px;margin:12px 0;border-radius:4px;color:#fff}
.trust-indicators{border-top:1px solid #333;color:#E8E6E6;padding-top:1rem;margin-top:1rem}.trust-indicators i{color:#22C55E}
.no-tickets-card{background:#1a0000;border-radius:12px;border:1px solid #5F0F0F;padding:60px 20px;text-align:center;margin:40px 0}

/* ── Mobile ────────────────────────────────────────────────────────────── */
@media(max-width:768px){main.site-wrapper{grid-template-columns:1fr}.site-wrapper>section{grid-column:1!important}.carousel-track{min-height:auto}.fight-card,.result-card{min-width:calc(100vw - 60px);width:calc(100vw - 60px)}}
@media(max-width:640px){.historical-fight-content{font-size:.9rem!important}.historical-fight-content h1{font-size:1.2rem}.historical-fight-content h2{font-size:1.05rem}.historical-fight-content h3{font-size:.95rem}.historical-fight-content table{font-size:1rem}.historical-fight-content th,.historical-fight-content td{padding:.5rem}.historical-fight-content blockquote{margin:1rem 0;padding:.75rem 1rem}.hist-fights-grid{grid-template-columns:1fr}}
