/* Responsive fix for the "8 resource cards + photo" section on test-homepage-2
   (post 8679, Figma node 1427:1701 "Responsive"). Card-flip and column-count are
   scoped to this page's specific block uniqueIDs so no other rowlayout/column on
   the site is affected.

   Card internal layout (vertical -> horizontal on mobile) is handled natively via
   Kadence's own infobox mediaAlignMobile block attribute (set on all 8 cards) —
   no CSS needed for that piece.

   Column A (.kadence-column8679_14b070-ca) isn't a real side-by-side layout at
   the block level — it's a single full-width wrapper around the ENTIRE section
   (heading + card grid), with the photo set as its own background-image. Kadence
   doesn't expose a responsive variant of the column's bgImgSize/bgImgPosition
   attributes, and there's no native way to turn a background-image column into a
   real sized grid track, so the photo is rebuilt entirely in CSS below as a
   ::before pseudo-element at every breakpoint (Kadence's own native background-
   image attribute is suppressed unconditionally, not just responsively):

   - Desktop (>=1025px): ::before becomes a real CSS Grid column (~40% width,
     Figma's Rectangle 1 is 570/1440 of its "Container" frame) beside Column B
     (which carries the actual heading+cards content) via `display:grid` on
     Column A's own inner wrapper. Column B has no explicit grid-column set, so
     it auto-places into the second track after ::before (source-order rule:
     generated ::before content is always first in flow). Column C's own
     maxWidth:754 attribute is wider than this ~40%-narrower track, so it's
     capped to 100% here to avoid overflow/pushing the grid wider than intended.
   - Tablet/mobile (<=1024px): ::before becomes a fixed-height top banner instead
     (independently sized from the huge stacked box under it, since stacking
     makes Column A's own box 2500px+ tall), matching Figma's tablet
     (804x263, node 1427:1031) and mobile (full-bleed x200, node
     1427:1603/1846) "Homepage" frames.

   Kadence's rowlayout `columns` attribute is a flat number with no
   columnsTablet/columnsMobile counterpart (confirmed against
   kadence-blocks/dist/blocks/rowlayout/block.json), so the native 3-column
   desktop grid (set directly on the block, matching Figma's 3-column card grid)
   needs a manual override to reach Figma's tablet 2-column grid. Mobile already
   collapses to 1 column via Kadence's own native stacking at its 767px
   breakpoint, so the 2-column override is scoped to (min-width:768px) only —
   letting it leak below 767px would fight that native behavior.

   NOTE: the desktop ::before (grid layout below) reuses the same narrow
   portrait crop as Column A's own Background Image setting (Media ID 8654,
   student-working-at-desk.png) as a relative-path duplicate, since a CSS
   pseudo-element can't reference a block attribute directly. If that image
   is ever swapped in the block editor, this url() must be updated to match.

   The tablet/mobile banner ::before intentionally points at a DIFFERENT,
   wider source file instead (student-working-at-desk.jpg, 1880x1253 -- the
   uncropped landscape original the portrait PNG was cropped from, already
   present in the same uploads folder but not registered as its own media
   library attachment). The portrait PNG is far too narrow to cover a wide
   short banner box without cropping out the subject entirely (confirmed by
   testing: background-size:cover on the 570x1054 PNG in an 804x263 box
   showed only the top of his head), so the wider landscape file is needed
   to match Figma's tablet/mobile crop, which shows more of the scene
   (face, hands, window, radiator) than the desktop crop does.

   All overrides below need !important: Kadence generates its own inline
   <style> block per-page with the identical selector specificity (confirmed
   via view-source), and that inline block is printed to <head> AFTER this
   enqueued stylesheet, so it wins the cascade tie without !important.

   Column B (.kadence-column8679_426b3a-2b, nested directly inside Column A)
   also carries its own backgroundImg — a leftover pointing at the old
   redesign-resource-hub-ccgi.pantheonsite.io domain (separately flagged for
   content cleanup). That URL still resolves, so left alone it would reproduce
   the exact same oversized/mis-cropped-box bug as Column A's image, layered
   right behind it, at every breakpoint. Suppressing it here fixes the visible
   bug; actually removing the stale attribute value is still a separate
   content edit. */

.kadence-column8679_14b070-ca > .kt-inside-inner-col,
.kadence-column8679_426b3a-2b > .kt-inside-inner-col {
	background-image: none !important;
}

