.rp-block {
  box-sizing: border-box;
}
.rp-block-section {
  width: 100%;
  margin-inline: auto;
}
.rp-block-section.is-width-content {
  max-width: var(--wp--style--global--content-size, 760px);
}
.rp-block-section.is-width-wide {
  max-width: var(--wp--style--global--wide-size, var(--container, 1280px));
}
.rp-block-section.is-width-full {
  max-width: none;
}
.rp-block-section.is-surface-white {
  background: var(--wp--preset--color--rp-background, #fff);
}
.rp-block-section.is-surface-soft {
  background: var(--wp--preset--color--rp-surface, var(--surface-2, #f7f7f7));
}
.rp-block-section.is-surface-dark {
  background: var(--wp--preset--color--rp-text, #050505);
  color: var(--wp--preset--color--rp-background, #fff);
}
.rp-block-section.is-spacing-sm {
  padding-block: var(--wp--preset--spacing--sm, 0.75rem);
}
.rp-block-section.is-spacing-md {
  padding-block: var(--wp--preset--spacing--lg, 1.5rem);
}
.rp-block-section.is-spacing-lg {
  padding-block: var(--wp--preset--spacing--2-xl, 3rem);
}
.rp-block-section.is-spacing-xl {
  padding-block: var(--wp--preset--spacing--3-xl, 4.5rem);
}
.rp-block-responsive-grid {
  display: grid;
  grid-template-columns: repeat(var(--rp-grid-desktop, 4), minmax(0, 1fr));
  gap: var(--wp--preset--spacing--md, 1rem);
}
.rp-block .product-grid {
  grid-template-columns: repeat(
    var(--rp-block-cols-desktop, var(--desktop-shop-cols, 4)),
    minmax(0, 1fr)
  );
}
.rp-block-shop-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: end;
  gap: 12px;
  margin: 18px 0;
}
.rp-block-shop-toolbar label {
  display: grid;
  gap: 6px;
  font-size: 0.8rem;
  font-weight: 700;
}
.rp-block-shop-toolbar input,
.rp-block-shop-toolbar select {
  min-height: 44px;
  border: 1px solid var(--wp--preset--color--rp-border, var(--line, #dedede));
  border-radius: 999px;
  background: var(--wp--preset--color--rp-background, #fff);
  color: var(--wp--preset--color--rp-text, #050505);
  padding: 0 14px;
}
.rp-block-faq {
  display: grid;
  gap: 12px;
}
.rp-block-faq details {
  border: 1px solid var(--wp--preset--color--rp-border, var(--line, #dedede));
  border-radius: 16px;
  padding: 16px 18px;
  background: var(--wp--preset--color--rp-background, #fff);
}
.rp-block-faq summary {
  font-weight: 800;
  cursor: pointer;
}
.rp-contact-grid,
.rp-link-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr));
  gap: var(--wp--preset--spacing--md, 1rem);
}
.rp-link-card {
  display: flex;
  min-height: 108px;
  flex-direction: column;
  justify-content: space-between;
  border: 1px solid var(--wp--preset--color--rp-border, var(--line, #dedede));
  border-radius: 16px;
  padding: 18px;
  background: var(--wp--preset--color--rp-background, #fff);
  color: inherit;
  text-decoration: none;
}
.rp-link-card span {
  color: var(--wp--preset--color--rp-muted, var(--muted, #737373));
  font-size: 0.82rem;
}
.rp-link-card b {
  font-size: 1.05rem;
}
.rp-page-hero {
  margin-block: clamp(1.5rem, 4vw, 4rem);
  max-width: var(--wp--style--global--wide-size, 1280px);
}
.rp-page-hero h1 {
  font-size: var(
    --wp--preset--font-size--hero,
    clamp(2.35rem, 1.4rem + 4vw, 5.25rem)
  );
  margin-block: 0.2em;
}
.rp-page-hero .eyebrow {
  text-transform: uppercase;
  letter-spacing: 0.12em;
  font-weight: 800;
  font-size: 0.72rem;
}
.rp-page-hero .muted {
  max-width: 65ch;
}
.rp-site-header-block,
.rp-site-footer-block,
.rp-commerce-overlays-block {
  display: contents;
}
.wp-block-template-part:has(.rp-site-header-block),
.wp-block-template-part:has(.rp-site-footer-block) {
  margin: 0;
}
.rp-product-block-template {
  width: 100%;
}
.is-style-rp-outline > .wp-block-button__link {
  background: transparent;
  color: var(--wp--preset--color--rp-text, #050505);
  border: 1px solid currentColor;
}
.is-style-rp-panel {
  border: 1px solid var(--wp--preset--color--rp-border, #dedede);
  border-radius: 16px;
  padding: var(--wp--preset--spacing--lg, 1.5rem);
  background: var(--wp--preset--color--rp-background, #fff);
}
@media (max-width: 1024px) {
  .rp-block-responsive-grid {
    grid-template-columns: repeat(var(--rp-grid-tablet, 2), minmax(0, 1fr));
  }
}
@media (max-width: 760px) {
  .rp-block-responsive-grid {
    grid-template-columns: repeat(var(--rp-grid-mobile, 1), minmax(0, 1fr));
  }
  .rp-block .product-grid {
    grid-template-columns: repeat(
      var(--rp-block-cols-mobile, var(--mobile-shop-cols, 2)),
      minmax(0, 1fr)
    );
  }
  .rp-block-shop-toolbar {
    align-items: stretch;
  }
  .rp-block-shop-toolbar label,
  .rp-block-shop-toolbar .btn {
    flex: 1 1 140px;
  }
  .rp-page-hero {
    margin-block: 1.25rem 2rem;
  }
}
@media (prefers-reduced-motion: reduce) {
  .rp-block * {
    scroll-behavior: auto !important;
  }
}
