/* STRIVE pattern CSS production bundle. Source styles remain modular by family. */

/* === ABOUT === */
/* STRIVE About compositions v0.13.0
 * Native Gutenberg owns normal spacing, media, typography controls, colors and structure.
 * This file only supplies visual polish and responsive safeguards.
 */
.strive-about-pattern,.strive-about-pattern * { box-sizing:border-box; }
.strive-about-pattern { position:relative; isolation:isolate; overflow:visible; }
.strive-about-pattern .strive-about__container,
.strive-about-pattern .strive-about__columns { width:100%; }
.strive-about-pattern .strive-about__intro { max-width:44rem; min-width:0; }
.strive-about-pattern .strive-about__description,
.strive-about-pattern .strive-about__body,
.strive-about-pattern .strive-about__value-copy,
.strive-about-pattern .strive-about__stat-copy,
.strive-about-pattern .strive-about__milestone-copy { opacity:.76; }
.strive-about-pattern .strive-about__eyebrow,
.strive-about-pattern .strive-about__number,
.strive-about-pattern .strive-about__caption { opacity:.62; }
.strive-about-pattern .strive-about__intro > *,
.strive-about-pattern .strive-about__story > *,
.strive-about-pattern .strive-about__actions,
.strive-about-pattern figure.strive-about__image { margin-top:0; margin-bottom:0; }
.strive-about-pattern figure.strive-about__image,
.strive-about-pattern figure.strive-about__image img { display:block; width:100%; max-width:none; }
.strive-about-03-founder .strive-about__quote { margin-inline:0; }
.strive-about-04-stats-story .strive-about__stat { min-width:0; }
.strive-about-05-values .strive-about__value { min-width:0; }
@media (max-width:781px) {
    .strive-about-pattern .strive-about__stats-grid,
    .strive-about-pattern .strive-about__values-grid { grid-template-columns:1fr; }
}


/* === COMMERCE === */
/* STRIVE Commerce v0.18 — merchandise groups and grids stay Gutenberg-editable. */
.strive-commerce-pattern,
.strive-commerce-pattern * { box-sizing: border-box; }

.strive-commerce-pattern { position: relative; }
.strive-commerce-pattern .strive-commerce__container { width: 100%; }
.strive-commerce-pattern .strive-commerce__description { max-width: 42rem; opacity: .78; }
.strive-commerce-pattern .strive-commerce__eyebrow { opacity: .68; }

.strive-commerce__merchandise-group,
.strive-commerce__category-grid,
.strive-commerce__offer-grid,
.strive-commerce__promotion-grid,
.strive-commerce__offer-mosaic { min-width: 0; width: 100%; }

.strive-commerce-pattern figure,
.strive-commerce-pattern figure img { display: block; width: 100%; max-width: none; }

.strive-commerce-cover { overflow: hidden; }
.strive-commerce-cover .wp-block-cover__inner-container { width: 100%; }
.strive-commerce-cover__copy { width: min(100%, 28rem); }
.strive-commerce-cover__copy > * { margin-block: 0; }