/* Page Hero (Figma nodes 1427:1025 desktop / 1427:1843 mobile, "Homepage"
   frame 1427:379): this page's own Page Hero Text needs gold intro copy, not
   the sitewide white default that page-hero.css sets with !important for
   every other page's hero (see that file's own comment for why). This file
   is already enqueued only on this page (is_page('homepage-2026') in
   functions.php) and loads AFTER page-hero.css, so matching its !important
   is enough to win here without touching the shared rule other pages
   depend on.

   The H1 is hidden outright rather than styled: this page has no
   Page Title Override set (Figma's welcome-panel design has no heading of
   its own — "Resources for Every Need" stays where it already was, in the
   page content below), so enabling the Page Hero to show the intro text
   would otherwise fall back to printing this post's literal, placeholder
   post_title ("Test Homepage") as a highly visible H1. The breadcrumb is
   hidden for the same reason: Figma's Homepage frame has no breadcrumb node
   at all, and the only content it would show here is that same placeholder
   title.

   Height/padding: page-hero.css's shared .hero-container is tuned for every
   OTHER page's hero (64px vertical / 16px horizontal padding). Figma's node
   1427:1025 "Background" frame specs py-[18px] px-[36px] instead — a much
   shorter banner (84px tall vs. the 237px this page rendered at before this
   fix, confirmed via getBoundingClientRect). Overridden here rather than in
   page-hero.css since it's specific to this page's variant, not the shared
   default. */
.entry-hero.page-hero-section .entry-title,
.entry-hero.page-hero-section .kadence-breadcrumbs {
	display: none;
}

.entry-hero.page-hero-section .hero-container {
	padding-top: 18px;
	padding-bottom: 18px;
	padding-left: 36px;
	padding-right: 36px;
}

.entry-hero.page-hero-section .title-entry-intro,
.entry-hero.page-hero-section .title-entry-intro a {
	color: #fdb92a !important;
}

/* Mobile (node 1427:1843 "Welcome-Panel") splits the same copy into two
   visually distinct lines — a Poppins SemiBold 18px "heading" line, then a
   separate Lato 14px paragraph — instead of desktop's single flowing
   paragraph with an inline bold lead-in (node 1427:1025). page_hero_intro
   is stored as two separate <p> tags (title-entry-intro-lead /
   title-entry-intro-body) so both layouts can come from the same field:
   desktop/tablet render them inline (with a space between the closing/
   opening tags in the field value providing the natural word-gap), mobile
   switches them to stacked blocks with Figma's mobile type spec. */
.entry-hero.page-hero-section .title-entry-intro-lead,
.entry-hero.page-hero-section .title-entry-intro-body {
	display: inline;
	margin: 0;
}

@media (max-width: 767px) {
	.entry-hero.page-hero-section .title-entry-intro-lead {
		display: block;
		font-family: 'Poppins', sans-serif;
		font-weight: 600;
		font-size: 18px;
		line-height: 1.3;
		margin-bottom: 10px;
	}

	.entry-hero.page-hero-section .title-entry-intro-body {
		display: block;
		font-family: 'Lato', sans-serif;
		font-size: 14px;
		line-height: 1.4;
	}
}

/* "Resources for Every Need" + its repeated intro paragraph (node 1427:390
   "Heading 1", inside the photo/cards section below the hero — the copy
   Figma shows twice: once in the hero above, once here). Kadence's sitewide
   h2 defaults (Lato 900 24px, palette2 blue) and this block's own black
   paragraph don't match Figma's navy Poppins heading + navy body copy with
   "CaliforniaColleges.edu" as a live link.

   Font-SIZE is deliberately left at Kadence's native defaults (24px heading,
   16px paragraph) rather than Figma's exact 28px/15px spec from node
   1427:390 — matching Figma's sizes here changes how much text fits per
   line, which visibly widens/narrows this block relative to redesign's
   existing layout (confirmed live via side-by-side screenshots at a shared
   1500px viewport). Width/wrap parity with the already-live redesign build
   wins over exact Figma type sizes for this specific property. Family/
   weight/color are unaffected by this tradeoff and stay Figma-matched. */
.kadence-column8679_hdgfr-01 h2 {
	font-family: 'Poppins', sans-serif;
	font-weight: 600;
	color: #041f3d !important;
}

.kadence-column8679_hdgfr-01 p {
	color: #041f3d !important;
	text-align: center !important;
}

.kadence-column8679_hdgfr-01 p a {
	color: #041f3d !important;
	text-decoration: underline;
}

/* Rounded card corners to match Figma -- the 8 resource cards had their
   border-radius reset to 0 somewhere upstream (white bg, colored top
   border, and box-shadow were all already correct). 14px matches the
   identical white-bg/colored-top-border/shadow card pattern already used
   elsewhere on the site (see .kadence-column8830_pr0003-* in style.css).
   Scoped to the row-layout's own uniqueID class (baked into post_content,
   not #post-8679's real runtime post ID -- this page gets re-inserted with
   a different ID on test/live) rather than the 8 individual card uniqueIDs,
   so new cards added to this row still pick it up automatically. */
