/* Canonical Homepage-and-Pricing Process section, based on Homepage. */
.amori-site-process .product-slider {
  width: calc(100% - 380px);
}

/* The shared script derives this value from the tallest step in each visible
   Process carousel. The card, slide, and immediate track share that one value
   so the navigation follows the panel instead of a stale Swiper track height. */
.amori-site-process .swiper-wrapper,
.amori-site-process .swiper-slide,
.amori-site-process .product-step {
  box-sizing: border-box;
  height: var(--process-panel-height, auto);
}

.amori-site-process .product-step {
  min-height: 0;
  overflow: hidden;
}

.amori-site-process .swiper-btn {
  display: flex;
  margin-left: auto;
  margin-right: auto;
}

.amori-site-process .swiper-btn .swiper-button-next,
.amori-site-process .swiper-btn .swiper-button-prev {
  position: static;
  width: 90px;
  height: auto;
  margin-top: 0;
}

.amori-site-process .swiper-button-next::after,
.amori-site-process .swiper-button-prev::after {
  display: none;
}

.amori-site-process .swiper-pagination {
  position: static;
  flex: 1;
}

.amori-site-process .swiper-pagination-bullet {
  width: 15px;
  height: 15px;
  margin: 0 7.5px !important;
  border-radius: 50%;
  background: #111;
  opacity: 1;
}

.amori-site-process .swiper-pagination-bullet-active {
  background: var(--amori-color-process-accent);
  opacity: 1;
}

.amori-site-process .link-3.active { color: var(--amori-color-process-accent); }

@media screen and (min-width: 992px) {
  .amori-site-process [data-process-desktop].section.section-process.section-space-md {
    padding-top: var(--_spacing---spacing--0);
    padding-bottom: var(--_spacing---spacing--3xl);
  }

  .amori-site-process [data-process-desktop] .process-grid {
    margin-top: var(--_spacing---spacing--xl);
  }
}

@media only screen and (min-width: 768px) and (max-width: 991px) {
  .amori-site-process .product-slider { width: calc(100% - 300px); }

  .amori-site-process--service [data-process-desktop].section.section-process.section-space-md {
    padding-bottom: 72px;
  }

  .amori-site-process [data-process-desktop] .pre-product > .process-photo {
    display: block;
    position: relative;
    top: var(--process-active-card-offset, 0px);
    width: 100%;
    height: var(--process-active-card-height, auto);
    object-fit: cover;
    object-position: center 30%;
  }
}

@media only screen and (max-width: 767px) {
  .amori-site-process .product-slider { width: calc(100% - 217px); }
  .amori-site-process [data-process-mobile] .heading-section,
  .amori-site-process [data-process-mobile] .heading-h3,
  .amori-site-process [data-process-mobile] .product-step,
  .amori-site-process [data-process-mobile] .product-step .text-body {
    text-align: left;
  }
}

@media only screen and (min-width: 480px) and (max-width: 767px) {
  .amori-site-process--service [data-process-desktop].section.section-process.section-space-md {
    padding-bottom: var(--_spacing---spacing--2xl);
  }

  .amori-site-process [data-process-desktop] .process-grid {
    flex-direction: column;
    align-items: center;
    margin-top: 24px;
  }

  .amori-site-process [data-process-desktop] .pre-product {
    width: 100%;
    max-width: none;
    margin-bottom: 0;
    aspect-ratio: 16 / 9;
    border-radius: 15px;
    line-height: 0;
    overflow: hidden;
  }

  .amori-site-process [data-process-desktop] .pre-product > .process-photo {
    width: 100%;
    max-width: none;
    height: 100%;
    object-fit: cover;
    object-position: center 30%;
    display: block;
  }

  .amori-site-process [data-process-desktop] .div-block-17 {
    display: none;
  }

  .amori-site-process [data-process-desktop] .product-slider {
    width: 100%;
    margin-top: 24px;
  }

  .amori-site-process .swiper-btn {
    max-width: 350px;
  }
}

@media only screen and (min-width: 480px) and (max-width: 568px) {
  .amori-site-process .pre-product { max-width: 100%; }
  .amori-site-process .pre-product img { width: 100%; }
  .amori-site-process .product-slider { width: 100%; margin-top: 30px; }
}

@media only screen and (max-width: 567px) {
  .amori-site-process .product-slider { width: 100%; margin-top: 0; }
}

@media screen and (max-width: 479px) {
  #main-content > .amori-site-process [data-process-mobile].section.section-process.section-space-md {
    /* The preceding section owns the shared boundary spacing. */
    padding-top: 0;
    padding-bottom: 56px;
  }

  .amori-site-process [data-process-mobile] .heading-section {
    text-align: center;
  }

  .amori-site-process [data-process-mobile] .process-divider {
    display: none;
    margin-top: 0;
    margin-bottom: 0;
  }

  .amori-site-process [data-process-mobile] .process-photo-wrapper {
    margin-top: var(--_spacing---spacing--lg);
  }
}

/* Service Detail pages begin with process media/content; the preceding
   inclusions section owns the responsive section-boundary spacing. */
.amori-site-process--service [data-process-desktop] .process-grid,
.amori-site-process--service [data-process-mobile] .process-grid,
.amori-site-process--service [data-process-mobile] .process-photo-wrapper {
  margin-top: 0;
}

@media screen and (max-width: 479px) {
  body.photography-page .amori-site-process--service [data-process-mobile] .process-grid {
    margin-top: var(--_spacing---spacing--md);
  }
}
