/* Gesundheitsparadies 268 – global polish for split heroes and shared buttons.
 * Goal: clearer image/text blending on non-home split heroes plus one consistent
 * primary/secondary button language across info pages, newsletter and commerce.
 */
:root{
  --gp268-action-bg:var(--gp-action-green);
  --gp268-action-bg-hover:var(--gp-action-green-dark);
  --gp268-action-border:var(--gp-action-green);
  --gp268-action-shadow:0 2px 7px rgba(38,65,23,.08);
  --gp268-action-shadow-hover:0 3px 9px rgba(38,65,23,.10);
  --gp268-action-soft:var(--gp-action-green-soft);
  --gp268-action-soft-hover:var(--gp-action-green-soft-strong);
  --gp268-action-soft-border:var(--gp-action-green-line);
  --gp268-action-soft-border-hover:#A6C081;
  --gp268-action-ink:var(--gp-action-green-text);
}

/* Shared primary button language based on the existing provider CTA tone. */
:where(
  .gp-button:not(.gp-button--secondary):not(.gp-button--quiet),
  .gp-newsletter-v4-button,
  .gp-newsletter-v4-form button[type="submit"],
  .gp-newsletter-v4-form input[type="submit"],
  .gp-info-button:not(.is-secondary),
  .gp-product-loop-button--provider,
  .gp-product-detail__hero-cta,
  .gp-knowledge-hero__links a:first-child
){
  background:var(--gp268-action-bg)!important;
  border:1px solid var(--gp268-action-border)!important;
  color:var(--gp-action-on)!important;
  box-shadow:var(--gp268-action-shadow);
  transition:background-color .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease,color .18s ease;
}
:where(
  .gp-button:not(.gp-button--secondary):not(.gp-button--quiet),
  .gp-newsletter-v4-button,
  .gp-newsletter-v4-form button[type="submit"],
  .gp-newsletter-v4-form input[type="submit"],
  .gp-info-button:not(.is-secondary),
  .gp-product-loop-button--provider,
  .gp-product-detail__hero-cta,
  .gp-knowledge-hero__links a:first-child
):is(:hover,:focus-visible){
  background:var(--gp268-action-bg-hover)!important;
  border-color:var(--gp268-action-bg-hover)!important;
  color:var(--gp-action-on)!important;
  box-shadow:var(--gp268-action-shadow-hover);
  transform:translateY(-1px);
  outline:none;
}
:where(
  .gp-button:not(.gp-button--secondary):not(.gp-button--quiet),
  .gp-newsletter-v4-button,
  .gp-newsletter-v4-form button[type="submit"],
  .gp-newsletter-v4-form input[type="submit"],
  .gp-info-button:not(.is-secondary),
  .gp-product-loop-button--provider,
  .gp-product-detail__hero-cta,
  .gp-knowledge-hero__links a:first-child
):focus-visible{
  box-shadow:0 0 0 3px rgba(50,95,57,.25),var(--gp268-action-shadow-hover);
}

/* Shared secondary buttons where a full fill would be too strong. */
:where(
  .gp-info-button.is-secondary,
  .gp-product-loop-button--detail,
  .gp-knowledge-hero__links a:not(:first-child)
){
  background:var(--gp268-action-soft)!important;
  border:1px solid var(--gp268-action-soft-border)!important;
  color:var(--gp268-action-ink)!important;
  box-shadow:none;
  transition:background-color .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease,color .18s ease;
}
:where(
  .gp-info-button.is-secondary,
  .gp-product-loop-button--detail,
  .gp-knowledge-hero__links a:not(:first-child)
):is(:hover,:focus-visible){
  background:var(--gp268-action-soft-hover)!important;
  border-color:var(--gp268-action-soft-border-hover)!important;
  color:var(--gp-action-green-text)!important;
  box-shadow:0 2px 7px rgba(38,65,23,.08);
  transform:translateY(-1px);
  outline:none;
}

.gp-info-button,
.gp-product-loop-button,
.gp-newsletter-v4-button,
.gp-newsletter-v4-form button[type="submit"],
.gp-newsletter-v4-form input[type="submit"]{
  border-radius:12px!important;
}
.gp-newsletter-v4-button,
.gp-newsletter-v4-form button[type="submit"],
.gp-newsletter-v4-form input[type="submit"]{
  font-weight:780!important;
  letter-spacing:-.01em;
}
.gp-product-loop-button--provider,
.gp-product-detail__hero-cta{font-weight:780!important;}

