/*
 * Homepage (page-templates/homepage-authority-2026.php). Enqueued for that template only.
 * Ported from the child's homepage-authority.css (A-60) without Bootstrap: CSS grid layouts,
 * brand tokens from base.css, sentence-case labels, teal navigation links (orange = CTA only),
 * bookmaker colours only inside the app cards.
 */

/* ---------------------------------------------------------------- shared */
.hp { color: var(--ba-ink-2, #39434f); }
.hp-section { padding: 48px 0; }
@media (min-width: 1024px) { .hp-section { padding: 64px 0; } }

.hp-intro { max-width: 760px; margin: 0 auto 32px; text-align: center; }
.hp-intro--left { margin-left: 0; text-align: left; }
.hp-kicker { display: inline-flex; align-items: center; gap: 8px; margin: 0 0 10px; font-size: 13px; font-weight: 700; color: var(--ba-teal-text); }
.hp-kicker::before { content: ""; width: 24px; height: 1px; background: currentColor; opacity: .6; }
.hp-title { margin: 0 0 12px; font-size: clamp(26px, 3vw, 34px); line-height: 1.15; letter-spacing: -0.02em; color: var(--ba-ink); }
.hp-lead { margin: 0 0 10px; font-size: 17px; line-height: 1.7; color: #46515e; }
@media (min-width: 768px) { .hp-lead { font-size: 18px; } }
.hp-note { margin: 0; font-size: 15px; line-height: 1.7; color: var(--ba-muted); }

.hp-grid { display: grid; gap: 20px; grid-template-columns: 1fr; }
@media (min-width: 640px) { .hp-grid--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1024px) {
	.hp-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.hp-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
}
.hp-grid--auto { grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); }

.hp-card { display: flex; flex-direction: column; background: #ffffff; border: 1px solid var(--ba-line); border-radius: 20px; box-shadow: var(--ba-shadow); padding: 24px; transition: border-color .15s var(--ba-ease), box-shadow .15s var(--ba-ease); }
.hp-card__top { display: flex; align-items: center; gap: 12px; margin-bottom: 14px; }
.hp-card__top--split { justify-content: space-between; }
.hp-card__title { display: block; margin: 0 0 10px; font: 700 20px/1.3 var(--ba-font-head); color: var(--ba-ink); }
.hp-card__title a { color: inherit; text-decoration: none; }
.hp-card__title a:hover { color: var(--ba-teal-text); text-decoration: underline; }
.hp-card__text { display: block; margin: 0 0 16px; font-size: 15px; line-height: 1.7; color: #4c5563; }
.hp-card__more { margin-top: auto; font-size: 14px; font-weight: 700; color: var(--ba-teal-text); text-decoration: none; }
a.hp-card:hover { border-color: var(--ba-teal); box-shadow: var(--ba-shadow-lg); }
a.hp-card:hover .hp-card__more, .hp-card__more:hover { color: var(--ba-teal-hover); text-decoration: underline; }
a.hp-card:focus-visible { outline: 3px solid var(--ba-teal); outline-offset: 3px; }

.hp-icon { flex-shrink: 0; display: inline-flex; align-items: center; justify-content: center; width: 46px; height: 46px; border-radius: 14px; background: var(--ba-teal-tint); color: var(--ba-teal); }
.hp-icon--sm { width: 36px; height: 36px; border-radius: 10px; }
.hp-icon--dark { background: rgba(255, 255, 255, .12); color: #ffffff; }
.hp-eyebrow { font-size: 13px; font-weight: 700; color: var(--ba-teal-text); }

.hp-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.hp-chip { display: inline-flex; align-items: center; min-height: 36px; padding: 6px 13px; border-radius: var(--ba-radius-pill); background: var(--ba-cloud); border: 1px solid var(--ba-line); font-size: 13px; font-weight: 600; line-height: 1.3; color: var(--ba-teal-text); text-decoration: none; transition: border-color .15s var(--ba-ease), background-color .15s var(--ba-ease), color .15s var(--ba-ease); }
.hp-chip--lg { min-height: 40px; padding: 8px 14px; font-size: 14px; background: #ffffff; }
.hp-chip:hover { border-color: var(--ba-teal); background: #EAF6F7; color: var(--ba-teal-hover); text-decoration: none; }
.hp-chip:focus-visible { outline: 3px solid var(--ba-teal); outline-offset: 2px; }
.hp-chip:active { transform: translateY(1px); }

.hp-link { font-size: 15px; font-weight: 700; color: var(--ba-teal-text); text-decoration: none; }
.hp-link:hover { color: var(--ba-teal-hover); text-decoration: underline; }
.hp-link:focus-visible { outline: 3px solid var(--ba-teal); outline-offset: 2px; border-radius: 4px; }

/* ---------------------------------------------------------------- 1. hero */
.hp-hero { position: relative; overflow: hidden; background: var(--ba-gradient); padding: 44px 0 40px; text-align: center; }
.hp-hero::before, .hp-hero::after { content: ""; position: absolute; border-radius: 50%; pointer-events: none; }
.hp-hero::before { top: -120px; right: -40px; width: 320px; height: 320px; background: rgba(255, 255, 255, .12); }
.hp-hero::after { bottom: -140px; left: -80px; width: 340px; height: 340px; background: rgba(255, 255, 255, .08); }
.hp-hero__inner { position: relative; z-index: 1; display: flex; flex-direction: column; align-items: center; }
.hp-hero__title { max-width: 860px; margin: 0 0 14px; font-size: clamp(32px, 5.2vw, 56px); font-weight: 800; line-height: 1.05; letter-spacing: -0.02em; color: #ffffff; }
.hp-hero__lead { max-width: 720px; margin: 0 0 24px; font-size: 17px; line-height: 1.65; color: rgba(255, 255, 255, .95); }
.hp-hero__actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; }
.hp-hero__btn { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 12px 24px; border-radius: var(--ba-radius-pill); border: 1px solid transparent; font: 700 15px/1 var(--ba-font-body); text-decoration: none; transition: background-color .15s var(--ba-ease), color .15s var(--ba-ease), box-shadow .15s var(--ba-ease); }
.hp-hero__btn--primary { background: #ffffff; color: var(--ba-teal-text); box-shadow: 0 12px 28px rgba(87, 31, 60, .22); }
.hp-hero__btn--primary:hover { background: #F2FAFA; color: var(--ba-teal-hover); }
.hp-hero__btn--ghost { background: rgba(255, 255, 255, .14); border-color: rgba(255, 255, 255, .4); color: #ffffff; }
.hp-hero__btn--ghost:hover { background: rgba(255, 255, 255, .24); color: #ffffff; }
.hp-hero__btn:focus-visible { outline: 3px solid #ffffff; outline-offset: 3px; }
.hp-hero__btn:active { box-shadow: none; }
@media (min-width: 1024px) { .hp-hero { padding: 72px 0 64px; } .hp-hero__lead { font-size: 18px; } }

/* ---------------------------------------------------------------- 2. trust stats */
.trust-stats-bar { background: linear-gradient(180deg, #FFFDF9 0%, #FFF8F2 100%); border-bottom: 1px solid #F0E4DB; padding: 24px 0 28px; }
.trust-stats-bar__list { list-style: none; margin: 0 auto; display: flex; justify-content: center; gap: 8px; }
.trust-stat-item { flex: 1 1 0; min-width: 0; max-width: 220px; display: flex; flex-direction: column; align-items: center; gap: 4px; padding: 14px 8px 12px; background: rgba(255, 255, 255, .92); border: 1px solid #EFE2D9; border-radius: 16px; box-shadow: 0 12px 28px rgba(32, 32, 32, .05); text-align: center; }
.trust-stat-item::after { content: ""; width: 28px; height: 3px; margin-top: 8px; border-radius: var(--ba-radius-pill); background: var(--ba-gradient); }
.trust-stat-value { font: 800 26px/1 var(--ba-font-head); color: var(--ba-ink); }
.trust-stat-label { font-size: 12.5px; font-weight: 600; line-height: 1.3; color: #5E6673; }
@media (min-width: 640px) {
	.trust-stats-bar__list { gap: 12px; }
	.trust-stat-item { padding: 18px 22px 16px; border-radius: 20px; }
	.trust-stat-item::after { width: 34px; height: 4px; margin-top: 10px; }
	.trust-stat-value { font-size: 34px; }
	.trust-stat-label { font-size: 14px; }
}

/* ---------------------------------------------------------------- 3. pillars */
.hp-pillars { background: radial-gradient(circle at top left, rgba(248, 120, 48, .08), transparent 34%), #ffffff; }
.hp-pillar--feature { background: linear-gradient(135deg, #FFF8EF 0%, #FFF2FB 100%); border-color: var(--ba-pink-line); }
.hp-pillar .hp-chips { margin-top: auto; }

/* ---------------------------------------------------------------- 4. app snapshot */
.hp-apps { background: linear-gradient(180deg, #FFF5EA 0%, #ffffff 48%, #FFF8F1 100%); }
.hp-apps__list { list-style: none; margin: 0; padding: 0; }
.hp-app { display: grid; grid-row: span 5; grid-template-rows: subgrid; row-gap: 10px; overflow: hidden; background: #ffffff; border: 1px solid var(--ba-line); border-radius: 20px; box-shadow: 0 16px 36px rgba(32, 32, 32, .10); }
.hp-app__head { position: relative; display: grid; grid-template-columns: auto 1fr; grid-template-rows: auto auto; column-gap: 14px; align-items: center; padding: 20px; background: #ffffff; border-bottom: 1px solid var(--ba-line); color: var(--ba-ink); }
.hp-app__head .ba-app-tile { grid-row: span 2; border: 2px solid var(--ba-line); border-radius: 16px; }
.hp-app__rank { position: absolute; top: 14px; right: 14px; padding: 4px 10px; border-radius: var(--ba-radius-pill); background: var(--ba-ink); color: #ffffff; font-size: 12px; font-weight: 700; }
.hp-app__name { margin: 0; padding-right: 44px; font: 800 22px/1.15 var(--ba-font-head); color: inherit; }
.hp-app__score { margin-top: 6px; }
.hp-app__score .ba-score { padding: 3px 9px; border-radius: var(--ba-radius-pill); background: var(--ba-cloud); border: 1px solid var(--ba-line); }
/* #1 (bet365 today): gradient ring + "Our top pick" tag. The tag's style follows the shared tag decision. */
.hp-app:first-child { border: 2px solid transparent; background: linear-gradient(#ffffff, #ffffff) padding-box, var(--ba-gradient) border-box; box-shadow: 0 20px 44px rgba(232, 80, 144, .16); }
.hp-app:first-child .hp-app__head { grid-template-rows: auto auto auto; }
.hp-app:first-child .hp-app__head .ba-app-tile { grid-row: span 3; }
.hp-app__pick { grid-column: 2; justify-self: start; margin-bottom: 2px; }
.hp-app__body { display: contents; } /* Its children join the card's subgrid rows. */
.hp-app__body > * { margin-left: 20px; margin-right: 20px; }
.hp-app__actions { margin-bottom: 20px; align-self: end; }
.hp-app__best { justify-self: start; align-self: start; margin-top: 8px; margin-bottom: 0; padding: 4px 11px; border-radius: var(--ba-radius-pill); background: var(--ba-teal-tint); font-size: 13px; font-weight: 600; color: var(--ba-teal-text); }
.hp-app__summary { margin-top: 0; margin-bottom: 0; font-size: 15px; line-height: 1.6; color: #4c5563; }
.hp-app__offer { padding: 12px 14px; border-radius: var(--ba-radius-sm); background: var(--ba-cloud); border: 1px solid var(--ba-line); }
.hp-app__offer-text { margin: 0 0 4px; font: 800 16px/1.3 var(--ba-font-head); color: var(--ba-ink); }
.hp-app__compliance, .hp-app__terms { margin: 0; font-size: 12px; line-height: 1.5; color: #666666; }
.hp-app__compliance a { color: var(--ba-teal-text); }
.hp-app__terms { margin-top: 4px; font-size: 11.5px; max-height: 9.1em; overflow-y: auto; padding-right: 4px; scrollbar-width: thin; } /* 6 lines = bet365's full terms; longer terms scroll, as on the listing. */
.hp-app__actions { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.hp-app__actions .ba-btn { min-height: 44px; padding: 0 14px; font-size: 14px; }
.hp-app__actions .ba-btn:only-child { grid-column: 1 / -1; }
.hp-apps__more { margin: 24px 0 0; text-align: center; }

/* ---------------------------------------------------------------- 5. tools (dark band) */
.hp-tools { background: radial-gradient(circle at top right, rgba(248, 120, 48, .14), transparent 26%), linear-gradient(180deg, #1C2330 0%, #202837 100%); color: #ffffff; }
.hp-tools .hp-kicker { color: var(--ba-teal-ondark); }
.hp-tools .hp-title { color: #ffffff; }
.hp-tools .hp-lead { color: rgba(255, 255, 255, .9); }
.hp-tools .hp-note { color: rgba(255, 255, 255, .72); }
.hp-tool { display: flex; flex-direction: column; padding: 24px 22px; border: 1px solid rgba(255, 255, 255, .12); border-radius: 20px; background: rgba(255, 255, 255, .075); box-shadow: 0 14px 34px rgba(9, 13, 20, .18); }
.hp-tool--feature { background: linear-gradient(135deg, rgba(248, 120, 48, .14), rgba(232, 80, 144, .12)); }
.hp-tool .hp-card__title { color: #ffffff; }
.hp-tool .hp-card__text { color: rgba(255, 255, 255, .8); }
.hp-status { padding: 4px 11px; border-radius: var(--ba-radius-pill); font-size: 12px; font-weight: 700; }
.hp-status--live { background: #D4EDDA; color: #155724; }
.hp-status--soon { background: rgba(255, 255, 255, .9); color: #555555; }
.hp-tool__meta { list-style: none; margin: 0 0 18px; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.hp-tool__meta li { padding: 5px 11px; border-radius: var(--ba-radius-pill); border: 1px solid rgba(255, 255, 255, .25); font-size: 12px; font-weight: 600; color: rgba(255, 255, 255, .88); }
.hp-tool__cta { margin-top: auto; align-self: flex-start; display: inline-flex; align-items: center; min-height: 44px; padding: 10px 20px; border-radius: var(--ba-radius-pill); background: linear-gradient(135deg, #F87830, #E85090); color: #ffffff; font-size: 14px; font-weight: 700; text-decoration: none; box-shadow: 0 10px 24px rgba(232, 80, 144, .32); transition: box-shadow .15s var(--ba-ease), filter .15s var(--ba-ease); }
.hp-tool__cta:hover { color: #ffffff; text-decoration: none; filter: brightness(1.06); box-shadow: 0 14px 30px rgba(232, 80, 144, .42); }
.hp-tool__cta:focus-visible { outline: 3px solid #ffffff; outline-offset: 3px; }
.hp-tool__cta:active { filter: brightness(.95); box-shadow: none; }

/* ---------------------------------------------------------------- 6. method + reviewer */
.hp-method { background: linear-gradient(180deg, #ffffff 0%, #FFFAF6 100%); }
.hp-panel { padding: 28px 24px; border: 1px solid #EDE4DC; border-radius: 22px; background: #ffffff; box-shadow: 0 16px 34px rgba(32, 32, 32, .08); }
.hp-panel--process { background: linear-gradient(135deg, #FFFAF3 0%, #ffffff 100%); }
.hp-panel--reviewer { background: linear-gradient(135deg, #FFF7FB 0%, #ffffff 100%); }
.hp-panel__copy { margin: 0 0 18px; font-size: 16px; line-height: 1.75; color: #45505C; }
.hp-panel__note { margin: 0 0 20px; font-size: 14px; line-height: 1.7; color: #616B77; }
.hp-steps { list-style: none; margin: 0 0 18px; padding: 0; display: grid; gap: 10px; }
.hp-step { display: flex; align-items: center; gap: 12px; min-height: 54px; padding: 9px 14px; border-radius: 16px; background: #ffffff; border: 1px solid #F0E3D8; }
.hp-step__label { font-size: 15px; font-weight: 700; color: #2D3642; }
.hp-dark-btn { display: inline-flex; align-items: center; min-height: 44px; padding: 10px 20px; border-radius: var(--ba-radius-pill); background: var(--ba-ink); color: #ffffff; font-size: 14px; font-weight: 700; text-decoration: none; transition: background-color .15s var(--ba-ease); }
.hp-dark-btn:hover { background: #3A3F48; color: #ffffff; text-decoration: none; }
.hp-dark-btn:focus-visible { outline: 3px solid var(--ba-teal); outline-offset: 3px; }
.hp-reviewer { display: flex; gap: 18px; align-items: flex-start; margin-bottom: 16px; }
.hp-reviewer__photo { flex: 0 0 84px; }
.hp-reviewer__img, .hp-reviewer__initial { display: inline-flex; align-items: center; justify-content: center; width: 84px; height: 84px; border-radius: 22px; object-fit: cover; box-shadow: 0 14px 28px rgba(32, 32, 32, .12); }
.hp-reviewer__initial { background: var(--ba-gradient); font: 800 28px/1 var(--ba-font-head); color: #ffffff; }
.hp-reviewer__meta { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.hp-reviewer__role { font-size: 13px; font-weight: 700; color: var(--ba-teal-text); }
.hp-reviewer__name { margin: 0; font: 700 24px/1.2 var(--ba-font-head); }
.hp-reviewer__name a { color: var(--ba-ink); text-decoration: none; }
.hp-reviewer__name a:hover { color: var(--ba-teal-text); text-decoration: underline; }
.hp-reviewer__bio { font-size: 15px; line-height: 1.7; color: #4F5966; }
.hp-reviewer__links { display: flex; flex-wrap: wrap; gap: 10px 20px; margin: 0; }
@media (max-width: 479.98px) { .hp-reviewer { flex-direction: column; } }

/* ---------------------------------------------------------------- 7. brands */
.hp-brands { background: #ffffff; }
.hp-brands__groups { align-items: start; }
.hp-brands__group--apps { order: -1; }
@media (min-width: 1024px) {
	.hp-brands__groups { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.hp-brands__group--apps { grid-column: 1 / -1; }
	.hp-brands__group--apps .hp-chips { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (min-width: 640px) and (max-width: 1023.98px) {
	.hp-brands__groups { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.hp-brands__group--apps { grid-column: 1 / -1; }
	.hp-brands__group--apps .hp-chips { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.hp-brands__group { padding: 20px 22px; border: 1px solid #ECE6EA; border-radius: 20px; background: #FCFAFB; box-shadow: 0 10px 26px rgba(32, 32, 32, .04); }
.hp-brands__label { margin: 0 0 12px; font: 700 14px/1.3 var(--ba-font-body); letter-spacing: 0; color: var(--ba-teal-text); }
.hp-brands__group--apps .hp-chip { gap: 8px; padding-left: 6px; }
.hp-chip .ba-app-tile { border-radius: 8px; }

/* ---------------------------------------------------------------- 8. guides */
.hp-learning { background: linear-gradient(180deg, #FFFDF8 0%, #ffffff 100%); }
.hp-guide { position: relative; overflow: hidden; text-decoration: none; color: inherit; gap: 0; background: linear-gradient(160deg, #FFF5EC 0%, #ffffff 52%, #FFF0F6 100%); border-color: #F3E2D9; }
.hp-guide .ba-tag { align-self: flex-start; margin-bottom: 10px; }
a.hp-guide:hover { border-color: var(--ba-pink-line); box-shadow: 0 20px 40px rgba(232, 80, 144, .14); }
a.hp-guide:hover .hp-card__title { color: var(--ba-teal-text); }

/* ---------------------------------------------------------------- 9. updates */
.hp-updates { background: linear-gradient(180deg, #FBFBFC 0%, #F4F6F8 100%); }
.hp-update { padding: 0 0 22px; overflow: hidden; }
.hp-update > :not(.hp-update__media) { margin-left: 22px; margin-right: 22px; }
.hp-update__media { display: block; aspect-ratio: 16 / 9; overflow: hidden; margin-bottom: 16px; background: #EEF2F6; border-bottom: 1px solid #EEF1F4; }
.hp-update__img { display: block; width: 100%; height: 100%; object-fit: cover; }
.hp-update__media--empty { display: flex; align-items: flex-end; padding: 18px; background: radial-gradient(circle at top right, rgba(248, 120, 48, .22), transparent 36%), linear-gradient(135deg, #FFF1E5 0%, #FBE8F4 100%); text-decoration: none; }
.hp-update__placeholder { max-width: 18ch; font: 800 22px/1.15 var(--ba-font-head); color: #2D3340; }
.hp-update__meta { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 10px; font-size: 13px; color: #6B7580; }

/* ---------------------------------------------------------------- 10. faq */
.hp-faq { background: linear-gradient(180deg, #ffffff 0%, #FFFAF6 100%); }
.hp-faq__list { max-width: 900px; margin: 0 auto; }

/* ---------------------------------------------------------------- 11. closing band */
.hp-close { position: relative; overflow: hidden; padding: 48px 0; background: linear-gradient(135deg, #221F32 0%, #202837 48%, #34233B 100%); text-align: center; color: #ffffff; }
.hp-close::before, .hp-close::after { content: ""; position: absolute; border-radius: 50%; pointer-events: none; }
.hp-close::before { top: -120px; right: -80px; width: 280px; height: 280px; background: rgba(248, 120, 48, .12); }
.hp-close::after { bottom: -140px; left: -120px; width: 320px; height: 320px; background: rgba(232, 80, 144, .12); }
.hp-close__inner { position: relative; z-index: 1; max-width: 860px; }
.hp-close .hp-kicker { color: rgba(255, 255, 255, .78); }
.hp-close__title { margin: 0 0 14px; font-size: clamp(24px, 3.2vw, 34px); line-height: 1.2; color: #ffffff; }
.hp-close__copy { margin: 0 auto 22px; max-width: 720px; font-size: 16px; line-height: 1.75; color: rgba(243, 245, 249, .85); }
.hp-close__links { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; }
.hp-close__links a { display: inline-flex; align-items: center; min-height: 40px; padding: 8px 16px; border-radius: var(--ba-radius-pill); background: rgba(255, 255, 255, .08); border: 1px solid rgba(255, 255, 255, .2); color: #ffffff; font-size: 14px; font-weight: 700; text-decoration: none; transition: background-color .15s var(--ba-ease), color .15s var(--ba-ease); }
.hp-close__links a:hover { background: #ffffff; color: var(--ba-teal-text); }
.hp-close__links a:focus-visible { outline: 3px solid #ffffff; outline-offset: 2px; }
.hp-close + .ba-footer, .hp + .ba-footer { margin-top: 0; }
@media (min-width: 1024px) { .hp-close { padding: 64px 0; } }

/* Below-the-fold sections skip layout/paint until near the viewport. */
.hp-section:not(.hp-pillars), .hp-close { content-visibility: auto; contain-intrinsic-size: auto 800px; }

/* The page ends on the dark closing band; the footer's top margin would leave a white strip. */
.ba-footer { margin-top: 0; }