.strive-commerce-offer__badge {
    display: inline-flex;
    width: max-content;
    padding: .35rem .6rem;
    border-radius: var(--strive-radius-pill);
    background: var(--wp--preset--color--accent, #ddd);
    color: var(--wp--preset--color--accent-contrast, #111);
    font-size: .72rem;
    font-weight: 700;
}
.strive-commerce-offer__price s { opacity: .48; }
.strive-commerce-offer__copy > * { margin-block: 0; }

.strive-commerce-03-promo-cover .strive-commerce__banner-copy { max-width: 760px; }
.strive-commerce-03-promo-cover .strive-commerce__container,
.strive-commerce-03-promo-cover .wp-block-cover__inner-container { width: 100%; }

.strive-commerce-benefit,
.strive-commerce__form-slot { min-width: 0; }

.strive-commerce__offer-mosaic,
.strive-commerce__offer-mosaic-side { align-items: stretch; }
.strive-commerce__offer-mosaic > *,
.strive-commerce__offer-mosaic-side > * { height: 100%; }

@media (max-width: 1000px) {
    .strive-commerce__category-grid,
    .strive-commerce__benefits-grid,
    .strive-commerce__promotion-grid,
    .strive-commerce__offer-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 781px) {
    .strive-commerce__offer-mosaic { grid-template-columns: 1fr !important; }
}

@media (max-width: 600px) {
    .strive-commerce__category-grid,
    .strive-commerce__offer-grid,
    .strive-commerce__benefits-grid,
    .strive-commerce__promotion-grid {
        grid-template-columns: 1fr !important;
    }

    .strive-commerce-03-promo-cover { min-height: 560px !important; }
    .strive-commerce-cover { min-height: 420px !important; }
}


/* === CONTACT === */
/* STRIVE Contact patterns v0.16.0 — native Gutenberg owns normal layout/content controls. */
.strive-contact-pattern,.strive-contact-pattern *{box-sizing:border-box}.strive-contact-pattern{position:relative;isolation:isolate;overflow:visible}.strive-contact-pattern .strive-contact__container,.strive-contact-pattern .strive-contact__columns{width:100%}.strive-contact-pattern .strive-contact__intro{max-width:46rem}.strive-contact-pattern .strive-contact__description,.strive-contact-pattern .strive-contact__copy{opacity:.78}.strive-contact-pattern .strive-contact__eyebrow{opacity:.62}.strive-contact-pattern figure img{display:block;width:100%;max-width:none}.strive-contact-pattern figure{margin-top:0;margin-bottom:0}.strive-header-pattern .wp-block-navigation,.strive-footer-pattern .wp-block-navigation{width:auto}.strive-header-pattern .wp-block-navigation__responsive-container-content,.strive-footer-pattern .wp-block-navigation__responsive-container-content{gap:1rem}.strive-footer-pattern{font-size:.96rem}.strive-footer-pattern .strive-footer__legal{opacity:.62}.strive-contact-pattern .strive-contact__form-ready{min-height:20rem}.strive-pricing-pattern .strive-pricing__card--featured{transform:translateY(-.75rem)}.strive-team-pattern .strive-team__person,.strive-projects-pattern .strive-projects__item{min-width:0}.strive-trust-pattern .strive-trust__logo-placeholder{display:flex;align-items:center;justify-content:center;min-height:4.5rem}.strive-utility-pattern{font-size:.95rem}@media(max-width:781px){.strive-pricing-pattern .strive-pricing__card--featured{transform:none}.strive-header-pattern .strive-header__desktop-aux{display:none!important}}

/* === CTA === */
/* STRIVE CTA compositions v0.10.0
 * Gutenberg owns normal layout, spacing, padding, colors, media and content.
 * CSS here is polish only; no locked geometry or hidden gap system.
 */
.strive-cta-pattern,.strive-cta-pattern * { box-sizing:border-box; }
.strive-cta-pattern { position:relative; isolation:isolate; overflow:visible; }
.strive-cta-pattern .strive-cta__container,.strive-cta-pattern .strive-cta__columns { width:100%; }
.strive-cta-pattern .strive-cta__copy { max-width:44rem; min-width:0; }
.strive-cta-pattern .strive-cta__description { max-width:39rem; opacity:.76; }
.strive-cta-pattern .strive-cta__eyebrow { opacity:.66; }
.strive-cta-pattern .strive-cta__copy > *,
.strive-cta-pattern .strive-cta__actions,
.strive-cta-pattern figure.strive-cta__image { margin-top:0; margin-bottom:0; }
.strive-cta-pattern figure.strive-cta__image,
.strive-cta-pattern figure.strive-cta__image img { display:block; width:100%; max-width:none; }
.strive-cta-02-dark-proof .strive-cta__side-panel { box-shadow: var(--strive-shadow-card); }
.strive-cta-06-floating-card .strive-cta__floating-card { max-width:980px; margin-inline:auto; box-shadow: var(--strive-shadow-soft); }


/* === FAQ === */
.strive-faq-pattern,.strive-faq-pattern *{box-sizing:border-box}.strive-faq-pattern{position:relative;isolation:isolate;overflow:visible}.strive-faq-pattern .strive-faq__container,.strive-faq-pattern .strive-faq__columns{width:100%}.strive-faq-pattern .strive-faq__intro{max-width:44rem}.strive-faq-pattern .strive-faq__description,.strive-faq-pattern .strive-faq__answer{opacity:.74}.strive-faq-pattern .strive-faq__eyebrow{opacity:.62}.strive-faq-pattern .strive-faq__intro>*{margin-top:0;margin-bottom:0}.strive-faq-pattern details.strive-faq__item{margin-block:0}.strive-faq-pattern details.strive-faq__item>summary{font-weight:650;cursor:pointer}.strive-faq-pattern details.strive-faq__item>.strive-faq__answer{margin-bottom:0}@media(max-width:700px){.strive-faq-pattern .strive-faq__grid{grid-template-columns:1fr!important}}


/* === FOOTER === */
/* STRIVE Footer patterns v0.16.0 — native Gutenberg owns normal layout/content controls. */
.strive-footer-pattern,.strive-footer-pattern *{box-sizing:border-box}.strive-footer-pattern{position:relative;isolation:isolate;overflow:visible}.strive-footer-pattern .strive-footer__container,.strive-footer-pattern .strive-footer__columns{width:100%}.strive-footer-pattern .strive-footer__intro{max-width:46rem}.strive-footer-pattern .strive-footer__description,.strive-footer-pattern .strive-footer__copy{opacity:.78}.strive-footer-pattern .strive-footer__eyebrow{opacity:.62}.strive-footer-pattern figure img{display:block;width:100%;max-width:none}.strive-footer-pattern figure{margin-top:0;margin-bottom:0}.strive-header-pattern .wp-block-navigation,.strive-footer-pattern .wp-block-navigation{width:auto}.strive-header-pattern .wp-block-navigation__responsive-container-content,.strive-footer-pattern .wp-block-navigation__responsive-container-content{gap:1rem}.strive-footer-pattern{font-size:.96rem}.strive-footer-pattern .strive-footer__legal{opacity:.62}.strive-contact-pattern .strive-contact__form-ready{min-height:20rem}.strive-pricing-pattern .strive-pricing__card--featured{transform:translateY(-.75rem)}.strive-team-pattern .strive-team__person,.strive-projects-pattern .strive-projects__item{min-width:0}.strive-trust-pattern .strive-trust__logo-placeholder{display:flex;align-items:center;justify-content:center;min-height:4.5rem}.strive-utility-pattern{font-size:.95rem}@media(max-width:781px){.strive-pricing-pattern .strive-pricing__card--featured{transform:none}.strive-header-pattern .strive-header__desktop-aux{display:none!important}}

/* === FULLWIDTH === */
/* STRIVE Full Width sections.
 * Basic spacing remains owned by Gutenberg. CSS only guarantees that edge
 * media can actually stretch to the section edges and preserve a strong
 * full-bleed composition across editor/frontend.
 */
.strive-fullwidth-pattern,
.strive-fullwidth-pattern * { box-sizing: border-box; }

.strive-fullwidth-pattern { width: 100%; overflow: clip; }
.strive-fullwidth-pattern > .wp-block-columns,
.strive-fullwidth-pattern .strive-fullwidth__columns { margin: 0; width: 100%; }
.strive-fullwidth-pattern .strive-fullwidth__columns { align-items: stretch; }
.strive-fullwidth-pattern .wp-block-column { min-width: 0; }

.strive-fullwidth__copy { justify-content: center; min-height: clamp(34rem, 56vw, 48rem); }
.strive-fullwidth__copy > * { width: 100%; max-width: 38rem; }
.strive-fullwidth__description { opacity: .78; }
.strive-fullwidth__eyebrow { opacity: .68; }

.strive-fullwidth__media { min-height: clamp(34rem, 56vw, 48rem); width: 100%; overflow: hidden; }
.strive-fullwidth__media > .wp-block-image,
.strive-fullwidth__media > .wp-block-video,
.strive-fullwidth__media > .wp-block-cover,
.strive-fullwidth__media > .wp-block-gallery,
.strive-fullwidth__media > .wp-block-group,
.strive-fullwidth__media .strive-fullwidth__media-grid { width: 100%; height: 100%; margin: 0; }
.strive-fullwidth__media > .wp-block-image img,
.strive-fullwidth__media > .wp-block-video video,
.strive-fullwidth__media .strive-fullwidth__image img { width: 100%; height: 100%; min-height: clamp(34rem, 56vw, 48rem); object-fit: cover; display: block; }

.strive-fullwidth__media-grid--double { min-height: clamp(34rem, 56vw, 48rem); }
.strive-fullwidth__media-grid--double > .wp-block-image { height: 100%; margin: 0; }
.strive-fullwidth__media-grid--double > .wp-block-image img { min-height: clamp(34rem, 56vw, 48rem); }

.strive-fullwidth__cover { margin: 0; width: 100%; }
.strive-fullwidth__cover-copy { max-width: 46rem; color: var(--wp--preset--color--secondary-contrast); }

@media (max-width: 781px) {
  .strive-fullwidth-pattern { overflow: visible; }
  .strive-fullwidth__copy { min-height: auto; }
  .strive-fullwidth__media,
  .strive-fullwidth__media > .wp-block-image img,
  .strive-fullwidth__media > .wp-block-video video,
  .strive-fullwidth__media .strive-fullwidth__image img,
  .strive-fullwidth__media-grid--double,
  .strive-fullwidth__media-grid--double > .wp-block-image img { min-height: 24rem; }
  .strive-fullwidth__media-grid--double { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width: 520px) {
  .strive-fullwidth__media,
  .strive-fullwidth__media > .wp-block-image img,
  .strive-fullwidth__media > .wp-block-video video,
  .strive-fullwidth__media .strive-fullwidth__image img { min-height: 20rem; }
  .strive-fullwidth__media-grid--double { grid-template-columns: 1fr; }
}


/* === HEADER === */
/* STRIVE Header patterns v0.16.0 — native Gutenberg owns normal layout/content controls. */
.strive-header-pattern,.strive-header-pattern *{box-sizing:border-box}.strive-header-pattern{position:relative;isolation:isolate;overflow:visible}.strive-header-pattern .strive-header__container,.strive-header-pattern .strive-header__columns{width:100%}.strive-header-pattern .strive-header__intro{max-width:46rem}.strive-header-pattern .strive-header__description,.strive-header-pattern .strive-header__copy{opacity:.78}.strive-header-pattern .strive-header__eyebrow{opacity:.62}.strive-header-pattern figure img{display:block;width:100%;max-width:none}.strive-header-pattern figure{margin-top:0;margin-bottom:0}.strive-header-pattern .wp-block-navigation,.strive-footer-pattern .wp-block-navigation{width:auto}.strive-header-pattern .wp-block-navigation__responsive-container-content,.strive-footer-pattern .wp-block-navigation__responsive-container-content{gap:1rem}.strive-footer-pattern{font-size:.96rem}.strive-footer-pattern .strive-footer__legal{opacity:.62}.strive-contact-pattern .strive-contact__form-ready{min-height:20rem}.strive-pricing-pattern .strive-pricing__card--featured{transform:translateY(-.75rem)}.strive-team-pattern .strive-team__person,.strive-projects-pattern .strive-projects__item{min-width:0}.strive-trust-pattern .strive-trust__logo-placeholder{display:flex;align-items:center;justify-content:center;min-height:4.5rem}.strive-utility-pattern{font-size:.95rem}@media(max-width:781px){.strive-pricing-pattern .strive-pricing__card--featured{transform:none}.strive-header-pattern .strive-header__desktop-aux{display:none!important}}

/* === HERO === */
/*
 * STRIVE Hero compositions v0.10.0
 *
 * Architecture rule:
 * - Gutenberg owns ordinary layout spacing, section padding, card padding,
 *   image aspect ratio/crop, radius, colors and content.
 * - This file only adds visual polish, safe responsive behavior and a few
 *   composition-specific details that native blocks do not express cleanly.
 * - Do NOT hard-code copy↔media gaps or image↔image gaps here. Those live in
 *   native Block spacing controls on Columns / Grid / Stack blocks.
 */

.strive-hero-pattern,
.strive-hero-pattern * {
    box-sizing: border-box;
}

.strive-hero-pattern {
    position: relative;
    isolation: isolate;
    overflow: visible;
}

.strive-hero-pattern .strive-hero__container {
    width: 100%;
}

.strive-hero-pattern .strive-hero__split {
    width: 100%;
    margin: 0;
}

.strive-hero-pattern .strive-hero__column,
.strive-hero-pattern .strive-hero__media-grid,
.strive-hero-pattern .strive-hero__media-stack,
.strive-hero-pattern .strive-hero__text-stack,
.strive-hero-pattern .strive-hero__copy {
    min-width: 0;
}

.strive-hero-pattern .strive-hero__copy {
    width: 100%;
    max-width: 39rem;
}

.strive-hero-pattern .strive-hero__eyebrow,
.strive-hero-pattern .strive-hero__title,
.strive-hero-pattern .strive-hero__description,
.strive-hero-pattern .strive-hero__actions,
.strive-hero-pattern .strive-hero__media-caption,
.strive-hero-pattern figure.strive-hero__image {
    margin-top: 0;
    margin-bottom: 0;
}

.strive-hero-pattern .strive-hero__description {
    max-width: 36rem;
    opacity: .78;
}

.strive-hero-pattern .strive-hero__eyebrow {
    opacity: .68;
}

.strive-hero-pattern .strive-hero__media-caption {
    opacity: .58;
}

.strive-hero-pattern figure.strive-hero__image,
.strive-hero-pattern figure.strive-hero__image img {
    display: block;
    width: 100%;
    max-width: none;
}

/* Native Grid fallback. Gutenberg owns the gap value. */
.strive-hero-pattern .strive-hero__media-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: start;
}

/* 01 — Editorial Split */
.strive-hero-01-editorial-split .strive-hero__copy {
    max-width: 36rem;
}

/* 02 — Dual Offset */
.strive-hero-02-dual-offset .strive-hero__media-grid--dual {
    align-items: start;
}

/* 03 — Cinematic Cover */
.strive-hero-03-cinematic-cover {
    min-height: min(900px, 92vh);
}

.strive-hero-03-cinematic-cover .wp-block-cover__inner-container,
.strive-hero-03-cinematic-cover .strive-hero__container {
    width: 100%;
}

.strive-hero-03-cinematic-cover .strive-hero__cover-container {
    display: flex;
    min-height: min(650px, 72vh);
    align-items: flex-end;
}

.strive-hero-03-cinematic-cover .strive-hero__cover-copy {
    max-width: 760px;
}

/* 04 — Mosaic Grid */
.strive-hero-04-mosaic .strive-hero__copy {
    max-width: 35rem;
}

/* 05 — Framed Overlap. Overlap itself is native negative margin. */
.strive-hero-05-framed-overlap .strive-hero__framed-stack {
    position: relative;
}

.strive-hero-05-framed-overlap .strive-hero__copy {
    position: relative;
    z-index: 2;
    max-width: 720px;
    box-shadow: var(--strive-shadow-card);
}

/* 06 — Bento Story */
.strive-hero-06-bento .strive-hero__copy {
    max-width: 34rem;
}

.strive-hero-06-bento .strive-hero__proof-card,
.strive-hero-07-floating-proof .strive-hero__floating-card {
    position: relative;
    z-index: 2;
}

/* 07 — Floating Proof. Card overlap comes from native negative margin. */
.strive-hero-07-floating-proof .strive-hero__floating-card {
    box-shadow: var(--strive-shadow-card);
}

/* Core Columns already stacks on mobile. Only nested media grids need a rule. */
@media (max-width: 781px) {
    .strive-hero-pattern .strive-hero__media-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }


    .strive-hero-03-cinematic-cover {
        min-height: 680px;
    }

    .strive-hero-03-cinematic-cover .strive-hero__cover-container {
        min-height: 520px;
    }
}

@media (max-width: 540px) {
    .strive-hero-pattern .strive-hero__media-grid {
        grid-template-columns: 1fr;
    }

}


/* 08 — Panel Cover */
.strive-hero-08-panel-cover {
    min-height: min(920px, 96vh);
}

.strive-hero-08-panel-cover .wp-block-cover__inner-container,
.strive-hero-08-panel-cover .strive-hero__container,
.strive-hero-08-panel-cover .strive-hero__split {
    width: 100%;
}

.strive-hero-08-panel-cover .strive-hero__cover-container {
    display: flex;
    min-height: min(700px, 78vh);
    align-items: center;
}

.strive-hero-08-panel-cover .strive-hero__cover-panel {
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    box-shadow: var(--strive-shadow-soft);
}

.strive-hero-08-panel-cover .strive-hero__copy {
    max-width: 34rem;
}

@media (max-width: 781px) {
    .strive-hero-08-panel-cover {
        min-height: 720px;
    }

    .strive-hero-08-panel-cover .strive-hero__cover-container {
        min-height: 560px;
    }
}


/* === PRICING === */
/* STRIVE Pricing patterns v0.16.0 — native Gutenberg owns normal layout/content controls. */
.strive-pricing-pattern,.strive-pricing-pattern *{box-sizing:border-box}.strive-pricing-pattern{position:relative;isolation:isolate;overflow:visible}.strive-pricing-pattern .strive-pricing__container,.strive-pricing-pattern .strive-pricing__columns{width:100%}.strive-pricing-pattern .strive-pricing__intro{max-width:46rem}.strive-pricing-pattern .strive-pricing__description,.strive-pricing-pattern .strive-pricing__copy{opacity:.78}.strive-pricing-pattern .strive-pricing__eyebrow{opacity:.62}.strive-pricing-pattern figure img{display:block;width:100%;max-width:none}.strive-pricing-pattern figure{margin-top:0;margin-bottom:0}.strive-header-pattern .wp-block-navigation,.strive-footer-pattern .wp-block-navigation{width:auto}.strive-header-pattern .wp-block-navigation__responsive-container-content,.strive-footer-pattern .wp-block-navigation__responsive-container-content{gap:1rem}.strive-footer-pattern{font-size:.96rem}.strive-footer-pattern .strive-footer__legal{opacity:.62}.strive-contact-pattern .strive-contact__form-ready{min-height:20rem}.strive-pricing-pattern .strive-pricing__card--featured{transform:translateY(-.75rem)}.strive-team-pattern .strive-team__person,.strive-projects-pattern .strive-projects__item{min-width:0}.strive-trust-pattern .strive-trust__logo-placeholder{display:flex;align-items:center;justify-content:center;min-height:4.5rem}.strive-utility-pattern{font-size:.95rem}@media(max-width:781px){.strive-pricing-pattern .strive-pricing__card--featured{transform:none}.strive-header-pattern .strive-header__desktop-aux{display:none!important}}

/* === PROCESS === */
.strive-process-pattern,.strive-process-pattern *{box-sizing:border-box}.strive-process-pattern{position:relative;isolation:isolate;overflow:visible}.strive-process-pattern .strive-process__container,.strive-process-pattern .strive-process__columns{width:100%}.strive-process-pattern .strive-process__intro{max-width:45rem}.strive-process-pattern .strive-process__description,.strive-process-pattern .strive-process__step-copy{opacity:.74}.strive-process-pattern .strive-process__eyebrow,.strive-process-pattern .strive-process__number{opacity:.62}.strive-process-pattern .strive-process__intro>*,.strive-process-pattern .strive-process__step>*{margin-top:0;margin-bottom:0}.strive-process-pattern figure.strive-process__image,.strive-process-pattern figure.strive-process__image img{display:block;width:100%;max-width:none}@media(max-width:900px){.strive-process-pattern .strive-process__grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}@media(max-width:600px){.strive-process-pattern .strive-process__grid{grid-template-columns:1fr!important}}


/* === PRODUCTS === */
/* STRIVE Products v0.18 — Gutenberg owns normal spacing, card-group surfaces and grid controls. */
.strive-products-pattern,
.strive-products-pattern * { box-sizing: border-box; }

.strive-products-pattern { position: relative; }
.strive-products-pattern .strive-products__container { width: 100%; }
.strive-products-pattern .strive-products__description { max-width: 42rem; opacity: .78; }
.strive-products-pattern .strive-products__eyebrow { opacity: .68; }

.strive-products__card-group,
.strive-products__grid,
.strive-product-card { min-width: 0; }

.strive-products__card-group { width: 100%; }
.strive-products__card-group > * { width: 100%; }

.strive-product-card figure,
.strive-product-card figure img,
.strive-products-pattern figure img { display: block; width: 100%; max-width: none; }

.strive-product-card__badge {
    display: inline-flex;
    width: max-content;
    padding: .32rem .55rem;
    border-radius: var(--strive-radius-pill);
    background: var(--wp--preset--color--accent, #ddd);
    color: var(--wp--preset--color--accent-contrast, #111);
    font-size: .72rem;
    font-weight: 700;
    line-height: 1;
}

.strive-product-card__category,
.strive-product-card__content > *,
.strive-product-card__overlay-copy > * { margin-block: 0; }

.strive-product-card__price s { opacity: .48; font-weight: 400; }

/* Text over media is always a native Cover with a non-zero overlay. */
.strive-product-card--overlay { overflow: hidden; }
.strive-product-card--overlay .wp-block-cover__inner-container { width: 100%; }
.strive-product-card--overlay .strive-product-card__overlay-copy { width: min(100%, 28rem); }
.strive-product-card--image-focus .strive-product-card__overlay-copy { width: min(100%, 20rem); }

/* Horizontal cards use native Columns; this only prevents accidental overflow. */
.strive-product-card--horizontal .strive-product-card__horizontal-columns {
    width: 100%;
    margin: 0;
}
.strive-product-card--horizontal .wp-block-column { min-width: 0; }

/* Image-led lookbook geometry. Gutenberg Grid owns the gap itself. */
.strive-products__lookbook-grid,
.strive-products__lookbook-side { align-items: stretch; }
.strive-products__lookbook-grid > *,
.strive-products__lookbook-side > * { height: 100%; }

/* Responsive safety. Desktop Grid settings remain Gutenberg-controlled. */
@media (max-width: 1000px) {
    .strive-products__grid--vertical,
    .strive-products__grid--editorial,
    .strive-products__grid--overlay,
    .strive-products__grid--image-focus,
    .strive-products__grid--dense,
    .strive-products__supporting-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .strive-products__grid--horizontal {
        grid-template-columns: 1fr !important;
    }
}

@media (max-width: 781px) {
    .strive-products__lookbook-grid {
        grid-template-columns: 1fr !important;
    }
}

@media (max-width: 600px) {
    .strive-products__grid--vertical,
    .strive-products__grid--editorial,
    .strive-products__grid--overlay,
    .strive-products__grid--image-focus,
    .strive-products__grid--dense,
    .strive-products__supporting-grid,
    .strive-products__grid--horizontal,
    .strive-products__grid--compact-row {
        grid-template-columns: 1fr !important;
    }

    .strive-product-card--overlay { min-height: 420px !important; }
    .strive-product-card--image-focus { min-height: 500px !important; }
}


/* === PROJECTS === */
/* STRIVE Projects patterns v0.16.0 — native Gutenberg owns normal layout/content controls. */
.strive-projects-pattern,.strive-projects-pattern *{box-sizing:border-box}.strive-projects-pattern{position:relative;isolation:isolate;overflow:visible}.strive-projects-pattern .strive-projects__container,.strive-projects-pattern .strive-projects__columns{width:100%}.strive-projects-pattern .strive-projects__intro{max-width:46rem}.strive-projects-pattern .strive-projects__description,.strive-projects-pattern .strive-projects__copy{opacity:.78}.strive-projects-pattern .strive-projects__eyebrow{opacity:.62}.strive-projects-pattern figure img{display:block;width:100%;max-width:none}.strive-projects-pattern figure{margin-top:0;margin-bottom:0}.strive-header-pattern .wp-block-navigation,.strive-footer-pattern .wp-block-navigation{width:auto}.strive-header-pattern .wp-block-navigation__responsive-container-content,.strive-footer-pattern .wp-block-navigation__responsive-container-content{gap:1rem}.strive-footer-pattern{font-size:.96rem}.strive-footer-pattern .strive-footer__legal{opacity:.62}.strive-contact-pattern .strive-contact__form-ready{min-height:20rem}.strive-pricing-pattern .strive-pricing__card--featured{transform:translateY(-.75rem)}.strive-team-pattern .strive-team__person,.strive-projects-pattern .strive-projects__item{min-width:0}.strive-trust-pattern .strive-trust__logo-placeholder{display:flex;align-items:center;justify-content:center;min-height:4.5rem}.strive-utility-pattern{font-size:.95rem}@media(max-width:781px){.strive-pricing-pattern .strive-pricing__card--featured{transform:none}.strive-header-pattern .strive-header__desktop-aux{display:none!important}}

/* === SERVICES === */
/* STRIVE Services compositions v0.12.0
 * Native Gutenberg owns normal content, spacing, padding, colors and media.
 * This stylesheet adds only reusable visual polish and responsive safeguards.
 */
.strive-services-pattern,.strive-services-pattern * { box-sizing:border-box; }
.strive-services-pattern { position:relative; isolation:isolate; overflow:visible; }
.strive-services-pattern .strive-services__container,
.strive-services-pattern .strive-services__columns { width:100%; }
.strive-services-pattern .strive-services__intro { max-width:46rem; min-width:0; }
.strive-services-pattern .strive-services__description { max-width:40rem; opacity:.76; }
.strive-services-pattern .strive-services__eyebrow,
.strive-services-pattern .strive-services__number,
.strive-services-pattern .strive-services__caption { opacity:.62; }
.strive-services-pattern .strive-services__card-copy,
.strive-services-pattern .strive-services__row-copy,
.strive-services-pattern .strive-services__side-copy { opacity:.76; }
.strive-services-pattern .strive-services__intro > *,
.strive-services-pattern .strive-services__card > *,
.strive-services-pattern .strive-services__actions,
.strive-services-pattern figure.strive-services__image { margin-top:0; margin-bottom:0; }
.strive-services-pattern figure.strive-services__image,
.strive-services-pattern figure.strive-services__image img { display:block; width:100%; max-width:none; }
.strive-services-01-editorial-cards .strive-services__card { min-height:100%; }
.strive-services-04-spotlight .strive-services__card { min-height:100%; }
.strive-services-06-editorial-media .strive-services__grid--compact .strive-services__card { min-width:0; }
@media (max-width:781px) {
    .strive-services-pattern .strive-services__grid--cards,
    .strive-services-pattern .strive-services__grid--supporting,
    .strive-services-pattern .strive-services__grid--compact { grid-template-columns:1fr; }
    .strive-services-pattern .strive-services__grid--matrix { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:540px) {
    .strive-services-pattern .strive-services__grid--matrix { grid-template-columns:1fr; }
}


/* === STATS === */
.strive-stats-pattern,.strive-stats-pattern *{box-sizing:border-box}.strive-stats-pattern{position:relative;isolation:isolate;overflow:visible}.strive-stats-pattern .strive-stats__container,.strive-stats-pattern .strive-stats__columns{width:100%}.strive-stats-pattern .strive-stats__intro{max-width:45rem}.strive-stats-pattern .strive-stats__description,.strive-stats-pattern .strive-stats__copy{opacity:.72}.strive-stats-pattern .strive-stats__eyebrow{opacity:.62}.strive-stats-pattern .strive-stats__intro>*,.strive-stats-pattern .strive-stats__stat>*{margin-top:0;margin-bottom:0}.strive-stats-pattern figure.strive-stats__image,.strive-stats-pattern figure.strive-stats__image img{display:block;width:100%;max-width:none}@media(max-width:900px){.strive-stats-pattern .strive-stats__grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}@media(max-width:600px){.strive-stats-pattern .strive-stats__grid{grid-template-columns:1fr!important}}


/* === TEAM === */
/* STRIVE Team patterns v0.16.0 — native Gutenberg owns normal layout/content controls. */
.strive-team-pattern,.strive-team-pattern *{box-sizing:border-box}.strive-team-pattern{position:relative;isolation:isolate;overflow:visible}.strive-team-pattern .strive-team__container,.strive-team-pattern .strive-team__columns{width:100%}.strive-team-pattern .strive-team__intro{max-width:46rem}.strive-team-pattern .strive-team__description,.strive-team-pattern .strive-team__copy{opacity:.78}.strive-team-pattern .strive-team__eyebrow{opacity:.62}.strive-team-pattern figure img{display:block;width:100%;max-width:none}.strive-team-pattern figure{margin-top:0;margin-bottom:0}.strive-header-pattern .wp-block-navigation,.strive-footer-pattern .wp-block-navigation{width:auto}.strive-header-pattern .wp-block-navigation__responsive-container-content,.strive-footer-pattern .wp-block-navigation__responsive-container-content{gap:1rem}.strive-footer-pattern{font-size:.96rem}.strive-footer-pattern .strive-footer__legal{opacity:.62}.strive-contact-pattern .strive-contact__form-ready{min-height:20rem}.strive-pricing-pattern .strive-pricing__card--featured{transform:translateY(-.75rem)}.strive-team-pattern .strive-team__person,.strive-projects-pattern .strive-projects__item{min-width:0}.strive-trust-pattern .strive-trust__logo-placeholder{display:flex;align-items:center;justify-content:center;min-height:4.5rem}.strive-utility-pattern{font-size:.95rem}@media(max-width:781px){.strive-pricing-pattern .strive-pricing__card--featured{transform:none}.strive-header-pattern .strive-header__desktop-aux{display:none!important}}

/* === TESTIMONIALS === */
.strive-testimonials-pattern,.strive-testimonials-pattern *{box-sizing:border-box}.strive-testimonials-pattern{position:relative;isolation:isolate;overflow:visible}.strive-testimonials-pattern .strive-testimonials__container,.strive-testimonials-pattern .strive-testimonials__columns{width:100%}.strive-testimonials-pattern .strive-testimonials__intro{max-width:46rem}.strive-testimonials-pattern .strive-testimonials__description,.strive-testimonials-pattern .strive-testimonials__role,.strive-testimonials-pattern .strive-testimonials__metric-note{opacity:.72}.strive-testimonials-pattern .strive-testimonials__eyebrow{opacity:.62}.strive-testimonials-pattern .strive-testimonials__quote-card>*,.strive-testimonials-pattern .strive-testimonials__intro>*,.strive-testimonials-pattern figure.strive-testimonials__image{margin-top:0;margin-bottom:0}.strive-testimonials-pattern figure.strive-testimonials__image,.strive-testimonials-pattern figure.strive-testimonials__image img{display:block;width:100%;max-width:none}@media(max-width:781px){.strive-testimonials-pattern .strive-testimonials__grid{grid-template-columns:1fr!important}}


/* === TRUST === */
/* STRIVE Trust patterns v0.16.0 — native Gutenberg owns normal layout/content controls. */
.strive-trust-pattern,.strive-trust-pattern *{box-sizing:border-box}.strive-trust-pattern{position:relative;isolation:isolate;overflow:visible}.strive-trust-pattern .strive-trust__container,.strive-trust-pattern .strive-trust__columns{width:100%}.strive-trust-pattern .strive-trust__intro{max-width:46rem}.strive-trust-pattern .strive-trust__description,.strive-trust-pattern .strive-trust__copy{opacity:.78}.strive-trust-pattern .strive-trust__eyebrow{opacity:.62}.strive-trust-pattern figure img{display:block;width:100%;max-width:none}.strive-trust-pattern figure{margin-top:0;margin-bottom:0}.strive-header-pattern .wp-block-navigation,.strive-footer-pattern .wp-block-navigation{width:auto}.strive-header-pattern .wp-block-navigation__responsive-container-content,.strive-footer-pattern .wp-block-navigation__responsive-container-content{gap:1rem}.strive-footer-pattern{font-size:.96rem}.strive-footer-pattern .strive-footer__legal{opacity:.62}.strive-contact-pattern .strive-contact__form-ready{min-height:20rem}.strive-pricing-pattern .strive-pricing__card--featured{transform:translateY(-.75rem)}.strive-team-pattern .strive-team__person,.strive-projects-pattern .strive-projects__item{min-width:0}.strive-trust-pattern .strive-trust__logo-placeholder{display:flex;align-items:center;justify-content:center;min-height:4.5rem}.strive-utility-pattern{font-size:.95rem}@media(max-width:781px){.strive-pricing-pattern .strive-pricing__card--featured{transform:none}.strive-header-pattern .strive-header__desktop-aux{display:none!important}}

/* === UTILITY === */
/* STRIVE Utility patterns v0.16.0 — native Gutenberg owns normal layout/content controls. */
.strive-utility-pattern,.strive-utility-pattern *{box-sizing:border-box}.strive-utility-pattern{position:relative;isolation:isolate;overflow:visible}.strive-utility-pattern .strive-utility__container,.strive-utility-pattern .strive-utility__columns{width:100%}.strive-utility-pattern .strive-utility__intro{max-width:46rem}.strive-utility-pattern .strive-utility__description,.strive-utility-pattern .strive-utility__copy{opacity:.78}.strive-utility-pattern .strive-utility__eyebrow{opacity:.62}.strive-utility-pattern figure img{display:block;width:100%;max-width:none}.strive-utility-pattern figure{margin-top:0;margin-bottom:0}.strive-header-pattern .wp-block-navigation,.strive-footer-pattern .wp-block-navigation{width:auto}.strive-header-pattern .wp-block-navigation__responsive-container-content,.strive-footer-pattern .wp-block-navigation__responsive-container-content{gap:1rem}.strive-footer-pattern{font-size:.96rem}.strive-footer-pattern .strive-footer__legal{opacity:.62}.strive-contact-pattern .strive-contact__form-ready{min-height:20rem}.strive-pricing-pattern .strive-pricing__card--featured{transform:translateY(-.75rem)}.strive-team-pattern .strive-team__person,.strive-projects-pattern .strive-projects__item{min-width:0}.strive-trust-pattern .strive-trust__logo-placeholder{display:flex;align-items:center;justify-content:center;min-height:4.5rem}.strive-utility-pattern{font-size:.95rem}@media(max-width:781px){.strive-pricing-pattern .strive-pricing__card--featured{transform:none}.strive-header-pattern .strive-header__desktop-aux{display:none!important}}
