.crp45-storefront .crp45-el {
  --e-global-typography-primary-font-family: var(--font-heading);
  --e-global-typography-secondary-font-family: var(--font-heading);
  --e-global-typography-text-font-family: var(--font-body);
  --e-global-typography-accent-font-family: var(--font-body);
  width: 100%;
}

.crp45-storefront .crp45-el .e-con {
  --margin-top: 0;
  --margin-right: 0;
  --margin-bottom: 0;
  --margin-left: 0;
  --padding-top: 0;
  --padding-right: 0;
  --padding-bottom: 0;
  --padding-left: 0;
  --row-gap: var(--space-4);
  --column-gap: var(--space-5);
  --width: 100%;
  --content-width: 100%;
}

.crp45-storefront .crp45-el .crp45-section {
  padding-block: var(--space-7);
}

.crp45-storefront .crp45-el .crp45-container {
  width: 100%;
  max-width: var(--container-width);
  margin-inline: auto;
  padding-inline: var(--container-pad);
  box-sizing: border-box;
}

.crp45-storefront .crp45-el .crp45-cols {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, var(--column-min)), 1fr));
  gap: var(--space-5);
  align-items: stretch;
}

.crp45-storefront .crp45-el .crp45-el-card {
  padding: var(--space-5);
  border: 1px solid var(--color-line);
  border-radius: var(--radius-md);
  background: var(--color-surface);
  box-sizing: border-box;
}

.crp45-storefront .crp45-el .crp45-el-card--accent {
  background: var(--color-accent-tint);
  box-shadow: inset 0 var(--space-1) 0 var(--color-accent);
}

.crp45-storefront .crp45-el .elementor-widget:not(:last-child) {
  margin-block-end: 0;
}

.crp45-storefront .crp45-el .elementor-heading-title {
  margin: 0;
  font-family: var(--font-heading);
  font-weight: var(--weight-heading);
  font-size: var(--step-1);
  line-height: var(--heading-line);
  letter-spacing: 0.01em;
  color: var(--color-ink);
  text-wrap: pretty;
}

.crp45-storefront .crp45-el h2.elementor-heading-title {
  font-size: var(--step-3);
}

.crp45-storefront .crp45-el h3.elementor-heading-title {
  font-size: var(--step-2);
}

.crp45-storefront .crp45-el .crp45-eyebrow .elementor-heading-title {
  font-family: var(--font-label);
  font-weight: var(--weight-label);
  font-size: var(--text-label);
  letter-spacing: var(--tracking-label);
  text-transform: uppercase;
  color: var(--color-brand-strong);
}

.crp45-storefront .crp45-el .elementor-widget-text-editor {
  max-width: var(--measure-width);
  font-family: var(--font-body);
  font-weight: var(--weight-body);
  font-size: var(--step-0);
  line-height: 1.8;
  color: var(--color-text);
}

.crp45-storefront .crp45-el .elementor-widget-text-editor :is(p, ul, ol, li) {
  font-size: var(--step-0);
}

.crp45-storefront .crp45-el .elementor-widget-text-editor :is(p, ul, ol) {
  margin: 0 0 var(--space-3);
}

.crp45-storefront .crp45-el .elementor-widget-text-editor :last-child {
  margin-bottom: 0;
}

.crp45-storefront .crp45-el .elementor-widget-text-editor a {
  color: var(--color-brand-strong);
}

.crp45-storefront .crp45-el .elementor-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-2);
  min-height: var(--control-size);
  padding: var(--space-3) var(--space-5);
  border: 1px solid var(--color-brand);
  border-radius: var(--radius-sm);
  background: var(--color-brand);
  color: var(--color-on-brand);
  font-family: var(--font-body);
  font-size: var(--text-label);
  font-weight: var(--weight-strong);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  text-decoration: none;
  box-sizing: border-box;
}

.crp45-storefront .crp45-el .crp45-cols + .elementor-widget-button {
  margin-block-start: var(--space-4);
}

.crp45-storefront .crp45-el .crp45-actions {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: var(--space-3);
}

