/* Shared slide styling for the homepage and its block editor. */
@font-face {
  font-family: 'Proxima Nova Rg';
  src: url('../fonts/ProximaNova-Regular.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Proxima Nova Rg';
  src: url('../fonts/ProximaNova-Bold.woff2') format('woff2');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

.fo-home-slider {
}

.fo-home-slider__inner {
}

:is(.fo-home-slider, .editor-styles-wrapper) .wp-swiper {
  --swiper-theme-color: var(--color-olive, #4e5b42);
  --wp-swiper-navigation-color: #fff;
  --wp-swiper-pagination-color: var(--v2-magenta, #e53176);
  --swiper-navigation-size: 16px;
  overflow: hidden;
  background: #fbf6ef;
  color: #4e5b42;
  font-family: 'Proxima Nova Rg', 'Helvetica Neue', Arial, sans-serif;
  font-size: 18px;
  line-height: 1.6;
}

:is(.fo-home-slider, .editor-styles-wrapper) .wp-swiper__slide .wp-swiper__slide-content {
  box-sizing: border-box;
  width: 100%;
  max-width: calc(var(--v2-wrap, 1200px) + 2 * var(--v2-gutter, clamp(20px, 5vw, 64px)));
  margin-inline: auto;
  padding: clamp(32px, 5vw, 64px) var(--v2-gutter, clamp(20px, 5vw, 64px)) 64px;
}

:is(.fo-home-slider, .editor-styles-wrapper) .wp-swiper :is(h1, h2, h3, h4, h5, h6) {
  margin: 0 0 20px;
  font-family: inherit;
  font-weight: 700;
  text-transform: none;
  line-height: 1.15;
}

/* Keep uncoloured headings consistent while respecting editor colour choices. */
:is(.fo-home-slider, .editor-styles-wrapper) .wp-swiper :is(h1, h2, h3, h4, h5, h6):not(.has-text-color) {
  color: inherit;
}

:is(.fo-home-slider, .editor-styles-wrapper) .wp-swiper h2 {
  font-size: clamp(28px, 4vw, 48px);
}

:is(.fo-home-slider, .editor-styles-wrapper) .wp-swiper p {
  margin: 0 0 24px;
  font-size: inherit;
  line-height: inherit;
}

/* Only block content: omit trailing text spacing inside slides and columns.
   In the editor, ignore inserter controls following the last content block. */
.fo-home-slider .wp-swiper :is(p, h1, h2, h3, h4, h5, h6):last-child,
.editor-styles-wrapper .wp-swiper :is([data-type="core/paragraph"], [data-type="core/heading"]):not(:has(~ [data-block])) {
  margin-bottom: 0;
}

:is(.fo-home-slider, .editor-styles-wrapper) .wp-swiper .wp-block-image img {
  max-width: 100%;
  height: auto;
  border-radius: 12px;
}

html body :is(.fo-home-slider, .editor-styles-wrapper) .wp-swiper .wp-block-button__link {
  padding: 14px 26px;
  border: 2px solid transparent;
  border-radius: 999px;
  background: var(--v2-magenta, #e53176);
  color: #fff;
  font: 700 16px/1.4 'Proxima Nova Rg', Arial, sans-serif;
  text-decoration: none;
  transition: background-color .2s, color .2s, border-color .2s, translate .2s;
}

html body :is(.fo-home-slider, .editor-styles-wrapper) .wp-swiper .wp-block-button__link:hover {
  background: #c41f5f;
  color: #fff;
  translate: 0 -1px;
}

:is(.fo-home-slider, .editor-styles-wrapper) .wp-swiper :is(.swiper-button-next, .swiper-button-prev) {
  width: 32px;
  height: 32px;
  margin-top: -16px;
  border-radius: 50%;
  background: var(--v2-magenta, #e53176);
  color: #fff;
  box-shadow: 0 2px 8px rgb(38 48 31 / 12%);
  transition: background-color .2s, color .2s, border-color .2s, translate .2s;
}

:is(.fo-home-slider, .editor-styles-wrapper) .wp-swiper :is(.swiper-button-next, .swiper-button-prev):hover {
  background: #c41f5f;
  translate: 0 -1px;
}

:is(.fo-home-slider, .editor-styles-wrapper) .wp-swiper :is(.swiper-button-next, .swiper-button-prev) svg {
  width: 16px;
  height: 16px;
  fill: currentColor;
}

:is(.fo-home-slider, .editor-styles-wrapper) .wp-swiper .swiper-button-prev svg {
  translate: -1px 0;
}

:is(.fo-home-slider, .editor-styles-wrapper) .wp-swiper .swiper-button-next svg {
  translate: 1px 0;
}

:is(.fo-home-slider, .editor-styles-wrapper) .wp-swiper .swiper-pagination-bullet {
  position: relative;
  box-sizing: border-box;
  width: 16px;
  height: 16px;
  border: 2px solid var(--v2-magenta, #e53176);
  border-radius: 50%;
  background: transparent;
  opacity: 1;
}

:is(.fo-home-slider, .editor-styles-wrapper) .wp-swiper .swiper-pagination-bullet::after {
  content: '';
  position: absolute;
  inset: 3px;
  border-radius: 50%;
  background: var(--v2-magenta, #e53176);
  opacity: 0;
  transition: opacity 160ms ease;
}

:is(.fo-home-slider, .editor-styles-wrapper) .wp-swiper .swiper-pagination-bullet-active::after {
  opacity: 1;
}

:is(.fo-home-slider, .editor-styles-wrapper) .wp-swiper :is(a, button, [tabindex]):focus-visible {
  outline: 3px solid #13875a;
  outline-offset: 3px;
}

@media (max-width: 600px) {
  :is(.fo-home-slider, .editor-styles-wrapper) .wp-swiper__slide .wp-swiper__slide-content {
    padding-top: 32px;
    padding-bottom: 56px;
  }
}
