/* Blocks: sections, cards, silo grid, related, silo cocoon block, trust strip, partner promo. */
.section { padding: 28px 0; }
.section h2 { font-size: 28px; color: var(--navy); margin: 0 0 18px; }
.rail__head { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; }
.rail__head a { font-weight: 700; text-decoration: none; }
.cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 16px; }
.card { display: flex; flex-direction: column; gap: 6px; padding: 18px; background: var(--card); border-radius: var(--r); box-shadow: var(--shadow); text-decoration: none; color: var(--ink); border-top: 4px solid var(--blue); transition: transform .15s; }
.card:hover { transform: translateY(-2px); color: var(--ink); }
.card__head { display: flex; align-items: center; gap: 10px; margin-bottom: 2px; }
.card__icon { flex: 0 0 auto; width: 44px; height: 44px; border-radius: 12px; display: flex; align-items: center; justify-content: center; color: #fff; background: linear-gradient(135deg, var(--navy) 0%, var(--blue) 70%, #2e5fc7 100%); box-shadow: 0 3px 8px rgba(11, 31, 77, .28); }
.card__icon svg { width: 26px; height: 26px; display: block; }
.card__eyebrow { font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; color: var(--red); }
.card__title { font-weight: 800; font-size: 18px; line-height: 1.3; color: var(--navy); }
.card__lead { font-size: 15px; color: var(--muted); }

.silos { display: grid; grid-template-columns: repeat(5, 1fr); gap: 16px; }
.silo-card { display: flex; flex-direction: column; background: var(--card); border-radius: var(--r); overflow: hidden; box-shadow: var(--shadow); text-decoration: none; color: var(--ink); }
.silo-card .hero__img { border-radius: 0; box-shadow: none; }
.silo-card__title { font-weight: 800; font-size: 20px; color: var(--navy); padding: 12px 14px 0; }
.silo-card__lead { font-size: 14px; color: var(--muted); padding: 4px 14px 16px; }

.related { padding: 32px 0 8px; }
.related h2, .silo h2 { font-size: 26px; color: var(--navy); margin: 0 0 16px; }
.silo { margin-top: 24px; padding: 32px 0; background: #fff; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.silo__tag { margin: -10px 0 16px; color: var(--muted); }
.silo__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 20px; }
.silo__title { font-weight: 800; color: var(--red); margin: 0 0 6px; font-size: 14px; text-transform: uppercase; letter-spacing: .06em; }
.silo ul { list-style: none; margin: 0; padding: 0; font-size: 15px; }
.silo li { padding: 3px 0; }
.silo span[aria-current] { font-weight: 800; }

.trust-strip__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.trust-strip__grid p { margin: 0; padding: 20px; background: #fff; border-radius: var(--r); box-shadow: var(--shadow); }

.promo { margin: 24px 0; border-radius: var(--r); overflow: hidden; background: var(--navy); color: #fff; }
.promo__label { display: flex; justify-content: space-between; margin: 0; padding: 6px 14px; font-size: 12px; text-transform: uppercase; letter-spacing: .06em; color: #9fb0d8; }
.promo__hit { position: relative; overflow: hidden; display: grid; grid-template-columns: 360px 1fr; align-items: center; color: #fff; text-decoration: none; }
.promo__hit:hover { color: #fff; }
/* light sweep across the banner (attention), off for reduced motion */
.promo__hit::after { content: ""; position: absolute; top: 0; bottom: 0; left: -45%; width: 32%; background: linear-gradient(105deg, transparent, rgba(255, 255, 255, .22), transparent); transform: skewX(-18deg); animation: promo-shine 3.8s ease-in-out infinite; pointer-events: none; }
@keyframes promo-shine { 0% { left: -45%; } 55%, 100% { left: 135%; } }
.promo__img { width: 100%; height: 100%; object-fit: cover; }
.promo__copy { display: flex; flex-direction: column; gap: 6px; padding: 20px 24px; }
.promo__kicker { color: var(--sun); font-weight: 800; font-size: 13px; text-transform: uppercase; }
.promo__title { font-size: 24px; font-weight: 800; line-height: 1.2; }
.promo__small { color: #c9d3ee; font-size: 15px; }
.promo__cta { align-self: flex-start; margin-top: 8px; background: var(--sun); color: var(--ink); padding: 13px 30px; border-radius: 999px; font-weight: 800; font-size: 19px; animation: cta-glow 2.6s ease-in-out infinite; }
@keyframes cta-glow { 0%, 100% { box-shadow: 0 0 0 0 rgba(252, 209, 22, 0); } 50% { box-shadow: 0 0 20px 5px rgba(252, 209, 22, .55); } }
@media (prefers-reduced-motion: reduce) { .promo__hit::after, .promo__cta { animation: none; } }
.promo__rg { margin: 0; padding: 8px 14px; font-size: 13px; color: #c9d3ee; background: rgba(0, 0, 0, .2); }
.promo__rg a { color: #fff; }
/* mid banner inside the article text */
.prose .promo { margin: 28px 0; }
.prose .promo img { margin: 0; border-radius: 0; }
.prose .promo a, .prose .promo a:hover { color: #fff; }
.prose .promo p { margin: 0; }
.prose .promo__hit { grid-template-columns: 300px 1fr; }
@media (max-width: 900px) { .prose .promo__hit { grid-template-columns: 1fr; } }

@media (max-width: 1100px) { .silos { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 900px) {
	.trust-strip__grid, .promo__hit { grid-template-columns: 1fr; }
	.silos { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
	.silos { grid-template-columns: 1fr; }
	.promo__title { font-size: 20px; }
}

/* Watch-live cards (home): reference alex-eala.net style — dark image cards, 2x2 grid. */
.watch__lead { color: var(--muted); max-width: 70ch; margin: -6px 0 20px; font-size: 18px; }
.watch-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 22px; }
.watch-card { position: relative; display: block; border-radius: var(--r); overflow: hidden; box-shadow: var(--shadow); text-decoration: none; background: var(--navy); cursor: pointer; }
.watch-card .hero__img { border-radius: 0; box-shadow: none; display: block; width: 100%; aspect-ratio: 16 / 10; object-fit: cover; filter: brightness(.58) saturate(1.15); transition: filter .2s; }
.watch-card:hover .hero__img { filter: brightness(.7) saturate(1.15); }
.watch-card__overlay { position: absolute; inset: 0; display: flex; flex-direction: column; justify-content: flex-end; gap: 8px; padding: 22px 26px; background: linear-gradient(180deg, rgba(11,31,77,.08) 18%, rgba(11,31,77,.95) 62%); color: #fff; }
.watch-card__badge { display: inline-flex; align-items: center; gap: 8px; font-size: 15px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--sun); }
.watch-card__badge i { width: 10px; height: 10px; border-radius: 50%; background: var(--red); box-shadow: 0 0 0 3px rgba(206,17,38,.35); }
.watch-card__title { font-size: clamp(24px, 2vw, 30px); font-weight: 800; line-height: 1.2; text-shadow: 0 1px 8px rgba(0,0,0,.45); }
.watch-card__desc { font-size: 18px; line-height: 1.45; color: #e2e8f8; text-shadow: 0 1px 6px rgba(0,0,0,.4); }
.watch-card__btn { margin-top: 12px; align-self: flex-start; background: var(--sun); color: var(--ink); font-weight: 800; font-size: 17px; padding: 11px 24px; border-radius: 999px; }
.watch-card:hover .watch-card__btn { filter: brightness(1.07); }
.watch-card__row { display: flex; align-items: baseline; gap: 16px; }
.watch-card__guide { margin-top: 12px; color: #e2e8f8; font-size: 15px; text-decoration: underline; }
.watch-card__guide:hover { color: var(--sun); }

/* Stream interstitial: countdown + partner banner before the official broadcaster. */
.stream-modal { position: fixed; inset: 0; z-index: 90; display: flex; align-items: center; justify-content: center; padding: 20px; background: rgba(4, 12, 34, .78); }
.stream-modal[hidden] { display: none; }
.stream-modal__box { width: min(80vw, 1100px); background: #0b1f4d; border: 1px solid #24407f; border-radius: 18px; overflow: hidden; box-shadow: 0 24px 70px rgba(0, 0, 0, .5); }
.stream-modal__bar { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 0; padding: 14px 18px; color: #e2e8f8; font-size: 17px; font-weight: 600; }
.stream-modal__bar b { color: var(--sun); }
.stream-modal__count { display: inline-block; min-width: 22px; text-align: center; font-size: 20px; font-weight: 800; color: var(--sun); }
.stream-modal__x { flex: 0 0 auto; width: 34px; height: 34px; border-radius: 50%; border: 1px solid #5b74ad; background: none; color: #c9d3ee; font-size: 20px; line-height: 1; cursor: pointer; }
.stream-modal__x:hover { border-color: var(--sun); color: #fff; }
.stream-modal__x:disabled { opacity: .35; cursor: default; pointer-events: none; }
.stream-modal__ad { position: relative; display: block; margin: 0 18px; border-radius: 12px; overflow: hidden; text-decoration: none; }
.stream-modal__ad img { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: cover; margin: 0; filter: brightness(.72); }
.stream-modal__adcopy { position: absolute; inset: 0; display: flex; flex-direction: column; justify-content: flex-end; gap: 8px; padding: 22px 28px; }
.stream-modal__kicker { color: var(--sun); font-weight: 800; font-size: clamp(20px, 2.6vw, 34px); text-transform: uppercase; letter-spacing: .05em; text-shadow: 0 2px 10px rgba(0, 0, 0, .6); }
.stream-modal__adtitle { color: #fff; font-weight: 800; font-size: clamp(22px, 2.6vw, 34px); line-height: 1.22; text-shadow: 0 1px 8px rgba(0, 0, 0, .5); }
.stream-modal__adcta { align-self: flex-start; margin-top: 10px; background: var(--sun); color: var(--ink); font-weight: 800; font-size: 21px; padding: 14px 36px; border-radius: 999px; animation: cta-glow 2.6s ease-in-out infinite, cta-pulse 1.6s ease-in-out infinite; }
@keyframes cta-pulse { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.07); } }
@media (prefers-reduced-motion: reduce) { .stream-modal__adcta { animation: none; } }
.stream-modal__rg { margin: 0; padding: 10px 18px 14px; font-size: 12.5px; color: #9fb0d8; }
.stream-modal__go { flex: 0 0 auto; background: var(--sun); color: var(--ink); font-weight: 800; font-size: 14.5px; padding: 9px 18px; border-radius: 999px; text-decoration: none; white-space: nowrap; }
.stream-modal__go:hover { filter: brightness(1.07); color: var(--ink); }
@media (max-width: 720px) {
	.watch-grid { grid-template-columns: 1fr; }
	.watch-card__title { font-size: 23px; }
	.watch-card__desc { font-size: 17px; }
}

/* Register / login card (casino + money pages): conversion block to the /go/ bridge. */
.join { margin: 24px 0; border-radius: var(--r); overflow: hidden; background: linear-gradient(135deg, #12295f 0%, var(--navy) 70%); color: #fff; border: 1px solid #24407f; }
.join__label { display: flex; justify-content: space-between; margin: 0; padding: 6px 16px; font-size: 12px; text-transform: uppercase; letter-spacing: .06em; color: #9fb0d8; }
.join__body { display: flex; flex-wrap: wrap; align-items: center; gap: 18px 28px; padding: 18px 24px 20px; }
.join__text { flex: 1 1 320px; }
.join__title { margin: 0 0 10px; font-size: 24px; font-weight: 800; line-height: 1.2; }
.join__points { margin: 0; padding: 0; list-style: none; }
.join__points li { position: relative; padding: 3px 0 3px 26px; font-size: 15.5px; color: #e2e8f8; }
.join__points li::before { content: ""; position: absolute; left: 0; top: 8px; width: 14px; height: 14px; border-radius: 50%; background: var(--sun) url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="%230b1f4d" d="M9.5 16.2 5.8 12.5l-1.4 1.4 5.1 5.1 11-11-1.4-1.4z"/></svg>') center / 11px no-repeat; }
.join__note { margin: 10px 0 0; font-size: 13.5px; color: #9fb0d8; }
.join__btns { display: flex; flex-direction: column; gap: 10px; margin: 0; flex: 0 0 240px; }
.join__reg { display: block; text-align: center; background: var(--sun); color: var(--ink); font-weight: 800; font-size: 17px; padding: 13px 20px; border-radius: 12px; text-decoration: none; }
.join__reg:hover { filter: brightness(1.06); color: var(--ink); }
.join__login { display: block; text-align: center; border: 1.5px solid #5b74ad; color: #e2e8f8; font-weight: 700; font-size: 14.5px; padding: 10px 18px; border-radius: 12px; text-decoration: none; }
.join__login:hover { border-color: var(--sun); color: #fff; }
.join__rg { margin: 0; padding: 8px 16px; font-size: 13px; color: #c9d3ee; background: rgba(0, 0, 0, .22); }
.join__rg a { color: #fff; }

/* Soft contextual CTA line (sports / athletes / GCash pages). */
.cta-soft { margin: 26px 0; padding: 16px 20px; border-left: 4px solid var(--sun); background: #fff8e0; border-radius: 8px; font-size: 16px; color: var(--ink); }
.cta-soft a { font-weight: 800; }
.cta-soft span { color: var(--muted); font-size: 13px; }

/* Sticky mobile conversion bar (casino + money pages only, <=720px). */
.sticky-cta { display: none; }
@media (max-width: 720px) {
	.sticky-cta { position: fixed; left: 0; right: 0; bottom: 0; z-index: 60; display: flex; align-items: center; gap: 10px; padding: 10px 14px calc(10px + env(safe-area-inset-bottom)); background: var(--navy); border-top: 1px solid #24407f; box-shadow: 0 -6px 20px rgba(0, 0, 0, .35); }
	.sticky-cta__txt { flex: 1; color: #fff; font-weight: 700; font-size: 14.5px; }
	.sticky-cta__txt em { font-style: normal; color: var(--sun); font-size: 12px; margin-left: 6px; }
	.sticky-cta__btn { background: var(--sun); color: var(--ink); font-weight: 800; font-size: 15px; padding: 9px 18px; border-radius: 999px; text-decoration: none; white-space: nowrap; }
	.sticky-cta__x { background: none; border: 0; color: #9fb0d8; font-size: 24px; line-height: 1; padding: 4px 6px; cursor: pointer; }
}
