/**
 * Advanced PWA Landing Blocks — block styles.
 *
 * Blocks reuse the theme's own classes (.section, .feature-grid, .faq-item,
 * .testimonial-card, .comparison-table, .final-cta) so no custom CSS is
 * required. This file is kept as a hook for site-specific overrides.
 *
 * Add custom rules only when you need to deviate from the theme.
 */

/* ==========================================================
   Theme-synced variations
   Use design tokens injected by AFPWAB_Theme_Bridge
   ========================================================== */

.afpwab-feature-grid--theme-synced {
background: var(--afpwab-color-surface, #f8f9fb);
border-radius: var(--afpwab-radius-lg, 20px);
padding: clamp(1.5rem, 4vw, 3rem);
}

.afpwab-feature-grid--theme-synced .afpwab-feature {
border-color: var(--afpwab-color-line, #e6e8f0);
box-shadow: 0 1px 2px rgb(10 14 39 / 6%);
}

.afpwab-feature-grid--theme-synced .afpwab-feature-icon {
color: var(--afpwab-color-primary, #5b5fff);
background: color-mix(in srgb, var(--afpwab-color-primary, #5b5fff) 10%, white);
}

.afpwab-faq--theme-synced .afpwab-faq-item {
border-color: var(--afpwab-color-line, #e6e8f0);
}

.afpwab-faq--theme-synced .afpwab-faq-item summary {
color: var(--afpwab-color-ink, #0a0e27);
}

.afpwab-faq--theme-synced .afpwab-faq-answer {
color: var(--afpwab-color-muted, #6b7280);
}

.afpwab-comparison--theme-synced .afpwab-comparison {
background: var(--afpwab-color-surface, #f8f9fb);
border-color: var(--afpwab-color-line, #e6e8f0);
}

.afpwab-comparison--theme-synced .afpwab-comparison-head {
background: color-mix(in srgb, var(--afpwab-color-primary, #5b5fff) 4%, white);
}

.afpwab-comparison--theme-synced .afpwab-check {
color: var(--afpwab-color-accent, #00e5a0);
}

.afpwab-testimonials--theme-synced .afpwab-testimonial {
background: var(--afpwab-color-surface, #f8f9fb);
border-color: var(--afpwab-color-line, #e6e8f0);
border-radius: var(--afpwab-radius-md, 12px);
}

.afpwab-testimonials--theme-synced .afpwab-testimonial blockquote {
color: var(--afpwab-color-ink, #0a0e27);
}

.afpwab-waitlist--theme-synced .afpwab-waitlist-form {
background: var(--afpwab-color-ink, #0a0e27);
border-color: color-mix(in srgb, var(--afpwab-color-primary, #5b5fff) 15%, transparent);
}

.afpwab-waitlist--theme-synced .afpwab-waitlist-form button {
background: var(--afpwab-color-accent, #00e5a0);
color: var(--afpwab-color-ink, #0a0e27);
}

/* ==========================================================
   Health check widget
   ========================================================== */

.afpwab-health {
margin-top: 1rem;
padding: 1.25rem;
border: 1px solid #e6e8f0;
border-radius: 12px;
background: #fff;
}

.afpwab-health--warning {
border-color: #ffd773;
background: #fffdf6;
}

.afpwab-health--error {
border-color: #ffb0b0;
background: #fff8f8;
}

.afpwab-health__summary {
display: flex;
align-items: center;
gap: .5rem;
margin-bottom: 1rem;
padding-bottom: 1rem;
border-bottom: 1px solid #f0f1f5;
}

.afpwab-health__summary-icon {
font-size: 1.25rem;
}

.afpwab-health__list {
list-style: none;
margin: 0;
padding: 0;
}

.afpwab-health__item {
display: flex;
align-items: center;
gap: .75rem;
padding: .65rem 0;
border-bottom: 1px solid #f7f8fa;
}

.afpwab-health__item:last-child {
border-bottom: 0;
}

.afpwab-health__icon {
flex: 0 0 auto;
font-size: 1.1rem;
}

.afpwab-health__content {
flex: 1;
display: flex;
flex-direction: column;
gap: .15rem;
}

.afpwab-health__message {
color: #6b7280;
font-size: .85rem;
}

.afpwab-health__action {
flex: 0 0 auto;
color: #5b5fff;
font-size: .85rem;
font-weight: 600;
text-decoration: none;
}

.afpwab-health__action:hover {
color: #4549ec;
}

.afpwab-health__footer {
margin-top: 1rem;
padding-top: 1rem;
border-top: 1px solid #f0f1f5;
text-align: right;
}

/* ==========================================================
   SPRINT 6 — Pricing card / Hero / CTA banner / Testimonial single
   ========================================================== */

/* Pricing card */
.afpwab-pricing-card {
display: flex;
flex-direction: column;
padding: 1.75rem;
border: 1px solid var(--afpwab-color-line, #e6e8f0);
border-radius: var(--afpwab-radius-md, 12px);
background: #fff;
}

.afpwab-pricing-card--highlighted {
border: 1.5px solid var(--afpwab-color-primary, #5b5fff);
box-shadow: 0 12px 40px rgb(91 95 255 / 11%);
}

.afpwab-pricing-card__badge {
align-self: flex-start;
padding: .3rem .6rem;
margin-bottom: .9rem;
border-radius: 999px;
color: #fff;
background: var(--afpwab-color-primary, #5b5fff);
font-size: .7rem;
font-weight: 800;
letter-spacing: .04em;
text-transform: uppercase;
}

.afpwab-pricing-card__title {
margin: 0 0 .4rem;
color: var(--afpwab-color-ink, #0a0e27);
font-size: 1.4rem;
font-weight: 800;
letter-spacing: -.03em;
}

.afpwab-pricing-card__description {
margin: 0 0 1.25rem;
color: var(--afpwab-color-muted, #6b7280);
font-size: .9rem;
line-height: 1.6;
}

.afpwab-pricing-card__price {
display: flex;
align-items: baseline;
gap: .35rem;
margin: 0 0 1.25rem;
}

.afpwab-pricing-card__price strong {
color: var(--afpwab-color-ink, #0a0e27);
font-size: 2rem;
font-weight: 800;
letter-spacing: -.04em;
}

.afpwab-pricing-card__price span {
color: var(--afpwab-color-muted, #6b7280);
font-size: .85rem;
}

.afpwab-pricing-card__features {
display: grid;
gap: .55rem;
margin: 0 0 1.5rem;
padding: 0;
list-style: none;
}

.afpwab-pricing-card__features li {
display: flex;
align-items: flex-start;
gap: .5rem;
color: var(--afpwab-color-ink-soft, #3b3e51);
font-size: .88rem;
line-height: 1.5;
}

.afpwab-pricing-card__check {
flex: 0 0 auto;
color: var(--afpwab-color-accent, #00e5a0);
font-weight: 800;
}

.afpwab-pricing-card__cta {
margin-top: auto;
padding: .8rem 1.2rem;
border-radius: 10px;
color: #fff;
background: var(--afpwab-color-primary, #5b5fff);
font-size: .9rem;
font-weight: 700;
text-align: center;
text-decoration: none;
transition: background .15s ease, transform .15s ease;
}

.afpwab-pricing-card__cta:hover {
background: var(--afpwab-color-primary-dark, #4549ec);
transform: translateY(-2px);
}

.afpwab-pricing-card--highlighted .afpwab-pricing-card__cta {
background: var(--afpwab-color-accent, #00e5a0);
color: var(--afpwab-color-ink, #0a0e27);
}

/* Hero section */
.afpwab-hero {
padding: clamp(3rem, 8vw, 6rem) 1rem;
text-align: center;
}

.afpwab-hero--gradient {
background: linear-gradient(135deg, var(--afpwab-color-ink, #0a0e27), color-mix(in srgb, var(--afpwab-color-primary, #5b5fff) 30%, var(--afpwab-color-ink, #0a0e27)));
color: #fff;
}

.afpwab-hero--surface {
background: var(--afpwab-color-surface, #f8f9fb);
color: var(--afpwab-color-ink, #0a0e27);
}

.afpwab-hero--dark {
background: var(--afpwab-color-ink, #0a0e27);
color: #fff;
}

.afpwab-hero__inner {
max-width: 780px;
margin-inline: auto;
}

.afpwab-hero__title {
margin: 0 0 1rem;
font-size: clamp(2.4rem, 5vw, 3.75rem);
font-weight: 800;
letter-spacing: -.05em;
line-height: 1.06;
}

.afpwab-hero__subtitle {
margin: 0 auto 2rem;
max-width: 580px;
font-size: clamp(1rem, 1.6vw, 1.125rem);
line-height: 1.7;
opacity: .88;
}

.afpwab-hero__actions {
display: flex;
flex-wrap: wrap;
justify-content: center;
gap: .65rem;
}

.afpwab-hero__button {
padding: .9rem 1.5rem;
border-radius: 10px;
font-size: .92rem;
font-weight: 700;
text-decoration: none;
transition: transform .15s ease, background .15s ease;
}

.afpwab-hero__button--primary {
background: var(--afpwab-color-primary, #5b5fff);
color: #fff;
}

.afpwab-hero__button--primary:hover {
background: var(--afpwab-color-primary-dark, #4549ec);
transform: translateY(-2px);
}

.afpwab-hero__button--secondary {
border: 1px solid currentColor;
color: inherit;
background: transparent;
}

.afpwab-hero__button--secondary:hover {
transform: translateY(-2px);
opacity: .9;
}

/* CTA banner */
.afpwab-cta-banner {
padding: clamp(2rem, 5vw, 3.5rem) 1rem;
}

.afpwab-cta-banner--dark {
background: var(--afpwab-color-ink, #0a0e27);
color: #fff;
}

.afpwab-cta-banner--gradient {
background: linear-gradient(135deg, var(--afpwab-color-ink, #0a0e27) 0%, var(--afpwab-color-primary, #5b5fff) 100%);
color: #fff;
}

.afpwab-cta-banner--light {
background: var(--afpwab-color-surface, #f8f9fb);
color: var(--afpwab-color-ink, #0a0e27);
}

.afpwab-cta-banner__inner {
display: flex;
flex-wrap: wrap;
align-items: center;
justify-content: space-between;
gap: 1.5rem;
max-width: 1180px;
margin-inline: auto;
}

.afpwab-cta-banner__copy {
max-width: 620px;
}

.afpwab-cta-banner__title {
margin: 0 0 .5rem;
font-size: clamp(1.5rem, 3vw, 2.25rem);
font-weight: 800;
letter-spacing: -.04em;
line-height: 1.15;
}

.afpwab-cta-banner__text {
margin: 0;
font-size: 1rem;
line-height: 1.65;
opacity: .88;
}

.afpwab-cta-banner__action {
flex: 0 0 auto;
}

.afpwab-cta-banner__button {
display: inline-block;
padding: 1rem 1.75rem;
border-radius: 10px;
color: var(--afpwab-color-ink, #0a0e27);
background: var(--afpwab-color-accent, #00e5a0);
font-size: .92rem;
font-weight: 800;
text-decoration: none;
transition: transform .15s ease;
}

.afpwab-cta-banner--light .afpwab-cta-banner__button {
color: #fff;
background: var(--afpwab-color-primary, #5b5fff);
}

.afpwab-cta-banner__button:hover {
transform: translateY(-2px);
}

/* Single testimonial */
.afpwab-testimonial-single {
padding: 1.75rem;
border: 1px solid var(--afpwab-color-line, #e6e8f0);
border-radius: var(--afpwab-radius-md, 12px);
background: #fff;
}

.afpwab-testimonial-single__rating {
margin-bottom: 1rem;
color: var(--afpwab-color-line, #e6e8f0);
font-size: 1.1rem;
letter-spacing: .08em;
}

.afpwab-testimonial-single__rating .is-filled {
color: var(--afpwab-color-amber, #ffb800);
}

.afpwab-testimonial-single__quote {
margin: 0 0 1.25rem;
color: var(--afpwab-color-ink-soft, #3b3e51);
font-size: 1rem;
line-height: 1.7;
}

.afpwab-testimonial-single__author {
display: flex;
align-items: center;
gap: .75rem;
padding-top: 1rem;
border-top: 1px solid var(--afpwab-color-line, #e6e8f0);
}

.afpwab-testimonial-single__avatar {
width: 40px;
height: 40px;
flex: 0 0 40px;
overflow: hidden;
border-radius: 50%;
background: var(--afpwab-color-surface, #f8f9fb);
}

.afpwab-testimonial-single__avatar img {
width: 100%;
height: 100%;
object-fit: cover;
}

.afpwab-testimonial-single__author > div {
display: grid;
gap: .1rem;
}

.afpwab-testimonial-single__author strong {
color: var(--afpwab-color-ink, #0a0e27);
font-size: .9rem;
}

.afpwab-testimonial-single__author span {
color: var(--afpwab-color-muted, #6b7280);
font-size: .8rem;
}