/*
Theme Name: GeneratePress Infinitynets
Theme URI: https://infinitynetworks.com
Description: infinitynets child theme of GeneratePress. Replaces the neve-fse (FSE) + GenerateBlocks stack with a classic GeneratePress child + native core blocks, matching the bourbonandbaco / mysdmoms1 WP-CMS migration pattern.
Author: Audacy Station Tools
Template: generatepress
Version: 1.0.0
Text Domain: generatepress-infinitynets
*/

/* ============================================================
   Design tokens (lifted from the live GenerateBlocks content)
   ============================================================ */
:root {
	--inf-orange:       #f69060;
	--inf-teal:         #078574;
	--inf-blue:         #313ac1;
	--inf-footer-bg:    #02021a;
	--inf-footer-fg:    #7b7a80;
	--inf-ink:          #202020;
}

body {
	font-family: "Inter", sans-serif;
	color: var(--inf-ink);
}

h1, h2, h3, h4, h5, h6 {
	font-family: "Albert Sans", sans-serif;
}

/* Hide GP's own header/footer chrome — we render our own. */
.site-header,
.site-footer,
.generate-back-to-top { display: none; }

/* Full-bleed content: let the GB hero/sections lay out edge-to-edge. */
.inf-main { max-width: none; margin: 0; padding: 0; }

/* ============================================================
   Header — transparent nav bar overlaying the hero
   ============================================================ */
.inf-masthead {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 20;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 40px;
	padding: 30px 40px;
	background: transparent;
}
.inf-logo img { width: 200px; height: auto; display: block; }

.inf-menu {
	list-style: none;
	display: flex;
	align-items: center;
	gap: 60px;
	margin: 0;
	padding: 0;
}
.inf-menu > li { position: relative; }
.inf-menu a {
	color: #fff;
	text-decoration: none;
	font-family: "Albert Sans", sans-serif;
	font-size: 16px;
	line-height: 28px;
	white-space: nowrap;
}
.inf-menu a:hover { opacity: .85; }
.inf-caret { font-size: .7em; }

/* SHOWS dropdown */
.inf-drop {
	list-style: none;
	margin: 0;
	padding: 10px 20px;
	position: absolute;
	top: 38px;
	left: 50%;
	transform: translateX(-50%);
	background: var(--inf-blue);
	border-radius: 6px;
	display: none;
	white-space: nowrap;
	z-index: 30;
}
.inf-has-drop:hover .inf-drop { display: block; }
.inf-drop::after {
	content: '';
	position: absolute;
	top: -12px;
	left: calc(50% - 6px);
	border: 6px solid transparent;
	border-bottom-color: var(--inf-blue);
}
.inf-drop li { padding: 4px 0; }
.inf-drop a { font-weight: 500; line-height: 30px; }

/* ============================================================
   Footer
   ============================================================ */