.crp45-storefront .crp45-el .crp45-actions .elementor-button,
.crp45-storefront .crp45-el .crp45-container > .elementor-widget-button .elementor-button {
  width: 100%;
}

.crp45-storefront .crp45-el .elementor-button:hover,
.crp45-storefront .crp45-el .elementor-button:focus-visible {
  background: var(--color-brand-hover);
  border-color: var(--color-brand-hover);
  color: var(--color-on-brand);
}

.crp45-storefront .crp45-el .crp45-el-secondary .elementor-button {
  background: transparent;
  color: var(--color-brand-strong);
}

.crp45-storefront .crp45-el .crp45-el-secondary .elementor-button:hover,
.crp45-storefront .crp45-el .crp45-el-secondary .elementor-button:focus-visible {
  background: var(--color-brand);
  border-color: var(--color-brand-strong);
  color: var(--color-on-brand);
}

.crp45-storefront .crp45-el .elementor-widget-image img {
  max-width: 100%;
  height: auto;
  border-radius: var(--radius-md);
}

.crp45-storefront .crp45-el .elementor-accordion {
  max-width: var(--measure-faq);
}

.crp45-storefront .crp45-el .elementor-accordion .elementor-accordion-item {
  border: 0;
  border-bottom: 1px solid var(--color-line);
}

.crp45-storefront .crp45-el .elementor-accordion .elementor-tab-title {
  display: flex;
  font-size: var(--step-0);
  align-items: center;
  gap: var(--space-3);
  min-height: var(--control-size);
  padding: var(--space-4) 0;
  border: 0;
  font-family: var(--font-body);
  font-weight: var(--weight-strong);
  color: var(--color-ink);
  cursor: pointer;
}

.crp45-storefront .crp45-el .elementor-accordion .elementor-tab-title .elementor-accordion-title,
.crp45-storefront .crp45-el .elementor-accordion .elementor-tab-title.elementor-active .elementor-accordion-title {
  color: inherit;
  text-decoration: none;
}

.crp45-storefront .crp45-el .elementor-accordion .elementor-accordion-icon {
  display: inline-flex;
  flex: none;
  width: auto;
  color: var(--color-brand-strong);
}

.crp45-storefront .crp45-el .elementor-accordion .elementor-accordion-icon svg {
  width: var(--space-4);
  height: var(--space-4);
  fill: currentColor;
}

.crp45-storefront .crp45-el .elementor-accordion .elementor-tab-content {
  padding: 0 0 var(--space-4);
  border: 0;
  font-family: var(--font-body);
  font-size: var(--step-0);
  line-height: 1.8;
  color: var(--color-text);
}

.crp45-storefront .crp45-el .elementor-icon-list-items {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  margin: 0;
  padding: 0;
  list-style: none;
}

.crp45-storefront .crp45-el .elementor-icon-list-item {
  display: flex;
  align-items: flex-start;
  gap: var(--space-3);
}

.crp45-storefront .crp45-el .elementor-icon-list-item:not(:has(.elementor-icon-list-icon))::before {
  content: "";
  flex: none;
  width: var(--space-2);
  height: var(--space-2);
  margin-block-start: var(--space-3);
  border-radius: var(--radius-pill);
  background: var(--color-accent);
}

.crp45-storefront .crp45-el .elementor-icon-list-icon i,
.crp45-storefront .crp45-el .elementor-icon-list-icon svg {
  color: var(--color-brand-strong);
  fill: var(--color-brand-strong);
}

.crp45-storefront .crp45-el .elementor-icon-list-text {
  font-family: var(--font-body);
  font-size: var(--step-0);
  line-height: 1.6;
  color: var(--color-text);
}

.crp45-storefront .crp45-el .elementor-divider-separator {
  width: 100%;
  border-block-start: 1px solid var(--color-line);
}

.crp45-storefront .crp45-el .crp45-home-banner {
  --row-gap: 0;
  line-height: 0;
}

.crp45-storefront .crp45-el .crp45-home-banner .elementor-widget-image img {
  display: block;
  width: 100%;
  border-radius: 0;
}

