/* Gutenberg page layouts introduced in version 1.3. */
.pmf-gutenberg-page {
  overflow: hidden;
  padding: 0 0 96px !important;
}
.pmf-block-entry {
  margin: 0;
}
.pmf-block-entry > .alignfull {
  margin-left: 0;
  margin-right: 0;
  width: 100%;
}
.pmf-block-entry > .alignwide,
.pmf-block-entry .alignwide {
  width: min(calc(100% - 48px), var(--pmf-container));
  max-width: var(--pmf-container);
  margin-left: auto;
  margin-right: auto;
}
.pmf-block-home-hero,
.pmf-block-page-hero {
  position: relative;
  padding: 175px 0 100px;
  background:
    radial-gradient(circle at 83% 30%, color-mix(in srgb, var(--pmf-accent) 18%, transparent), transparent 28%),
    radial-gradient(circle at 34% 78%, color-mix(in srgb, var(--pmf-accent-2) 13%, transparent), transparent 32%),
    linear-gradient(135deg, #f4f2ff 0%, #f8f9fc 52%, #edf8fc 100%);
}
.pmf-block-home-hero::before,
.pmf-block-page-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: .42;
  background-image:
    linear-gradient(color-mix(in srgb, var(--pmf-ink) 5%, transparent) 1px, transparent 1px),
    linear-gradient(90deg, color-mix(in srgb, var(--pmf-ink) 5%, transparent) 1px, transparent 1px);
  background-size: 46px 46px;
  mask-image: linear-gradient(to bottom, #000, transparent 88%);
}
.pmf-block-home-hero > *,
.pmf-block-page-hero > * {
  position: relative;
  z-index: 1;
}
.pmf-block-home-hero__columns {
  gap: clamp(42px, 7vw, 100px);
}
.pmf-block-eyebrow {
  display: inline-flex;
  width: fit-content;
  margin: 0 0 22px;
  padding: 7px 13px;
  border: 1px solid var(--pmf-border);
  border-radius: 999px;
  background: rgba(255,255,255,.72);
  color: var(--pmf-accent);
  font-size: .72rem;
  font-weight: 850;
  letter-spacing: .2em;
  line-height: 1.2;
  text-transform: uppercase;
}
.pmf-block-home-title {
  max-width: 760px;
  margin: 0;
  font-size: clamp(3.35rem, 7vw, 6.35rem);
  line-height: .98;
  letter-spacing: -.065em;
  background: linear-gradient(112deg, var(--pmf-ink) 7%, var(--pmf-primary) 45%, var(--pmf-accent) 75%, var(--pmf-accent-2));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.pmf-block-page-hero h1 {
  max-width: 920px;
  margin-top: 0;
  margin-bottom: 20px;
  font-size: clamp(2.8rem, 5.8vw, 5.7rem);
  line-height: 1;
  letter-spacing: -.055em;
}
.pmf-block-page-hero--center > * {
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
}
.pmf-block-lead {
  max-width: 720px;
  color: var(--pmf-muted);
  font-size: clamp(1.05rem, 1.5vw, 1.28rem);
  line-height: 1.75;
}
.pmf-block-actions {
  gap: 12px;
  margin-top: 28px;
}
.pmf-block-primary-button .wp-block-button__link,
.pmf-block-primary-button .wp-element-button {
  min-height: 54px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 14px 24px;
  border: 0;
  border-radius: 13px;
  color: #fff;
  font-weight: 750;
  background: linear-gradient(115deg, var(--pmf-primary), var(--pmf-accent-2));
  box-shadow: 0 18px 42px -22px color-mix(in srgb, var(--pmf-primary) 70%, transparent);
}
.pmf-block-secondary-button .wp-block-button__link {
  min-height: 54px;
  display: inline-flex;
  align-items: center;
  padding: 13px 22px;
  border: 1px solid var(--pmf-border);
  border-radius: 13px;
  color: var(--pmf-ink);
  background: rgba(255,255,255,.68);
}
.pmf-block-home-hero__image,
.pmf-block-page-hero__image,
.pmf-block-rounded-image,
.pmf-block-showcase__image {
  margin: 0;
}
.pmf-block-home-hero__image img,
.pmf-block-page-hero__image img,
.pmf-block-rounded-image img,
.pmf-block-showcase__image img {
  width: 100%;
  display: block;
  border: 8px solid rgba(255,255,255,.88);
  border-radius: 28px;
  box-shadow: var(--pmf-shadow-lg);
}
.pmf-block-home-hero__image img {
  aspect-ratio: 1.08 / .82;
  object-fit: cover;
}
.pmf-block-page-hero__image img {
  aspect-ratio: 1.15 / .8;
  object-fit: cover;
}
.pmf-block-store-stats {
  margin-top: 34px;
}
.pmf-block-ticker {
  overflow: hidden;
  border-top: 1px solid var(--pmf-border);
  border-bottom: 1px solid var(--pmf-border);
  background: rgba(255,255,255,.78);
}
.pmf-block-ticker p {
  margin: 0;
  padding: 15px 20px;
  color: var(--pmf-muted);
  font-size: .74rem;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
  white-space: nowrap;
}
.pmf-block-section {
  padding: 96px 0;
}
.pmf-block-section--soft {
  background: linear-gradient(180deg, rgba(108,78,227,.035), rgba(17,153,184,.035));
  border-top: 1px solid rgba(37,34,56,.055);
  border-bottom: 1px solid rgba(37,34,56,.055);
}
.pmf-block-section-heading {
  margin-bottom: 42px;
}
.pmf-block-section-heading h2,
.pmf-block-showcase h2,
.pmf-block-cta h2 {
  max-width: 860px;
  margin: 0 0 14px;
  font-size: clamp(2.15rem, 4.2vw, 4.4rem);
  line-height: 1.04;
  letter-spacing: -.052em;
}
.pmf-block-section-heading > p:not(.pmf-block-eyebrow) {
  max-width: 720px;
  color: var(--pmf-muted);
  font-size: 1.04rem;
}
.pmf-block-category-grid.pmf-block-columns-2 { grid-template-columns: repeat(2,minmax(0,1fr)); }
.pmf-block-category-grid.pmf-block-columns-3 { grid-template-columns: repeat(3,minmax(0,1fr)); }
.pmf-block-category-grid.pmf-block-columns-4 { grid-template-columns: repeat(4,minmax(0,1fr)); }
.pmf-block-product-grid > ul.products {
  margin-bottom: 0 !important;
}
.pmf-block-benefits,
.pmf-block-steps,
.pmf-block-contact-cards {
  gap: 16px;
}
.pmf-block-card {
  padding: 26px;
  border: 1px solid var(--pmf-border);
  border-radius: calc(var(--pmf-radius) + 6px);
  background: rgba(255,255,255,.72);
  box-shadow: 0 24px 60px -42px rgba(37,34,56,.34);
}
.pmf-block-card h2,
.pmf-block-card h3 {
  margin-top: 0;
  margin-bottom: 10px;
  font-size: clamp(1.25rem, 2vw, 1.75rem);
}
.pmf-block-card p,
.pmf-block-card li {
  color: var(--pmf-muted);
}
.pmf-block-step-number {
  margin: 0 0 14px;
  color: var(--pmf-primary) !important;
  font-size: .75rem;
  font-weight: 900;
  letter-spacing: .16em;
}
.pmf-block-showcase {
  background: #11101c;
  color: #fff;
}
.pmf-block-showcase .pmf-block-lead {
  color: rgba(255,255,255,.7);
}
.pmf-block-showcase .pmf-block-eyebrow {
  color: #86e5f4;
  border-color: rgba(255,255,255,.14);
  background: rgba(255,255,255,.07);
}
.pmf-block-showcase__copy {
  padding: 20px clamp(0px, 4vw, 58px);
}
.pmf-block-cta {
  margin-top: 80px;
  margin-bottom: 20px;
  padding: clamp(42px, 7vw, 76px) clamp(24px, 6vw, 76px);
  border: 1px solid var(--pmf-border);
  border-radius: 28px;
  background:
    radial-gradient(circle at 20% 30%, rgba(108,78,227,.16), transparent 34%),
    radial-gradient(circle at 82% 70%, rgba(17,153,184,.14), transparent 34%),
    rgba(255,255,255,.76);
  box-shadow: var(--pmf-shadow);
}
.pmf-block-cta h2,
.pmf-block-cta p {
  margin-left: auto;
  margin-right: auto;
}
.pmf-block-cta p {
  max-width: 720px;
  color: var(--pmf-muted);
}
.pmf-block-contact-layout {
  gap: clamp(30px, 6vw, 80px);
}
.pmf-block-contact-cards .pmf-block-card h3 {
  overflow-wrap: anywhere;
  font-size: 1rem;
  line-height: 1.45;
}
.pmf-block-account-layout {
  gap: 24px;
}
.pmf-block-account-layout .pmf-account-content {
  padding: 28px;
}
.pmf-block-placeholder {
  padding: 26px;
  border: 1px dashed var(--pmf-border);
  border-radius: 14px;
  color: var(--pmf-muted);
  background: rgba(255,255,255,.62);
  text-align: center;
}

/* The block editor uses the same layout classes, so the page can be edited
   directly on the canvas rather than through a separate field panel. */
.editor-styles-wrapper {
  --pmf-primary: #6c4ee3;
  --pmf-accent: #1199b8;
  --pmf-accent-2: #a542d7;
  --pmf-ink: #252238;
  --pmf-muted: #6d697e;
  --pmf-border: rgba(37,34,56,.12);
  --pmf-container: 1280px;
  --pmf-radius: 16px;
  --pmf-shadow: 0 26px 70px -45px rgba(37,34,56,.38);
  --pmf-shadow-lg: 0 42px 110px -54px rgba(37,34,56,.5);
}
.editor-styles-wrapper .pmf-block-home-hero,
.editor-styles-wrapper .pmf-block-page-hero,
.editor-styles-wrapper .pmf-block-section,
.editor-styles-wrapper .pmf-block-ticker,
.editor-styles-wrapper .pmf-block-showcase {
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  width: 100vw !important;
  max-width: none !important;
}
.editor-styles-wrapper .pmf-block-home-hero,
.editor-styles-wrapper .pmf-block-page-hero {
  padding-top: 70px;
}
.editor-styles-wrapper [data-reveal] {
  opacity: 1 !important;
  transform: none !important;
}
.editor-styles-wrapper .pmf-dynamic-block-editor {
  max-width: 1280px !important;
  margin-left: auto;
  margin-right: auto;
}
.editor-styles-wrapper .pmf-dynamic-block-editor .components-placeholder {
  min-height: 120px;
}

@media (max-width: 1024px) {
  .pmf-block-category-grid.pmf-block-columns-4,
  .pmf-block-category-grid.pmf-block-columns-3 { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .pmf-block-home-title { font-size: clamp(3rem, 8vw, 5.4rem); }
}
@media (max-width: 781px) {
  .pmf-gutenberg-page { padding-bottom: 70px; }
  .pmf-block-home-hero,
  .pmf-block-page-hero { padding: 130px 0 74px; }
  .pmf-block-home-hero__columns { gap: 34px; }
  .pmf-block-home-title { font-size: clamp(2.75rem, 14vw, 4.6rem); }
  .pmf-block-page-hero h1 { font-size: clamp(2.45rem, 11vw, 4rem); }
  .pmf-block-section { padding: 70px 0; }
  .pmf-block-entry > .alignwide,
  .pmf-block-entry .alignwide { width: min(calc(100% - 30px), var(--pmf-container)); }
  .pmf-block-category-grid.pmf-block-columns-2,
  .pmf-block-category-grid.pmf-block-columns-3,
  .pmf-block-category-grid.pmf-block-columns-4 { grid-template-columns: 1fr; }
  .pmf-block-ticker p { overflow: hidden; text-overflow: ellipsis; }
  .pmf-block-cta { width: calc(100% - 30px) !important; margin-top: 55px; }
}
.pmf-block-ticker.is-animated{position:relative}.pmf-block-ticker__track{display:flex;width:max-content;max-width:none;will-change:transform;animation:pmf-block-ticker-marquee 32s linear infinite}.pmf-block-ticker__item{display:inline-flex;flex:0 0 auto;align-items:center;min-width:max-content;padding:15px 44px;color:var(--pmf-muted);font-size:.74rem;font-weight:800;line-height:1.5;letter-spacing:.14em;text-transform:uppercase;white-space:nowrap}.pmf-block-ticker__item:before{content:"✦";margin-right:30px;color:var(--pmf-accent);font-size:.8rem;letter-spacing:0}.pmf-block-ticker:hover .pmf-block-ticker__track,.pmf-block-ticker:focus-within .pmf-block-ticker__track{animation-play-state:paused}@keyframes pmf-block-ticker-marquee{from{transform:translate3d(0,0,0)}to{transform:translate3d(-50%,0,0)}}@media (prefers-reduced-motion:reduce){.pmf-block-ticker__track{animation:none;transform:none}.pmf-block-ticker__item[aria-hidden=true],.pmf-block-ticker__item+.pmf-block-ticker__item{display:none}}@media (max-width:781px){.pmf-block-ticker.is-animated p{overflow:visible;text-overflow:clip}.pmf-block-ticker__track{animation-duration:24s}.pmf-block-ticker__item{padding:14px 28px}}
