/* Narrow bridge: neutralize legacy Cyaqua overrides without replacing source layout. */
body.res-imported-elementor-page {
  --Color_Grey-light: #f6f6f6;
  --Color_Brand: #121212;
  --Color_Red: #ce122d;
  --Color_Grey: #f6f6f6;
  --Color_Grey-mid: #d9d9d9;
  --Color_Grey-dark: #666;
  --Color_White: #fff;
  --Color_Black: #000;
  --Color_Anchor: var(--Color_White);
  --Color_Body: var(--Color_Brand);
}

body.res-imported-elementor-page .elementor-widget-res-source-section {
  margin-block-end: 0;
}

body.res-imported-elementor-page .res-source-section {
  color: #121212;
  font-family: Barlow, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

body.res-imported-elementor-page .res-source-section h1,
body.res-imported-elementor-page .res-source-section h2,
body.res-imported-elementor-page .res-source-section h3,
body.res-imported-elementor-page .res-source-section h4,
body.res-imported-elementor-page .res-source-section h5,
body.res-imported-elementor-page .res-source-section h6,
body.res-imported-elementor-page .res-source-section button {
  font-family: Rajdhani, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

/* Elementor's global heading rules are more specific than the authorised
   source utility classes. Restore the source type scale at a still-local
   specificity so each widget's Elementor typography control can override it. */
body.res-imported-elementor-page .res-source-section .fz-13_130 {
  font-family: var(--Font_Family-body, Barlow, sans-serif);
  font-size: 13px;
  font-weight: 400;
  line-height: 130%;
}
body.res-imported-elementor-page .res-source-section .fz-15_110 {
  font-family: var(--Font_Family-headings, Rajdhani, sans-serif);
  font-size: 15px;
  font-weight: 600;
  letter-spacing: .03em;
  line-height: 110%;
  text-transform: uppercase;
}
body.res-imported-elementor-page .res-source-section .fz-15_130 {
  font-family: var(--Font_Family-body, Barlow, sans-serif);
  font-size: 15px;
  font-weight: 400;
  line-height: 130%;
}
body.res-imported-elementor-page .res-source-section .fz-16_130 {
  font-family: var(--Font_Family-body, Barlow, sans-serif);
  font-size: 16px;
  font-weight: 500;
  line-height: 130%;
}
body.res-imported-elementor-page .res-source-section .fz-18_110 {
  font-family: var(--Font_Family-headings, Rajdhani, sans-serif);
  font-size: 18px;
  font-weight: 600;
  line-height: 110%;
}
body.res-imported-elementor-page .res-source-section .fz-18_130 {
  font-family: var(--Font_Family-body, Barlow, sans-serif);
  font-size: 18px;
  font-weight: 400;
  line-height: 130%;
}
body.res-imported-elementor-page .res-source-section .fz-20_130 {
  font-family: var(--Font_Family-headings, Rajdhani, sans-serif);
  font-size: 20px;
  font-weight: 600;
  line-height: 130%;
  text-transform: uppercase;
}
body.res-imported-elementor-page .res-source-section .fz-26_120 {
  font-family: var(--Font_Family-headings, Rajdhani, sans-serif);
  font-size: 24px;
  font-weight: 600;
  line-height: 120%;
  text-transform: uppercase;
}
body.res-imported-elementor-page .res-source-section .fz-32_110 {
  font-family: var(--Font_Family-headings, Rajdhani, sans-serif);
  font-size: 26px;
  font-weight: 600;
  line-height: 110%;
  text-transform: uppercase;
}
body.res-imported-elementor-page .res-source-section .fz-48_100 {
  font-family: var(--Font_Family-headings, Rajdhani, sans-serif);
  font-size: 30px;
  font-weight: 600;
  letter-spacing: normal;
  line-height: 100%;
  text-transform: uppercase;
}
body.res-imported-elementor-page .res-source-section .fz-64_100 {
  font-family: var(--Font_Family-headings, Rajdhani, sans-serif);
  font-size: 36px;
  font-weight: 600;
  letter-spacing: normal;
  line-height: 100%;
  text-transform: uppercase;
}
@media (min-width: 900.02px) {
  body.res-imported-elementor-page .res-source-section .fz-26_120 { font-size: 26px; }
  body.res-imported-elementor-page .res-source-section .fz-32_110 { font-size: 32px; }
  body.res-imported-elementor-page .res-source-section .fz-48_100 { font-size: 48px; }
  body.res-imported-elementor-page .res-source-section .fz-64_100 { font-size: 64px; }
}

body.res-imported-elementor-page .res-source-section .prd-Card_MediaContainer {
  background-color: #f6f6f6 !important;
}

body.res-imported-elementor-page .res-source-section .prd-Card_Title {
  color: #121212 !important;
  font-family: Rajdhani, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  font-size: 20px !important;
  font-weight: 600 !important;
  line-height: 26px !important;
}

body.res-imported-elementor-page .res-source-section .btn-Button {
  background-color: var(--Button_Background) !important;
  color: var(--Button_Color) !important;
}

body.res-imported-elementor-page .res-source-section .btn-Button:hover,
body.res-imported-elementor-page .res-source-section .btn-Button:focus-visible {
  background-color: var(--Button_Background-hover) !important;
  color: var(--Button_Color-hover) !important;
}

/* Keep Hello/Elementor global button skinning out of sanitised source DOM.
   Deliberately exclude the source's explicit .btn-Button CTA contract. */
body.res-imported-elementor-page .res-source-section button:not(.btn-Button),
body.res-imported-elementor-page .res-source-section [class*="ArticleFeed_Trigger"] {
  appearance: none;
  background: transparent !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  color: #121212 !important;
  max-inline-size: 100%;
  text-align: left !important;
  white-space: normal !important;
}

body.res-imported-elementor-page .res-source-section .sec-ArticleFeed_Trigger {
  border-block: 1px solid #121212;
  border-inline: 0;
  display: block;
  inline-size: 100%;
  padding: 16px 0;
}

body.res-imported-elementor-page .res-source-section .sec-ArticleFeed_Trigger + .sec-ArticleFeed_Trigger {
  border-block-start-color: #b7b7b7;
}

body.res-imported-elementor-page .res-source-section,
body.res-imported-elementor-page .res-source-section * {
  max-inline-size: 100%;
  min-inline-size: 0;
}

body.res-imported-elementor-page .res-source-section {
  overflow-x: clip;
}

/* Storepoint is intentionally enabled only by the exact find-a-shop source. */
body.res-imported-elementor-page #storepoint-container {
  border: 0;
  display: flex;
  flex-direction: column;
  inline-size: 100%;
  position: relative;
}

body.res-imported-elementor-page #storepoint-container,
body.res-imported-elementor-page #storepoint-container * {
  box-sizing: border-box;
}

