/*
Theme Name: Primedia eLaunch
Theme URI: https://primediaelaunch.com/
Author: Primedia E-launch LLC
Description: Lightweight custom block theme for Primedia eLaunch. No page builder, self-hosted fonts, WooCommerce-ready.
Version: 1.0.0
Requires at least: 6.6
Requires PHP: 8.1
License: GPLv2 or later
Text Domain: primedia
*/

/* ---------- Tokens ---------- */
:root{
  --pm-navy:#0b1a2e; --pm-navy-2:#14294a; --pm-blue:#0f91e0; --pm-blue-d:#0a6fb0; --pm-flame:#ffb547;
  --pm-ink:#16202e; --pm-slate:#55657a; --pm-mist:#f3f7fb; --pm-line:#e1e8f0;
  --pm-radius:16px; --pm-shadow:0 1px 2px rgba(11,26,46,.06),0 8px 28px rgba(11,26,46,.08);
  --pm-wide:1180px;
}
html{scroll-behavior:auto;-webkit-text-size-adjust:100%}
body{margin:0;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto}
:where(.wp-site-blocks)>*{margin-block-start:0}
.wp-site-blocks{padding:0}
a{text-underline-offset:.18em}
:focus-visible{outline:3px solid var(--pm-blue);outline-offset:2px}
.screen-reader-text{position:absolute!important;clip:rect(1px,1px,1px,1px);width:1px;height:1px;overflow:hidden}

