/* Shared section rhythm and carousel controls for the existing page templates. */
.page-flow {
  --ac-section-space: 64px;
  --ac-heading-space: 32px;
  --ac-page-gutter: 24px;
}
.page-flow > section,
.page-flow > .cta-section {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: var(--ac-section-space) !important;
  padding-bottom: var(--ac-section-space) !important;
}
.page-flow > section { padding-left: 0 !important; padding-right: 0 !important; }
.page-flow > section > :is(.container, .container-fluid, .ac-reviews__inner),
.page-flow > .cta-section {
  box-sizing: border-box;
  width: 100%;
  max-width: 1240px;
  margin-left: auto;
  margin-right: auto;
  padding-left: var(--ac-page-gutter) !important;
  padding-right: var(--ac-page-gutter) !important;
}
.page-flow > section > :is(.container, .container-fluid, .ac-reviews__inner) {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
.page-flow :is(.features-heading, .calc-heading, .ac-reviews__heading),
.page-flow > .advantages-section > .container > .text-center {
  margin-top: 0;
  margin-bottom: var(--ac-heading-space) !important;
}
.page-flow > section > .container > h2 { margin-top: 0; }
.page-flow :is(.section-subtitle, .catalog-title),
.page-flow > .steps > .container > h2,
.page-flow > .faq-modern > .container > h2 {
  margin-bottom: var(--ac-heading-space);
}
.page-flow .advantages-grid { margin-top: 0; margin-bottom: 0; }
.page-flow .panel-gallery-more > :last-child,
.page-flow > .faq-modern .faq-item:last-child,
.page-flow > .contact-modern > .container > :last-child { margin-bottom: 0; }
.page-flow > .steps > .container > .row:last-child > :last-child { margin-bottom: 0; }
@media (min-width: 992px) {
  .page-flow > .steps > .container > .row:last-child > [class*="col-"] { margin-bottom: 0; }
}

/* The same size, position and states as the photo-gallery arrows. */
:is(.page-flow, .ac-reviews) :is(.slick-prev, .slick-next) {
  appearance: none;
  position: absolute;
  top: 50%;
  bottom: auto;
  z-index: 3;
  display: block;
  width: 46px;
  height: 46px;
  margin: 0;
  padding: 0;
  transform: translateY(-50%);
  border: 0;
  border-radius: 50%;
  background: rgba(255,255,255,.96);
  box-shadow: 0 8px 22px rgba(0,0,0,.18);
  color: transparent;
  font-size: 0;
  line-height: 1;
  cursor: pointer;
  touch-action: manipulation;
  transition: background-color .2s, opacity .2s;
}
:is(.page-flow, .ac-reviews) .slick-prev { left: 10px; right: auto; }
:is(.page-flow, .ac-reviews) .slick-next { right: 10px; left: auto; }
:is(.page-flow, .ac-reviews) :is(.slick-prev, .slick-next)::before {
  display: block;
  font-family: Arial, sans-serif;
  font-size: 32px;
  font-weight: 700;
  line-height: 42px;
  color: var(--green, #63bc46);
  opacity: 1;
  text-indent: 0;
}
:is(.page-flow, .ac-reviews) .slick-prev::before { content: "\2039"; }
:is(.page-flow, .ac-reviews) .slick-next::before { content: "\203a"; }
:is(.page-flow, .ac-reviews) :is(.slick-prev, .slick-next)::after { display: none; }
:is(.page-flow, .ac-reviews) :is(.slick-prev, .slick-next):hover:not(:disabled):not(.slick-disabled) {
  background: var(--green, #63bc46);
}
:is(.page-flow, .ac-reviews) :is(.slick-prev, .slick-next):hover:not(:disabled):not(.slick-disabled)::before { color: #fff; }
:is(.page-flow, .ac-reviews) :is(.slick-prev, .slick-next):focus-visible {
  outline: 3px solid #367928;
  outline-offset: 3px;
}
:is(.page-flow, .ac-reviews) :is(.slick-prev, .slick-next):is(:disabled, .slick-disabled) { opacity: .35; cursor: default; }
/* Keep the gallery-style edge arrows clear of review text. */
.ac-reviews .ac-reviews__carousel { margin: 0 8px; }
.ac-reviews .ac-review { padding-left: 26px; padding-right: 26px; }
.ac-reviews .ac-reviews__prev { left: -22px; }
.ac-reviews .ac-reviews__next { right: -22px; }

@media (max-width: 767px) {
  .page-flow { --ac-section-space: 40px; --ac-heading-space: 24px; --ac-page-gutter: 16px; }
}
@media (prefers-reduced-motion: reduce) {
  :is(.page-flow, .ac-reviews) :is(.slick-prev, .slick-next) { transition: none; }
}