body.res-imported-elementor-page #storepoint-container #storepoint-search {
  background: #fff;
  border-color: #e9e9e9;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  order: 1;
  padding: 20px var(--Site_Margin, 20px);
}

body.res-imported-elementor-page #storepoint-container #storepoint-panel {
  inline-size: 100%;
  max-block-size: 640px;
  order: 2;
  overflow: auto;
}

body.res-imported-elementor-page #storepoint-container #storepoint-map {
  block-size: 410px;
  inline-size: 100%;
  order: 3;
  position: relative !important;
}

@media (max-width: 767.98px) {
  body.res-imported-elementor-page #storepoint-container {
    block-size: 789.09375px;
  }
  body.res-imported-elementor-page #storepoint-container #storepoint-search {
    block-size: 127px;
    flex: 0 0 127px;
  }
  body.res-imported-elementor-page #storepoint-container #storepoint-panel {
    block-size: 312.09375px;
    flex: 0 0 312.09375px;
    max-block-size: 312.09375px;
    padding-block-start: 0 !important;
    padding-top: 0 !important;
  }
  body.res-imported-elementor-page #storepoint-container #storepoint-map {
    block-size: 350px;
    flex: 0 0 350px;
  }
}

@media (min-width: 768px) {
  body.res-imported-elementor-page #storepoint-container {
    block-size: 719px;
    display: block;
  }
  body.res-imported-elementor-page #storepoint-container #storepoint-panel {
    block-size: 640px;
    inline-size: 40%;
    max-block-size: none;
  }
  body.res-imported-elementor-page #storepoint-container #storepoint-map {
    block-size: 640px;
    inline-size: 60%;
    inset-block-start: 79px;
    inset-inline-end: 0;
    position: absolute !important;
  }
}

@media (min-width: 900.02px) {
  body.res-imported-elementor-page #storepoint-container {
    block-size: 729px;
  }
  body.res-imported-elementor-page #storepoint-container #storepoint-panel,
  body.res-imported-elementor-page #storepoint-container #storepoint-map {
    block-size: 650px;
  }
}

