/*
Theme Name:  CFL Pass
Theme URI:   https://cflpass.com/
Description: Kadence child theme for cflpass.com. Navy and red tokens matched to the CFL Hub plugin, system font stack (no web fonts), no JavaScript, print and reduced-motion aware.
Author:      CFL Pass
Template:    kadence
Version:     1.0.8
Requires at least: 6.2
Requires PHP: 7.4
License:     GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: cflpass-child
*/

/* ---------- 1. Tokens: override Kadence's palette so Customizer colours follow the brand ---------- */
:root{
	--global-palette1:#c8102e;      /* accent: links, buttons (logo red) */
	--global-palette2:#9c0b23;      /* accent hover */
	--global-palette3:#0e1a2b;      /* headings */
	--global-palette4:#1f2a3a;      /* body text */
	--global-palette5:#5b6472;      /* muted text */
	--global-palette6:#8a93a0;      /* subtle text */
	--global-palette7:#e6e8ec;      /* lines */
	--global-palette8:#f3f5f8;      /* page background */
	--global-palette9:#ffffff;      /* cards */
	--cfl-navy:#0b2a4a;
	--cfl-navy-2:#1d4673;
	--cfl-red:#c8102e;
	--cfl-radius:14px;
	--cfl-shadow:0 1px 2px rgba(14,26,43,.04),0 8px 24px rgba(14,26,43,.06);
	--global-content-width:1180px;
	--global-body-font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
	--global-heading-font-family:inherit;
}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{background:var(--global-palette8);color:var(--global-palette4);font-size:17px;line-height:1.6;text-rendering:optimizeLegibility}
h1,h2,h3,h4{color:var(--global-palette3);letter-spacing:-.012em;line-height:1.2;font-weight:800}
a{color:var(--global-palette1)}
a:hover{color:var(--global-palette2)}
:focus-visible{outline:2px solid var(--cfl-red);outline-offset:2px}
img{height:auto}
::selection{background:#ffe3e7}

/* ---------- 2. Header ---------- */
#masthead{background:#fff;border-bottom:1px solid var(--global-palette7)}
#masthead .site-header-row-container-inner{box-shadow:none}
.site-branding{padding:4px 0}
.site-branding img.custom-logo{width:auto;height:52px;max-height:52px}
.header-navigation .primary-menu-container>ul>li>a,.primary-menu-container>ul>li>a,.header-navigation .primary-menu>li>a{font-size:15px;font-weight:600;color:var(--global-palette3)!important;padding:.6em .8em;position:relative;transition:color .15s}
.header-navigation .primary-menu-container>ul>li>a:after,.header-navigation .primary-menu>li>a:after{content:"";position:absolute;left:.8em;right:.8em;bottom:.3em;height:2px;border-radius:2px;background:var(--cfl-red);transform:scaleX(0);transform-origin:left;transition:transform .18s}
.header-navigation .primary-menu-container>ul>li>a:hover:after,.header-navigation .primary-menu-container>ul>li.current-menu-item>a:after,.header-navigation .primary-menu>li>a:hover:after,.header-navigation .primary-menu>li.current-menu-item>a:after{transform:scaleX(1)}
.header-navigation .primary-menu-container>ul>li>a:hover,.header-navigation .primary-menu-container>ul>li.current-menu-item>a,.header-navigation .primary-menu>li>a:hover,.header-navigation .primary-menu>li.current-menu-item>a{color:var(--cfl-red)!important}
.menu-toggle-open{border-radius:10px;padding:8px 10px;border:1px solid var(--global-palette7)}
.menu-toggle-open .menu-toggle-icon{color:var(--global-palette3)}
#mobile-drawer .drawer-inner{background:var(--cfl-navy);color:#fff}
#mobile-drawer .mobile-navigation a{color:#fff;font-size:17px;font-weight:600;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.1)}
#mobile-drawer .mobile-navigation li.current-menu-item>a{color:#ffb3bd}
#mobile-drawer .drawer-header .drawer-toggle{color:#fff}

/* ---------- 3. Page shell and entry header ---------- */
.content-area{padding-top:1.25rem}
.site-main{max-width:100%}
.kadence-breadcrumbs,.rank-math-breadcrumb{font-size:13px;color:var(--global-palette5);margin:0 0 .75rem}
.kadence-breadcrumbs a,.rank-math-breadcrumb a{color:var(--global-palette5)}
.entry-header{margin-bottom:1rem}
.entry-header .entry-title{font-size:clamp(26px,4.2vw,40px);margin:0 0 .45rem}
.entry-taxonomies a,.entry-taxonomies .category-links a{display:inline-block;font-size:12px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--cfl-red);text-decoration:none}
.entry-meta{font-size:14px;color:var(--global-palette5)}
.entry-meta a{color:inherit}
.entry-meta .meta-label{display:none}
.content-bg,.content-style-boxed .entry-content-wrap,.content-style-boxed .site-main>.entry{background:#fff;border:1px solid var(--global-palette7);border-radius:var(--cfl-radius);box-shadow:var(--cfl-shadow)}
.content-style-boxed .entry-content-wrap{padding:clamp(18px,3vw,36px)}
.post-thumbnail img,.entry-content figure img,.entry-content .wp-block-image img{border-radius:12px}

/* ---------- 4. Reading experience ---------- */
.entry-content>*{max-width:100%}
.entry-content p,.entry-content li{font-size:17px;line-height:1.65}
.entry-content h2{font-size:clamp(22px,3vw,28px);margin:2.2rem 0 .8rem;padding-top:.5rem;position:relative}
.entry-content h2.has-text-align-center{padding-top:0}
.entry-content h2:not(.has-text-align-center):before{content:"";display:block;width:36px;height:4px;border-radius:2px;background:var(--cfl-red);margin:0 0 .6rem}
.entry-content h3{font-size:clamp(18px,2.4vw,22px);margin:1.6rem 0 .6rem}
.entry-content a:not(.wp-block-button__link):not(.ch-team):not(.chh-quick a){text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:3px}
.entry-content a:not(.wp-block-button__link):hover{text-decoration-color:var(--cfl-red)}
.entry-content strong{color:var(--global-palette3)}
.entry-content blockquote{border-left:4px solid var(--cfl-red);background:var(--global-palette8);padding:14px 18px;border-radius:0 12px 12px 0;margin:1.4rem 0}
.entry-content ul:not([class]),.entry-content ol:not([class]){padding-left:1.3rem}
.entry-content li+li{margin-top:.3rem}
.entry-content hr{border:0;height:1px;background:var(--global-palette7);margin:2rem 0}
/* Tables: Gutenberg block tables */
.entry-content figure.wp-block-table{border:1px solid var(--global-palette7);border-radius:12px;overflow:auto;background:#fff;margin:1.2rem 0}
.entry-content .wp-block-table table{border-collapse:collapse;margin:0;border:0;font-size:15px;min-width:100%}
.entry-content .wp-block-table th{background:var(--cfl-navy);color:#fff;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:10px 12px;border:0;white-space:nowrap}
.entry-content .wp-block-table td{padding:9px 12px;border:0;border-top:1px solid var(--global-palette7);vertical-align:middle;font-variant-numeric:tabular-nums}
.entry-content .wp-block-table tbody tr:nth-child(even) td{background:#fafbfc}
.entry-content .wp-block-table tbody tr:hover td{background:#f1f4f8}
/* Buttons */
.wp-block-button__link,.button,button.wp-element-button,input[type=submit]{background:var(--cfl-red);color:#fff;border-radius:999px;padding:.7em 1.4em;font-weight:700;border:0;box-shadow:none;transition:background .15s,transform .15s}
.wp-block-button__link:hover,.button:hover,input[type=submit]:hover{background:var(--global-palette2);color:#fff;transform:translateY(-1px)}
.is-style-outline .wp-block-button__link{background:transparent;color:var(--cfl-red);border:2px solid currentColor}
/* Last-updated line and small print */
.entry-content p.has-text-align-center em{color:var(--global-palette5);font-size:14px}
/* Author box, post nav, related */
.navigation.post-navigation{border-top:1px solid var(--global-palette7);margin-top:1.5rem;padding-top:1rem}
.post-navigation .nav-links a{font-weight:700;text-decoration:none;color:var(--global-palette3)}
.post-navigation .nav-links .post-navigation-sub{font-size:12px;letter-spacing:.07em;text-transform:uppercase;color:var(--global-palette5)}
.post-navigation .nav-links a:hover{color:var(--cfl-red)}

/* ---------- 5. Sidebar ---------- */
#secondary .widget{background:#fff;border:1px solid var(--global-palette7);border-radius:var(--cfl-radius);padding:18px 18px 14px;box-shadow:var(--cfl-shadow);margin-bottom:18px}
#secondary .widget-title,#secondary .widget h2,#secondary .widget h3{font-size:13px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--global-palette5);margin:0 0 10px}
#secondary .widget ul{list-style:none;margin:0;padding:0}
#secondary .widget li{padding:9px 0;border-top:1px solid var(--global-palette7);font-size:15px;line-height:1.4}
#secondary .widget li:first-child{border-top:0;padding-top:0}
#secondary .widget a{color:var(--global-palette3);text-decoration:none;font-weight:600}
#secondary .widget a:hover{color:var(--cfl-red)}
#secondary .search-form input[type=search]{border-radius:10px;border:1px solid var(--global-palette7)}
#secondary .search-form .search-submit{border-radius:10px}
@media (max-width:1024px){
	.single-post #secondary{display:none} /* on phones the sidebar lands under a long article; the same links are in the menu and footer */
}

/* ---------- 6. Archives and cards (Latest Updates, category pages) ---------- */
.archive .entry-header,.blog .entry-header{margin-bottom:1rem}
.archive-title,.page-title{font-size:clamp(24px,4vw,34px)}
.loop-entry.entry{background:#fff;border:1px solid var(--global-palette7);border-radius:var(--cfl-radius);box-shadow:var(--cfl-shadow);overflow:hidden;transition:transform .15s,box-shadow .15s}
.loop-entry.entry:hover{transform:translateY(-2px);box-shadow:0 10px 28px rgba(14,26,43,.1)}
.loop-entry .post-thumbnail img{border-radius:0;aspect-ratio:16/9;object-fit:cover;width:100%}
.loop-entry .entry-content-wrap{padding:16px 18px 18px}
.loop-entry .entry-title{font-size:18px;line-height:1.3;margin:0 0 .4rem}
.loop-entry .entry-title a{color:var(--global-palette3);text-decoration:none}
.loop-entry .entry-title a:hover{color:var(--cfl-red)}
.loop-entry .entry-summary{font-size:15px;color:var(--global-palette5)}
.loop-entry .entry-meta{font-size:13px}
.loop-entry .entry-footer{display:none}
.pagination .page-numbers{border-radius:10px;border:1px solid var(--global-palette7);background:#fff;padding:.5em .9em;font-weight:700}
.pagination .page-numbers.current{background:var(--cfl-navy);color:#fff;border-color:var(--cfl-navy)}

/* ---------- 7. Footer ---------- */
#colophon{background:var(--cfl-navy);color:rgba(255,255,255,.82)}
#colophon .site-footer-row-container-inner{background:transparent}
#colophon .site-footer-wrap{background:transparent}
#colophon .footer-html,#colophon .widget,#colophon p{color:rgba(255,255,255,.82);font-size:14px}
#colophon a{color:#fff;text-decoration:underline;text-decoration-color:rgba(255,255,255,.35);text-underline-offset:3px}
#colophon a:hover{text-decoration-color:#fff}
#colophon .footer-navigation a{text-decoration:none;font-weight:600}
#colophon .site-footer-row{padding-top:14px;padding-bottom:14px}#colophon .footer-html{margin-top:0}#colophon .site-middle-footer-inner-wrap{padding-top:26px}#colophon .site-bottom-footer-inner-wrap{padding-bottom:26px;font-size:13px}

/* ---------- 8. Plugin surfaces (CFL Hub) sit on the same tokens ---------- */
.cflhub{--ch-bg:#fff;--ch-line:#e6e8ec;--ch-muted:#5b6472;--ch-accent:#c8102e}
.cflhub .ch-h2,.cflhub h2{letter-spacing:-.012em}
.ch-glance,.ch-standings,.ch-sched .ch-game,.ch-hero,.ch-trows{border-radius:var(--cfl-radius)}
.ch-adslot{margin:22px auto}

/* ---------- 8b. Homepage component: keep the theme's article styles out of it ---------- */
.home .content-area{margin-top:22px!important;padding-top:0;padding-bottom:0;margin-bottom:36px!important}
.content-area{margin-top:28px!important}
@media (max-width:767px){.content-area,.home .content-area{margin-top:14px!important}}
.entry-content .chh a,.entry-content .chh a:hover{text-decoration:none!important}
.entry-content .chh h2,.entry-content .chh h3{margin:0;padding:0}
.entry-content .chh ul,.entry-content .chh ol{padding:0!important;margin-left:0!important;list-style:none!important}
.entry-content .chh li{margin:0}
.entry-content .chh-strip{padding-bottom:4px!important}
.entry-content .chh .chh-h1:before,.entry-content .chh .chh-sub:before{display:none!important}
.entry-content .chh .chh-sub{margin:14px 0 8px!important}
.chh-head a{padding:8px 0;margin:-8px 0}
.chh-tag{font-size:12px}
.chh-st td a span,.chh-teams a strong,.chh-news a strong{text-decoration:none}
.chh-st td a:hover span,.chh-teams a:hover strong,.chh-news a:hover strong{text-decoration:underline!important;text-underline-offset:3px}
.home .entry-content>h2{text-align:left;font-size:22px;line-height:1.25;margin:4px 0 12px;padding:0;display:flex;align-items:center;gap:10px}.home .entry-content>h2:before{content:"";display:inline-block;flex:none;width:4px;height:20px;border-radius:2px;background:var(--cfl-red);margin:0}.home .entry-content .rank-math-block{margin-bottom:0}

/* Plugin UI (pills, cards, buttons, share, explore nav) is not article prose: no underlines there */
.entry-content .cflhub a,.entry-content .ch-trows a,.entry-content .ch-explore a{text-decoration:none!important}
.entry-content .cflhub .ch-prose a,.entry-content .cflhub .ch-intro a,.entry-content .cflhub .ch-faq a,.entry-content .cflhub .ch-conclusion a,.entry-content .cflhub p a{text-decoration:underline!important;text-decoration-thickness:1.5px;text-underline-offset:3px}
.entry-content .cflhub .ch-btn,.entry-content .cflhub .ch-team{text-decoration:none!important}

/* ---------- 9. Mobile ---------- */
@media (max-width:767px){
	body{font-size:16px}
	.entry-content p,.entry-content li{font-size:16px}
	.content-area{padding-top:.75rem}
	.content-style-boxed .entry-content-wrap{padding:16px 14px;border-radius:12px}
	.entry-header .entry-title{font-size:24px}
	.site-branding img.custom-logo{height:44px}
	.entry-content h2{margin-top:1.8rem}
	.loop-entry .entry-content-wrap{padding:14px}
}

/* ---------- 10. Print and motion ---------- */
@media (prefers-reduced-motion:reduce){
	html{scroll-behavior:auto}
	*,*:before,*:after{transition:none!important;animation:none!important}
}
@media print{
	#masthead,#colophon,#secondary,.ch-adslot,.post-navigation,.menu-toggle-open,.rank-math-breadcrumb{display:none!important}
	body{background:#fff;color:#000;font-size:12pt}
	.content-style-boxed .entry-content-wrap{border:0;box-shadow:none;padding:0}
	a{color:#000;text-decoration:none}
	.entry-content .wp-block-table th{background:#eee;color:#000}
}
