/* VIP blog article panel: front-end styles (scoped to the template's own classes). */
/* Brand corrections (Oct 23, 2026): explicit Poppins, Design 2.1 tokens and Revision 2 sizes on the template's own selectors.
   The sitewide Customizer rule "#left-area .entry-content h2, .et_pb_text_inner h2" (Girl Crush) is NOT changed; these selectors out-rank it inside the template only.
   Tokens: purple #6F3C98, CTA panel #6D3E99, orange #F78F1B, ink #1B1526, body #5B5566, teal #79CDD3. */

/* The desktop site header is fixed and about 60px taller than the template's top spacing; clear it (tablet/phone header is compact). */
@media (min-width: 783px) { .et_pb_section.vp-header-section { padding-top: 84px !important; } }

/* ---- Header: label, title, byline ---- */
.vp-header-section .vp-label { display: inline-block; margin: 0 0 18px; padding: 0 0 6px; border-bottom: 3px solid #79CDD3; font-family: Poppins, Helvetica, Arial, sans-serif; font-weight: 600; font-size: 13px; line-height: 1.4; letter-spacing: 0.08em; text-transform: uppercase; color: #6F3C98; }
.vp-header-section .et_pb_post_title .et_pb_title_container h1.entry-title { font-family: Poppins, Helvetica, Arial, sans-serif; font-weight: 700; font-size: 40px; line-height: 1.2; letter-spacing: -0.01em; color: #1B1526 !important; overflow-wrap: break-word; }
.vp-header-section .vp-meta { margin: 0 0 4px; padding: 0; font-family: Poppins, Helvetica, Arial, sans-serif; font-weight: 300; font-size: 14px; line-height: 1.5; color: #5B5566; }

/* ---- Hero (featured image module): 16:9 desktop/tablet, 4:3 mobile, cropped not stretched ---- */
.vp-header-section + .et_pb_section .et_pb_image .et_pb_image_wrap { display: block; }
.vp-header-section + .et_pb_section .et_pb_image img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; object-position: 50% 40%; border-radius: 8px; }

/* Desktop/tablet crop for two Frisco heroes (mobile crop unchanged) */
@media (min-width: 768px) {
	body.postid-6106 .vp-header-section + .et_pb_section .et_pb_image img, body.postid-8589 .vp-header-section + .et_pb_section .et_pb_image img { object-position: 50% 100%; }
}

/* Plano heroes: crops specified by the Visual Designer (Oct 30, 2026) */
body.postid-9374 .vp-header-section + .et_pb_section .et_pb_image img, body.postid-5905 .vp-header-section + .et_pb_section .et_pb_image img, body.postid-5827 .vp-header-section + .et_pb_section .et_pb_image img, body.postid-5809 .vp-header-section + .et_pb_section .et_pb_image img { object-position: 50% 50%; }
body.postid-5778 .vp-header-section + .et_pb_section .et_pb_image img { object-position: 65% 85%; }

/* ---- Article body ---- */
.vp-header-section + .et_pb_section .et_pb_post_content { font-family: Poppins, Helvetica, Arial, sans-serif; color: #5B5566; }
.vp-header-section + .et_pb_section .et_pb_post_content p, .vp-header-section + .et_pb_section .et_pb_post_content li { font-family: Poppins, Helvetica, Arial, sans-serif; font-weight: 300; font-size: 18px; line-height: 1.8; color: #5B5566; }
.vp-header-section + .et_pb_section .et_pb_post_content p { margin: 0 0 24px; padding: 0; overflow-wrap: break-word; }
.vp-header-section + .et_pb_section .et_pb_post_content ul, .vp-header-section + .et_pb_section .et_pb_post_content ol { margin: 0 0 24px; padding: 0 0 0 24px; }
.vp-header-section + .et_pb_section .et_pb_post_content li { margin: 0 0 6px; padding: 0; overflow-wrap: break-word; }
.vp-header-section + .et_pb_section .et_pb_post_content h2 { margin: 56px 0 16px; padding: 0; font-family: Poppins, Helvetica, Arial, sans-serif; font-weight: 700; font-size: 32px; line-height: 1.25; letter-spacing: -0.005em; color: #6F3C98; overflow-wrap: break-word; }
.vp-header-section + .et_pb_section .et_pb_post_content h3 { margin: 36px 0 12px; padding: 0; font-family: Poppins, Helvetica, Arial, sans-serif; font-weight: 700; font-size: 22px; line-height: 1.3; color: #1B1526; overflow-wrap: break-word; }
.vp-header-section + .et_pb_section .et_pb_post_content a { color: #6F3C98; font-weight: 400; text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 3px; overflow-wrap: anywhere; }
.vp-header-section + .et_pb_section .et_pb_post_content a:hover { color: #1B1526; }
.vp-header-section + .et_pb_section .et_pb_post_content a:focus-visible { outline: 3px solid #1B1526; outline-offset: 3px; border-radius: 2px; }

/* ---- Supporting images and captions (Add Media with caption: .wp-caption; HTML5 figure also covered) ---- */
.vp-header-section + .et_pb_section .et_pb_post_content figure, .vp-header-section + .et_pb_section .et_pb_post_content .wp-caption { width: 100% !important; max-width: 100%; margin: 32px 0; padding: 0; background: transparent; border: 0; text-align: left; }
.vp-header-section + .et_pb_section .et_pb_post_content img[class*="wp-image-"] { display: block; width: 100%; max-width: 100%; height: auto; margin: 0; aspect-ratio: 3 / 2; object-fit: cover; object-position: 50% 45%; border-radius: 8px; }
.vp-header-section + .et_pb_section .et_pb_post_content p > img[class*="wp-image-"], .vp-header-section + .et_pb_section .et_pb_post_content p > a > img[class*="wp-image-"] { margin: 8px 0 24px; }
.vp-header-section + .et_pb_section .et_pb_post_content figcaption, .vp-header-section + .et_pb_section .et_pb_post_content .wp-caption-text { margin: 10px 0 0; padding: 0; font-family: Poppins, Helvetica, Arial, sans-serif; font-weight: 400; font-size: 14px; line-height: 1.5; color: #5B5566; text-align: left; }

/* ---- CTA ---- */
.et-l--body .et_pb_section.vp-cta-section { background-color: #6D3E99 !important; }
.vp-cta { max-width: 760px; margin: 0 auto; color: #fff; }
.vp-cta-section .vp-cta .vp-cta__heading { margin: 0 0 12px; padding: 0; font-family: Poppins, Helvetica, Arial, sans-serif; font-weight: 700; font-size: 30px; line-height: 1.25; color: #fff; overflow-wrap: anywhere; }
.vp-cta-section .vp-cta .vp-cta__text { margin: 0 0 16px; padding: 0; font-family: Poppins, Helvetica, Arial, sans-serif; font-weight: 300; font-size: 18px; line-height: 1.6; color: #fff; }
.vp-cta__buttons { margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 12px; }
.vp-cta .vp-btn { display: inline-block; min-height: 44px; box-sizing: border-box; padding: 12px 22px; border-radius: 6px; font-family: Poppins, Helvetica, Arial, sans-serif; font-weight: 700; font-size: 17px; line-height: 1.3; text-align: center; text-decoration: none; }
.vp-cta .vp-btn--primary { background: #F78F1B; color: #1B1526; border: 2px solid #F78F1B; }
.vp-cta .vp-btn--primary:hover, .vp-cta .vp-btn--primary:focus-visible { background: #fff; border-color: #fff; color: #1B1526; }
.vp-cta .vp-btn--secondary { background: transparent; color: #fff; border: 2px solid #fff; }
.vp-cta .vp-btn--secondary:hover, .vp-cta .vp-btn--secondary:focus-visible { background: #fff; border-color: #fff; color: #6F3C98; }
.vp-cta .vp-btn:focus-visible, .vp-card__title a:focus-visible { outline: 3px solid #1B1526; outline-offset: 3px; box-shadow: 0 0 0 6px #fff; }

/* ---- Related Reading ---- */
.vp-related { max-width: 760px; margin: 0 auto; }
.vp-related-section .vp-related .vp-related__heading { margin: 0 0 24px; padding: 0; font-family: Poppins, Helvetica, Arial, sans-serif; font-weight: 700; font-size: 32px; line-height: 1.25; color: #6F3C98; }
.vp-related-section .vp-related .vp-related__list { list-style: none; margin: 0; padding: 0; display: grid; gap: 0 20px; grid-template-columns: 1fr; }
.vp-related-section .vp-related .vp-related__list > li { list-style: none; margin: 0 0 20px; padding: 0; }
.vp-related-section .vp-related .vp-related__list > li::marker { content: ""; }
@media (min-width: 600px) {
	.vp-related-section .vp-related .vp-related__list.vp-count-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.vp-related-section .vp-related .vp-related__list.vp-count-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
/* Cards share three rows (image, title, sentence) so titles line up when some cards have no image. */
.vp-card { min-width: 0; display: grid; grid-row: span 3; grid-template-rows: subgrid; align-content: start; }
.vp-card__media { grid-row: 1; display: block; margin-bottom: 10px; }
.vp-related-section .vp-card .vp-card__title { grid-row: 2; margin: 0 0 6px; padding: 0; font-family: Poppins, Helvetica, Arial, sans-serif; font-weight: 700; font-size: 20px; line-height: 1.35; color: #1B1526; overflow-wrap: anywhere; }
.vp-card__why { grid-row: 3; }
.vp-card:has(.vp-card__title a:focus-visible) .vp-card__img { outline: 3px solid #1B1526; outline-offset: 3px; }
.vp-card__img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; border-radius: 6px; }
.vp-related-section .vp-card .vp-card__title a { font-family: Poppins, Helvetica, Arial, sans-serif; font-weight: 700; font-size: inherit; line-height: inherit; color: #1B1526; text-decoration: none; }
.vp-related-section .vp-card .vp-card__title a:hover { text-decoration: underline; }
.vp-related-section .vp-card .vp-card__why { margin: 0; padding: 0; font-family: Poppins, Helvetica, Arial, sans-serif; font-weight: 300; font-size: 16px; line-height: 1.65; color: #5B5566; overflow-wrap: anywhere; }

/* ---- Tablet ---- */
@media (max-width: 980px) {
	.vp-header-section .et_pb_post_title .et_pb_title_container h1.entry-title { font-size: 36px; }
	.vp-header-section + .et_pb_section .et_pb_post_content h2 { font-size: 30px; margin-top: 48px; }
	.vp-related-section .vp-related .vp-related__heading { font-size: 30px; }
}

/* ---- Mobile: 16px gutters; hero and supporting images run edge to edge inside the section ---- */
@media (max-width: 767px) {
	.vp-header-section .vp-label { font-size: 12px; margin-bottom: 14px; }
	.vp-header-section .et_pb_post_title .et_pb_title_container h1.entry-title { font-size: 28px; line-height: 1.25; }
	.vp-header-section + .et_pb_section .et_pb_image { margin-left: -16px; margin-right: -16px; }
	.vp-header-section + .et_pb_section .et_pb_image img { aspect-ratio: 4 / 3; object-position: 42% 40%; border-radius: 0; }
	.vp-header-section + .et_pb_section .et_pb_post_content p, .vp-header-section + .et_pb_section .et_pb_post_content li { font-size: 17px; line-height: 1.75; }
	.vp-header-section + .et_pb_section .et_pb_post_content h2 { font-size: 25px; margin: 40px 0 12px; }
	.vp-header-section + .et_pb_section .et_pb_post_content h3 { font-size: 20px; margin-top: 28px; }
	.vp-header-section + .et_pb_section .et_pb_post_content figure, .vp-header-section + .et_pb_section .et_pb_post_content .wp-caption { width: calc(100% + 32px) !important; max-width: none; margin: 24px -16px; }
	.vp-header-section + .et_pb_section .et_pb_post_content figure img[class*="wp-image-"], .vp-header-section + .et_pb_section .et_pb_post_content .wp-caption img[class*="wp-image-"] { border-radius: 0; }
	.vp-header-section + .et_pb_section .et_pb_post_content p > img[class*="wp-image-"], .vp-header-section + .et_pb_section .et_pb_post_content p > a > img[class*="wp-image-"] { width: calc(100% + 32px); max-width: none; margin: 8px -16px 24px; border-radius: 0; }
	.vp-header-section + .et_pb_section .et_pb_post_content figcaption, .vp-header-section + .et_pb_section .et_pb_post_content .wp-caption-text { padding: 0 16px; }
	.vp-cta-section .vp-cta .vp-cta__heading { font-size: 25px; }
	.vp-cta-section .vp-cta .vp-cta__text { font-size: 17px; }
	.vp-related-section .vp-related .vp-related__heading { font-size: 25px; }
	.vp-related-section .vp-card .vp-card__title { font-size: 18px; }
	.vp-related-section .vp-card .vp-card__why { font-size: 15px; }
}