@media (min-width: 1200.02px) {
  body.res-imported-elementor-page #storepoint-container #storepoint-panel { inline-size: 35%; }
  body.res-imported-elementor-page #storepoint-container #storepoint-map { inline-size: 65%; }
}

@media (min-width: 768px) and (max-width: 900px) {
  body.res-imported-elementor-page #storepoint-container #storepoint-map {
    inset-block-start: 79px;
  }
}

/* Source parallax elements are deliberately rendered as inert, editable DOM.
   Preserve their sanitized numeric aspect-ratio token and make the image fill
   the original clipping frame rather than inheriting Elementor's auto height. */
body.res-imported-elementor-page .res-source-section .sec-DoubleCta_MediaContainer .rsp-Image,
body.res-imported-elementor-page .res-source-section .sec-DoubleCta_MediaContainer .sec-DoubleCta_Image {
  block-size: 100%;
  inline-size: 100%;
  min-block-size: 0;
}

body.res-imported-elementor-page .res-source-section .sec-DoubleCta_MediaContainer .rsp-Image_Image {
  block-size: 100%;
  inline-size: 100%;
  object-fit: cover;
}

/* The reference uses Keen Slider. Its executable initializer is intentionally
   not imported, so retain the same first-frame geometry with a safe CSS-only
   horizontal fallback instead of stacking every testimonial vertically. */
body.res-imported-elementor-page .res-source-section .sec-CardCarousel_Slides:not([data-initialised="true"]) {
  align-items: stretch;
  display: flex;
  gap: 10px;
  overflow: visible;
}

body.res-imported-elementor-page .res-source-section .sec-CardCarousel_Slides:not([data-initialised="true"]) .sec-CardCarousel_Slide {
  flex: 0 0 90.5%;
  min-inline-size: 0;
}

body.res-imported-elementor-page .res-source-section .sec-CardCarousel_DotsContainer {
  min-block-size: 5px;
}

@media (min-width: 768px) {
  body.res-imported-elementor-page .res-source-section .sec-CardCarousel_Slides:not([data-initialised="true"]) .sec-CardCarousel_Slide {
    flex-basis: calc((100% - 40px) / 3);
  }
}

/* Product carousels use the same executable Keen initializer on the source.
   Keep its first visible frame and partial next card when scripts are absent. */
body.res-imported-elementor-page .res-source-section .sec-ProductCarousel_Slides:not([data-initialised="true"]) {
  align-items: stretch;
  display: flex;
  gap: 15px;
  overflow: visible;
}

body.res-imported-elementor-page .res-source-section .sec-ProductCarousel_Slides:not([data-initialised="true"]) .sec-ProductCarousel_Slide {
  flex: 0 0 90.56%;
  min-inline-size: 0;
}

@media (min-width: 768px) {
  body.res-imported-elementor-page .res-source-section .sec-ProductCarousel_Slides:not([data-initialised="true"]) .sec-ProductCarousel_Slide {
    flex-basis: calc((100% - 40px) / 3);
  }
}

@media (min-width: 1200.02px) {
  body.res-imported-elementor-page .res-source-section .sec-ProductCarousel_Slides:not([data-initialised="true"]) {
    gap: 20px;
  }

  body.res-imported-elementor-page .res-source-section .sec-ProductCarousel_Slides:not([data-initialised="true"]) .sec-ProductCarousel_Slide {
    flex-basis: calc((100% - 60px) / 4);
  }
}

@media (min-width: 1200.02px) {
  body.res-imported-elementor-page .res-source-section .sec-CardCarousel_Slides:not([data-initialised="true"]) {
    gap: 20px;
  }

  body.res-imported-elementor-page .res-source-section .sec-CardCarousel_Slides:not([data-initialised="true"]) .sec-CardCarousel_Slide {
    flex-basis: calc((100% - 60px) / 4);
  }
}

/* Collection pages are imported as independent Elementor widgets, one per source page. */
body.res-imported-elementor-page .res-collection-chunk:not(.is-visible) {
  display: none;
}

body.res-imported-elementor-page .res-collection-chunk:not(.res-collection-chunk-1) [class*="Toolbar"],
body.res-imported-elementor-page .res-collection-chunk:not(.res-collection-chunk-1) [class*="Empty"],
body.res-imported-elementor-page .res-collection-chunk:not(.res-collection-chunk-1) .clc-Toolbar,
body.res-imported-elementor-page .res-collection-chunk:not(.res-collection-chunk-1) .clc-Empty {
  display: none !important;
}
