/*
 * Page: Customer Success (templates/page-customer-success.php) +
 * Page: Insights (templates/page-insights.php)
 *
 * Everything not already covered by base.css/components.css/pages.css:
 * hero kicker, metrics strip, testimonial cards, filter-pill row,
 * events date-block list, video/gallery preview panels, newsletter band.
 *
 * @package PearlIMS
 */

/* ---------------------------------------------------------------------
 * Shared hero bits (both pages)
 * ------------------------------------------------------------------- */





/* Filter pill row (Insights hero) */
.pim-filter-pills{ display:flex; flex-wrap:wrap; gap:10px; }
.pim-filter-pill{ display:inline-flex; align-items:center; padding:9px 18px; border-radius:999px; font-size:14px; font-weight:600; text-decoration:none; border:1px solid var(--pim-border-2); background:#fff; color:#4A5169; transition:border-color .15s ease, background .15s ease, color .15s ease, transform .15s ease; }
.pim-filter-pill:hover{ border-color:var(--pim-blue); color:var(--pim-blue); transform:translateY(-1px); }
.pim-filter-pill.is-active{ background:var(--pim-blue); border-color:var(--pim-blue); color:#fff; }
.pim-filter-pill.is-active:hover{ color:#fff; }

/* ---------------------------------------------------------------------
 * Metrics strip (Customer Success, section 2)
 * ------------------------------------------------------------------- */
.pim-metrics-strip{ background:#fff; border-bottom:1px solid #F0F2F8; }
.pim-metrics-strip__grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:24px; padding-top:48px; padding-bottom:48px; text-align:center; }
.pim-metric-tile__num{ font-weight:800; font-size:40px; line-height:1.1; letter-spacing:-.02em; color:var(--pim-blue); }
.pim-metric-tile__label{ margin-top:8px; font-size:14.5px; color:var(--pim-text-muted-2); }

/* ---------------------------------------------------------------------
 * Testimonials (Customer Success, section 5)
 * ------------------------------------------------------------------- */
.pim-testimonials{ background:var(--pim-surface-tint-2); border-top:1px solid #EEF0F7; border-bottom:1px solid #EEF0F7; }
.pim-testimonial-card{ background:#fff; border:1px solid var(--pim-border); border-radius:16px; padding:30px; display:flex; flex-direction:column; }
.pim-testimonial-card__mark{ font:800 40px/1 Georgia,serif; color:var(--pim-blue); opacity:.85; }
.pim-testimonial-card__quote{ margin:6px 0 0; font-weight:700; font-size:17px; line-height:1.5; color:var(--pim-text); flex:1; }
.pim-testimonial-card__figure{ margin:22px 0 0; display:flex; align-items:center; gap:12px; }
.pim-testimonial-card__avatar{ width:44px; height:44px; border-radius:50%; background:#E2E6F2; flex:none; }
.pim-testimonial-card__name{ font-weight:700; font-size:14.5px; color:var(--pim-text); }
.pim-testimonial-card__role{ font-size:13px; color:var(--pim-text-faint); margin-top:2px; }

/* ---------------------------------------------------------------------
 * Upcoming events list (Insights, section 4)
 * ------------------------------------------------------------------- */
.pim-events-list{ display:flex; flex-direction:column; gap:14px; margin-top:28px; }
.pim-event-row{ display:flex; align-items:center; gap:20px; padding:18px 22px; border:1px solid var(--pim-border); border-radius:14px; background:#fff; text-decoration:none; transition:border-color .18s ease, box-shadow .18s ease; }
.pim-event-row:hover{ border-color:var(--pim-blue); box-shadow:var(--pim-shadow-sm); }
.pim-event-row__date{ flex:none; width:64px; height:64px; border-radius:12px; background:var(--pim-blue-light); display:flex; flex-direction:column; align-items:center; justify-content:center; }
.pim-event-row__date-month{ font:700 11px/1 var(--pim-font-mono); letter-spacing:.06em; color:var(--pim-blue); }
.pim-event-row__date-day{ margin-top:4px; font-weight:800; font-size:22px; line-height:1; color:var(--pim-blue); }
.pim-event-row__body{ flex:1; min-width:0; }
.pim-event-row__title{ font-weight:700; font-size:16.5px; color:var(--pim-text); }
.pim-event-row__meta{ margin-top:4px; font-size:13.5px; color:var(--pim-text-muted-2); }
.pim-event-row__cta{ flex:none; display:inline-flex; align-items:center; padding:9px 18px; border-radius:999px; background:var(--pim-blue-light); color:var(--pim-blue); font-size:13.5px; font-weight:700; }
.pim-events-empty{ margin-top:20px; color:var(--pim-text-muted); font-size:15px; }

/* ---------------------------------------------------------------------
 * Video Center / Media Gallery preview panels (Insights, section 5)
 * ------------------------------------------------------------------- */
.pim-hub-panels{ display:flex; flex-wrap:wrap; gap:24px; margin-top:28px; }
.pim-hub-panel{ flex:1 1 360px; min-width:min(280px,100%); border:1px solid var(--pim-border); border-radius:18px; padding:30px; background:var(--pim-surface-tint); }
.pim-hub-panel__head{ display:flex; align-items:baseline; justify-content:space-between; gap:12px; }
.pim-hub-panel__head h3{ margin:0; font-weight:800; font-size:20px; letter-spacing:-.01em; color:var(--pim-text); }
.pim-hub-panel__count{ font:600 12px/1 var(--pim-font-mono); color:var(--pim-blue); white-space:nowrap; }
.pim-hub-panel__media{ margin-top:18px; border-radius:12px; overflow:hidden; }
.pim-hub-panel__play{ position:absolute; inset:0; display:flex; align-items:center; justify-content:center; pointer-events:none; }
.pim-hub-panel__play span{ width:60px; height:60px; border-radius:50%; background:var(--pim-blue); color:#fff; display:flex; align-items:center; justify-content:center; box-shadow:0 12px 28px rgba(27,63,224,.35); }
.pim-hub-panel__caption{ margin:16px 0 0; font-size:14px; line-height:1.55; color:var(--pim-text-muted-2); }
.pim-hub-panel__link{ margin-top:16px; }

.pim-hub-gallery-grid{ margin-top:18px; display:grid; grid-template-columns:repeat(3,1fr); gap:8px; }
.pim-hub-gallery-tile{ position:relative; aspect-ratio:1/1; border-radius:8px; overflow:hidden; display:block; background:repeating-linear-gradient(135deg,#EEF1FE,#EEF1FE 12px,#F6F8FE 12px,#F6F8FE 24px); }
.pim-hub-gallery-tile:nth-child(even){ background:repeating-linear-gradient(135deg,#E6ECFB,#E6ECFB 12px,#EEF2FC 12px,#EEF2FC 24px); }
.pim-hub-gallery-tile img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }

/* ---------------------------------------------------------------------
 * Newsletter (Insights, section 6)
 * ------------------------------------------------------------------- */
.pim-newsletter{ background:var(--pim-navy-2); color:#fff; position:relative; overflow:hidden; }
.pim-newsletter__inner{ position:relative; max-width:800px; text-align:center; padding-top:72px; padding-bottom:72px; }
.pim-newsletter__body{ margin:16px 0 0; color:var(--pim-on-dark-muted); font-size:16.5px; }
.pim-newsletter-form{ margin-top:32px; display:flex; flex-wrap:wrap; gap:12px; justify-content:center; }
.pim-newsletter-form input[type="email"]{ flex:1 1 320px; max-width:380px; padding:14px 18px; border-radius:10px; border:1px solid rgba(255,255,255,.18); background:rgba(255,255,255,.06); color:#fff; font-size:15px; font-family:inherit; outline:none; transition:border-color .15s ease, background .15s ease; }
.pim-newsletter-form input[type="email"]::placeholder{ color:var(--pim-on-dark-faint); }
.pim-newsletter-form input[type="email"]:focus{ border-color:var(--pim-blue-soft); background:rgba(255,255,255,.1); }
.pim-newsletter-form button{ background:var(--pim-blue); color:#fff; border:none; border-radius:10px; padding:14px 26px; font-size:15px; font-weight:700; font-family:inherit; cursor:pointer; transition:background .15s ease; }
.pim-newsletter-form button:hover{ background:#3457F0; }
.pim-newsletter-form__status{ flex-basis:100%; margin:2px 0 0; min-height:18px; font-size:13.5px; font-weight:600; }
.pim-newsletter-form__status.pim-form-status--ok{ color:#7EE6B0; }
.pim-newsletter-form__status.pim-form-status--error{ color:#FF9E9E; }

@media (max-width: 640px){
	.pim-cs-featured__stats{ gap:18px; }
	.pim-event-row{ flex-wrap:wrap; }
	.pim-event-row__cta{ margin-left:80px; }
	.pim-newsletter-form input[type="email"]{ flex-basis:100%; max-width:none; }
	.pim-newsletter-form button{ flex:1 1 100%; }
}