/* ---------- Header ---------- */
.pm-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.92);backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--pm-line)}
.admin-bar .pm-header{top:32px}
@media (max-width:782px){.admin-bar .pm-header{top:0}}
.pm-header__inner{min-height:68px;gap:1rem}
.pm-brand{display:inline-flex;align-items:center;gap:.6rem;text-decoration:none;color:var(--pm-navy);font-family:var(--wp--preset--font-family--heading);font-size:1.2rem;font-weight:600;letter-spacing:-.01em;white-space:nowrap}
.pm-brand img{width:22px;height:auto}
.pm-brand strong{font-weight:800;color:var(--pm-blue)}
.pm-brand--light{color:#fff}
.pm-header__nav{gap:1.25rem}
.pm-nav{font-family:var(--wp--preset--font-family--heading);font-weight:600;font-size:.95rem}
.pm-nav .wp-block-navigation-item__content{color:var(--pm-ink);text-decoration:none;padding:.4rem .1rem}
.pm-nav .wp-block-navigation-item__content:hover{color:var(--pm-blue-d)}
.pm-nav .wp-block-navigation__container{gap:1.4rem}
.pm-header__cta .wp-block-button__link{padding:.6em 1.1em;font-size:.95rem}
.wp-block-navigation__responsive-container.is-menu-open{padding:1.5rem}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container{gap:1rem;font-size:1.25rem}
@media (max-width:640px){.pm-header__cta{display:none!important}.pm-header .wp-block-woocommerce-customer-account{display:none}.pm-header__nav{gap:.6rem}.pm-brand{font-size:1.05rem}}
.pm-header__cta .wp-block-button__link{white-space:nowrap}
html,body{overflow-x:clip}

/* ---------- Generic sections ---------- */
.pm-main{min-height:50vh}
.pm-section{padding-block:var(--wp--preset--spacing--60)}
.pm-section--mist{background:var(--pm-mist)}
.pm-section--navy{background:var(--pm-navy);color:#d7e2ef}
.pm-section--navy h1,.pm-section--navy h2,.pm-section--navy h3{color:#fff}
.pm-eyebrow{font-family:var(--wp--preset--font-family--heading);font-size:.8rem!important;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--pm-blue-d);margin-bottom:.4rem}
.pm-section--navy .pm-eyebrow,.pm-hero .pm-eyebrow{color:var(--pm-flame)}
.pm-lead{font-size:1.2rem;color:var(--pm-slate);max-width:44rem}
.pm-section--navy .pm-lead{color:#b9c8da}
.pm-center{text-align:center}
.pm-center .pm-lead{margin-inline:auto}
.pm-section h2{margin-top:0}

/* Hero */
.pm-hero{position:relative;overflow:hidden;background:radial-gradient(1100px 520px at 85% -10%,rgba(15,145,224,.35),transparent 60%),radial-gradient(700px 400px at -10% 110%,rgba(255,181,71,.12),transparent 60%),var(--pm-navy);color:#c9d6e6;padding-block:clamp(3.5rem,8vw,7rem) clamp(3rem,7vw,6rem)}
.pm-hero h1{color:#fff;max-width:15ch;margin:.2rem 0 1.2rem}
.pm-hero h1 em{font-style:normal;color:var(--pm-flame)}
.pm-hero .pm-lead{color:#c9d6e6}
.pm-hero__cols{gap:clamp(2rem,5vw,4rem)!important;align-items:center!important}
.pm-hero__art{position:relative}
/* Hero art: image sits on a soft light card so its baked-in white halo no longer reads as a glow */
.pm-hero__art img{display:block;box-sizing:border-box;max-width:440px;margin-inline:auto;background:#f3f4f6;border-radius:22px;padding:18px 22px;box-shadow:0 18px 40px rgba(0,0,0,.28)}
.pm-hero .wp-block-button.is-style-outline .wp-block-button__link{color:#fff;border-color:rgba(255,255,255,.45)}
.pm-hero .wp-block-button.is-style-outline .wp-block-button__link:hover{background:rgba(255,255,255,.08);border-color:#fff}
.pm-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:2.5rem!important;max-width:40rem}
.pm-stat{border-left:2px solid rgba(255,255,255,.18);padding-left:.9rem}
.pm-stat strong{display:block;font-family:var(--wp--preset--font-family--heading);font-size:1.6rem;color:#fff;line-height:1.1}
.pm-stat span{font-size:.9rem;color:#9fb2c8}
@media (max-width:560px){.pm-stats{grid-template-columns:1fr 1fr}.pm-stat:last-child{grid-column:span 2}}

/* Buttons */
.wp-block-button.is-style-outline .wp-block-button__link{background:transparent;border:2px solid var(--pm-blue);color:var(--pm-blue-d)}
.wp-block-button.is-style-outline .wp-block-button__link:hover{background:var(--pm-mist)}
.wp-element-button,.wp-block-button__link{transition:background-color .15s,transform .15s,box-shadow .15s}
.wp-block-button__link:hover{transform:translateY(-1px)}
.pm-btn-flame .wp-block-button__link{background:var(--pm-flame);color:var(--pm-navy)}
.pm-btn-flame .wp-block-button__link:hover{background:#ffc66e;color:var(--pm-navy)}

/* Cards */
.pm-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.25rem;margin-top:2rem!important}
.pm-card{background:#fff;border:1px solid var(--pm-line);border-radius:var(--pm-radius);padding:1.6rem 1.5rem;box-shadow:var(--pm-shadow)}
.pm-card h3,.pm-card__title{margin:.2rem 0 .5rem;font-size:1.2rem}
.pm-card__title a{color:var(--pm-navy);text-decoration:none}
.pm-card p{margin:0;color:var(--pm-slate)}
.pm-card__icon{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:12px;background:rgba(15,145,224,.1);color:var(--pm-blue-d);font-family:var(--wp--preset--font-family--heading);font-weight:800;font-size:1.05rem;margin:0 0 .8rem!important}
.pm-card__cta{margin-top:1rem!important}

/* Steps */
.pm-steps{counter-reset:pmstep;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.5rem;list-style:none;padding:0;margin:2rem 0 0}
.pm-steps li{counter-increment:pmstep;position:relative;padding:1.4rem 1.4rem 1.4rem 4.2rem;background:#fff;border:1px solid var(--pm-line);border-radius:var(--pm-radius)}
.pm-steps li::before{content:counter(pmstep);position:absolute;left:1.2rem;top:1.25rem;width:2.1rem;height:2.1rem;border-radius:50%;background:var(--pm-navy);color:#fff;display:grid;place-items:center;font-family:var(--wp--preset--font-family--heading);font-weight:800}
.pm-steps strong{display:block;color:var(--pm-navy);font-family:var(--wp--preset--font-family--heading);margin-bottom:.2rem}
.pm-steps span{color:var(--pm-slate)}

/* Pricing table */
.pm-price{border:1px solid var(--pm-line);border-radius:var(--pm-radius);overflow:hidden;box-shadow:var(--pm-shadow);background:#fff}
.pm-price table{width:100%;border-collapse:collapse;margin:0}
.pm-price td{padding:.95rem 1.25rem;border:0;border-bottom:1px solid var(--pm-line)}
.pm-price tr:last-child td{border-bottom:0}
.pm-price td:first-child{font-weight:600;color:var(--pm-navy)}
.pm-price td:last-child{text-align:right;color:var(--pm-ink)}
.pm-price .wp-block-table{margin:0}
.pm-price figcaption{padding:.8rem 1.25rem;background:var(--pm-mist);margin:0;font-size:.9rem;color:var(--pm-slate);text-align:left}
.pm-pricebig{font-family:var(--wp--preset--font-family--heading);font-size:3rem!important;font-weight:800;color:var(--pm-navy);line-height:1;margin:0!important}
.pm-pricebig small{font-size:1rem;font-weight:600;color:var(--pm-slate)}

/* Testimonials */
.pm-quotes{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,440px),1fr));gap:1.25rem;margin-top:2rem!important}
.pm-quote-card{margin:0;background:#fff;border:1px solid var(--pm-line);border-radius:var(--pm-radius);padding:1.6rem;display:flex;flex-direction:column;gap:1rem;box-shadow:var(--pm-shadow)}
.pm-quote-card blockquote{margin:0;padding:0;border:0;font-size:1rem;color:var(--pm-ink)}
.pm-quote-card blockquote p{margin:0}
.pm-quote-card blockquote::before{content:"“";display:block;font-family:Georgia,serif;font-size:3rem;line-height:.6;color:var(--pm-blue);margin-bottom:.4rem}
.pm-quote-card figcaption{display:flex;align-items:center;gap:.8rem;margin-top:auto}
.pm-quote-card figcaption img{width:52px;height:52px;border-radius:50%;object-fit:cover}
.pm-quote-card figcaption strong{display:block;color:var(--pm-navy);font-family:var(--wp--preset--font-family--heading)}
.pm-quote-card figcaption span{font-size:.88rem;color:var(--pm-slate)}

/* Partner promos */
.pm-promo{background:#fff;border:1px solid var(--pm-line);border-radius:var(--pm-radius);padding:1.8rem;box-shadow:var(--pm-shadow);height:100%;box-sizing:border-box}
.pm-promo__logo{height:56px;margin-bottom:1rem}
.pm-promo__logo img{height:56px;width:auto;object-fit:contain}
.pm-promo ul{padding-left:1.1rem;margin:0 0 1.2rem;color:var(--pm-slate)}
.pm-promo li{margin:.35rem 0}
.pm-promo li strong{color:var(--pm-navy)}
.pm-promos{gap:1.25rem!important}

/* Logos strip */
.pm-logos{display:flex;flex-wrap:wrap;gap:2rem 3rem;align-items:center;justify-content:center;margin-top:1.5rem!important}
.pm-logos img{height:44px;width:auto;filter:grayscale(1);opacity:.75;transition:filter .2s,opacity .2s}
.pm-logos img:hover{filter:none;opacity:1}

/* CTA band */
.pm-cta{background:linear-gradient(135deg,var(--pm-blue) 0%,#0a6fb0 100%);color:#e8f4fd;border-radius:24px;padding:clamp(2rem,5vw,3.5rem);text-align:center;position:relative;overflow:hidden}
.pm-cta h2{color:#fff;margin:0 0 .6rem}
.pm-cta p{color:#e3f1fc}
.pm-cta .wp-block-buttons{justify-content:center}

/* Page head + prose */
.pm-pagehead{background:var(--pm-mist);border-bottom:1px solid var(--pm-line);padding-block:clamp(2.5rem,6vw,4.5rem) clamp(2rem,4vw,3rem)}
.pm-pagehead h1{font-size:clamp(2rem,4.5vw,3rem);margin:0}
.pm-pagehead .pm-meta{color:var(--pm-slate);margin-top:.5rem}
.pm-prose{padding-block:clamp(2rem,5vw,3.5rem) var(--wp--preset--spacing--60)}
.pm-prose h2{font-size:1.6rem;margin-top:2.2rem}
.pm-prose li{margin:.45rem 0}
.pm-404{text-align:center}
.pm-404 h1{max-width:20ch;margin-inline:auto!important}
.pm-404 .wp-block-buttons{justify-content:center}
.pm-result{padding:1.4rem 0;border-bottom:1px solid var(--pm-line)}
.pm-result h2{margin:0 0 .3rem}
.pm-result h2 a{color:var(--pm-navy);text-decoration:none}
.pm-search{max-width:32rem;margin-top:1.2rem!important}
.pm-search .wp-block-search__input{border:1px solid var(--pm-line);border-radius:10px;padding:.7rem .9rem}

/* Notices + forms */
.pm-notice{border-radius:12px;padding:1rem 1.2rem;margin:0 0 1.5rem;border:1px solid}
.pm-notice--ok{background:#ecfbf3;border-color:#9ee0bd;color:#0f5132}
.pm-notice--error{background:#fff2f2;border-color:#f3b4b4;color:#842029}
.pm-form p{margin:0 0 1.1rem}
.pm-form label{display:block;font-weight:600;font-size:.95rem;color:var(--pm-navy);margin-bottom:.35rem}
.pm-form input[type=text],.pm-form input[type=email],.pm-form textarea,.pm-form select,
.pm-quote input[type=text],.pm-quote input[type=number],.woocommerce form .input-text,.woocommerce form select{width:100%;box-sizing:border-box;font:inherit;color:var(--pm-ink);background:#fff;border:1px solid #cdd8e4;border-radius:10px;padding:.75rem .9rem;transition:border-color .15s,box-shadow .15s}
.pm-form input:focus,.pm-form textarea:focus,.pm-form select:focus,.pm-quote input:focus{border-color:var(--pm-blue);box-shadow:0 0 0 4px rgba(15,145,224,.15);outline:0}
.pm-form__row{display:grid;grid-template-columns:1fr 1fr;gap:0 1rem}
@media (max-width:600px){.pm-form__row{grid-template-columns:1fr}}
.pm-optional{font-weight:400;color:var(--pm-slate)}
.pm-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.pm-form button{border:0;cursor:pointer}
.pm-panel{background:#fff;border:1px solid var(--pm-line);border-radius:var(--pm-radius);padding:clamp(1.4rem,3vw,2.2rem);box-shadow:var(--pm-shadow)}
.pm-panel--navy{background:var(--pm-navy);color:#c9d6e6;border:0}
.pm-panel--navy h2,.pm-panel--navy h3{color:#fff}
.pm-panel--navy a{color:#8fd0ff}
.pm-contact-cols{gap:1.5rem!important;align-items:flex-start!important}

/* Product quote box (price calculator) */
.pm-quote{background:#fff;border:1px solid var(--pm-line);border-radius:var(--pm-radius);padding:1.6rem;box-shadow:var(--pm-shadow)}
.pm-quote form.cart{display:block;margin:0}
.pm-quote .awspc-field-row,.pm-quote .awspc-field-widget{margin-bottom:1rem}
.pm-quote label,.pm-quote .awspc-field-label-line{font-weight:600;color:var(--pm-navy);font-size:.95rem}
.pm-quote table{width:100%;border-collapse:collapse;border:0}
.pm-quote table td{border:0;padding:.35rem 0;display:block}
.pm-quote .quantity{display:none}
.pm-quote .single_add_to_cart_button{width:100%;margin-top:.5rem;font-family:var(--wp--preset--font-family--heading);font-weight:700;font-size:1.05rem;border:0;border-radius:10px;padding:.95rem 1.2rem;background:var(--pm-blue);color:#fff;cursor:pointer}
.pm-quote .single_add_to_cart_button:hover{background:var(--pm-blue-d)}
.pm-quote .awspc-output-product,.pm-quote .awspc-price-format{font-family:var(--wp--preset--font-family--heading);font-size:1.6rem;font-weight:800;color:var(--pm-navy)}
.pm-quote .awspc-field-error{color:#b42318;font-size:.9rem}
.pm-quote-note{font-size:.92rem;color:var(--pm-slate)}

/* WooCommerce pages */
.woocommerce .woocommerce-message,.woocommerce .woocommerce-info,.woocommerce .woocommerce-error,.wc-block-components-notice-banner{border-radius:12px}
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit{background:var(--pm-blue);color:#fff;border-radius:10px;font-family:var(--wp--preset--font-family--heading);font-weight:700;padding:.8em 1.3em}
.woocommerce a.button:hover,.woocommerce button.button:hover{background:var(--pm-blue-d);color:#fff}
.woocommerce a.button.alt,.woocommerce button.button.alt{background:var(--pm-blue)}
.woocommerce table.shop_table{border-radius:var(--pm-radius);border-color:var(--pm-line)}
.pm-product .pm-section:first-child{margin-top:0}

/* ---------- Footer ---------- */
.pm-footer{background:var(--pm-navy);color:#9fb2c8;padding-block:clamp(3rem,6vw,4.5rem) 1.5rem;margin-top:0}
.pm-footer__grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:2rem}
.pm-footer h2{font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;color:#fff;margin:0 0 1rem}
.pm-footer ul{list-style:none;margin:0;padding:0}
.pm-footer li{margin:.5rem 0;font-size:.95rem}
.pm-footer a{color:#c9d6e6;text-decoration:none}
.pm-footer a:hover{color:#fff;text-decoration:underline}
.pm-footer__brand p{max-width:30ch;font-size:.95rem}
.pm-footer__bottom{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;border-top:1px solid rgba(255,255,255,.1);margin-top:2.5rem;padding-top:1.25rem;font-size:.85rem}
@media (max-width:900px){.pm-footer__grid{grid-template-columns:1fr 1fr}.pm-footer__brand{grid-column:1/-1}}
@media (max-width:480px){.pm-footer__grid{grid-template-columns:1fr}}

@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* Live quote estimate */
.pm-quote-total{display:flex;flex-wrap:wrap;align-items:baseline;gap:.25rem .75rem;margin:0 0 1rem;padding:.85rem 1rem;border-radius:12px;background:#eef6fd;color:#0b1a2e;font-weight:600}
.pm-quote-total strong{font-size:1.6rem;font-family:var(--wp--preset--font-family--heading, inherit);color:#0b1a2e}
.pm-quote-total small{font-weight:400;color:#4a5b70;font-size:.85rem}

/* Marketing Playbook promo */
.pm-checks{list-style:none;padding:0;margin:0 0 1.6rem}
.pm-checks li{position:relative;padding-left:2rem;margin:.75rem 0;color:var(--pm-slate)}
.pm-checks li::before{content:"";position:absolute;left:0;top:.3rem;width:1.15rem;height:1.15rem;border-radius:50%;background:var(--pm-blue) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath fill='none' stroke='%23fff' stroke-width='3' d='M5 10.5l3.2 3L15 6.5'/%3E%3C/svg%3E") center/70% no-repeat}
.pm-checks li strong{color:var(--pm-navy)}
.pm-playbook{background:var(--pm-navy);color:#c9d6e6;border-radius:var(--pm-radius);padding:2rem;box-shadow:var(--pm-shadow);max-width:440px;margin-inline:auto;background-image:radial-gradient(420px 260px at 100% 0,rgba(15,145,224,.35),transparent 70%)}
.pm-playbook__kicker{margin:0;color:var(--pm-flame);font-size:.78rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.pm-playbook__title{margin:.3rem 0 1.2rem;color:#fff;font-family:var(--wp--preset--font-family--heading);font-size:1.6rem;font-weight:700;line-height:1.15}
.pm-playbook__list{counter-reset:pb;list-style:none;padding:0;margin:0 0 1.4rem;display:grid;grid-template-columns:1fr 1fr;gap:.5rem}
.pm-playbook__list li{counter-increment:pb;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);border-radius:10px;padding:.55rem .7rem;font-size:.88rem;color:#e6edf5}
.pm-playbook__list li::before{content:counter(pb,decimal-leading-zero);color:var(--pm-flame);font-weight:700;margin-right:.45rem;font-size:.78rem}
.pm-playbook__price{margin:0;color:#9fb2c8}
.pm-playbook__price strong{color:#fff;font-size:1.5rem;font-family:var(--wp--preset--font-family--heading)}
@media (max-width:420px){.pm-playbook__list{grid-template-columns:1fr}}