.kb-row-layout-id8679_575ef1-98 .kt-blocks-info-box-link-wrap {
	border-radius: 14px;
	overflow: hidden;
}

@media (min-width: 1025px) {
	.kadence-column8679_14b070-ca > .kt-inside-inner-col {
		display: grid !important;
		grid-template-columns: 30% 1fr;
		column-gap: 32px;
		align-items: stretch;
	}

	.kadence-column8679_14b070-ca > .kt-inside-inner-col::before {
		content: "";
		grid-column: 1;
		border-radius: 12px;
		background-image: url("/wp-content/uploads/2026/09/student-asian-classroom-with-laptop-1366x2048.jpg");
		background-size: cover;
		background-position: calc(50% - 50px) center;
		background-repeat: no-repeat;
	}

	.kadence-column8679_b05b55-13 {
		max-width: 100% !important;
	}

	/* Figma (node 1427:790, Container frame): the content column (Rectangle 1's
	   sibling "Frame 4") starts 40px before the photo's right edge. Pulling
	   Column B left by 56px (the native 16px grid gap + Figma's 40px overlap)
	   lets it slide over the photo -- its rendered width grows automatically
	   since only its left edge moves. Right edge stays flush against the grid
	   container's own right edge (which already carries the page's normal side
	   whitespace via the container's max-width), matching the pre-overlap
	   layout instead of Figma's own 48px right margin. */
	.kadence-column8679_426b3a-2b {
		margin-left: -56px !important;
		position: relative;
		z-index: 1;
	}
}

@media (max-width: 1024px) {
	.kadence-column8679_14b070-ca > .kt-inside-inner-col::before {
		content: "";
		display: block;
		height: 263px;
		margin: 0 48px 24px;
		border-radius: 12px;
		background-image: url("/wp-content/uploads/2026/09/student-asian-classroom-with-laptop-1025x1536.jpg");
		background-size: cover;
		background-position: center 35%;
		background-repeat: no-repeat;
	}
}

@media (min-width: 768px) and (max-width: 1024px) {
	.kb-row-layout-id8679_575ef1-98 > .kt-row-column-wrap {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}

	/* Column C (.kadence-column8679_b05b55-13, wraps the heading + card grid)
	   carries Kadence's own native maxWidth:754 attribute. Below the desktop
	   breakpoint that cap is never neutralized (the existing max-width:100%
	   override two blocks up is desktop-only), and Kadence renders the capped
	   box flush against the container's RIGHT edge at this width instead of
	   centering it -- confirmed live: a 270px empty gap on the left at 1024px,
	   14px at 768px, 0px on the right at both. Figma's tablet frame (node
	   1427:997) wants this block inset 48px on both sides, matching the photo
	   banner directly above it. Uncapping to the container width minus 96px
	   and adding the 48px margins fixes the right-alignment bug and matches
	   Figma in one move. Not needed below 768px: the 754px cap never binds
	   once the viewport itself is narrower than 754px. */
	.kadence-column8679_b05b55-13 {
		max-width: calc(100% - 96px) !important;
		margin: 0 48px !important;
	}

	/* The row-layout's own .kt-row-column-wrap carries a native Kadence
	   padding:24px (all sides) that's separate from both the 48px margin
	   above and the 32px column-gap between the two card columns. Stacked
	   with the 48px margin it insets the cards 72px total, 24px more than
	   the hero banner's 48px -- confirmed live: cards' left/right edges sat
	   at 72px while the hero sat at 48px. Zeroing just the horizontal
	   padding closes that gap; the 24px top/bottom padding (vertical space
	   above/below the card grid) and the 32px inter-column gap are untouched. */
	.kb-row-layout-id8679_575ef1-98 > .kt-row-column-wrap {
		padding-left: 0 !important;
		padding-right: 0 !important;
	}
}

@media (max-width: 767px) {
	.kadence-column8679_14b070-ca > .kt-inside-inner-col::before {
		height: 200px;
		margin: 0 0 20px;
		border-radius: 0;
	}

	/* Heading + intro paragraph block (kadence-column8679_hdgfr-01) has no
	   horizontal padding of its own, so its text runs flush to both viewport
	   edges on mobile. The 8 cards below it get their 24px side inset from a
	   completely different structure -- Kadence's own row-layout column-wrap
	   padding, native to the row-layout block, not something this column
	   shares. Reusing that same 24px value here keeps the heading/intro text
	   visually aligned with the cards instead of bleeding to the edges. */
	.kadence-column8679_hdgfr-01 > .kt-inside-inner-col {
		padding: 0 24px !important;
	}
}
