Autosave: 20260325-110304
This commit is contained in:
parent
3e52ce7bf6
commit
cf38ce4e13
BIN
assets/pasted-20260325-103806-14dddaae.png
Normal file
BIN
assets/pasted-20260325-103806-14dddaae.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 204 KiB |
@ -1754,6 +1754,200 @@ body.coaching-mvp-active .coach-proof-band > .wp-block-group__inner-container {
|
||||
font-size: .95rem;
|
||||
margin-bottom: .7rem;
|
||||
}
|
||||
.coach-social-proof-section {
|
||||
position: relative;
|
||||
width: 100%;
|
||||
margin-top: clamp(1.4rem, 3vw, 2.4rem);
|
||||
margin-bottom: clamp(1.2rem, 2.6vw, 2rem);
|
||||
padding: clamp(3.1rem, 6vw, 5rem) 0;
|
||||
background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,249,246,.98));
|
||||
border-top: 1px solid rgba(17,27,51,.05);
|
||||
border-bottom: 1px solid rgba(17,27,51,.05);
|
||||
}
|
||||
.coach-social-proof-section::before {
|
||||
content: "";
|
||||
position: absolute;
|
||||
inset: 0;
|
||||
background:
|
||||
radial-gradient(circle at 12% 18%, rgba(95,45,255,.06), transparent 22%),
|
||||
radial-gradient(circle at 88% 14%, rgba(0,184,169,.05), transparent 18%),
|
||||
radial-gradient(circle at 82% 84%, rgba(255,159,28,.06), transparent 22%);
|
||||
pointer-events: none;
|
||||
}
|
||||
.coach-social-proof-inner {
|
||||
position: relative;
|
||||
z-index: 1;
|
||||
width: min(calc(100% - (var(--coach-page-gutter) * 2)), var(--coach-content-max));
|
||||
max-width: var(--coach-content-max);
|
||||
margin: 0 auto;
|
||||
}
|
||||
.coach-social-proof-header {
|
||||
display: grid;
|
||||
grid-template-columns: minmax(0, 1fr) auto;
|
||||
gap: 1.2rem;
|
||||
align-items: end;
|
||||
margin-bottom: clamp(1.4rem, 3vw, 2rem);
|
||||
}
|
||||
.coach-social-proof-copy {
|
||||
max-width: 42rem;
|
||||
}
|
||||
.coach-social-proof-copy .coach-eyebrow {
|
||||
background: rgba(17,27,51,.04);
|
||||
border-color: rgba(17,27,51,.08);
|
||||
color: rgba(17,27,51,.76);
|
||||
}
|
||||
.coach-social-proof-copy h2 {
|
||||
margin: .75rem 0 .7rem;
|
||||
font-size: clamp(2.15rem, 4vw, 3.75rem);
|
||||
line-height: .98;
|
||||
letter-spacing: -.04em;
|
||||
color: #14142b;
|
||||
}
|
||||
.coach-social-proof-copy p {
|
||||
margin: 0;
|
||||
max-width: 35rem;
|
||||
font-size: 1rem;
|
||||
line-height: 1.7;
|
||||
color: rgba(32,45,68,.78);
|
||||
}
|
||||
.coach-social-proof-pill {
|
||||
justify-self: end;
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
gap: .8rem;
|
||||
padding: .9rem 1.05rem;
|
||||
border-radius: 999px;
|
||||
background: rgba(255,255,255,.9);
|
||||
border: 1px solid rgba(17,27,51,.08);
|
||||
box-shadow: 0 16px 36px rgba(9,18,40,.08);
|
||||
color: #171d31;
|
||||
white-space: nowrap;
|
||||
}
|
||||
.coach-social-proof-pill strong {
|
||||
font-size: 1rem;
|
||||
line-height: 1;
|
||||
}
|
||||
.coach-social-proof-pill span {
|
||||
font-size: .84rem;
|
||||
font-weight: 700;
|
||||
letter-spacing: .04em;
|
||||
text-transform: uppercase;
|
||||
color: rgba(23,29,49,.62);
|
||||
}
|
||||
.coach-social-proof-grid {
|
||||
display: grid;
|
||||
gap: 1rem;
|
||||
grid-template-columns: 1.22fr .78fr;
|
||||
grid-template-areas:
|
||||
"primary secondary"
|
||||
"tertiary quaternary";
|
||||
align-items: stretch;
|
||||
}
|
||||
.coach-social-proof-card {
|
||||
position: relative;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: space-between;
|
||||
min-height: 100%;
|
||||
padding: clamp(1.2rem, 2.2vw, 1.65rem);
|
||||
border-radius: 30px;
|
||||
background: linear-gradient(180deg, #f5f5f1 0%, #f1f1ed 100%);
|
||||
border: 1px solid rgba(17,27,51,.06);
|
||||
box-shadow: 0 18px 38px rgba(15,23,42,.05);
|
||||
overflow: hidden;
|
||||
}
|
||||
.coach-social-proof-card::before {
|
||||
content: "“";
|
||||
position: absolute;
|
||||
right: 1rem;
|
||||
top: .45rem;
|
||||
font-size: clamp(4rem, 8vw, 6rem);
|
||||
line-height: 1;
|
||||
color: rgba(17,27,51,.07);
|
||||
font-family: Georgia, serif;
|
||||
}
|
||||
.coach-social-proof-card:nth-child(1) { grid-area: primary; min-height: 340px; }
|
||||
.coach-social-proof-card:nth-child(2) { grid-area: secondary; min-height: 250px; }
|
||||
.coach-social-proof-card:nth-child(3) { grid-area: tertiary; min-height: 220px; }
|
||||
.coach-social-proof-card:nth-child(4) { grid-area: quaternary; min-height: 220px; }
|
||||
.coach-social-proof-card .coach-rating {
|
||||
margin-bottom: .95rem;
|
||||
letter-spacing: .22em;
|
||||
}
|
||||
.coach-social-proof-quote {
|
||||
margin: 0 0 1.3rem;
|
||||
max-width: 42ch;
|
||||
font-size: clamp(1rem, 1.35vw, 1.18rem);
|
||||
line-height: 1.7;
|
||||
color: rgba(17,27,51,.88);
|
||||
}
|
||||
.coach-social-proof-card:nth-child(1) .coach-social-proof-quote {
|
||||
font-size: clamp(1.1rem, 1.5vw, 1.32rem);
|
||||
line-height: 1.72;
|
||||
}
|
||||
.coach-social-proof-footer {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
gap: .7rem 1rem;
|
||||
margin-top: auto;
|
||||
}
|
||||
.coach-social-proof-person strong {
|
||||
display: block;
|
||||
font-size: 1rem;
|
||||
color: #171d31;
|
||||
}
|
||||
.coach-social-proof-person span {
|
||||
display: block;
|
||||
margin-top: .2rem;
|
||||
font-size: .88rem;
|
||||
line-height: 1.45;
|
||||
color: rgba(32,45,68,.68);
|
||||
}
|
||||
.coach-social-proof-tag {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
padding: .42rem .72rem;
|
||||
border-radius: 999px;
|
||||
background: rgba(255,255,255,.74);
|
||||
border: 1px solid rgba(17,27,51,.07);
|
||||
color: rgba(17,27,51,.66);
|
||||
font-size: .77rem;
|
||||
font-weight: 800;
|
||||
letter-spacing: .06em;
|
||||
text-transform: uppercase;
|
||||
}
|
||||
@media (max-width: 900px) {
|
||||
.coach-social-proof-header {
|
||||
grid-template-columns: 1fr;
|
||||
align-items: start;
|
||||
}
|
||||
.coach-social-proof-pill {
|
||||
justify-self: start;
|
||||
}
|
||||
.coach-social-proof-grid {
|
||||
grid-template-columns: 1fr;
|
||||
grid-template-areas: "primary" "secondary" "tertiary" "quaternary";
|
||||
}
|
||||
.coach-social-proof-card:nth-child(1),
|
||||
.coach-social-proof-card:nth-child(2),
|
||||
.coach-social-proof-card:nth-child(3),
|
||||
.coach-social-proof-card:nth-child(4) {
|
||||
min-height: 0;
|
||||
}
|
||||
}
|
||||
@media (max-width: 600px) {
|
||||
.coach-social-proof-section {
|
||||
padding: 2.5rem 0;
|
||||
}
|
||||
.coach-social-proof-card {
|
||||
border-radius: 24px;
|
||||
}
|
||||
.coach-social-proof-pill {
|
||||
white-space: normal;
|
||||
}
|
||||
}
|
||||
.coach-cta-band {
|
||||
padding: 1.85rem;
|
||||
background:
|
||||
@ -3094,6 +3288,26 @@ function coaching_mvp_home_content() {
|
||||
</div></div>
|
||||
<!-- /wp:group -->
|
||||
|
||||
<!-- wp:group {"align":"full","className":"coach-social-proof-section"} -->
|
||||
<div class="wp-block-group alignfull coach-social-proof-section"><div class="wp-block-group__inner-container">
|
||||
<!-- wp:html -->
|
||||
<div class="coach-social-proof-inner">
|
||||
<div class="coach-social-proof-header">
|
||||
<div class="coach-social-proof-copy">
|
||||
<p class="coach-eyebrow">03 / Social proof</p>
|
||||
<h2>Voices of Impact.</h2>
|
||||
<p>Real client reflections, arranged as a stronger design-led proof section instead of a simple list — keeping the homepage feeling premium and calm.</p>
|
||||
</div>
|
||||
<div class="coach-social-proof-pill"><strong>5.0 ★★★★★</strong><span>Trusted client feedback</span></div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- /wp:html -->
|
||||
<!-- wp:shortcode -->
|
||||
[coaching_featured_testimonials limit="4"]
|
||||
<!-- /wp:shortcode -->
|
||||
</div></div>
|
||||
<!-- /wp:group -->
|
||||
|
||||
<!-- wp:group {"className":"coach-section coach-video-section","layout":{"type":"constrained"} } -->
|
||||
<div class="wp-block-group coach-section coach-video-section"><div class="wp-block-group__inner-container">
|
||||
<!-- wp:paragraph {"className":"coach-badge"} -->
|
||||
@ -3254,20 +3468,6 @@ function coaching_mvp_home_content() {
|
||||
</div></div>
|
||||
<!-- /wp:group -->
|
||||
|
||||
<!-- wp:group {"className":"coach-section","layout":{"type":"constrained"}} -->
|
||||
<div class="wp-block-group coach-section"><div class="wp-block-group__inner-container">
|
||||
<!-- wp:paragraph {"className":"coach-badge"} -->
|
||||
<p class="coach-badge">Client reflections</p>
|
||||
<!-- /wp:paragraph -->
|
||||
<!-- wp:heading -->
|
||||
<h2 class="wp-block-heading">What clients often take away from this work</h2>
|
||||
<!-- /wp:heading -->
|
||||
<!-- wp:shortcode -->
|
||||
[coaching_testimonials limit="3"]
|
||||
<!-- /wp:shortcode -->
|
||||
</div></div>
|
||||
<!-- /wp:group -->
|
||||
|
||||
<!-- wp:group {"className":"coach-section","layout":{"type":"constrained"}} -->
|
||||
<div class="wp-block-group coach-section"><div class="wp-block-group__inner-container">
|
||||
<!-- wp:paragraph {"className":"coach-badge"} -->
|
||||
@ -3973,6 +4173,10 @@ function coaching_mvp_services_shortcode($atts = []) {
|
||||
}
|
||||
add_shortcode('coaching_services', 'coaching_mvp_services_shortcode');
|
||||
|
||||
function coaching_mvp_public_testimonial_name($title) {
|
||||
return trim((string) preg_replace('/\s+—\s+Sample$/u', '', (string) $title));
|
||||
}
|
||||
|
||||
function coaching_mvp_testimonials_shortcode($atts = []) {
|
||||
$atts = shortcode_atts(['limit' => 6], $atts, 'coaching_testimonials');
|
||||
$items = get_posts([
|
||||
@ -3992,7 +4196,7 @@ function coaching_mvp_testimonials_shortcode($atts = []) {
|
||||
echo '<article class="coach-testimonial-card">';
|
||||
echo '<div class="coach-rating">★★★★★</div>';
|
||||
echo '<blockquote><p>' . esc_html(wp_strip_all_tags($item->post_content)) . '</p></blockquote>';
|
||||
echo '<h3>' . esc_html(get_the_title($item)) . '</h3>';
|
||||
echo '<h3>' . esc_html(coaching_mvp_public_testimonial_name(get_the_title($item))) . '</h3>';
|
||||
if ($role) {
|
||||
echo '<div class="coach-testimonial-meta">' . esc_html($role) . '</div>';
|
||||
}
|
||||
@ -4003,6 +4207,54 @@ function coaching_mvp_testimonials_shortcode($atts = []) {
|
||||
}
|
||||
add_shortcode('coaching_testimonials', 'coaching_mvp_testimonials_shortcode');
|
||||
|
||||
function coaching_mvp_featured_testimonials_shortcode($atts = []) {
|
||||
$atts = shortcode_atts(['limit' => 4], $atts, 'coaching_featured_testimonials');
|
||||
$items = get_posts([
|
||||
'post_type' => 'testimonial',
|
||||
'post_status' => 'publish',
|
||||
'numberposts' => (int) $atts['limit'],
|
||||
'orderby' => 'menu_order date',
|
||||
'order' => 'ASC',
|
||||
]);
|
||||
if (!$items) {
|
||||
return '<p>No testimonials yet.</p>';
|
||||
}
|
||||
|
||||
ob_start();
|
||||
echo '<div class="coach-social-proof-grid">';
|
||||
foreach ($items as $item) {
|
||||
$role = trim((string) get_post_meta($item->ID, '_testimonial_role', true));
|
||||
$name = coaching_mvp_public_testimonial_name(get_the_title($item));
|
||||
$tag = '';
|
||||
if ($role !== '') {
|
||||
$parts = array_filter(array_map('trim', explode(',', $role)));
|
||||
if ($parts) {
|
||||
$tag = strtoupper($parts[0]);
|
||||
}
|
||||
}
|
||||
|
||||
echo '<article class="coach-social-proof-card">';
|
||||
echo '<div>';
|
||||
echo '<div class="coach-rating">★★★★★</div>';
|
||||
echo '<p class="coach-social-proof-quote">“' . esc_html(wp_strip_all_tags($item->post_content)) . '”</p>';
|
||||
echo '</div>';
|
||||
echo '<div class="coach-social-proof-footer">';
|
||||
echo '<div class="coach-social-proof-person"><strong>' . esc_html($name) . '</strong>';
|
||||
if ($role !== '') {
|
||||
echo '<span>' . esc_html($role) . '</span>';
|
||||
}
|
||||
echo '</div>';
|
||||
if ($tag !== '') {
|
||||
echo '<span class="coach-social-proof-tag">' . esc_html($tag) . '</span>';
|
||||
}
|
||||
echo '</div>';
|
||||
echo '</article>';
|
||||
}
|
||||
echo '</div>';
|
||||
return ob_get_clean();
|
||||
}
|
||||
add_shortcode('coaching_featured_testimonials', 'coaching_mvp_featured_testimonials_shortcode');
|
||||
|
||||
function coaching_mvp_faq_shortcode($atts = []) {
|
||||
$atts = shortcode_atts(['limit' => 6], $atts, 'coaching_faq');
|
||||
$items = get_posts([
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user