.inf-footer {
	background: var(--inf-footer-bg);
	color: var(--inf-footer-fg);
	text-align: center;
	font-size: 14px;
	padding: 30px 20px;
	min-height: 160px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 16px;
}
.inf-footer a { color: var(--inf-orange); text-decoration: none; }
.inf-footer a:hover { color: #fff; }
.inf-footer p { margin: 0; }

/* ============================================================
   Front page — hero + show cards
   ============================================================ */
body { background-color: #fff; }

.inf-hero { color: #fff; text-align: center; }
.inf-hero.wp-block-cover { min-height: 0; }
.inf-hero .wp-block-cover__inner-container { width: 100%; }
.inf-hero__logo img { width: 100%; height: auto; }
.inf-hero .inf-hero__tagline {
	max-width: 720px;
	margin: 24px auto 50px;
	font-size: 20px;
	line-height: 30px;
}
/* Hover must out-rank the button's inline background. */
.inf-btn .wp-block-button__link:hover { background-color: #0f0fa1 !important; color: #fff !important; }

/* Cards: equal height, image fills, Learn More pinned by flow. */
.inf-cards .wp-block-column { display: flex; }
.inf-cards .inf-card { width: 100%; text-align: left; }
.inf-card__title {
	margin: 0 0 24px;
	font-family: "Albert Sans", sans-serif; font-size: 32px; line-height: 36px; font-weight: 700;
}
.inf-card__img { margin: 0; }
.inf-card__img img { width: 100%; height: auto; display: block; }
.inf-card .inf-card__more { margin: 24px auto 0; }
.inf-card__more a { color: #fe5000; text-decoration: underline; font-weight: 500; }
.inf-card__more a:hover { color: #ffb999; }

/* ============================================================
   Show pages (Katie & Company / The Rob + Holly Show)
   ============================================================ */
.inf-show-intro .inf-show-title {
	position: relative; z-index: 30;
	width: 150%; max-width: none;
	font-size: 100px; line-height: 110px;
	margin: 0 0 24px;
}
.inf-show-cols { align-items: center; }
.inf-show-photo img { width: 100%; height: auto; display: block; }
.inf-show-intro .inf-show-avail {
	font-size: 28px; font-weight: 600;
	margin: 50px 0 80px;
}
.inf-show-cta { padding-bottom: 40px; }

/* Bottom section — full-bleed artwork background (Asset-3). */
.inf-show-bottom {
	background: url('https://infinitynetworks.com/wp-content/uploads/2025/01/Asset-3.png') center / cover no-repeat;
}
.inf-col-media { padding-top: 140px; }
.inf-quote {
	background: url('https://infinitynetworks.com/wp-content/uploads/2025/01/Asset-2@4x.png') top left / 120px no-repeat;
	padding: 40px; margin-top: 40px;
}
.inf-quote__text { font-size: 32px; font-weight: 600; margin: 0 0 30px; }
.inf-quote__attr { text-transform: uppercase; font-weight: 700; margin: 0; }

/* Stats box overhangs upward into the dark intro section (as on live). */
.inf-col-stats .inf-statsbox { margin-top: -36px; text-align: center; }
.inf-statsbox .inf-statsbox__h {
	font-size: 30px; line-height: 1.2; text-transform: uppercase;
	margin: 0 0 30px;
}
.inf-statsbox .inf-stat { margin: 0 0 12px; }
.inf-statsbox .inf-stat--last { margin-bottom: 40px; }
.inf-statsbox .inf-statsbox__h + .inf-statsbox__h,
.inf-statsbox .inf-stat--last + .inf-statsbox__h { margin-top: 30px; }
.inf-clockbtn { margin: 0 0 20px; }
.inf-statsbox__demo { font-size: 16px; margin: 30px 0 6px; }
.inf-statsbox .wp-block-audio { margin: 0; }
.inf-statsbox audio { width: 100%; min-width: 100px; }

.inf-show-bottom .inf-follow {
	width: 70%; max-width: 1000px;
	margin-left: auto; margin-right: auto;
	padding: 60px 0; gap: 60px;
	justify-content: flex-start;
}
.inf-follow .inf-follow__h {
	font-size: 28px; line-height: 1.2; text-transform: uppercase;
	margin: 0; color: #000;
}

/* ============================================================
   Press page — query loop cards
   ============================================================ */
.inf-press-list { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 40px; }
.inf-press-list .wp-block-post { width: calc(50% - 20px); }
.inf-press-card .inf-press-card__title { font-size: 24px; line-height: 34px; margin: 0 0 12px; }
.inf-press-card .inf-press-card__title a { color: #fe5000; text-decoration: none; }
.inf-press-card .inf-press-card__date { font-size: 14px; line-height: 22px; margin: 0; }
.inf-press-empty { font-size: 14px; margin: 30px 0 0 40px; }

/* ============================================================
   CTA section (cta-form reusable block + landing page)
   ============================================================ */
.inf-cta .inf-cta__h { font-size: 24px; line-height: 28px; font-weight: 600; }

/* ============================================================
   Single posts (replicates the neve-fse Single template)
   ============================================================ */
.inf-single-band { height: 120px; background: #01051f; }
.inf-single { padding: 20px 40px 80px; }
.inf-single__title {
	text-align: center; color: #fe5000;
	font-size: 64px; margin: 0 0 30px;
}
.inf-single__content { color: #666666; }
.inf-single__content a { color: #666666; }
.inf-article .is-style-wide { border-color: rgba(0,0,0,.2); }

@media (max-width: 767px) {
	.inf-press-list .wp-block-post { width: 100%; }
	.inf-single__title { font-size: 40px; }
	.inf-show-intro .inf-show-title { font-size: 44px; line-height: 50px; width: 100%; }
}

/* ============================================================
   Responsive
   ============================================================ */
@media (max-width: 767px) {
	.inf-masthead { flex-direction: column; align-items: center; text-align: center; gap: 20px; }
	.inf-menu { flex-direction: column; gap: 20px; }
}