.crp45-storefront .crp45-el .crp45-section-title .elementor-heading-title {
  font-size: inherit;
  line-height: inherit;
}

.crp45-storefront .crp45-el .crp45-step {
  --row-gap: var(--space-3);
}

.crp45-storefront .crp45-el .crp45-step__badge {
  display: flex;
  align-items: center;
  justify-content: center;
  width: var(--control-size);
  height: var(--control-size);
  border-radius: var(--radius-pill);
  background: var(--color-accent);
}

.crp45-storefront .crp45-el .crp45-step__badge > .elementor-widget-container {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
}

.crp45-storefront .crp45-el .crp45-step__badge p {
  margin: 0;
  font-family: var(--font-heading);
  font-size: var(--step-1);
  font-weight: var(--weight-strong);
  line-height: 1;
  color: var(--color-on-accent);
}

.crp45-storefront .crp45-el .crp45-why__grid,
.crp45-storefront .crp45-el .crp45-why__cards {
  display: grid;
  gap: var(--space-6);
  align-items: start;
}

.crp45-storefront .crp45-el .crp45-why__cards {
  gap: var(--space-5);
  align-items: stretch;
}

.crp45-storefront .crp45-el .crp45-why__lead {
  margin-block-end: var(--space-5);
}

.crp45-storefront .crp45-el .crp45-why-card {
  --color-ink: var(--surface-ink);
  --color-text: var(--surface-text);
  --color-text-muted: var(--surface-text-muted);
  --color-brand-strong: var(--color-link);
  --row-gap: 0;
  height: 100%;
  overflow: hidden;
  border-radius: var(--radius-md);
  background: var(--color-surface);
}

.crp45-storefront .crp45-el .crp45-why-card__photo img {
  display: block;
  width: 100%;
  aspect-ratio: var(--ratio-why-photo);
  border-radius: 0;
  object-fit: cover;
}

.crp45-storefront .crp45-el .crp45-why-card__body {
  --row-gap: var(--space-2);
  padding: var(--space-5);
  box-sizing: border-box;
}

.crp45-storefront .crp45-el .crp45-why-card__number,
.crp45-storefront .crp45-el .crp45-why-card__number p {
  color: var(--color-link);
  font-family: var(--font-label);
  font-size: var(--text-small);
  font-weight: var(--weight-label);
  letter-spacing: var(--tracking-label);
}

.crp45-storefront .crp45-el .crp45-why-card__title .elementor-heading-title {
  color: var(--color-ink);
  font-size: var(--step-1);
  line-height: 1.35;
}

.crp45-storefront .crp45-el .crp45-why-card__text,
.crp45-storefront .crp45-el .crp45-why-card__text p {
  color: var(--color-text-muted);
  font-size: var(--step-0);
  line-height: 1.7;
}

@media (min-width: 560px) {
  .crp45-storefront .crp45-el .crp45-why__cards {
    grid-template-columns: repeat(2, 1fr);
  }

  .crp45-storefront .crp45-el .crp45-actions {
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
  }

  .crp45-storefront .crp45-el .crp45-actions .elementor-button,
  .crp45-storefront .crp45-el .crp45-container > .elementor-widget-button .elementor-button {
    width: auto;
  }

  .crp45-storefront .crp45-el .crp45-cols--steps {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 1024px) {
  .crp45-storefront .crp45-el .crp45-why__grid {
    grid-template-columns: 1fr 2fr;
    gap: var(--space-7);
  }

  .crp45-storefront .crp45-el .crp45-cols--steps {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .crp45-storefront .crp45-el .crp45-cols--steps .crp45-step .elementor-heading-title {
    min-height: calc(var(--step-title-lines) * var(--heading-line) * 1em);
  }
}

.crp45-storefront.elementor-page .entry-header {
  width: 100%;
  max-width: var(--container-width);
  margin-inline: auto;
  padding: var(--space-6) var(--container-pad) var(--space-4);
  box-sizing: border-box;
}