/* Split-hero blending. Home stays untouched because it uses dedicated classes. */
@media (min-width:70rem){
  .gp-product-catalog-hero.gp-product-catalog-hero--with-media,
  .gp-core-hero.gp-core-hero--with-media,
  .gp-knowledge-hero{
    overflow:hidden;
    isolation:isolate;
  }

  .gp-product-catalog-hero.gp-product-catalog-hero--with-media{
    --gp268-hero-bg:#f7f8f0;
    --gp268-split-start:clamp(31rem,50.5%,44rem);
    --gp268-copy-width:min(48%,40rem);
    --gp268-fade-width:clamp(7rem,12vw,12rem);
  }
  .gp-knowledge-hero{
    --gp268-hero-bg:#f2f8f8;
    --gp268-split-start:clamp(29rem,49%,42rem);
    --gp268-copy-width:min(47%,38rem);
    --gp268-fade-width:clamp(6.5rem,11vw,11rem);
  }
  .gp-core-hero.gp-core-hero--with-media{
    --gp268-hero-bg:#f9fcfb;
    --gp268-split-start:clamp(29rem,48.5%,42rem);
    --gp268-copy-width:min(47%,38rem);
    --gp268-fade-width:clamp(6.5rem,11vw,11rem);
  }

  .gp-product-catalog-hero.gp-product-catalog-hero--with-media .gp-product-catalog-hero__inner,
  .gp-knowledge-hero .gp-knowledge-hero__inner,
  .gp-core-hero.gp-core-hero--with-media{
    position:relative;
    display:block;
    min-height:clamp(24rem,30vw,33rem);
    background:var(--gp268-hero-bg);
  }

  .gp-product-catalog-hero.gp-product-catalog-hero--with-media .gp-product-catalog-hero__copy,
  .gp-knowledge-hero .gp-knowledge-hero__copy,
  .gp-core-hero.gp-core-hero--with-media .gp-core-hero__copy{
    position:relative;
    z-index:3;
    width:var(--gp268-copy-width);
    max-width:var(--gp268-copy-width);
    padding-right:clamp(2.25rem,4.2vw,5rem);
    background:transparent;
  }

  .gp-product-catalog-hero.gp-product-catalog-hero--with-media .gp-product-catalog-hero__media,
  .gp-knowledge-hero .gp-knowledge-hero__media,
  .gp-core-hero.gp-core-hero--with-media .gp-core-hero__media{
    position:absolute;
    inset:0 0 0 var(--gp268-split-start);
    min-height:0;
    height:100%;
    margin:0;
    background:var(--gp268-hero-bg);
  }

  .gp-product-catalog-hero.gp-product-catalog-hero--with-media .gp-product-catalog-hero__media::before,
  .gp-knowledge-hero .gp-knowledge-hero__media::before,
  .gp-core-hero.gp-core-hero--with-media .gp-core-hero__media::before{
    content:"";
    position:absolute;
    z-index:2;
    inset:0 auto 0 0;
    width:var(--gp268-fade-width);
    pointer-events:none;
  }

  .gp-product-catalog-hero.gp-product-catalog-hero--with-media .gp-product-catalog-hero__media::before{
    background:linear-gradient(90deg,#f7f8f0 0%,rgba(247,248,240,.99) 18%,rgba(247,248,240,.88) 38%,rgba(247,248,240,.56) 60%,rgba(247,248,240,.16) 84%,rgba(247,248,240,0) 100%);
  }
  .gp-knowledge-hero .gp-knowledge-hero__media::before{
    background:linear-gradient(90deg,#f2f8f8 0%,rgba(242,248,248,.99) 18%,rgba(242,248,248,.9) 38%,rgba(242,248,248,.58) 60%,rgba(242,248,248,.17) 84%,rgba(242,248,248,0) 100%);
  }
  .gp-core-hero.gp-core-hero--with-media .gp-core-hero__media::before{
    background:linear-gradient(90deg,#f9fcfb 0%,rgba(249,252,251,.99) 18%,rgba(249,252,251,.9) 38%,rgba(249,252,251,.58) 60%,rgba(249,252,251,.17) 84%,rgba(249,252,251,0) 100%);
  }

  .gp-product-catalog-hero.gp-product-catalog-hero--with-media .gp-product-catalog-hero__media picture,
  .gp-product-catalog-hero.gp-product-catalog-hero--with-media .gp-product-catalog-hero__media img,
  .gp-knowledge-hero .gp-knowledge-hero__media picture,
  .gp-knowledge-hero .gp-knowledge-hero__media img,
  .gp-core-hero.gp-core-hero--with-media .gp-core-hero__media picture,
  .gp-core-hero.gp-core-hero--with-media .gp-core-hero__media img{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
  }

  .gp-product-catalog-hero.gp-product-catalog-hero--with-media .gp-product-catalog-hero__media img{object-position:center right;}
  .gp-knowledge-hero .gp-knowledge-hero__media img,
  .gp-core-hero.gp-core-hero--with-media .gp-core-hero__media img{object-position:center center;}

  .gp-product-catalog-hero.gp-product-catalog-hero--with-media .gp-product-catalog-hero__links,
  .gp-knowledge-hero .gp-knowledge-hero__links{max-width:min(32rem,100%);}
}

@media (max-width:69.9375rem){
  .gp-product-catalog-hero__media::before,
  .gp-knowledge-hero__media::before,
  .gp-core-hero__media::before{opacity:1}
}
